Read one block’s full configuration shape: its fields and their conditions, its operations with the tool each runs, every tool’s parameters and outputs, and its triggers. An unversioned base type resolves to the newest version this caller can see — confluence answers with confluence_v2 — and the returned id is always the resolved one, matching Get Tool. A block this caller cannot see answers 404, identically to one that does not exist.
/api/v2/blocks/{blockId}Authorization
apiKey Your Sim API key, personal or workspace-scoped. Generate one under Settings, then API Keys. Operations that reject workspace keys say so in their own description.
In: header
Path Parameters
Block type identifier. An unversioned base type resolves to the newest version, and the response echoes the resolved id.
1 <= length <= 255Query Parameters
Workspace whose integration allowlist, revealed preview blocks, and deployed custom blocks decide what this catalog contains.
1 <= length <= 128Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://www.sim.ai/api/v2/blocks/string?workspaceId=string" \ -H "X-API-Key: YOUR_API_KEY"{
"data": {
"id": "slack",
"name": "Slack",
"description": "Send messages and read channels in Slack.",
"category": "tools",
"integrationType": "communication",
"source": "builtin",
"authMode": "oauth",
"triggerAllowed": true,
"triggerCapable": true,
"triggerIds": [
"slack_webhook"
],
"toolIds": [
"slack_message",
"slack_canvas_read"
],
"operationIds": [
"send",
"read"
],
"preview": false,
"docsLink": "https://docs.sim.ai/tools/slack",
"tags": [
"messaging"
],
"inputSchema": [
{
"id": "operation",
"type": "dropdown",
"title": "Operation",
"required": true,
"options": [
{
"id": "send",
"label": "Send message"
},
{
"id": "read",
"label": "Read messages"
}
]
}
],
"operationInputSchema": {
"send": [
{
"id": "text",
"type": "long-input",
"title": "Message",
"required": true
}
]
},
"inputDefinitions": {
"channel": {
"type": "string",
"description": "Channel to post into."
}
},
"operations": {
"send": {
"toolId": "slack_message",
"toolName": "Slack Send Message",
"description": "Send a message to a Slack channel.",
"inputs": {
"text": {
"type": "string",
"required": true,
"description": "Message body."
}
},
"outputs": {
"ts": {
"type": "string",
"description": "Message timestamp."
}
},
"inputSchema": [
{
"id": "text",
"type": "long-input",
"title": "Message",
"required": true
}
]
}
},
"tools": [
{
"id": "slack_message",
"name": "Slack Send Message",
"description": "Send a message to a Slack channel.",
"version": "1.0.0",
"hostedApiKey": "none",
"oauth": {
"required": true,
"provider": "slack",
"requiredScopes": [
"chat:write"
]
},
"params": {
"text": {
"type": "string",
"required": true,
"description": "Message body."
}
},
"outputs": {
"ts": {
"type": "string",
"description": "Message timestamp."
}
}
}
],
"triggers": [
{
"id": "slack_webhook",
"outputs": {
"text": {
"type": "string",
"description": "Message text."
}
},
"configFields": {
"channels": {
"type": "short-input",
"required": false,
"title": "Channels"
}
}
}
],
"outputs": {
"ts": {
"type": "string",
"description": "Message timestamp."
}
}
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "Invalid request"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "API key required"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient workspace permissions",
"details": {
"code": "INSUFFICIENT_WORKSPACE_ROLE"
}
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Not found"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "API rate limit exceeded",
"details": {
"retryAfter": "2026-01-01T00:00:30.000Z"
}
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service temporarily unavailable"
}
}