Replace a configuration

Replaces a configuration wholesale with a new document and bumps its version, keeping the same uuid. Operator references sent with a version keep that pin; references with version omitted bind to the operator's current version — so a read-modify-write round-trip (a GET returns each reference's version) preserves existing pins. Validated exactly like create (422 on failure; 409 on a name clash).

Required scope: intelligence:write

Path Parameters
  • uuid
    Type: string · Uuid
    required

    The configuration's stable uuid — unchanged across version bumps and edits.

Body·
required
application/json

A configuration as a single document of operators and actions.

  • name
    Type: string · Name
    required

    Human label for the configuration, unique within your account.

  • actions
    Type: array object[] · Actions

    The actions that fire when operator results meet their conditions.

    A delivery instruction that fires when operator results meet its condition.

  • description
    Type: string · Descriptionnullable

    Optional human-readable description.

  • operators
    Type: array object[] · Operators

    The operators this configuration runs, each with its granularity and context settings.

    A reference to an operator within a configuration, with its deployment-time settings.

  • template_id
    Type: integer · Template Idnullable

    Optional id of the template this was derived from. Recorded for lineage only; never merged.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for put/configurations/{uuid}
curl 'https://api.simwood.com/intelligence/v1/configurations/{uuid}' \
  --request PUT \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "name": "",
  "description": "",
  "template_id": 1,
  "operators": [
    {
      "name": "",
      "version": 1,
      "granularity": {
        "on": "turn",
        "every": 1,
        "until_match": true
      },
      "context_window": 1,
      "include_prior_results": false,
      "prior_results_window": 3,
      "include_operator_results": [
        ""
      ],
      "operator_results_window": 1,
      "parameters": {
        "additionalProperty": ""
      }
    }
  ],
  "actions": [
    {
      "type": "webhook",
      "trigger": "operator_result",
      "once_per_session": false,
      "webhook_url": "",
      "webhook_headers": {
        "additionalProperty": "anything"
      },
      "whisper_channel": "caller",
      "content": {
        "additionalProperty": "anything"
      },
      "condition": {
        "operator": "",
        "expression": "",
        "all": [
          {
            "operator": "",
            "expression": ""
          }
        ],
        "any": [
          {
            "operator": "",
            "expression": ""
          }
        ]
      }
    }
  ]
}'
{
  "uuid": "string",
  "name": "string",
  "description": "string",
  "version": 1,
  "template_id": 1,
  "is_active": true,
  "sync_state": "live",
  "created_at": "string",
  "updated_at": "string",
  "operators": [
    {
      "name": "string",
      "version": 1,
      "current_version": 1,
      "upgrade_available": false,
      "output_type": "string",
      "model_tier": "string",
      "granularity": {
        "additionalProperty": "anything"
      },
      "context_window": 1,
      "include_prior_results": false,
      "prior_results_window": 3,
      "include_operator_results": [
        "string"
      ],
      "operator_results_window": 1,
      "parameters": {
        "additionalProperty": "anything"
      }
    }
  ],
  "actions": [
    {
      "additionalProperty": "anything"
    }
  ]
}