Buscar execuções da empresa
curl --request POST \
--url https://api.olie.ai/api/management/project-executions/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": [
{
"field": "is_running",
"operator": "equals",
"value": true,
"logical_operator": "and"
}
],
"sorting": [
{
"field": "started_at",
"direction": "desc"
}
],
"project_id": null,
"user_id": null,
"page": 1,
"perPage": 30
}
'import requests
url = "https://api.olie.ai/api/management/project-executions/search"
payload = {
"filters": [
{
"field": "is_running",
"operator": "equals",
"value": True,
"logical_operator": "and"
}
],
"sorting": [
{
"field": "started_at",
"direction": "desc"
}
],
"project_id": None,
"user_id": None,
"page": 1,
"perPage": 30
}
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({
filters: [
{field: 'is_running', operator: 'equals', value: true, logical_operator: 'and'}
],
sorting: [{field: 'started_at', direction: 'desc'}],
project_id: null,
user_id: null,
page: 1,
perPage: 30
})
};
fetch('https://api.olie.ai/api/management/project-executions/search', 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-executions/search",
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([
'filters' => [
[
'field' => 'is_running',
'operator' => 'equals',
'value' => true,
'logical_operator' => 'and'
]
],
'sorting' => [
[
'field' => 'started_at',
'direction' => 'desc'
]
],
'project_id' => null,
'user_id' => null,
'page' => 1,
'perPage' => 30
]),
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-executions/search"
payload := strings.NewReader("{\n \"filters\": [\n {\n \"field\": \"is_running\",\n \"operator\": \"equals\",\n \"value\": true,\n \"logical_operator\": \"and\"\n }\n ],\n \"sorting\": [\n {\n \"field\": \"started_at\",\n \"direction\": \"desc\"\n }\n ],\n \"project_id\": null,\n \"user_id\": null,\n \"page\": 1,\n \"perPage\": 30\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-executions/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": [\n {\n \"field\": \"is_running\",\n \"operator\": \"equals\",\n \"value\": true,\n \"logical_operator\": \"and\"\n }\n ],\n \"sorting\": [\n {\n \"field\": \"started_at\",\n \"direction\": \"desc\"\n }\n ],\n \"project_id\": null,\n \"user_id\": null,\n \"page\": 1,\n \"perPage\": 30\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.olie.ai/api/management/project-executions/search")
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 \"filters\": [\n {\n \"field\": \"is_running\",\n \"operator\": \"equals\",\n \"value\": true,\n \"logical_operator\": \"and\"\n }\n ],\n \"sorting\": [\n {\n \"field\": \"started_at\",\n \"direction\": \"desc\"\n }\n ],\n \"project_id\": null,\n \"user_id\": null,\n \"page\": 1,\n \"perPage\": 30\n}"
response = http.request(request)
puts response.read_body{
"response": true,
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 30,
"to": 1,
"total": 1
},
"project_executions": [
{
"id": "a1f0c3d2-5b6e-4f70-8a91-b2c3d4e5f607",
"project_id": "019e0edb-aa7c-70c4-9d2d-3a2f175b5ddf",
"user_id": "019c1e87-63f4-71dd-a4e3-6eaea0619c2f",
"funnel_step_id": 181,
"started_at": "2026-10-30T12:00:00.000000Z",
"finished_at": null,
"hourly_rate": 85,
"finished_reason": null,
"started_at_real": null,
"finished_at_real": null,
"duration": 2700,
"project": {
"id": "019e0edb-aa7c-70c4-9d2d-3a2f175b5ddf",
"code": "SC-1",
"name": "Shopping Center",
"is_template": false,
"deleted_at": null,
"customer": {
"id": "019d2a41-7c3e-7b10-8f6e-1a2b3c4d5e6f",
"name": "Cliente Exemplo Ltda"
}
},
"user": {
"id": "019c1e87-63f4-71dd-a4e3-6eaea0619c2f",
"name": "Nome do usuário",
"avatar_url": null
},
"funnel_step": {
"id": 181,
"name": "Execução",
"project_funnel_id": 36,
"funnel": {
"id": 36,
"name": "Obras"
}
}
}
]
}{
"response": false,
"message": "validation_errors",
"error": "O campo [status] selecionado é inválido. Campos disponíveis: id, user_id, project_id, funnel_step_id, project_funnel_id, started_at, finished_at, is_running, name_code.",
"validation": {
"field": [
"O campo [status] selecionado é inválido. Campos disponíveis: id, user_id, project_id, funnel_step_id, project_funnel_id, started_at, finished_at, is_running, name_code."
]
}
}projects
Buscar execuções da empresa
Busca avançada nas execuções da empresa, com filtros por operador, ordenação e paginação no corpo. Sem sorting, ordena pelo início mais recente. Valem as mesmas regras de visibilidade da listagem da empresa; com project_id ou user_id, a busca fica restrita a esse projeto ou pessoa, desde que você possa vê-lo.
Veja Busca avançada e Paginação.
POST
/
api
/
management
/
project-executions
/
search
Buscar execuções da empresa
curl --request POST \
--url https://api.olie.ai/api/management/project-executions/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": [
{
"field": "is_running",
"operator": "equals",
"value": true,
"logical_operator": "and"
}
],
"sorting": [
{
"field": "started_at",
"direction": "desc"
}
],
"project_id": null,
"user_id": null,
"page": 1,
"perPage": 30
}
'import requests
url = "https://api.olie.ai/api/management/project-executions/search"
payload = {
"filters": [
{
"field": "is_running",
"operator": "equals",
"value": True,
"logical_operator": "and"
}
],
"sorting": [
{
"field": "started_at",
"direction": "desc"
}
],
"project_id": None,
"user_id": None,
"page": 1,
"perPage": 30
}
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({
filters: [
{field: 'is_running', operator: 'equals', value: true, logical_operator: 'and'}
],
sorting: [{field: 'started_at', direction: 'desc'}],
project_id: null,
user_id: null,
page: 1,
perPage: 30
})
};
fetch('https://api.olie.ai/api/management/project-executions/search', 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-executions/search",
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([
'filters' => [
[
'field' => 'is_running',
'operator' => 'equals',
'value' => true,
'logical_operator' => 'and'
]
],
'sorting' => [
[
'field' => 'started_at',
'direction' => 'desc'
]
],
'project_id' => null,
'user_id' => null,
'page' => 1,
'perPage' => 30
]),
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-executions/search"
payload := strings.NewReader("{\n \"filters\": [\n {\n \"field\": \"is_running\",\n \"operator\": \"equals\",\n \"value\": true,\n \"logical_operator\": \"and\"\n }\n ],\n \"sorting\": [\n {\n \"field\": \"started_at\",\n \"direction\": \"desc\"\n }\n ],\n \"project_id\": null,\n \"user_id\": null,\n \"page\": 1,\n \"perPage\": 30\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-executions/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": [\n {\n \"field\": \"is_running\",\n \"operator\": \"equals\",\n \"value\": true,\n \"logical_operator\": \"and\"\n }\n ],\n \"sorting\": [\n {\n \"field\": \"started_at\",\n \"direction\": \"desc\"\n }\n ],\n \"project_id\": null,\n \"user_id\": null,\n \"page\": 1,\n \"perPage\": 30\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.olie.ai/api/management/project-executions/search")
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 \"filters\": [\n {\n \"field\": \"is_running\",\n \"operator\": \"equals\",\n \"value\": true,\n \"logical_operator\": \"and\"\n }\n ],\n \"sorting\": [\n {\n \"field\": \"started_at\",\n \"direction\": \"desc\"\n }\n ],\n \"project_id\": null,\n \"user_id\": null,\n \"page\": 1,\n \"perPage\": 30\n}"
response = http.request(request)
puts response.read_body{
"response": true,
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 30,
"to": 1,
"total": 1
},
"project_executions": [
{
"id": "a1f0c3d2-5b6e-4f70-8a91-b2c3d4e5f607",
"project_id": "019e0edb-aa7c-70c4-9d2d-3a2f175b5ddf",
"user_id": "019c1e87-63f4-71dd-a4e3-6eaea0619c2f",
"funnel_step_id": 181,
"started_at": "2026-10-30T12:00:00.000000Z",
"finished_at": null,
"hourly_rate": 85,
"finished_reason": null,
"started_at_real": null,
"finished_at_real": null,
"duration": 2700,
"project": {
"id": "019e0edb-aa7c-70c4-9d2d-3a2f175b5ddf",
"code": "SC-1",
"name": "Shopping Center",
"is_template": false,
"deleted_at": null,
"customer": {
"id": "019d2a41-7c3e-7b10-8f6e-1a2b3c4d5e6f",
"name": "Cliente Exemplo Ltda"
}
},
"user": {
"id": "019c1e87-63f4-71dd-a4e3-6eaea0619c2f",
"name": "Nome do usuário",
"avatar_url": null
},
"funnel_step": {
"id": 181,
"name": "Execução",
"project_funnel_id": 36,
"funnel": {
"id": 36,
"name": "Obras"
}
}
}
]
}{
"response": false,
"message": "validation_errors",
"error": "O campo [status] selecionado é inválido. Campos disponíveis: id, user_id, project_id, funnel_step_id, project_funnel_id, started_at, finished_at, is_running, name_code.",
"validation": {
"field": [
"O campo [status] selecionado é inválido. Campos disponíveis: id, user_id, project_id, funnel_step_id, project_funnel_id, started_at, finished_at, is_running, name_code."
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Was this page helpful?