curl --request POST \
--url https://api.ararahq.com/v1/flows/{id}/publish \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ararahq.com/v1/flows/{id}/publish', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.ararahq.com/v1/flows/{id}/publish"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ararahq.com/v1/flows/{id}/publish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"id": "0b7e6a52-3c1d-4f7a-9a55-2f4f6f1f9c10",
"name": "Captar contato",
"category": "LEAD_GENERATION",
"status": "PUBLISHED",
"definition": {
"title": "Fale com a gente",
"intro": "Leva menos de um minuto.",
"submitLabel": "Enviar",
"fields": [
{
"key": "nome",
"label": "Seu nome",
"type": "TEXT",
"required": true,
"options": []
},
{
"key": "email",
"label": "Seu melhor e-mail",
"type": "EMAIL",
"required": true,
"options": []
},
{
"key": "interesse",
"label": "O que você procura?",
"type": "SELECT",
"required": true,
"options": [
{
"id": "falar_com_vendas",
"title": "Falar com vendas"
},
{
"id": "suporte",
"title": "Suporte"
}
]
}
]
},
"responseCount": 42,
"publishError": null,
"createdAt": "2026-09-15T14:30:00Z",
"publishedAt": "2026-09-15T14:30:04Z"
}Publicar formulário
Publica um formulário que ficou em DRAFT porque a publicação falhou na
criação. Formulário já publicado responde 409 FLOW_NOT_DRAFT.
Permissão: TEMPLATES_WRITE.
curl --request POST \
--url https://api.ararahq.com/v1/flows/{id}/publish \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ararahq.com/v1/flows/{id}/publish', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.ararahq.com/v1/flows/{id}/publish"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ararahq.com/v1/flows/{id}/publish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"id": "0b7e6a52-3c1d-4f7a-9a55-2f4f6f1f9c10",
"name": "Captar contato",
"category": "LEAD_GENERATION",
"status": "PUBLISHED",
"definition": {
"title": "Fale com a gente",
"intro": "Leva menos de um minuto.",
"submitLabel": "Enviar",
"fields": [
{
"key": "nome",
"label": "Seu nome",
"type": "TEXT",
"required": true,
"options": []
},
{
"key": "email",
"label": "Seu melhor e-mail",
"type": "EMAIL",
"required": true,
"options": []
},
{
"key": "interesse",
"label": "O que você procura?",
"type": "SELECT",
"required": true,
"options": [
{
"id": "falar_com_vendas",
"title": "Falar com vendas"
},
{
"id": "suporte",
"title": "Suporte"
}
]
}
]
},
"responseCount": 42,
"publishError": null,
"createdAt": "2026-09-15T14:30:00Z",
"publishedAt": "2026-09-15T14:30:04Z"
}Authorizations
Chave de API da Arara (ara_live_...), enviada no header Authorization: Bearer ara_live_.... Crie e gerencie as chaves no painel: https://app.ararahq.com/dashboard/apikeys. O valor completo aparece uma única vez, na criação.
Path Parameters
ID do formulário.
Response
Formulário publicado
Use como flowId no envio e no botão FLOW do template.
SIGN_UP, LEAD_GENERATION, SURVEY, APPOINTMENT_BOOKING, CONTACT_US, OTHER DRAFT: criado, mas a publicação falhou (veja publishError).
PUBLISHED: no ar, pode ser enviado. DEPRECATED: desativado.
DRAFT, PUBLISHED, DEPRECATED O formulário como foi criado, já com as chaves finais.
Show child attributes
Show child attributes
Total de respostas recebidas.
Preenchido só quando o formulário foi criado mas a publicação falhou.