Skip to content

Catalog

List tools

List built-in tools exposed by blocks visible to the caller. Use List MCP server tools for an external server's tools and List custom tools for workspace code-backed tools. OAuth scope: `api:read`.

GET/api/v2/tools

List built-in tools exposed by blocks visible to the caller. Use List MCP server tools for an external server's tools and List custom tools for workspace code-backed tools.

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 tool id, name, and description.

minLength
1
maxLength
200
hostedApiKeystring

Restrict to tools by how their API key is supplied.

enum
["always","conditional","none"]
oauthProviderstring

Restrict to tools that authenticate against this OAuth service.

minLength
1
maxLength
255
sortBystring

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

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

Sort direction.

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

Maximum tools 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 built-in tools available in the workspace.

object

Built-in tools available in the workspace.

2 fields
dataarrayRequired

Items in the current page.

Schema details
Array itemobject

List view of a built-in tool: identity, auth, and key hosting.

6 fields
idstringRequired

Registered tool identifier, including its version suffix.

namestringRequired

Display name.

descriptionstringRequired

What the tool does.

versionstring

Tool version.

hostedApiKeystringRequired

API-key hosting on this deployment: always, conditional for some parameter combinations, or none when Sim does not supply a key. Supply your own key only if the tool requires one. Self-hosted deployments report none for every tool.

enum
["always","conditional","none"]
oauthobject

OAuth requirement, when the tool has one.

3 fields
requiredbooleanRequired

Whether the tool cannot run without an OAuth credential.

providerstringRequired

OAuth service the credential must authenticate.

requiredScopesarray

Scopes the credential must carry.

Schema details
Array itemstring

Additional properties are not allowed.

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_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"
        ]
      }
    }
  ],
  "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