curl --request POST \
--url https://api.olie.ai/api/management/form-publications \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Inscrição - Workshop de Processos",
"description": "Preencha para garantir sua vaga.",
"background_color": "#1E40AF",
"starts_at": null,
"ends_at": null,
"redirect_url": null,
"status": "published",
"form_id": null,
"create_project": false,
"link_as_media": false,
"link_as_loose_form": false,
"project_name": null,
"form_edge_id": null,
"project_template_id": null,
"funnel_step_id": null
}
'import requests
url = "https://api.olie.ai/api/management/form-publications"
payload = {
"title": "Inscrição - Workshop de Processos",
"description": "Preencha para garantir sua vaga.",
"background_color": "#1E40AF",
"starts_at": None,
"ends_at": None,
"redirect_url": None,
"status": "published",
"form_id": None,
"create_project": False,
"link_as_media": False,
"link_as_loose_form": False,
"project_name": None,
"form_edge_id": None,
"project_template_id": None,
"funnel_step_id": None
}
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({
title: 'Inscrição - Workshop de Processos',
description: 'Preencha para garantir sua vaga.',
background_color: '#1E40AF',
starts_at: null,
ends_at: null,
redirect_url: null,
status: 'published',
form_id: null,
create_project: false,
link_as_media: false,
link_as_loose_form: false,
project_name: null,
form_edge_id: null,
project_template_id: null,
funnel_step_id: null
})
};
fetch('https://api.olie.ai/api/management/form-publications', 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.olie.ai/api/management/form-publications",
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([
'title' => 'Inscrição - Workshop de Processos',
'description' => 'Preencha para garantir sua vaga.',
'background_color' => '#1E40AF',
'starts_at' => null,
'ends_at' => null,
'redirect_url' => null,
'status' => 'published',
'form_id' => null,
'create_project' => false,
'link_as_media' => false,
'link_as_loose_form' => false,
'project_name' => null,
'form_edge_id' => null,
'project_template_id' => null,
'funnel_step_id' => null
]),
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.olie.ai/api/management/form-publications"
payload := strings.NewReader("{\n \"title\": \"Inscrição - Workshop de Processos\",\n \"description\": \"Preencha para garantir sua vaga.\",\n \"background_color\": \"#1E40AF\",\n \"starts_at\": null,\n \"ends_at\": null,\n \"redirect_url\": null,\n \"status\": \"published\",\n \"form_id\": null,\n \"create_project\": false,\n \"link_as_media\": false,\n \"link_as_loose_form\": false,\n \"project_name\": null,\n \"form_edge_id\": null,\n \"project_template_id\": null,\n \"funnel_step_id\": null\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.olie.ai/api/management/form-publications")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Inscrição - Workshop de Processos\",\n \"description\": \"Preencha para garantir sua vaga.\",\n \"background_color\": \"#1E40AF\",\n \"starts_at\": null,\n \"ends_at\": null,\n \"redirect_url\": null,\n \"status\": \"published\",\n \"form_id\": null,\n \"create_project\": false,\n \"link_as_media\": false,\n \"link_as_loose_form\": false,\n \"project_name\": null,\n \"form_edge_id\": null,\n \"project_template_id\": null,\n \"funnel_step_id\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.olie.ai/api/management/form-publications")
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 \"title\": \"Inscrição - Workshop de Processos\",\n \"description\": \"Preencha para garantir sua vaga.\",\n \"background_color\": \"#1E40AF\",\n \"starts_at\": null,\n \"ends_at\": null,\n \"redirect_url\": null,\n \"status\": \"published\",\n \"form_id\": null,\n \"create_project\": false,\n \"link_as_media\": false,\n \"link_as_loose_form\": false,\n \"project_name\": null,\n \"form_edge_id\": null,\n \"project_template_id\": null,\n \"funnel_step_id\": null\n}"
response = http.request(request)
puts response.read_body{
"response": true,
"form_publication": {
"title": "Inscrição - Workshop de Processos",
"description": "Preencha para garantir sua vaga.",
"background_color": "#1E40AF",
"starts_at": null,
"ends_at": null,
"redirect_url": "https://exemplo.com.br/obrigado",
"type": "publication",
"status": "published",
"form_id": 70,
"link_as_media": false,
"link_as_loose_form": false,
"project_name": null,
"project_template_id": null,
"funnel_step_id": null,
"create_project": false,
"form_edge_id": null,
"token": "bf2dc3d7-0bad-4806-b8d1-9ba3e3a8132f",
"frame_id": "01a0252b-d865-71af-a0a2-d4e168d1ffe5",
"id": "01a0cb22-5af9-7290-a243-736378cb5350",
"updated_at": "2026-09-22T22:00:21.000000Z",
"created_at": "2026-09-22T22:00:21.000000Z"
}
}{
"response": false,
"message": "validation_errors",
"error": "The título field is required. (and 5 more errors)",
"validation": {
"title": [
"The título field is required."
],
"background_color": [
"The background color format is invalid."
],
"ends_at": [
"The ends at must be a date after or equal to starts at."
],
"status": [
"The selected status is invalid."
],
"form_id": [
"The selected form id is invalid."
],
"create_project": [
"The link_as_media field is required when create_project is 1."
]
}
}Criar publicação
Publica um formulário em um link aberto, com token gerado automaticamente. Com create_project, cada resposta cria um projeto na etapa escolhida, gravando as respostas no conteúdo ou como formulário avulso. Ver Publicações de formulários.
curl --request POST \
--url https://api.olie.ai/api/management/form-publications \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Inscrição - Workshop de Processos",
"description": "Preencha para garantir sua vaga.",
"background_color": "#1E40AF",
"starts_at": null,
"ends_at": null,
"redirect_url": null,
"status": "published",
"form_id": null,
"create_project": false,
"link_as_media": false,
"link_as_loose_form": false,
"project_name": null,
"form_edge_id": null,
"project_template_id": null,
"funnel_step_id": null
}
'import requests
url = "https://api.olie.ai/api/management/form-publications"
payload = {
"title": "Inscrição - Workshop de Processos",
"description": "Preencha para garantir sua vaga.",
"background_color": "#1E40AF",
"starts_at": None,
"ends_at": None,
"redirect_url": None,
"status": "published",
"form_id": None,
"create_project": False,
"link_as_media": False,
"link_as_loose_form": False,
"project_name": None,
"form_edge_id": None,
"project_template_id": None,
"funnel_step_id": None
}
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({
title: 'Inscrição - Workshop de Processos',
description: 'Preencha para garantir sua vaga.',
background_color: '#1E40AF',
starts_at: null,
ends_at: null,
redirect_url: null,
status: 'published',
form_id: null,
create_project: false,
link_as_media: false,
link_as_loose_form: false,
project_name: null,
form_edge_id: null,
project_template_id: null,
funnel_step_id: null
})
};
fetch('https://api.olie.ai/api/management/form-publications', 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.olie.ai/api/management/form-publications",
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([
'title' => 'Inscrição - Workshop de Processos',
'description' => 'Preencha para garantir sua vaga.',
'background_color' => '#1E40AF',
'starts_at' => null,
'ends_at' => null,
'redirect_url' => null,
'status' => 'published',
'form_id' => null,
'create_project' => false,
'link_as_media' => false,
'link_as_loose_form' => false,
'project_name' => null,
'form_edge_id' => null,
'project_template_id' => null,
'funnel_step_id' => null
]),
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.olie.ai/api/management/form-publications"
payload := strings.NewReader("{\n \"title\": \"Inscrição - Workshop de Processos\",\n \"description\": \"Preencha para garantir sua vaga.\",\n \"background_color\": \"#1E40AF\",\n \"starts_at\": null,\n \"ends_at\": null,\n \"redirect_url\": null,\n \"status\": \"published\",\n \"form_id\": null,\n \"create_project\": false,\n \"link_as_media\": false,\n \"link_as_loose_form\": false,\n \"project_name\": null,\n \"form_edge_id\": null,\n \"project_template_id\": null,\n \"funnel_step_id\": null\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.olie.ai/api/management/form-publications")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Inscrição - Workshop de Processos\",\n \"description\": \"Preencha para garantir sua vaga.\",\n \"background_color\": \"#1E40AF\",\n \"starts_at\": null,\n \"ends_at\": null,\n \"redirect_url\": null,\n \"status\": \"published\",\n \"form_id\": null,\n \"create_project\": false,\n \"link_as_media\": false,\n \"link_as_loose_form\": false,\n \"project_name\": null,\n \"form_edge_id\": null,\n \"project_template_id\": null,\n \"funnel_step_id\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.olie.ai/api/management/form-publications")
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 \"title\": \"Inscrição - Workshop de Processos\",\n \"description\": \"Preencha para garantir sua vaga.\",\n \"background_color\": \"#1E40AF\",\n \"starts_at\": null,\n \"ends_at\": null,\n \"redirect_url\": null,\n \"status\": \"published\",\n \"form_id\": null,\n \"create_project\": false,\n \"link_as_media\": false,\n \"link_as_loose_form\": false,\n \"project_name\": null,\n \"form_edge_id\": null,\n \"project_template_id\": null,\n \"funnel_step_id\": null\n}"
response = http.request(request)
puts response.read_body{
"response": true,
"form_publication": {
"title": "Inscrição - Workshop de Processos",
"description": "Preencha para garantir sua vaga.",
"background_color": "#1E40AF",
"starts_at": null,
"ends_at": null,
"redirect_url": "https://exemplo.com.br/obrigado",
"type": "publication",
"status": "published",
"form_id": 70,
"link_as_media": false,
"link_as_loose_form": false,
"project_name": null,
"project_template_id": null,
"funnel_step_id": null,
"create_project": false,
"form_edge_id": null,
"token": "bf2dc3d7-0bad-4806-b8d1-9ba3e3a8132f",
"frame_id": "01a0252b-d865-71af-a0a2-d4e168d1ffe5",
"id": "01a0cb22-5af9-7290-a243-736378cb5350",
"updated_at": "2026-09-22T22:00:21.000000Z",
"created_at": "2026-09-22T22:00:21.000000Z"
}
}{
"response": false,
"message": "validation_errors",
"error": "The título field is required. (and 5 more errors)",
"validation": {
"title": [
"The título field is required."
],
"background_color": [
"The background color format is invalid."
],
"ends_at": [
"The ends at must be a date after or equal to starts at."
],
"status": [
"The selected status is invalid."
],
"form_id": [
"The selected form id is invalid."
],
"create_project": [
"The link_as_media field is required when create_project is 1."
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Configuração da publicação.
Título exibido no formulário público (até 255 caracteres).
255published liga o link público; unpublished o desliga.
published, unpublished ID do formulário a publicar.
Descrição exibida dentro do formulário (até 255 caracteres).
255Cor de fundo em hexadecimal, com 3 ou 6 dígitos (ex.: #1E40AF). Nulo usa a cor padrão.
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$Início da janela de publicação. Nulo: vale imediatamente.
Fim da janela de publicação; igual ou posterior a starts_at. Nulo: não expira.
URL para onde quem responde é levado após enviar (até 2048 caracteres).
2048Se cada resposta cria um projeto. Quando não é true, os campos de criação de projeto abaixo são descartados.
Grava as respostas no conteúdo do projeto criado. Com create_project, este ou link_as_loose_form precisa ser true.
Grava as respostas como formulário avulso do projeto criado.
Nome fixo do projeto criado (até 255 caracteres). Ignorado quando form_edge_id é enviado.
255Campo do formulário cuja resposta vira o nome do projeto. Precisa ser do formulário publicado e respondível em link público.
Modelo de projeto usado para criar o projeto.
Etapa de funil em que o projeto criado é vinculado.
Was this page helpful?