Skip to content

Catalog

List blocks

List built-in and workspace-deployed blocks visible to the caller. Integration allowlists and preview visibility restrict results. Use `capability=trigger` for workflow starters and Get block or Get tool to resolve operation and tool IDs. OAuth scope: `api:read`.

GET/api/v2/blocks

List built-in and workspace-deployed blocks visible to the caller. Integration allowlists and preview visibility restrict results. Use capability=trigger for workflow starters and Get block or Get tool to resolve operation and tool IDs.

OAuth scope: api:read.

Authentication

Send a personal or workspace API key in X-API-Key. See key types and access; operations that reject workspace keys say so in their description.

Send X-API-Key in the request header.

Alternatively

Send a Sim OAuth access token in Authorization: Bearer. See OAuth authentication and scopes.

Authorization: Bearer YOUR_ACCESS_TOKEN

Required scopes: api:read

OAuth flows
json
{
  "authorizationCode": {
    "authorizationUrl": "https://www.sim.ai/api/auth/oauth2/authorize",
    "tokenUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "refreshUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "scopes": {
      "api:read": "Read your workspaces, workflows, files, tables, and logs",
      "api:write": "Read, create, change, run, and delete resources in your workspaces",
      "offline_access": "Stay signed in without asking again"
    }
  }
}

OAuth scope: api:read.

Query parameters

workspaceIdstringRequired

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

minLength
1
maxLength
128
searchstring

Case-insensitive substring match against the block id, name, and description.

minLength
1
maxLength
200
categorystring

Restrict to one toolbar category.

enum
["blocks","tools","triggers"]
capabilitystring

Restrict to blocks that can start a workflow — the triggers category, blocks declaring triggerAllowed, and blocks with trigger-mode fields.

enum
["trigger"]
sourcestring

Restrict to shipped blocks or to this workspace’s deployed custom blocks.

enum
["builtin","custom"]
includeSunsetboolean

Include legacy and deprecated blocks. Off by default: a sunset block keeps executing where it is already placed, but it is not offered for new authoring. Each returned entry carries sunset.replacedBy, the block to build with instead.

sortBystring

Field used to sort the result. Do not rely on case-insensitive ordering when sorting by name.

default
id
enum
["id","name","category"]
sortOrderstring

Sort direction.

default
asc
enum
["asc","desc"]
limitinteger

Maximum blocks to return per page. Must be a whole number from 1 to 100. Defaults to 50.

default
50
minimum
1
maximum
100
cursorstring

Opaque cursor from the previous page. Send it back with the same sort and filters; only limit may change. Change anything else and pagination must restart without a cursor.

minLength
1

Responses

200

A page of blocks available in the workspace.

object

Blocks available in the workspace.

2 fields
dataarrayRequired

Items in the current page.

Schema details
Array itemobject

List view of a block: what it is and what it references, by id.

17 fields
idstringRequired

Block type identifier, used as a workflow block’s type.

namestringRequired

Display name.

descriptionstringRequired

One-line summary of what the block does.

longDescriptionstring

Extended explanation, when the block has one.

categorystringRequired

Toolbar category: blocks, tools, or triggers.

integrationTypestring

Integration category, e.g. communication, databases.

sourcestringRequired

Block source: builtin for built-in blocks, or custom for workflows this workspace deployed as blocks.

enum
["builtin","custom"]
authModestring

How the block authenticates: oauth, api_key, or bot_token.

triggerAllowedbooleanRequired

Whether the block declares itself usable as a trigger.

triggerCapablebooleanRequired

Whether the block can start a workflow — a trigger-category block, one declaring triggerAllowed, or one with trigger-mode fields.

triggerIdsarrayRequired

Identifiers of the triggers this block supports.

Schema details
Array itemstring
toolIdsarrayRequired

Built-in tools this block can run. Read a tool by its id for the full definition.

Schema details
Array itemstring
operationIdsarrayRequired

Operations this block exposes. Their fields and tools are on the block read.

Schema details
Array itemstring
previewbooleanRequired

Whether the block is unreleased and revealed only to this caller.

sunsetobject

Post-release lifecycle state. Absent for a block in normal support.

2 fields
statusstringRequired

legacy is superseded but supported; deprecated is slated for removal.

enum
["legacy","deprecated"]
replacedBystring

Block type to migrate to, when one exists.

Additional properties are not allowed.

docsLinkstring

Sim documentation page for the integration.

tagsarrayRequired

Catalog tags, e.g. messaging, version-control.

Schema details
Array itemstring

Additional properties are not allowed.

nextCursorvalueRequired

Opaque cursor for the next page. Send it back as cursor; null means there are no more pages. Do not construct a cursor yourself.

Schema details

Any of

Option 1string
Option 2null

Additional properties are not allowed.

Response example 1

json
{
  "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"
      ]
    }
  ],
  "nextCursor": null
}

Response headers

X-RateLimit-Limitinteger

Maximum requests allowed in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Remaininginteger

Requests remaining in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Resetstring

ISO 8601 timestamp when the current rate-limit window resets.

format
date-time
pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Was this helpful?
Suggest an edit