curl --request POST \
--url https://api.bevits.com/v1/flows/{flow_id}/activate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"revision": "rev_3f9a1c2b7d4e"
}
'import requests
url = "https://api.bevits.com/v1/flows/{flow_id}/activate"
payload = { "revision": "rev_3f9a1c2b7d4e" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({revision: 'rev_3f9a1c2b7d4e'})
};
fetch('https://api.bevits.com/v1/flows/{flow_id}/activate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bevits.com/v1/flows/{flow_id}/activate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'revision' => 'rev_3f9a1c2b7d4e'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bevits.com/v1/flows/{flow_id}/activate"
payload := strings.NewReader("{\n \"revision\": \"rev_3f9a1c2b7d4e\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bevits.com/v1/flows/{flow_id}/activate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"revision\": \"rev_3f9a1c2b7d4e\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bevits.com/v1/flows/{flow_id}/activate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"revision\": \"rev_3f9a1c2b7d4e\"\n}"
response = http.request(request)
puts response.read_body{
"object": "flow",
"id": "<string>",
"status": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"html_url": "<string>",
"name": "<string>",
"description": "<string>",
"trigger_event_type": "<string>",
"origin": "<string>",
"run_count": 1,
"revision": "<string>"
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "authentication_error",
"message": "Invalid API key.",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "permission_denied",
"message": "This API key does not have the required \"write\" scope.",
"param": "scope",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "conflict",
"message": "The flow changed after revision rev_3f9a1c2b7d4e; its current revision is rev_9b2e7c1a5f30.",
"param": "revision",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
},
"retry_after": 2
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}Activate flow
Activates a reviewed flow so it starts sending real messages. Requires the revision the person reviewed; if the flow changed after it, the call fails with 409 and returns the current revision. Runs the same checks as the Activate button in the editor. Requires an API key with the write scope.
curl --request POST \
--url https://api.bevits.com/v1/flows/{flow_id}/activate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"revision": "rev_3f9a1c2b7d4e"
}
'import requests
url = "https://api.bevits.com/v1/flows/{flow_id}/activate"
payload = { "revision": "rev_3f9a1c2b7d4e" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({revision: 'rev_3f9a1c2b7d4e'})
};
fetch('https://api.bevits.com/v1/flows/{flow_id}/activate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bevits.com/v1/flows/{flow_id}/activate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'revision' => 'rev_3f9a1c2b7d4e'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bevits.com/v1/flows/{flow_id}/activate"
payload := strings.NewReader("{\n \"revision\": \"rev_3f9a1c2b7d4e\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bevits.com/v1/flows/{flow_id}/activate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"revision\": \"rev_3f9a1c2b7d4e\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bevits.com/v1/flows/{flow_id}/activate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"revision\": \"rev_3f9a1c2b7d4e\"\n}"
response = http.request(request)
puts response.read_body{
"object": "flow",
"id": "<string>",
"status": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"html_url": "<string>",
"name": "<string>",
"description": "<string>",
"trigger_event_type": "<string>",
"origin": "<string>",
"run_count": 1,
"revision": "<string>"
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "authentication_error",
"message": "Invalid API key.",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "permission_denied",
"message": "This API key does not have the required \"write\" scope.",
"param": "scope",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "conflict",
"message": "The flow changed after revision rev_3f9a1c2b7d4e; its current revision is rev_9b2e7c1a5f30.",
"param": "revision",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
},
"retry_after": 2
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}Authorizations
API key created in the organization settings.
Headers
Unique key for the operation. Repeating the same key with the same body returns the original response instead of running it again.
Path Parameters
Public flow ID.
^flw_[A-Za-z0-9_-]+$Body
The revision the person reviewed, returned when creating the draft or getting the flow.
^rev_[0-9a-f]+$Response
Flow found.
"flow"^flw_[A-Za-z0-9_-]+$Deprecated legacy field retained for compatibility. When present, always returns 0; it does not represent the actual execution count.
x >= 0Identifies the flow's current content (blocks and connections). Send it when activating the flow so only the reviewed content goes live.