curl --request POST \
--url https://operator.opus.com/job/execute \
--header 'Content-Type: application/json' \
--header 'x-service-key: {YOUR_SERVICE_KEY}' \
--data '{
"jobExecutionId": "{YOUR_JOB_EXECUTION_ID}",
"callbackUrl": "https://your-app.example.com/opus/callback",
"jobPayloadSchemaInstance": {
"{VARIABLE_NAME_1}": {
"value": "API Test Project",
"type": "str",
"displayName": "Variable Name 1"
},
"{VARIABLE_NAME_2}": {
"value": 45.8,
"type": "float",
"displayName": "Variable Name 2"
}
}
}'
import requests
url = "https://operator.opus.com/job/execute"
headers = {
"Content-Type": "application/json",
"x-service-key": "{YOUR_SERVICE_KEY}"
}
payload = {
"jobExecutionId": "{YOUR_JOB_EXECUTION_ID}",
"callbackUrl": "https://your-app.example.com/opus/callback",
"jobPayloadSchemaInstance": {
"{VARIABLE_NAME_1}": {
"value": "API Test Project",
"type": "str",
"displayName": "Variable Name 1"
},
"{VARIABLE_NAME_2}": {
"value": 45.8,
"type": "float",
"displayName": "Variable Name 2"
}
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const response = await fetch("https://operator.opus.com/job/execute", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-service-key": "{YOUR_SERVICE_KEY}",
},
body: JSON.stringify({
jobExecutionId: "{YOUR_JOB_EXECUTION_ID}",
callbackUrl: "https://your-app.example.com/opus/callback",
jobPayloadSchemaInstance: {
"{VARIABLE_NAME_1}": {
value: "API Test Project",
type: "str",
displayName: "Variable Name 1",
},
"{VARIABLE_NAME_2}": {
value: 45.8,
type: "float",
displayName: "Variable Name 2",
},
},
}),
});
const data = await response.json();
console.log(data);
{
"success": true,
"jobExecutionId": "{JOB_EXECUTION_ID}",
"message": "Job execution has been started"
}
Deprecated
Execute Job
Run a workflow with populated inputs
POST
/
job
/
execute
curl --request POST \
--url https://operator.opus.com/job/execute \
--header 'Content-Type: application/json' \
--header 'x-service-key: {YOUR_SERVICE_KEY}' \
--data '{
"jobExecutionId": "{YOUR_JOB_EXECUTION_ID}",
"callbackUrl": "https://your-app.example.com/opus/callback",
"jobPayloadSchemaInstance": {
"{VARIABLE_NAME_1}": {
"value": "API Test Project",
"type": "str",
"displayName": "Variable Name 1"
},
"{VARIABLE_NAME_2}": {
"value": 45.8,
"type": "float",
"displayName": "Variable Name 2"
}
}
}'
import requests
url = "https://operator.opus.com/job/execute"
headers = {
"Content-Type": "application/json",
"x-service-key": "{YOUR_SERVICE_KEY}"
}
payload = {
"jobExecutionId": "{YOUR_JOB_EXECUTION_ID}",
"callbackUrl": "https://your-app.example.com/opus/callback",
"jobPayloadSchemaInstance": {
"{VARIABLE_NAME_1}": {
"value": "API Test Project",
"type": "str",
"displayName": "Variable Name 1"
},
"{VARIABLE_NAME_2}": {
"value": 45.8,
"type": "float",
"displayName": "Variable Name 2"
}
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const response = await fetch("https://operator.opus.com/job/execute", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-service-key": "{YOUR_SERVICE_KEY}",
},
body: JSON.stringify({
jobExecutionId: "{YOUR_JOB_EXECUTION_ID}",
callbackUrl: "https://your-app.example.com/opus/callback",
jobPayloadSchemaInstance: {
"{VARIABLE_NAME_1}": {
value: "API Test Project",
type: "str",
displayName: "Variable Name 1",
},
"{VARIABLE_NAME_2}": {
value: 45.8,
type: "float",
displayName: "Variable Name 2",
},
},
}),
});
const data = await response.json();
console.log(data);
{
"success": true,
"jobExecutionId": "{JOB_EXECUTION_ID}",
"message": "Job execution has been started"
}
This is the primary step where you provide all inputs and run the workflow.
The request body consists of:
- The
jobExecutionIdfrom the Initiate Job step - The
jobPayloadSchemaInstance— the schema from Get Workflow Details with values populated for each input - A
callbackUrlthat Opus will POST to when the job finishes
Job execution is asynchronous. This endpoint returns immediately once the run is queued; the final result is delivered to your
callbackUrl (and is also retrievable via Get Job Results).Headers
string
required
Your API authentication key
Body Parameters
string
required
The ID of the job to execute (received from Initiate Job)
object
required
An object where each key is a variable name from your workflow schema, and each value is a Variable Object (see below).
string
required
HTTPS URL that Opus will POST the job result to once the run finishes. Must be reachable from the Opus platform.
string
Optional comma-separated workspace IDs used to validate workflow access. Used by machine-key callers that operate across multiple workspaces.
Variable Object
Each entry injobPayloadSchemaInstance uses your variable name as the key (e.g., VARIABLE_NAME_1) and maps to an object with the following properties:
any
required
The value for this input (type depends on field type)
string
required
The data type: str, float, bool, date, file, array, array_files, or object
string
The variable name displayed in the Opus platform UI
While
displayName is optional, omitting it may cause display glitches on the Opus platform UI. We strongly recommend including it for each input field.Response
boolean
required
Whether the job execution was successfully started
string
required
The job execution ID
string
required
Status message
curl --request POST \
--url https://operator.opus.com/job/execute \
--header 'Content-Type: application/json' \
--header 'x-service-key: {YOUR_SERVICE_KEY}' \
--data '{
"jobExecutionId": "{YOUR_JOB_EXECUTION_ID}",
"callbackUrl": "https://your-app.example.com/opus/callback",
"jobPayloadSchemaInstance": {
"{VARIABLE_NAME_1}": {
"value": "API Test Project",
"type": "str",
"displayName": "Variable Name 1"
},
"{VARIABLE_NAME_2}": {
"value": 45.8,
"type": "float",
"displayName": "Variable Name 2"
}
}
}'
import requests
url = "https://operator.opus.com/job/execute"
headers = {
"Content-Type": "application/json",
"x-service-key": "{YOUR_SERVICE_KEY}"
}
payload = {
"jobExecutionId": "{YOUR_JOB_EXECUTION_ID}",
"callbackUrl": "https://your-app.example.com/opus/callback",
"jobPayloadSchemaInstance": {
"{VARIABLE_NAME_1}": {
"value": "API Test Project",
"type": "str",
"displayName": "Variable Name 1"
},
"{VARIABLE_NAME_2}": {
"value": 45.8,
"type": "float",
"displayName": "Variable Name 2"
}
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const response = await fetch("https://operator.opus.com/job/execute", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-service-key": "{YOUR_SERVICE_KEY}",
},
body: JSON.stringify({
jobExecutionId: "{YOUR_JOB_EXECUTION_ID}",
callbackUrl: "https://your-app.example.com/opus/callback",
jobPayloadSchemaInstance: {
"{VARIABLE_NAME_1}": {
value: "API Test Project",
type: "str",
displayName: "Variable Name 1",
},
"{VARIABLE_NAME_2}": {
value: 45.8,
type: "float",
displayName: "Variable Name 2",
},
},
}),
});
const data = await response.json();
console.log(data);
{
"success": true,
"jobExecutionId": "{JOB_EXECUTION_ID}",
"message": "Job execution has been started"
}
Was this page helpful?