Create Workflow
curl --request POST \
--url https://api.truthlocks.com/v1/orchestrate/workflows \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"definition": "<unknown>",
"name": "<string>",
"owner_agent_id": "<string>"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({definition: '<unknown>', name: '<string>', owner_agent_id: '<string>'})
};
fetch('https://api.truthlocks.com/v1/orchestrate/workflows', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.truthlocks.com/v1/orchestrate/workflows"
payload = {
"definition": "<unknown>",
"name": "<string>",
"owner_agent_id": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/orchestrate/workflows"
payload := strings.NewReader("{\n \"definition\": \"<unknown>\",\n \"name\": \"<string>\",\n \"owner_agent_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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))
}{
"workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"steps": [
{
"action": "<string>",
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"parameters": {}
}
],
"triggers": {},
"created_at": "2023-11-07T05:31:56Z"
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}Orchestrations & Workflows
Create Workflow
Create a workflow definition as a directed acyclic graph (DAG) of steps for repeatable AI orchestrations.
POST
/
v1
/
orchestrate
/
workflows
Create Workflow
curl --request POST \
--url https://api.truthlocks.com/v1/orchestrate/workflows \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"definition": "<unknown>",
"name": "<string>",
"owner_agent_id": "<string>"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({definition: '<unknown>', name: '<string>', owner_agent_id: '<string>'})
};
fetch('https://api.truthlocks.com/v1/orchestrate/workflows', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.truthlocks.com/v1/orchestrate/workflows"
payload = {
"definition": "<unknown>",
"name": "<string>",
"owner_agent_id": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/orchestrate/workflows"
payload := strings.NewReader("{\n \"definition\": \"<unknown>\",\n \"name\": \"<string>\",\n \"owner_agent_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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))
}{
"workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"steps": [
{
"action": "<string>",
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"parameters": {}
}
],
"triggers": {},
"created_at": "2023-11-07T05:31:56Z"
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}Creates a new workflow definition. Workflows define a directed acyclic graph (DAG) of steps that orchestrations execute in sequence. Each step specifies its type, configuration, and dependencies — enabling complex multi-step AI pipelines with deterministic execution order.
Workflows are created in
draft status and must be published before they can be executed. This two-phase approach allows teams to review and validate workflow definitions before they are available to agents.
Response
string
Unique workflow identifier.
string
Workflow name.
string
Workflow description.
string
Workflow version.
array
The validated workflow step definitions.
string
Workflow status. Always
draft on creation.string
ISO 8601 timestamp of creation.
Authorizations
API key for machine-to-machine authentication
Body
application/json

