Letta · Schema

ApprovalCreate

Input to approve or deny a tool call request

AIAgentsStateful AgentsMemoryMemGPTContinual LearningMCPMulti-AgentRAGOpen Source

Properties

Name Type Description
type string The message type to be created.
otid object The offline threading id (OTID). Set by the client to deduplicate requests. Used for idempotency in background streaming mode — each message in a request must have a unique OTID. Retries of the same r
group_id object The multi-agent group that the message was sent in
approvals object The list of approval responses
approve object Whether the tool has been approved
approval_request_id object The message ID of the approval request
reason object An optional explanation for the provided approval status
View JSON Schema on GitHub

JSON Schema

letta-approvalcreate-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ApprovalCreate",
  "title": "ApprovalCreate",
  "properties": {
    "type": {
      "type": "string",
      "const": "approval",
      "title": "Type",
      "description": "The message type to be created.",
      "default": "approval"
    },
    "otid": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Otid",
      "description": "The offline threading id (OTID). Set by the client to deduplicate requests. Used for idempotency in background streaming mode \u2014 each message in a request must have a unique OTID. Retries of the same request should reuse the same OTIDs."
    },
    "group_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Group Id",
      "description": "The multi-agent group that the message was sent in"
    },
    "approvals": {
      "anyOf": [
        {
          "items": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApprovalReturn"
              },
              {
                "$ref": "#/components/schemas/letta__schemas__letta_message__ToolReturn"
              }
            ],
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "approval": "#/components/schemas/ApprovalReturn",
                "tool": "#/components/schemas/letta__schemas__letta_message__ToolReturn"
              }
            }
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Approvals",
      "description": "The list of approval responses"
    },
    "approve": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Approve",
      "description": "Whether the tool has been approved",
      "deprecated": true
    },
    "approval_request_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Approval Request Id",
      "description": "The message ID of the approval request",
      "deprecated": true
    },
    "reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Reason",
      "description": "An optional explanation for the provided approval status",
      "deprecated": true
    }
  },
  "type": "object",
  "description": "Input to approve or deny a tool call request"
}