curl --request POST \
--url https://api.olie.ai/api/management/project-funnel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": null,
"name": "",
"prefix": null,
"condition": "active",
"allow_multi_step": false,
"allow_execution": true,
"show_cost_info": true,
"project_term": null,
"form": {
"id": null
},
"steps": [
{
"id": null,
"name": "",
"help_text": null,
"sensation_amount": 0,
"allow_execution": true,
"show_customer_form": false,
"show_contact_form": false,
"hide_customer_form_when_linked": false,
"hide_contact_form_when_linked": false,
"step_forward": {
"name": ""
},
"step_backward": {
"name": ""
},
"form": {
"id": null
},
"sort_config": {
"field": "",
"direction": "asc",
"arguments": []
},
"checklists": [
{
"id": null,
"name": "",
"info": null,
"required": false,
"order": 0
}
],
"restrictions": [
{
"name": null,
"direction": "incoming",
"restriction_type": "step",
"target_step_id": null,
"target_tag_id": null,
"target_status_id": null,
"hierarchy_scope": "current",
"hierarchy_depth": 1
}
],
"attachments": [
{
"id": null
}
]
}
],
"tags": [
{
"id": null,
"name": "",
"color": "#E53935",
"funnel_step_blockings": [
{
"funnel_step_id": null,
"automation_bypass": false
}
]
}
],
"funnel_status": [
{
"id": null,
"name": "",
"color": "#43A047",
"is_conclusive": false,
"funnel_step_blockings": [
{
"funnel_step_id": null,
"automation_bypass": false
}
]
}
],
"access": [
{
"id": null,
"index_all": false,
"index_assigned": true,
"index_created": true
}
],
"attachments": [
{
"id": null
}
],
"template_projects": [
{
"id": null
}
]
}
'import requests
url = "https://api.olie.ai/api/management/project-funnel"
payload = {
"id": None,
"name": "",
"prefix": None,
"condition": "active",
"allow_multi_step": False,
"allow_execution": True,
"show_cost_info": True,
"project_term": None,
"form": { "id": None },
"steps": [
{
"id": None,
"name": "",
"help_text": None,
"sensation_amount": 0,
"allow_execution": True,
"show_customer_form": False,
"show_contact_form": False,
"hide_customer_form_when_linked": False,
"hide_contact_form_when_linked": False,
"step_forward": { "name": "" },
"step_backward": { "name": "" },
"form": { "id": None },
"sort_config": {
"field": "",
"direction": "asc",
"arguments": []
},
"checklists": [
{
"id": None,
"name": "",
"info": None,
"required": False,
"order": 0
}
],
"restrictions": [
{
"name": None,
"direction": "incoming",
"restriction_type": "step",
"target_step_id": None,
"target_tag_id": None,
"target_status_id": None,
"hierarchy_scope": "current",
"hierarchy_depth": 1
}
],
"attachments": [{ "id": None }]
}
],
"tags": [
{
"id": None,
"name": "",
"color": "#E53935",
"funnel_step_blockings": [
{
"funnel_step_id": None,
"automation_bypass": False
}
]
}
],
"funnel_status": [
{
"id": None,
"name": "",
"color": "#43A047",
"is_conclusive": False,
"funnel_step_blockings": [
{
"funnel_step_id": None,
"automation_bypass": False
}
]
}
],
"access": [
{
"id": None,
"index_all": False,
"index_assigned": True,
"index_created": True
}
],
"attachments": [{ "id": None }],
"template_projects": [{ "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({
id: null,
name: '',
prefix: null,
condition: 'active',
allow_multi_step: false,
allow_execution: true,
show_cost_info: true,
project_term: null,
form: {id: null},
steps: [
{
id: null,
name: '',
help_text: null,
sensation_amount: 0,
allow_execution: true,
show_customer_form: false,
show_contact_form: false,
hide_customer_form_when_linked: false,
hide_contact_form_when_linked: false,
step_forward: {name: ''},
step_backward: {name: ''},
form: {id: null},
sort_config: {field: '', direction: 'asc', arguments: []},
checklists: [{id: null, name: '', info: null, required: false, order: 0}],
restrictions: [
{
name: null,
direction: 'incoming',
restriction_type: 'step',
target_step_id: null,
target_tag_id: null,
target_status_id: null,
hierarchy_scope: 'current',
hierarchy_depth: 1
}
],
attachments: [{id: null}]
}
],
tags: [
{
id: null,
name: '',
color: '#E53935',
funnel_step_blockings: [{funnel_step_id: null, automation_bypass: false}]
}
],
funnel_status: [
{
id: null,
name: '',
color: '#43A047',
is_conclusive: false,
funnel_step_blockings: [{funnel_step_id: null, automation_bypass: false}]
}
],
access: [{id: null, index_all: false, index_assigned: true, index_created: true}],
attachments: [{id: null}],
template_projects: [{id: null}]
})
};
fetch('https://api.olie.ai/api/management/project-funnel', 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/project-funnel",
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([
'id' => null,
'name' => '',
'prefix' => null,
'condition' => 'active',
'allow_multi_step' => false,
'allow_execution' => true,
'show_cost_info' => true,
'project_term' => null,
'form' => [
'id' => null
],
'steps' => [
[
'id' => null,
'name' => '',
'help_text' => null,
'sensation_amount' => 0,
'allow_execution' => true,
'show_customer_form' => false,
'show_contact_form' => false,
'hide_customer_form_when_linked' => false,
'hide_contact_form_when_linked' => false,
'step_forward' => [
'name' => ''
],
'step_backward' => [
'name' => ''
],
'form' => [
'id' => null
],
'sort_config' => [
'field' => '',
'direction' => 'asc',
'arguments' => [
]
],
'checklists' => [
[
'id' => null,
'name' => '',
'info' => null,
'required' => false,
'order' => 0
]
],
'restrictions' => [
[
'name' => null,
'direction' => 'incoming',
'restriction_type' => 'step',
'target_step_id' => null,
'target_tag_id' => null,
'target_status_id' => null,
'hierarchy_scope' => 'current',
'hierarchy_depth' => 1
]
],
'attachments' => [
[
'id' => null
]
]
]
],
'tags' => [
[
'id' => null,
'name' => '',
'color' => '#E53935',
'funnel_step_blockings' => [
[
'funnel_step_id' => null,
'automation_bypass' => false
]
]
]
],
'funnel_status' => [
[
'id' => null,
'name' => '',
'color' => '#43A047',
'is_conclusive' => false,
'funnel_step_blockings' => [
[
'funnel_step_id' => null,
'automation_bypass' => false
]
]
]
],
'access' => [
[
'id' => null,
'index_all' => false,
'index_assigned' => true,
'index_created' => true
]
],
'attachments' => [
[
'id' => null
]
],
'template_projects' => [
[
'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/project-funnel"
payload := strings.NewReader("{\n \"id\": null,\n \"name\": \"\",\n \"prefix\": null,\n \"condition\": \"active\",\n \"allow_multi_step\": false,\n \"allow_execution\": true,\n \"show_cost_info\": true,\n \"project_term\": null,\n \"form\": {\n \"id\": null\n },\n \"steps\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"help_text\": null,\n \"sensation_amount\": 0,\n \"allow_execution\": true,\n \"show_customer_form\": false,\n \"show_contact_form\": false,\n \"hide_customer_form_when_linked\": false,\n \"hide_contact_form_when_linked\": false,\n \"step_forward\": {\n \"name\": \"\"\n },\n \"step_backward\": {\n \"name\": \"\"\n },\n \"form\": {\n \"id\": null\n },\n \"sort_config\": {\n \"field\": \"\",\n \"direction\": \"asc\",\n \"arguments\": []\n },\n \"checklists\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"info\": null,\n \"required\": false,\n \"order\": 0\n }\n ],\n \"restrictions\": [\n {\n \"name\": null,\n \"direction\": \"incoming\",\n \"restriction_type\": \"step\",\n \"target_step_id\": null,\n \"target_tag_id\": null,\n \"target_status_id\": null,\n \"hierarchy_scope\": \"current\",\n \"hierarchy_depth\": 1\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ]\n }\n ],\n \"tags\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#E53935\",\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"funnel_status\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#43A047\",\n \"is_conclusive\": false,\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"access\": [\n {\n \"id\": null,\n \"index_all\": false,\n \"index_assigned\": true,\n \"index_created\": true\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ],\n \"template_projects\": [\n {\n \"id\": null\n }\n ]\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/project-funnel")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": null,\n \"name\": \"\",\n \"prefix\": null,\n \"condition\": \"active\",\n \"allow_multi_step\": false,\n \"allow_execution\": true,\n \"show_cost_info\": true,\n \"project_term\": null,\n \"form\": {\n \"id\": null\n },\n \"steps\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"help_text\": null,\n \"sensation_amount\": 0,\n \"allow_execution\": true,\n \"show_customer_form\": false,\n \"show_contact_form\": false,\n \"hide_customer_form_when_linked\": false,\n \"hide_contact_form_when_linked\": false,\n \"step_forward\": {\n \"name\": \"\"\n },\n \"step_backward\": {\n \"name\": \"\"\n },\n \"form\": {\n \"id\": null\n },\n \"sort_config\": {\n \"field\": \"\",\n \"direction\": \"asc\",\n \"arguments\": []\n },\n \"checklists\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"info\": null,\n \"required\": false,\n \"order\": 0\n }\n ],\n \"restrictions\": [\n {\n \"name\": null,\n \"direction\": \"incoming\",\n \"restriction_type\": \"step\",\n \"target_step_id\": null,\n \"target_tag_id\": null,\n \"target_status_id\": null,\n \"hierarchy_scope\": \"current\",\n \"hierarchy_depth\": 1\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ]\n }\n ],\n \"tags\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#E53935\",\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"funnel_status\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#43A047\",\n \"is_conclusive\": false,\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"access\": [\n {\n \"id\": null,\n \"index_all\": false,\n \"index_assigned\": true,\n \"index_created\": true\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ],\n \"template_projects\": [\n {\n \"id\": null\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.olie.ai/api/management/project-funnel")
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 \"id\": null,\n \"name\": \"\",\n \"prefix\": null,\n \"condition\": \"active\",\n \"allow_multi_step\": false,\n \"allow_execution\": true,\n \"show_cost_info\": true,\n \"project_term\": null,\n \"form\": {\n \"id\": null\n },\n \"steps\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"help_text\": null,\n \"sensation_amount\": 0,\n \"allow_execution\": true,\n \"show_customer_form\": false,\n \"show_contact_form\": false,\n \"hide_customer_form_when_linked\": false,\n \"hide_contact_form_when_linked\": false,\n \"step_forward\": {\n \"name\": \"\"\n },\n \"step_backward\": {\n \"name\": \"\"\n },\n \"form\": {\n \"id\": null\n },\n \"sort_config\": {\n \"field\": \"\",\n \"direction\": \"asc\",\n \"arguments\": []\n },\n \"checklists\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"info\": null,\n \"required\": false,\n \"order\": 0\n }\n ],\n \"restrictions\": [\n {\n \"name\": null,\n \"direction\": \"incoming\",\n \"restriction_type\": \"step\",\n \"target_step_id\": null,\n \"target_tag_id\": null,\n \"target_status_id\": null,\n \"hierarchy_scope\": \"current\",\n \"hierarchy_depth\": 1\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ]\n }\n ],\n \"tags\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#E53935\",\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"funnel_status\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#43A047\",\n \"is_conclusive\": false,\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"access\": [\n {\n \"id\": null,\n \"index_all\": false,\n \"index_assigned\": true,\n \"index_created\": true\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ],\n \"template_projects\": [\n {\n \"id\": null\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"response": true,
"project_funnel": {
"order": 11,
"name": "Nome do funil",
"condition": "active",
"allow_multi_step": true,
"show_cost_info": true,
"frame_id": "019c75de-532c-7047-9563-daf1448ca963",
"allow_execution": true,
"prefix": "PREFIX2",
"form_id": 7,
"updated_at": "2026-03-16T16:34:43.000000Z",
"created_at": "2026-03-16T16:34:43.000000Z",
"id": 54,
"business_area_id": 19,
"business_area": {
"id": 19,
"name": "Área de negócio",
"order": 0,
"frame_id": "019c75de-532c-7047-9563-daf1448ca963",
"deleted_at": null
},
"steps": [
{
"id": 240,
"name": "Backlog",
"project_funnel_id": 54,
"sensation_amount": 50,
"step_forward_id": null,
"step_backward_id": null,
"show_contact_form": false,
"hide_contact_form_when_linked": false,
"show_customer_form": false,
"hide_customer_form_when_linked": false,
"order": 1,
"help_text": "Texto de ajuda da etapa",
"form_id": 7,
"sort_config": null,
"allow_execution": true,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null,
"checklists": [
{
"id": 4,
"name": "Checklist 1",
"info": "Texto informativo da checklist",
"funnel_step_id": 240,
"required": true,
"order": 0
},
{
"id": 5,
"name": "Checklist 2",
"info": null,
"funnel_step_id": 240,
"required": true,
"order": 1
},
{
"id": 6,
"name": "Checklist 3",
"info": null,
"funnel_step_id": 240,
"required": false,
"order": 2
}
],
"attachments": [
{
"id": 1,
"name": "Captura de tela de 2026-02-12 09-34-45.png",
"technical_name": "",
"extension": "png",
"file_url": "https://olie-main-dev.s3.amazonaws.com/app/frames/019c75de-532c-7047-9563-daf1448ca963/funnel_attachments/EUCnLFRPVhJkpyq6GKDcmXNgI2S1j9HWs0AZ-captura-de-tela-de-2026-02-12-09-34-45.png",
"popup_video": 0,
"watch": false,
"user_id": "019c75de-509e-711a-8933-175cb2514cc5",
"frame_id": "019c75de-532c-7047-9563-daf1448ca963",
"created_at": "2026-03-16T13:23:06.000000Z",
"updated_at": "2026-03-16T13:23:06.000000Z",
"deleted_at": null,
"pivot": {
"funnel_step_id": 240,
"step_attachment_id": 1
}
},
{
"id": 2,
"name": "Link Vídeo",
"technical_name": "link_technical_name",
"extension": "link",
"file_url": "https://youtu.be/JOopR4MKbhI?si=HNIGI1bcPNXUuTVy",
"popup_video": 1,
"watch": true,
"user_id": "019c75de-509e-711a-8933-175cb2514cc5",
"frame_id": "019c75de-532c-7047-9563-daf1448ca963",
"created_at": "2026-03-16T13:24:05.000000Z",
"updated_at": "2026-03-16T13:25:13.000000Z",
"deleted_at": null,
"pivot": {
"funnel_step_id": 240,
"step_attachment_id": 2
}
}
],
"form": {
"id": 7,
"title": "Formulário para funil",
"frame_id": "019c75de-532c-7047-9563-daf1448ca963",
"created_at": "2026-03-16T13:12:12.000000Z",
"updated_at": "2026-03-16T13:12:12.000000Z",
"deleted_at": null
},
"restrictions": []
},
{
"id": 241,
"name": "Em andamento",
"project_funnel_id": 54,
"sensation_amount": 0,
"step_forward_id": null,
"step_backward_id": null,
"show_contact_form": false,
"hide_contact_form_when_linked": false,
"show_customer_form": false,
"hide_customer_form_when_linked": false,
"order": 2,
"help_text": null,
"form_id": null,
"sort_config": null,
"allow_execution": true,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null,
"checklists": [],
"attachments": [],
"form": null,
"restrictions": []
},
{
"id": 242,
"name": "Concluído",
"project_funnel_id": 54,
"sensation_amount": 0,
"step_forward_id": null,
"step_backward_id": null,
"show_contact_form": false,
"hide_contact_form_when_linked": false,
"show_customer_form": false,
"hide_customer_form_when_linked": false,
"order": 3,
"help_text": null,
"form_id": null,
"sort_config": null,
"allow_execution": true,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null,
"checklists": [],
"attachments": [],
"form": null,
"restrictions": []
}
],
"tags": [
{
"id": 6,
"name": "Nova etiqueta 1",
"color": "#5e4ff8",
"project_funnel_id": 54,
"deleted_at": null
},
{
"id": 7,
"name": "Nova etiqueta 2",
"color": "#7fd87d",
"project_funnel_id": 54,
"deleted_at": null
},
{
"id": 8,
"name": "Nova etiqueta 3",
"color": "#5e4ff8",
"project_funnel_id": 54,
"deleted_at": null
}
],
"attachments": [],
"funnel_status": [
{
"id": 6,
"name": "Novo status 1",
"color": "#b59ef6",
"project_funnel_id": 54,
"is_conclusive": false,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null
},
{
"id": 7,
"name": "Novo status 2",
"color": "#7fd87d",
"project_funnel_id": 54,
"is_conclusive": false,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null
},
{
"id": 8,
"name": "Novo status 3",
"color": "#b59ef6",
"project_funnel_id": 54,
"is_conclusive": false,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null
}
]
},
"objects_above_limit": []
}{
"response": false,
"message": "unauthorized",
"error": "Unauthenticated."
}{
"response": false,
"message": "repeated_tags_are_not_allowed"
}Criar ou atualizar um funil de projeto
Salva o funil inteiro de uma vez — é o payload da tela de edição. Sem id cria um funil novo; com id substitui a configuração do funil existente. O payload é a verdade final: etapas, checklists, restrições, etiquetas e status que não vierem na requisição são removidos do funil. Itens que estouram o limite do plano não são criados e voltam listados em objects_above_limit, sem derrubar o resto do salvamento. Ver Criar e configurar um funil, Etapas do funil e Restrições e bloqueios.
curl --request POST \
--url https://api.olie.ai/api/management/project-funnel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": null,
"name": "",
"prefix": null,
"condition": "active",
"allow_multi_step": false,
"allow_execution": true,
"show_cost_info": true,
"project_term": null,
"form": {
"id": null
},
"steps": [
{
"id": null,
"name": "",
"help_text": null,
"sensation_amount": 0,
"allow_execution": true,
"show_customer_form": false,
"show_contact_form": false,
"hide_customer_form_when_linked": false,
"hide_contact_form_when_linked": false,
"step_forward": {
"name": ""
},
"step_backward": {
"name": ""
},
"form": {
"id": null
},
"sort_config": {
"field": "",
"direction": "asc",
"arguments": []
},
"checklists": [
{
"id": null,
"name": "",
"info": null,
"required": false,
"order": 0
}
],
"restrictions": [
{
"name": null,
"direction": "incoming",
"restriction_type": "step",
"target_step_id": null,
"target_tag_id": null,
"target_status_id": null,
"hierarchy_scope": "current",
"hierarchy_depth": 1
}
],
"attachments": [
{
"id": null
}
]
}
],
"tags": [
{
"id": null,
"name": "",
"color": "#E53935",
"funnel_step_blockings": [
{
"funnel_step_id": null,
"automation_bypass": false
}
]
}
],
"funnel_status": [
{
"id": null,
"name": "",
"color": "#43A047",
"is_conclusive": false,
"funnel_step_blockings": [
{
"funnel_step_id": null,
"automation_bypass": false
}
]
}
],
"access": [
{
"id": null,
"index_all": false,
"index_assigned": true,
"index_created": true
}
],
"attachments": [
{
"id": null
}
],
"template_projects": [
{
"id": null
}
]
}
'import requests
url = "https://api.olie.ai/api/management/project-funnel"
payload = {
"id": None,
"name": "",
"prefix": None,
"condition": "active",
"allow_multi_step": False,
"allow_execution": True,
"show_cost_info": True,
"project_term": None,
"form": { "id": None },
"steps": [
{
"id": None,
"name": "",
"help_text": None,
"sensation_amount": 0,
"allow_execution": True,
"show_customer_form": False,
"show_contact_form": False,
"hide_customer_form_when_linked": False,
"hide_contact_form_when_linked": False,
"step_forward": { "name": "" },
"step_backward": { "name": "" },
"form": { "id": None },
"sort_config": {
"field": "",
"direction": "asc",
"arguments": []
},
"checklists": [
{
"id": None,
"name": "",
"info": None,
"required": False,
"order": 0
}
],
"restrictions": [
{
"name": None,
"direction": "incoming",
"restriction_type": "step",
"target_step_id": None,
"target_tag_id": None,
"target_status_id": None,
"hierarchy_scope": "current",
"hierarchy_depth": 1
}
],
"attachments": [{ "id": None }]
}
],
"tags": [
{
"id": None,
"name": "",
"color": "#E53935",
"funnel_step_blockings": [
{
"funnel_step_id": None,
"automation_bypass": False
}
]
}
],
"funnel_status": [
{
"id": None,
"name": "",
"color": "#43A047",
"is_conclusive": False,
"funnel_step_blockings": [
{
"funnel_step_id": None,
"automation_bypass": False
}
]
}
],
"access": [
{
"id": None,
"index_all": False,
"index_assigned": True,
"index_created": True
}
],
"attachments": [{ "id": None }],
"template_projects": [{ "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({
id: null,
name: '',
prefix: null,
condition: 'active',
allow_multi_step: false,
allow_execution: true,
show_cost_info: true,
project_term: null,
form: {id: null},
steps: [
{
id: null,
name: '',
help_text: null,
sensation_amount: 0,
allow_execution: true,
show_customer_form: false,
show_contact_form: false,
hide_customer_form_when_linked: false,
hide_contact_form_when_linked: false,
step_forward: {name: ''},
step_backward: {name: ''},
form: {id: null},
sort_config: {field: '', direction: 'asc', arguments: []},
checklists: [{id: null, name: '', info: null, required: false, order: 0}],
restrictions: [
{
name: null,
direction: 'incoming',
restriction_type: 'step',
target_step_id: null,
target_tag_id: null,
target_status_id: null,
hierarchy_scope: 'current',
hierarchy_depth: 1
}
],
attachments: [{id: null}]
}
],
tags: [
{
id: null,
name: '',
color: '#E53935',
funnel_step_blockings: [{funnel_step_id: null, automation_bypass: false}]
}
],
funnel_status: [
{
id: null,
name: '',
color: '#43A047',
is_conclusive: false,
funnel_step_blockings: [{funnel_step_id: null, automation_bypass: false}]
}
],
access: [{id: null, index_all: false, index_assigned: true, index_created: true}],
attachments: [{id: null}],
template_projects: [{id: null}]
})
};
fetch('https://api.olie.ai/api/management/project-funnel', 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/project-funnel",
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([
'id' => null,
'name' => '',
'prefix' => null,
'condition' => 'active',
'allow_multi_step' => false,
'allow_execution' => true,
'show_cost_info' => true,
'project_term' => null,
'form' => [
'id' => null
],
'steps' => [
[
'id' => null,
'name' => '',
'help_text' => null,
'sensation_amount' => 0,
'allow_execution' => true,
'show_customer_form' => false,
'show_contact_form' => false,
'hide_customer_form_when_linked' => false,
'hide_contact_form_when_linked' => false,
'step_forward' => [
'name' => ''
],
'step_backward' => [
'name' => ''
],
'form' => [
'id' => null
],
'sort_config' => [
'field' => '',
'direction' => 'asc',
'arguments' => [
]
],
'checklists' => [
[
'id' => null,
'name' => '',
'info' => null,
'required' => false,
'order' => 0
]
],
'restrictions' => [
[
'name' => null,
'direction' => 'incoming',
'restriction_type' => 'step',
'target_step_id' => null,
'target_tag_id' => null,
'target_status_id' => null,
'hierarchy_scope' => 'current',
'hierarchy_depth' => 1
]
],
'attachments' => [
[
'id' => null
]
]
]
],
'tags' => [
[
'id' => null,
'name' => '',
'color' => '#E53935',
'funnel_step_blockings' => [
[
'funnel_step_id' => null,
'automation_bypass' => false
]
]
]
],
'funnel_status' => [
[
'id' => null,
'name' => '',
'color' => '#43A047',
'is_conclusive' => false,
'funnel_step_blockings' => [
[
'funnel_step_id' => null,
'automation_bypass' => false
]
]
]
],
'access' => [
[
'id' => null,
'index_all' => false,
'index_assigned' => true,
'index_created' => true
]
],
'attachments' => [
[
'id' => null
]
],
'template_projects' => [
[
'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/project-funnel"
payload := strings.NewReader("{\n \"id\": null,\n \"name\": \"\",\n \"prefix\": null,\n \"condition\": \"active\",\n \"allow_multi_step\": false,\n \"allow_execution\": true,\n \"show_cost_info\": true,\n \"project_term\": null,\n \"form\": {\n \"id\": null\n },\n \"steps\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"help_text\": null,\n \"sensation_amount\": 0,\n \"allow_execution\": true,\n \"show_customer_form\": false,\n \"show_contact_form\": false,\n \"hide_customer_form_when_linked\": false,\n \"hide_contact_form_when_linked\": false,\n \"step_forward\": {\n \"name\": \"\"\n },\n \"step_backward\": {\n \"name\": \"\"\n },\n \"form\": {\n \"id\": null\n },\n \"sort_config\": {\n \"field\": \"\",\n \"direction\": \"asc\",\n \"arguments\": []\n },\n \"checklists\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"info\": null,\n \"required\": false,\n \"order\": 0\n }\n ],\n \"restrictions\": [\n {\n \"name\": null,\n \"direction\": \"incoming\",\n \"restriction_type\": \"step\",\n \"target_step_id\": null,\n \"target_tag_id\": null,\n \"target_status_id\": null,\n \"hierarchy_scope\": \"current\",\n \"hierarchy_depth\": 1\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ]\n }\n ],\n \"tags\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#E53935\",\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"funnel_status\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#43A047\",\n \"is_conclusive\": false,\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"access\": [\n {\n \"id\": null,\n \"index_all\": false,\n \"index_assigned\": true,\n \"index_created\": true\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ],\n \"template_projects\": [\n {\n \"id\": null\n }\n ]\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/project-funnel")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": null,\n \"name\": \"\",\n \"prefix\": null,\n \"condition\": \"active\",\n \"allow_multi_step\": false,\n \"allow_execution\": true,\n \"show_cost_info\": true,\n \"project_term\": null,\n \"form\": {\n \"id\": null\n },\n \"steps\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"help_text\": null,\n \"sensation_amount\": 0,\n \"allow_execution\": true,\n \"show_customer_form\": false,\n \"show_contact_form\": false,\n \"hide_customer_form_when_linked\": false,\n \"hide_contact_form_when_linked\": false,\n \"step_forward\": {\n \"name\": \"\"\n },\n \"step_backward\": {\n \"name\": \"\"\n },\n \"form\": {\n \"id\": null\n },\n \"sort_config\": {\n \"field\": \"\",\n \"direction\": \"asc\",\n \"arguments\": []\n },\n \"checklists\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"info\": null,\n \"required\": false,\n \"order\": 0\n }\n ],\n \"restrictions\": [\n {\n \"name\": null,\n \"direction\": \"incoming\",\n \"restriction_type\": \"step\",\n \"target_step_id\": null,\n \"target_tag_id\": null,\n \"target_status_id\": null,\n \"hierarchy_scope\": \"current\",\n \"hierarchy_depth\": 1\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ]\n }\n ],\n \"tags\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#E53935\",\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"funnel_status\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#43A047\",\n \"is_conclusive\": false,\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"access\": [\n {\n \"id\": null,\n \"index_all\": false,\n \"index_assigned\": true,\n \"index_created\": true\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ],\n \"template_projects\": [\n {\n \"id\": null\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.olie.ai/api/management/project-funnel")
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 \"id\": null,\n \"name\": \"\",\n \"prefix\": null,\n \"condition\": \"active\",\n \"allow_multi_step\": false,\n \"allow_execution\": true,\n \"show_cost_info\": true,\n \"project_term\": null,\n \"form\": {\n \"id\": null\n },\n \"steps\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"help_text\": null,\n \"sensation_amount\": 0,\n \"allow_execution\": true,\n \"show_customer_form\": false,\n \"show_contact_form\": false,\n \"hide_customer_form_when_linked\": false,\n \"hide_contact_form_when_linked\": false,\n \"step_forward\": {\n \"name\": \"\"\n },\n \"step_backward\": {\n \"name\": \"\"\n },\n \"form\": {\n \"id\": null\n },\n \"sort_config\": {\n \"field\": \"\",\n \"direction\": \"asc\",\n \"arguments\": []\n },\n \"checklists\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"info\": null,\n \"required\": false,\n \"order\": 0\n }\n ],\n \"restrictions\": [\n {\n \"name\": null,\n \"direction\": \"incoming\",\n \"restriction_type\": \"step\",\n \"target_step_id\": null,\n \"target_tag_id\": null,\n \"target_status_id\": null,\n \"hierarchy_scope\": \"current\",\n \"hierarchy_depth\": 1\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ]\n }\n ],\n \"tags\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#E53935\",\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"funnel_status\": [\n {\n \"id\": null,\n \"name\": \"\",\n \"color\": \"#43A047\",\n \"is_conclusive\": false,\n \"funnel_step_blockings\": [\n {\n \"funnel_step_id\": null,\n \"automation_bypass\": false\n }\n ]\n }\n ],\n \"access\": [\n {\n \"id\": null,\n \"index_all\": false,\n \"index_assigned\": true,\n \"index_created\": true\n }\n ],\n \"attachments\": [\n {\n \"id\": null\n }\n ],\n \"template_projects\": [\n {\n \"id\": null\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"response": true,
"project_funnel": {
"order": 11,
"name": "Nome do funil",
"condition": "active",
"allow_multi_step": true,
"show_cost_info": true,
"frame_id": "019c75de-532c-7047-9563-daf1448ca963",
"allow_execution": true,
"prefix": "PREFIX2",
"form_id": 7,
"updated_at": "2026-03-16T16:34:43.000000Z",
"created_at": "2026-03-16T16:34:43.000000Z",
"id": 54,
"business_area_id": 19,
"business_area": {
"id": 19,
"name": "Área de negócio",
"order": 0,
"frame_id": "019c75de-532c-7047-9563-daf1448ca963",
"deleted_at": null
},
"steps": [
{
"id": 240,
"name": "Backlog",
"project_funnel_id": 54,
"sensation_amount": 50,
"step_forward_id": null,
"step_backward_id": null,
"show_contact_form": false,
"hide_contact_form_when_linked": false,
"show_customer_form": false,
"hide_customer_form_when_linked": false,
"order": 1,
"help_text": "Texto de ajuda da etapa",
"form_id": 7,
"sort_config": null,
"allow_execution": true,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null,
"checklists": [
{
"id": 4,
"name": "Checklist 1",
"info": "Texto informativo da checklist",
"funnel_step_id": 240,
"required": true,
"order": 0
},
{
"id": 5,
"name": "Checklist 2",
"info": null,
"funnel_step_id": 240,
"required": true,
"order": 1
},
{
"id": 6,
"name": "Checklist 3",
"info": null,
"funnel_step_id": 240,
"required": false,
"order": 2
}
],
"attachments": [
{
"id": 1,
"name": "Captura de tela de 2026-02-12 09-34-45.png",
"technical_name": "",
"extension": "png",
"file_url": "https://olie-main-dev.s3.amazonaws.com/app/frames/019c75de-532c-7047-9563-daf1448ca963/funnel_attachments/EUCnLFRPVhJkpyq6GKDcmXNgI2S1j9HWs0AZ-captura-de-tela-de-2026-02-12-09-34-45.png",
"popup_video": 0,
"watch": false,
"user_id": "019c75de-509e-711a-8933-175cb2514cc5",
"frame_id": "019c75de-532c-7047-9563-daf1448ca963",
"created_at": "2026-03-16T13:23:06.000000Z",
"updated_at": "2026-03-16T13:23:06.000000Z",
"deleted_at": null,
"pivot": {
"funnel_step_id": 240,
"step_attachment_id": 1
}
},
{
"id": 2,
"name": "Link Vídeo",
"technical_name": "link_technical_name",
"extension": "link",
"file_url": "https://youtu.be/JOopR4MKbhI?si=HNIGI1bcPNXUuTVy",
"popup_video": 1,
"watch": true,
"user_id": "019c75de-509e-711a-8933-175cb2514cc5",
"frame_id": "019c75de-532c-7047-9563-daf1448ca963",
"created_at": "2026-03-16T13:24:05.000000Z",
"updated_at": "2026-03-16T13:25:13.000000Z",
"deleted_at": null,
"pivot": {
"funnel_step_id": 240,
"step_attachment_id": 2
}
}
],
"form": {
"id": 7,
"title": "Formulário para funil",
"frame_id": "019c75de-532c-7047-9563-daf1448ca963",
"created_at": "2026-03-16T13:12:12.000000Z",
"updated_at": "2026-03-16T13:12:12.000000Z",
"deleted_at": null
},
"restrictions": []
},
{
"id": 241,
"name": "Em andamento",
"project_funnel_id": 54,
"sensation_amount": 0,
"step_forward_id": null,
"step_backward_id": null,
"show_contact_form": false,
"hide_contact_form_when_linked": false,
"show_customer_form": false,
"hide_customer_form_when_linked": false,
"order": 2,
"help_text": null,
"form_id": null,
"sort_config": null,
"allow_execution": true,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null,
"checklists": [],
"attachments": [],
"form": null,
"restrictions": []
},
{
"id": 242,
"name": "Concluído",
"project_funnel_id": 54,
"sensation_amount": 0,
"step_forward_id": null,
"step_backward_id": null,
"show_contact_form": false,
"hide_contact_form_when_linked": false,
"show_customer_form": false,
"hide_customer_form_when_linked": false,
"order": 3,
"help_text": null,
"form_id": null,
"sort_config": null,
"allow_execution": true,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null,
"checklists": [],
"attachments": [],
"form": null,
"restrictions": []
}
],
"tags": [
{
"id": 6,
"name": "Nova etiqueta 1",
"color": "#5e4ff8",
"project_funnel_id": 54,
"deleted_at": null
},
{
"id": 7,
"name": "Nova etiqueta 2",
"color": "#7fd87d",
"project_funnel_id": 54,
"deleted_at": null
},
{
"id": 8,
"name": "Nova etiqueta 3",
"color": "#5e4ff8",
"project_funnel_id": 54,
"deleted_at": null
}
],
"attachments": [],
"funnel_status": [
{
"id": 6,
"name": "Novo status 1",
"color": "#b59ef6",
"project_funnel_id": 54,
"is_conclusive": false,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null
},
{
"id": 7,
"name": "Novo status 2",
"color": "#7fd87d",
"project_funnel_id": 54,
"is_conclusive": false,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null
},
{
"id": 8,
"name": "Novo status 3",
"color": "#b59ef6",
"project_funnel_id": 54,
"is_conclusive": false,
"created_at": "2026-03-16T16:34:43.000000Z",
"updated_at": "2026-03-16T16:34:43.000000Z",
"deleted_at": null
}
]
},
"objects_above_limit": []
}{
"response": false,
"message": "unauthorized",
"error": "Unauthenticated."
}{
"response": false,
"message": "repeated_tags_are_not_allowed"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Nome do funil. Obrigatório e sem HTML.
Etapas do funil, na ordem desejada. Obrigatório. Etapas ausentes são removidas.
Show child attributes
Show child attributes
ID do funil a atualizar. Sem ele, um novo funil é criado.
Prefixo do código dos projetos. Gerado a partir do nome quando não informado.
Situação do funil. Padrão active.
active, inactive Permite o projeto em várias etapas ao mesmo tempo.
Permite cronometrar execução nos projetos do funil.
Exibe informações de custo. Padrão true.
Vocabulário do funil para o termo 'projeto', no singular e no plural.
Formulário de vínculo do funil.
Show child attributes
Show child attributes
Etiquetas do funil. Nome e cor não podem se repetir no mesmo funil.
Show child attributes
Show child attributes
Status do funil.
Show child attributes
Show child attributes
Acesso ao funil por usuário.
Show child attributes
Show child attributes
Anexos do funil.
Show child attributes
Show child attributes
Projetos-modelo oferecidos ao criar projetos neste funil.
Show child attributes
Show child attributes
Response
Sucesso
Sempre true quando a operação é concluída.
Funil de projeto.
Show child attributes
Show child attributes
Objetos barrados pelo limite do plano. Vazio quando tudo coube.
Tipo de objeto que não pôde ser criado por limite do plano, como project_funnel, automation ou step_assistant.
Was this page helpful?