Claude · JSON Structure

Claude Structure

Structural overview of the Claude API surface; extracted from openapi/.

Type: Properties: 0
Artificial IntelligenceChatbotConversational AIGenerative AILarge Language ModelsMachine LearningNatural Language Processing

Claude Structure is a JSON Structure definition published by Claude.

Meta-schema:

JSON Structure

Raw ↑
{
  "provider": "Claude",
  "providerId": "claude",
  "kind": "json-structure",
  "description": "Structural overview of the Claude API surface; extracted from openapi/.",
  "schemaCount": 32,
  "operationCount": 10,
  "schemas": [
    {
      "name": "CreateMessageRequest",
      "type": "object",
      "propertyCount": 16,
      "required": [
        "model",
        "max_tokens",
        "messages"
      ]
    },
    {
      "name": "CountTokensRequest",
      "type": "object",
      "propertyCount": 5,
      "required": [
        "model",
        "messages"
      ]
    },
    {
      "name": "TokenCount",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Message",
      "type": "object",
      "propertyCount": 8,
      "required": [
        "id",
        "type",
        "role",
        "content",
        "model",
        "stop_reason",
        "usage"
      ]
    },
    {
      "name": "MessageParam",
      "type": "object",
      "propertyCount": 2,
      "required": [
        "role",
        "content"
      ]
    },
    {
      "name": "ContentBlock",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ContentBlockParam",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TextBlock",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "type",
        "text"
      ]
    },
    {
      "name": "TextBlockParam",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "type",
        "text"
      ]
    },
    {
      "name": "ImageBlockParam",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "type",
        "source"
      ]
    },
    {
      "name": "DocumentBlockParam",
      "type": "object",
      "propertyCount": 6,
      "required": [
        "type",
        "source"
      ]
    },
    {
      "name": "ToolUseBlock",
      "type": "object",
      "propertyCount": 4,
      "required": [
        "type",
        "id",
        "name",
        "input"
      ]
    },
    {
      "name": "ToolUseBlockParam",
      "type": "object",
      "propertyCount": 5,
      "required": [
        "type",
        "id",
        "name",
        "input"
      ]
    },
    {
      "name": "ToolResultBlockParam",
      "type": "object",
      "propertyCount": 5,
      "required": [
        "type",
        "tool_use_id"
      ]
    },
    {
      "name": "ThinkingBlock",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "type",
        "thinking",
        "signature"
      ]
    },
    {
      "name": "ThinkingBlockParam",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "type",
        "thinking",
        "signature"
      ]
    },
    {
      "name": "Tool",
      "type": "object",
      "propertyCount": 5,
      "required": [
        "name",
        "input_schema"
      ]
    },
    {
      "name": "ToolChoice",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "type"
      ]
    },
    {
      "name": "ThinkingConfig",
      "type": "object",
      "propertyCount": 2,
      "required": [
        "type"
      ]
    },
    {
      "name": "OutputConfig",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "CacheControl",
      "type": "object",
      "propertyCount": 2,
      "required": [
        "type"
      ]
    },
    {
      "name": "Metadata",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Usage",
      "type": "object",
      "propertyCount": 4,
      "required": [
        "input_tokens",
        "output_tokens"
      ]
    },
    {
      "name": "CreateMessageBatchRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "requests"
      ]
    },
    {
      "name": "BatchRequestItem",
      "type": "object",
      "propertyCount": 2,
      "required": [
        "custom_id",
        "params"
      ]
    },
    {
      "name": "MessageBatch",
      "type": "object",
      "propertyCount": 8,
      "required": [
        "id",
        "type",
        "processing_status",
        "request_counts",
        "created_at",
        "expires_at"
      ]
    },
    {
      "name": "MessageBatchList",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "MessageBatchResult",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "DeletedMessageBatch",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "ModelInfo",
      "type": "object",
      "propertyCount": 4,
      "required": [
        "id",
        "type",
        "display_name",
        "created_at"
      ]
    },
    {
      "name": "ModelList",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "Error",
      "type": "object",
      "propertyCount": 2,
      "required": [
        "type",
        "error"
      ]
    }
  ],
  "operations": [
    {
      "method": "POST",
      "path": "/messages",
      "operationId": "createMessage",
      "summary": "Create a Message",
      "tags": [
        "Messages"
      ]
    },
    {
      "method": "POST",
      "path": "/messages/count_tokens",
      "operationId": "countMessageTokens",
      "summary": "Count Message Tokens",
      "tags": [
        "Messages"
      ]
    },
    {
      "method": "GET",
      "path": "/messages/batches",
      "operationId": "listMessageBatches",
      "summary": "List Message Batches",
      "tags": [
        "Message Batches"
      ]
    },
    {
      "method": "POST",
      "path": "/messages/batches",
      "operationId": "createMessageBatch",
      "summary": "Create a Message Batch",
      "tags": [
        "Message Batches"
      ]
    },
    {
      "method": "GET",
      "path": "/messages/batches/{message_batch_id}",
      "operationId": "retrieveMessageBatch",
      "summary": "Retrieve a Message Batch",
      "tags": [
        "Message Batches"
      ]
    },
    {
      "method": "DELETE",
      "path": "/messages/batches/{message_batch_id}",
      "operationId": "deleteMessageBatch",
      "summary": "Delete a Message Batch",
      "tags": [
        "Message Batches"
      ]
    },
    {
      "method": "GET",
      "path": "/messages/batches/{message_batch_id}/results",
      "operationId": "retrieveMessageBatchResults",
      "summary": "Retrieve Message Batch Results",
      "tags": [
        "Message Batches"
      ]
    },
    {
      "method": "POST",
      "path": "/messages/batches/{message_batch_id}/cancel",
      "operationId": "cancelMessageBatch",
      "summary": "Cancel a Message Batch",
      "tags": [
        "Message Batches"
      ]
    },
    {
      "method": "GET",
      "path": "/models",
      "operationId": "listModels",
      "summary": "List Models",
      "tags": [
        "Models"
      ]
    },
    {
      "method": "GET",
      "path": "/models/{model_id}",
      "operationId": "getModel",
      "summary": "Get a Model",
      "tags": [
        "Models"
      ]
    }
  ]
}