curl --request POST \
--url https://api.getcargo.io/v1/orchestration/actions/execute \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"action": {
"kind": "native",
"actionSlug": "<string>",
"retry": {
"maximumAttempts": 123,
"initialInterval": 123,
"backoffCoefficient": 123
}
},
"data": "<unknown>",
"waitUntilFinished": true,
"webhookUrl": "<string>",
"webhookSecret": "<string>"
}
'import requests
url = "https://api.getcargo.io/v1/orchestration/actions/execute"
payload = {
"action": {
"kind": "native",
"actionSlug": "<string>",
"retry": {
"maximumAttempts": 123,
"initialInterval": 123,
"backoffCoefficient": 123
}
},
"data": "<unknown>",
"waitUntilFinished": True,
"webhookUrl": "<string>",
"webhookSecret": "<string>"
}
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({
action: {
kind: 'native',
actionSlug: '<string>',
retry: {maximumAttempts: 123, initialInterval: 123, backoffCoefficient: 123}
},
data: '<unknown>',
waitUntilFinished: true,
webhookUrl: '<string>',
webhookSecret: '<string>'
})
};
fetch('https://api.getcargo.io/v1/orchestration/actions/execute', 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.getcargo.io/v1/orchestration/actions/execute",
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([
'action' => [
'kind' => 'native',
'actionSlug' => '<string>',
'retry' => [
'maximumAttempts' => 123,
'initialInterval' => 123,
'backoffCoefficient' => 123
]
],
'data' => '<unknown>',
'waitUntilFinished' => true,
'webhookUrl' => '<string>',
'webhookSecret' => '<string>'
]),
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.getcargo.io/v1/orchestration/actions/execute"
payload := strings.NewReader("{\n \"action\": {\n \"kind\": \"native\",\n \"actionSlug\": \"<string>\",\n \"retry\": {\n \"maximumAttempts\": 123,\n \"initialInterval\": 123,\n \"backoffCoefficient\": 123\n }\n },\n \"data\": \"<unknown>\",\n \"waitUntilFinished\": true,\n \"webhookUrl\": \"<string>\",\n \"webhookSecret\": \"<string>\"\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.getcargo.io/v1/orchestration/actions/execute")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"action\": {\n \"kind\": \"native\",\n \"actionSlug\": \"<string>\",\n \"retry\": {\n \"maximumAttempts\": 123,\n \"initialInterval\": 123,\n \"backoffCoefficient\": 123\n }\n },\n \"data\": \"<unknown>\",\n \"waitUntilFinished\": true,\n \"webhookUrl\": \"<string>\",\n \"webhookSecret\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getcargo.io/v1/orchestration/actions/execute")
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 \"action\": {\n \"kind\": \"native\",\n \"actionSlug\": \"<string>\",\n \"retry\": {\n \"maximumAttempts\": 123,\n \"initialInterval\": 123,\n \"backoffCoefficient\": 123\n }\n },\n \"data\": \"<unknown>\",\n \"waitUntilFinished\": true,\n \"webhookUrl\": \"<string>\",\n \"webhookSecret\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"run": {
"uuid": "<string>",
"workspaceUuid": "<string>",
"workflowUuid": "<string>",
"userUuid": "<string>",
"releaseUuid": "<string>",
"nodes": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"config": {},
"childrenUuids": [
"<string>"
],
"fallbackOnFailure": true,
"position": {
"x": 123,
"y": 123
},
"kind": "native",
"actionSlug": "<string>",
"name": "<string>",
"description": "<string>",
"retry": {
"maximumAttempts": 123,
"initialInterval": 123,
"backoffCoefficient": 123
},
"fallbackChildUuid": "<string>"
}
],
"batchUuid": "<string>",
"traceUuid": "<string>",
"temporalWorkflowId": "<string>",
"recordId": "<string>",
"recordTitle": "<string>",
"contextS3Filename": "<string>",
"computedConfigsS3Filename": "<string>",
"parentUuid": "<string>",
"parentNodeUuid": "<string>",
"parentBatchUuid": "<string>",
"parentAgentUuid": "<string>",
"parentChatUuid": "<string>",
"parentMessageUuid": "<string>",
"isGroupParent": true,
"status": "idle",
"errorMessage": "<string>",
"executions": [
{
"nodeUuid": "<string>",
"nodeSlug": "<string>",
"nodeBatchUuid": "<string>",
"nodeRunUuid": "<string>",
"nodeMessageUuid": "<string>",
"nodeChildIndex": 123,
"nextNodeUuid": "<string>",
"status": "pending",
"errorMessage": "<string>",
"title": "<string>",
"iconUrl": "<string>",
"creditsUsedCount": 123,
"nodeWaitUntilFinished": true,
"nodeKind": "native",
"nodeActionSlug": "<string>"
}
],
"createdAt": "<string>",
"updatedAt": "<string>",
"finishedAt": "<string>",
"deletedAt": "<string>"
},
"runComputedConfigs": {},
"runContext": {}
}{
"run": {
"uuid": "<string>",
"workspaceUuid": "<string>",
"workflowUuid": "<string>",
"userUuid": "<string>",
"releaseUuid": "<string>",
"nodes": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"config": {},
"childrenUuids": [
"<string>"
],
"fallbackOnFailure": true,
"position": {
"x": 123,
"y": 123
},
"kind": "native",
"actionSlug": "<string>",
"name": "<string>",
"description": "<string>",
"retry": {
"maximumAttempts": 123,
"initialInterval": 123,
"backoffCoefficient": 123
},
"fallbackChildUuid": "<string>"
}
],
"batchUuid": "<string>",
"traceUuid": "<string>",
"temporalWorkflowId": "<string>",
"recordId": "<string>",
"recordTitle": "<string>",
"contextS3Filename": "<string>",
"computedConfigsS3Filename": "<string>",
"parentUuid": "<string>",
"parentNodeUuid": "<string>",
"parentBatchUuid": "<string>",
"parentAgentUuid": "<string>",
"parentChatUuid": "<string>",
"parentMessageUuid": "<string>",
"isGroupParent": true,
"status": "idle",
"errorMessage": "<string>",
"executions": [
{
"nodeUuid": "<string>",
"nodeSlug": "<string>",
"nodeBatchUuid": "<string>",
"nodeRunUuid": "<string>",
"nodeMessageUuid": "<string>",
"nodeChildIndex": 123,
"nextNodeUuid": "<string>",
"status": "pending",
"errorMessage": "<string>",
"title": "<string>",
"iconUrl": "<string>",
"creditsUsedCount": 123,
"nodeWaitUntilFinished": true,
"nodeKind": "native",
"nodeActionSlug": "<string>"
}
],
"createdAt": "<string>",
"updatedAt": "<string>",
"finishedAt": "<string>",
"deletedAt": "<string>"
},
"runComputedConfigs": {},
"runContext": {}
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}Execute action
Execute an orchestration action. Without waitUntilFinished the response is 202 Accepted: poll Location until the run reaches a terminal status. Set waitUntilFinished to block until the run completes (up to 5 minutes); a finished run is 200. (POST /orchestration/actions/execute).
curl --request POST \
--url https://api.getcargo.io/v1/orchestration/actions/execute \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"action": {
"kind": "native",
"actionSlug": "<string>",
"retry": {
"maximumAttempts": 123,
"initialInterval": 123,
"backoffCoefficient": 123
}
},
"data": "<unknown>",
"waitUntilFinished": true,
"webhookUrl": "<string>",
"webhookSecret": "<string>"
}
'import requests
url = "https://api.getcargo.io/v1/orchestration/actions/execute"
payload = {
"action": {
"kind": "native",
"actionSlug": "<string>",
"retry": {
"maximumAttempts": 123,
"initialInterval": 123,
"backoffCoefficient": 123
}
},
"data": "<unknown>",
"waitUntilFinished": True,
"webhookUrl": "<string>",
"webhookSecret": "<string>"
}
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({
action: {
kind: 'native',
actionSlug: '<string>',
retry: {maximumAttempts: 123, initialInterval: 123, backoffCoefficient: 123}
},
data: '<unknown>',
waitUntilFinished: true,
webhookUrl: '<string>',
webhookSecret: '<string>'
})
};
fetch('https://api.getcargo.io/v1/orchestration/actions/execute', 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.getcargo.io/v1/orchestration/actions/execute",
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([
'action' => [
'kind' => 'native',
'actionSlug' => '<string>',
'retry' => [
'maximumAttempts' => 123,
'initialInterval' => 123,
'backoffCoefficient' => 123
]
],
'data' => '<unknown>',
'waitUntilFinished' => true,
'webhookUrl' => '<string>',
'webhookSecret' => '<string>'
]),
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.getcargo.io/v1/orchestration/actions/execute"
payload := strings.NewReader("{\n \"action\": {\n \"kind\": \"native\",\n \"actionSlug\": \"<string>\",\n \"retry\": {\n \"maximumAttempts\": 123,\n \"initialInterval\": 123,\n \"backoffCoefficient\": 123\n }\n },\n \"data\": \"<unknown>\",\n \"waitUntilFinished\": true,\n \"webhookUrl\": \"<string>\",\n \"webhookSecret\": \"<string>\"\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.getcargo.io/v1/orchestration/actions/execute")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"action\": {\n \"kind\": \"native\",\n \"actionSlug\": \"<string>\",\n \"retry\": {\n \"maximumAttempts\": 123,\n \"initialInterval\": 123,\n \"backoffCoefficient\": 123\n }\n },\n \"data\": \"<unknown>\",\n \"waitUntilFinished\": true,\n \"webhookUrl\": \"<string>\",\n \"webhookSecret\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getcargo.io/v1/orchestration/actions/execute")
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 \"action\": {\n \"kind\": \"native\",\n \"actionSlug\": \"<string>\",\n \"retry\": {\n \"maximumAttempts\": 123,\n \"initialInterval\": 123,\n \"backoffCoefficient\": 123\n }\n },\n \"data\": \"<unknown>\",\n \"waitUntilFinished\": true,\n \"webhookUrl\": \"<string>\",\n \"webhookSecret\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"run": {
"uuid": "<string>",
"workspaceUuid": "<string>",
"workflowUuid": "<string>",
"userUuid": "<string>",
"releaseUuid": "<string>",
"nodes": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"config": {},
"childrenUuids": [
"<string>"
],
"fallbackOnFailure": true,
"position": {
"x": 123,
"y": 123
},
"kind": "native",
"actionSlug": "<string>",
"name": "<string>",
"description": "<string>",
"retry": {
"maximumAttempts": 123,
"initialInterval": 123,
"backoffCoefficient": 123
},
"fallbackChildUuid": "<string>"
}
],
"batchUuid": "<string>",
"traceUuid": "<string>",
"temporalWorkflowId": "<string>",
"recordId": "<string>",
"recordTitle": "<string>",
"contextS3Filename": "<string>",
"computedConfigsS3Filename": "<string>",
"parentUuid": "<string>",
"parentNodeUuid": "<string>",
"parentBatchUuid": "<string>",
"parentAgentUuid": "<string>",
"parentChatUuid": "<string>",
"parentMessageUuid": "<string>",
"isGroupParent": true,
"status": "idle",
"errorMessage": "<string>",
"executions": [
{
"nodeUuid": "<string>",
"nodeSlug": "<string>",
"nodeBatchUuid": "<string>",
"nodeRunUuid": "<string>",
"nodeMessageUuid": "<string>",
"nodeChildIndex": 123,
"nextNodeUuid": "<string>",
"status": "pending",
"errorMessage": "<string>",
"title": "<string>",
"iconUrl": "<string>",
"creditsUsedCount": 123,
"nodeWaitUntilFinished": true,
"nodeKind": "native",
"nodeActionSlug": "<string>"
}
],
"createdAt": "<string>",
"updatedAt": "<string>",
"finishedAt": "<string>",
"deletedAt": "<string>"
},
"runComputedConfigs": {},
"runContext": {}
}{
"run": {
"uuid": "<string>",
"workspaceUuid": "<string>",
"workflowUuid": "<string>",
"userUuid": "<string>",
"releaseUuid": "<string>",
"nodes": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"config": {},
"childrenUuids": [
"<string>"
],
"fallbackOnFailure": true,
"position": {
"x": 123,
"y": 123
},
"kind": "native",
"actionSlug": "<string>",
"name": "<string>",
"description": "<string>",
"retry": {
"maximumAttempts": 123,
"initialInterval": 123,
"backoffCoefficient": 123
},
"fallbackChildUuid": "<string>"
}
],
"batchUuid": "<string>",
"traceUuid": "<string>",
"temporalWorkflowId": "<string>",
"recordId": "<string>",
"recordTitle": "<string>",
"contextS3Filename": "<string>",
"computedConfigsS3Filename": "<string>",
"parentUuid": "<string>",
"parentNodeUuid": "<string>",
"parentBatchUuid": "<string>",
"parentAgentUuid": "<string>",
"parentChatUuid": "<string>",
"parentMessageUuid": "<string>",
"isGroupParent": true,
"status": "idle",
"errorMessage": "<string>",
"executions": [
{
"nodeUuid": "<string>",
"nodeSlug": "<string>",
"nodeBatchUuid": "<string>",
"nodeRunUuid": "<string>",
"nodeMessageUuid": "<string>",
"nodeChildIndex": 123,
"nextNodeUuid": "<string>",
"status": "pending",
"errorMessage": "<string>",
"title": "<string>",
"iconUrl": "<string>",
"creditsUsedCount": 123,
"nodeWaitUntilFinished": true,
"nodeKind": "native",
"nodeActionSlug": "<string>"
}
],
"createdAt": "<string>",
"updatedAt": "<string>",
"finishedAt": "<string>",
"deletedAt": "<string>"
},
"runComputedConfigs": {},
"runContext": {}
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}Authorizations
API token from cargo-ai login. Send as Authorization: Bearer <token>.
Headers
Client-generated key that makes this write safe to retry. Reusing the same key with the same request returns the original response instead of creating a second record. Reusing it with a different request returns 422. A concurrent retry while the first request is still running returns 409. Keys expire after 24 hours. Not accepted on multipart file uploads. Optional: a request without one is processed as it always was.
255"8e03978e-40d5-43e8-bc93-6894a57f9324"
Body
Request body schema.
Action to execute.
- Action
- Action
- Action
- Action
- Action
Show child attributes
Show child attributes
Input data for the run.
When true, the request blocks until the run reaches a terminal status, up to 5 minutes. On timeout the run keeps running and the response is 408.
URL to call when the run completes.
Secret used to sign webhook deliveries. When provided, Cargo includes an X-Cargo-Signature header (sha256=) so you can verify the payload.
Response
Run finished within the wait window. Returned only when waitUntilFinished is true.
Created run details.
Show child attributes
Show child attributes
Computed configuration values for the run. Present when waitUntilFinished is true.
Show child attributes
Show child attributes
Context values captured for the run. Present when waitUntilFinished is true.
Show child attributes
Show child attributes
Was this page helpful?

