{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/ada/main/json-schema/ada-custom-instruction-update-schema.json",
  "title": "CustomInstructionUpdate",
  "description": "Fields for updating a custom instruction. Only the fields provided are changed; omitted fields are left as they are.",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/ada-custominstructions-api-openapi.yml#/components/schemas/CustomInstructionUpdate",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Display name for the custom instruction (unique per Agent)"
    },
    "text": {
      "type": "string",
      "description": "The instruction content — the rule the Agent should follow"
    },
    "enabled": {
      "type": "boolean",
      "description": "Whether the instruction is enabled. False means inactive."
    },
    "notes": {
      "type": "string",
      "description": "Internal notes about this instruction (not shown to the Agent). Send an empty string to blank it; omit it to leave the existing notes unchanged."
    },
    "availability_rules": {
      "type": [
        "string",
        "null"
      ],
      "description": "Optional availability rule as a rule-expression string with `v(\"<variable_name>\")` lookups. Send a non-empty string to set or replace it, `null` to clear it, or omit to leave it unchanged. A rule that references an unknown variable, or that is malformed or uses an unsupported operator, is rejected with 400."
    }
  }
}