{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "get",
        "update",
        "upload_avatar",
        "remove_avatar"
      ],
      "description": "Operation to perform. Choose one advertised value; the remaining parameters are interpreted for that action."
    },
    "profile": {
      "type": "object",
      "properties": {
        "displayName": {
          "type": "string",
          "maxLength": 80,
          "description": "Display name used by the selected Agent profile action."
        },
        "description": {
          "type": "string",
          "maxLength": 240,
          "description": "Human-readable description for the created or updated artifact."
        },
        "avatar": {
          "type": "string",
          "enum": [
            "initials",
            "bot",
            "sparkles",
            "compass",
            "book",
            "terminal",
            "leaf"
          ],
          "description": "Allowed avatar value for the selected Agent profile action."
        },
        "accent": {
          "type": "string",
          "enum": [
            "blue",
            "violet",
            "green",
            "amber",
            "rose",
            "slate"
          ],
          "description": "Allowed accent value for the selected Agent profile action."
        }
      },
      "additionalProperties": false,
      "description": "Profile object used by the selected Agent profile action."
    },
    "expectedVersion": {
      "type": "string",
      "description": "Current Interaction version used for optimistic concurrency on revise and cancel."
    },
    "idempotencyKey": {
      "type": "string",
      "description": "Caller-generated retry key. Reuse it only for an identical create, revise, or cancel request."
    },
    "imageBase64": {
      "type": "string",
      "maxLength": 6990508,
      "description": "Image base64 used by the selected Agent profile action."
    }
  },
  "required": [
    "action"
  ],
  "additionalProperties": false
}