Create a custom operator

Creates a custom operator owned by your account, at version 1. The name must be unique within your account and must not collide with a platform operator's name — either conflict returns 409.

Required scope: intelligence:write

Body·
required
application/json

Body for creating a custom operator.

  • description
    Type: string · Description
    required

    Human-readable statement of what this operator assesses.

  • model_tier
    Type: string · Model Tierenum
    required

    fast for high-frequency, latency-sensitive analysis; standard for quality over speed.

    values
    • fast
    • standard
  • name
    Type: string · Name
    required

    Operator name (kebab-case), unique within your account and not colliding with a platform operator's name.

  • output_type
    Type: string · Output Typeenum
    required

    The shape of the result this operator emits — see the output type vocabulary.

    values
    • classification
    • boolean
    • score
    • multi_tag
    • extraction
    • text
  • prompt
    Type: string · Prompt
    required

    Natural-language instructions for the model, describing what to look for and how to reason.

  • include_reasoning
    Type: boolean · Include Reasoning

    When true, the model is asked to justify its result and reasoning is populated on events.

  • output_config
    Type: object · Output Config

    Type-specific configuration: e.g. {values: [...]} for classification, {min, max} for score, {tags: [...]} for multi_tag, {description} for extraction. Empty for boolean/text.

  • parameters
    Type: array object[] · Parameters

    Parameters the prompt references, whose values are supplied where the operator is configured.

    A value an operator's prompt references, supplied per configuration rather than baked into the prompt.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/operators
curl https://api.simwood.com/intelligence/v1/operators \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "name": "",
  "description": "",
  "prompt": "",
  "output_type": "classification",
  "output_config": {
    "additionalProperty": "anything"
  },
  "model_tier": "fast",
  "include_reasoning": false,
  "parameters": [
    {
      "name": "",
      "type": "kb_document",
      "description": ""
    }
  ]
}'
{
  "name": "string",
  "description": "string",
  "prompt": "string",
  "output_type": "classification",
  "output_config": {
    "additionalProperty": "anything"
  },
  "model_tier": "fast",
  "include_reasoning": true,
  "parameters": [
    {
      "name": "string",
      "type": "kb_document",
      "description": "string"
    }
  ],
  "account": "string",
  "version": 1,
  "is_current": true,
  "created_at": "string",
  "updated_at": "string"
}