Skip to main content
POST
/
procedural_agents
Create a procedural agent
curl --request POST \
  --url https://api.operator.xyz/procedural_agents \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Operator-Version: <operator-version>' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "config": {
    "filter_statuses": [
      "completed"
    ],
    "runtime": {
      "model": "openai/gpt-4o",
      "prompt": {
        "text": "<string>",
        "type": "fixed"
      },
      "reasoning_effort": "medium"
    },
    "tool": {
      "tools": [
        {
          "ns": "syscall",
          "name": "<string>"
        }
      ]
    },
    "output": {
      "slack_channel": null,
      "output_schema": null,
      "post_url": null
    },
    "filter_condition": null
  }
}
'
{
  "id": "<string>",
  "version_id": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Operator-Version
enum<string>
required

The API version to use.

Available options:
2025-06-19

Body

application/json
name
string
required

Human-readable name for the procedural agent.

description
string
required

Description of the procedural agent.

config
procedural.agent.config · object
required

Full configuration for the procedural agent (e.g. runtime, tools, output).

Response

Successful response.

id
string
required

Unique identifier for the procedural agent, e.g. pa_8qm9JBCiTe7

version_id
string
required

Version-specific identifier for the procedural agent instance, e.g. pa_8qm9JBCiTe7@v0