Available resources: messages, message_batches, models, files, skills.
| Handle | Endpoint | Operations |
|---|---|---|
| `messages` | `/messages` | create |
| `message_batches` | `/messages/batches` | list, read, create, delete |
| `models` | `/models` | list, read |
| `files` | `/files` | list, read, delete |
| `skills` | `/skills` | list, read, delete |
```json
[
{
"handle": "messages",
"meta": { "short": "Messages", "description": "Send messages to Claude and count tokens." },
"endpoint": { "value": "/messages" },
"fields": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Unique identifier for the message." } },
{ "name": "content", "type": "String", "selector": ["content", 0, "text"], "meta": { "description": "Generated content text." } },
{ "name": "role", "type": "String", "selector": ["role"], "meta": { "description": "Role of the sender." } },
{ "name": "model", "type": "String", "selector": ["model"], "meta": { "description": "Model used." } },
{ "name": "stop_reason", "type": "String", "selector": ["stop_reason"], "meta": { "description": "Reason for stopping generation." } },
{ "name": "stop_sequence", "type": "String", "selector": ["stop_sequence"], "meta": { "description": "Sequence that caused generation to stop." } },
{ "name": "usage_input_tokens", "type": "Integer", "selector": ["usage", "input_tokens"], "meta": { "description": "Number of input tokens." } },
{ "name": "usage_output_tokens", "type": "Integer", "selector": ["usage", "output_tokens"], "meta": { "description": "Number of output tokens." } }
],
"operations": {
"create": {
"method": "POST", "path": { "value": "" },
"bodyTemplate": {
"value": "{\"model\": \"{{model}}\", \"max_tokens\": {{max_tokens}}, \"messages\": [{\"role\": \"user\", \"content\": \"{{content}}\"}]}",
"placeholders": [
{ "name": "model", "type": "String", "description": "Model to use.", "required": true },
{ "name": "max_tokens", "type": "Integer", "description": "Maximum tokens to generate.", "required": true },
{ "name": "content", "type": "String", "description": "User message content.", "required": true }
]
}
}
},
"webhooks": [
{
"event": "messages.created", "path": "/webhooks/claude-api/messages.created",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Unique identifier for the message." } },
{ "name": "content", "type": "String", "selector": ["content", 0, "text"], "meta": { "description": "Generated content text." } },
{ "name": "role", "type": "String", "selector": ["role"], "meta": { "description": "Role of the sender." } },
{ "name": "model", "type": "String", "selector": ["model"], "meta": { "description": "Model used." } },
{ "name": "usage_input_tokens", "type": "Integer", "selector": ["usage", "input_tokens"], "meta": { "description": "Number of input tokens." } },
{ "name": "usage_output_tokens", "type": "Integer", "selector": ["usage", "output_tokens"], "meta": { "description": "Number of output tokens." } }
]
}
]
},
{
"handle": "message_batches",
"meta": { "short": "Message Batches", "description": "Process large volumes of Messages requests asynchronously with a cost reduction." },
"endpoint": { "value": "/messages/batches" },
"fields": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Unique identifier for the batch." } },
{ "name": "processing_status", "type": "String", "selector": ["processing_status"], "meta": { "description": "Status of the batch processing." } },
{ "name": "ended_at", "type": "DateTime", "selector": ["ended_at"], "meta": { "description": "Timestamp when the batch ended." } },
{ "name": "created_at", "type": "DateTime", "selector": ["created_at"], "meta": { "description": "Timestamp when the batch was created." } },
{ "name": "expires_at", "type": "DateTime", "selector": ["expires_at"], "meta": { "description": "Timestamp when the batch expires." } },
{ "name": "results_url", "type": "String", "selector": ["results_url"], "meta": { "description": "URL to download the batch results." } }
],
"operations": {
"list": { "method": "GET", "path": { "value": "" } },
"read": {
"method": "GET", "path": { "value": "/{{batch_id}}", "placeholders": [{ "name": "batch_id", "type": "String", "description": "ID of the batch.", "required": true }] }
},
"create": {
"method": "POST", "path": { "value": "" },
"bodyTemplate": {
"value": "{\"requests\": [{\"custom_id\": \"{{custom_id}}\", \"params\": {\"model\": \"{{model}}\", \"max_tokens\": {{max_tokens}}, \"messages\": [{\"role\": \"user\", \"content\": \"{{content}}\"}]}}]}",
"placeholders": [
{ "name": "custom_id", "type": "String", "description": "Your internal ID for the request.", "required": true },
{ "name": "model", "type": "String", "description": "Model to use.", "required": true },
{ "name": "max_tokens", "type": "Integer", "description": "Maximum tokens to generate.", "required": true },
{ "name": "content", "type": "String", "description": "User message content.", "required": true }
]
}
},
"delete": {
"method": "POST", "path": { "value": "/{{batch_id}}/cancel", "placeholders": [{ "name": "batch_id", "type": "String", "description": "ID of the batch to cancel.", "required": true }] }
}
},
"webhooks": [
{
"event": "message_batches.ended", "path": "/webhooks/claude-api/message_batches.ended",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Unique identifier for the batch." } },
{ "name": "processing_status", "type": "String", "selector": ["processing_status"], "meta": { "description": "Status of the batch processing." } },
{ "name": "ended_at", "type": "DateTime", "selector": ["ended_at"], "meta": { "description": "Timestamp when the batch ended." } },
{ "name": "results_url", "type": "String", "selector": ["results_url"], "meta": { "description": "URL to download the batch results." } }
]
},
{
"event": "message_batches.expired", "path": "/webhooks/claude-api/message_batches.expired",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Unique identifier for the batch." } },
{ "name": "expires_at", "type": "DateTime", "selector": ["expires_at"], "meta": { "description": "Timestamp when the batch expires." } }
]
}
]
},
{
"handle": "models",
"meta": { "short": "Models", "description": "List available Claude models and their details." },
"endpoint": { "value": "/models" },
"fields": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Model identifier." } },
{ "name": "display_name", "type": "String", "selector": ["display_name"], "meta": { "description": "Human-readable name of the model." } },
{ "name": "created_at", "type": "DateTime", "selector": ["created_at"], "meta": { "description": "When the model was created." } }
],
"operations": {
"list": { "method": "GET", "path": { "value": "" } },
"read": {
"method": "GET", "path": { "value": "/{{model_id}}", "placeholders": [{ "name": "model_id", "type": "String", "description": "Specific model identifier (e.g., claude-3-opus-20240229).", "required": true }] }
}
},
"webhooks": [
{
"event": "models.created", "path": "/webhooks/claude-api/models.created",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Model identifier." } },
{ "name": "display_name", "type": "String", "selector": ["display_name"], "meta": { "description": "Human-readable name of the model." } },
{ "name": "created_at", "type": "DateTime", "selector": ["created_at"], "meta": { "description": "When the model was created." } }
]
}
]
},
{
"handle": "files",
"meta": { "short": "Files", "description": "Upload and manage files for use across multiple API calls." },
"endpoint": { "value": "/files" },
"fields": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Unique identifier for the file." } },
{ "name": "file_name", "type": "String", "selector": ["file_name"], "meta": { "description": "Name of the file." } },
{ "name": "purpose", "type": "String", "selector": ["purpose"], "meta": { "description": "Purpose of the file." } },
{ "name": "bytes", "type": "Integer", "selector": ["bytes"], "meta": { "description": "Size of the file in bytes." } },
{ "name": "created_at", "type": "DateTime", "selector": ["created_at"], "meta": { "description": "Timestamp when the file was uploaded." } }
],
"operations": {
"list": { "method": "GET", "path": { "value": "" } },
"read": {
"method": "GET", "path": { "value": "/{{file_id}}", "placeholders": [{ "name": "file_id", "type": "String", "description": "ID of the file to retrieve.", "required": true }] }
},
"delete": {
"method": "DELETE", "path": { "value": "/{{file_id}}", "placeholders": [{ "name": "file_id", "type": "String", "description": "ID of the file to delete.", "required": true }] }
}
},
"webhooks": [
{
"event": "files.created", "path": "/webhooks/claude-api/files.created",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Unique identifier for the file." } },
{ "name": "file_name", "type": "String", "selector": ["file_name"], "meta": { "description": "Name of the file." } },
{ "name": "purpose", "type": "String", "selector": ["purpose"], "meta": { "description": "Purpose of the file." } },
{ "name": "created_at", "type": "DateTime", "selector": ["created_at"], "meta": { "description": "Timestamp when the file was uploaded." } }
]
},
{
"event": "files.deleted", "path": "/webhooks/claude-api/files.deleted",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Unique identifier for the file." } }
]
}
]
},
{
"handle": "skills",
"meta": { "short": "Skills", "description": "Create and manage custom agent skills." },
"endpoint": { "value": "/skills" },
"fields": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Unique identifier for the skill." } },
{ "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Name of the skill." } },
{ "name": "description", "type": "String", "selector": ["description"], "meta": { "description": "Description of the skill." } },
{ "name": "created_at", "type": "DateTime", "selector": ["created_at"], "meta": { "description": "Timestamp when the skill was created." } }
],
"operations": {
"list": { "method": "GET", "path": { "value": "" } },
"read": {
"method": "GET", "path": { "value": "/{{skill_id}}", "placeholders": [{ "name": "skill_id", "type": "String", "description": "ID of the skill to retrieve.", "required": true }] }
},
"delete": {
"method": "DELETE", "path": { "value": "/{{skill_id}}", "placeholders": [{ "name": "skill_id", "type": "String", "description": "ID of the skill to delete.", "required": true }] }
}
},
"webhooks": [
{
"event": "skills.created", "path": "/webhooks/claude-api/skills.created",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Unique identifier for the skill." } },
{ "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Name of the skill." } },
{ "name": "created_at", "type": "DateTime", "selector": ["created_at"], "meta": { "description": "Timestamp when the skill was created." } }
]
},
{
"event": "skills.deleted", "path": "/webhooks/claude-api/skills.deleted",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Unique identifier for the skill." } }
]
}
]
}
]