{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/okareo/json-schema/okareo-observer-register-request-schema.json",
  "title": "ObserverRegisterRequest",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/okareo-voice-api-openapi.yml#/components/schemas/ObserverRegisterRequest",
  "properties": {
    "call_sid": {
      "type": "string",
      "title": "Call Sid",
      "description": "Twilio CallSid for the live call"
    },
    "twilio_account_sid": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Twilio Account Sid",
      "description": "Twilio AccountSid (falls back to TWILIO_ACCOUNT_SID env var)"
    },
    "twilio_auth_token": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Twilio Auth Token",
      "description": "Twilio Auth Token (falls back to TWILIO_AUTH_TOKEN env var)"
    },
    "keyword_patterns": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Keyword Patterns",
      "description": "Regex patterns to match against transcript.final text"
    },
    "entity_types": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Entity Types",
      "description": "spaCy NER labels to surface as entity.detected events (e.g. ORG, PERSON, PRODUCT, MONEY)"
    },
    "enable_svd": {
      "type": "boolean",
      "title": "Enable Svd",
      "description": "Enable Modulate synthetic voice detection (requires MODULATE_API_KEY on server)",
      "default": false
    }
  },
  "type": "object",
  "required": [
    "call_sid"
  ]
}