Get Block

Get a block's fields, conditions, operations, tool schemas, and triggers. Unversioned types resolve to the newest visible version; the returned id identifies that version. Hidden or missing blocks return 404.

OAuth scope: api:read.

GET/api/v2/blocks/{blockId}
X-API-Key<token>

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

blockId*string

Block type identifier. An unversioned base type resolves to the newest version, and the response echoes the resolved id.

Length1 <= length <= 255

Query Parameters

workspaceId*string

Workspace whose integration allowlist, revealed preview blocks, and deployed custom blocks decide what this catalog contains.

Length1 <= length <= 128

Response 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": "Authentication 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"
  }
}