Skip to content

Catalog

List connector types

List connector types from the deployment’s knowledge-base connector registry. Requires workspace read access and Knowledge Base access; workspace integration allowlists and revealed preview blocks do not filter this catalog. Results default to 25 summaries per page. `detail=full` adds configuration fields. Fields with `multi: true` accept `string[]`. For picker/manual-entry pairs, send one value under `canonicalParamId`, not the field’s `id`. OAuth scope: `api:read`.

GET/api/v2/connector-types

List connector types from the deployment’s knowledge-base connector registry. Requires workspace read access and Knowledge Base access; workspace integration allowlists and revealed preview blocks do not filter this catalog. Results default to 25 summaries per page. detail=full adds configuration fields. Fields with multi: true accept string[]. For picker/manual-entry pairs, send one value under canonicalParamId, not the field’s id.

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 used to authorize Knowledge Base access to the deployment’s connector-type registry. Workspace integration allowlists and revealed preview blocks do not filter this catalog.

minLength
1
maxLength
128
searchstring

Case-insensitive substring match against the connector name.

minLength
1
maxLength
200
detailstring

Projection of each item. summary (the default) carries the identifier, name, description, and auth mode; full adds the version, the complete auth settings, the sourceConfig field schema, incremental-sync support, and tag definitions.

default
summary
enum
["summary","full"]
limitinteger

Maximum connector types to return per page. Must be a whole number from 1 to 100. Defaults to 25.

default
25
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

One page of the connector-type catalog.

object

Knowledge-base connector types, as summaries or with their configuration fields.

2 fields
dataarrayRequired

Items in the current page.

Schema details
Array itemvalue
Schema details

Any of

Option 1object

A knowledge-base connector type and the configuration it accepts.

8 fields
connectorTypestringRequired

Exact identifier to send when creating a connector of this type.

namestringRequired

Display name.

descriptionstringRequired

What the connector syncs.

versionstringRequired

Connector version.

authvalueRequired

How the connector authenticates against its source: oauth connectors take credentialId (GitHub also accepts a personal access token as apiKey), apiKey connectors take apiKey.

Schema details

Exactly one of

Option 1object
3 fields
modestringRequired

Authenticates with an OAuth credential; pass credentialId when creating the connector.

const
oauth
providerstringRequired

OAuth service the credential must authenticate.

requiredScopesarray

Scopes the credential must carry.

Schema details
Array itemstring

Additional properties are not allowed.

Option 2object
4 fields
modestringRequired

Authenticates with a stored API key; pass apiKey, and no credentialId, when creating the connector.

const
apiKey
labelstring

Label shown above the key field.

placeholderstring

Placeholder shown in the key field.

optionalbooleanRequired

Whether the key may be left blank, for a source reachable without authentication.

Additional properties are not allowed.

configFieldsarrayRequired

Fields that make up the connector’s sourceConfig.

Schema details
Array itemobject

One field of a knowledge-base connector’s source configuration.

13 fields
idstringRequired

Field identifier.

titlestringRequired

Human-readable label.

typestringRequired

Control the field renders as. A selector fetches its options from the connected account.

enum
["short-input","dropdown","selector"]
placeholderstring

Placeholder shown in the editor.

requiredboolean

Whether a value must be supplied.

descriptionstring

Authored explanation of the field.

optionsarray

Static options, for a dropdown field.

Schema details
Array itemobject
2 fields
idstringRequired

Value stored when this option is selected.

labelstringRequired

Human-readable option label.

Additional properties are not allowed.

selectorKeystring

Names the picker a selector field renders. Its options are fetched per workspace.

mimeTypestring

MIME type filter applied to the picker.

dependsOnvalue

Sibling fields this field is cleared by when they change.

Schema details

Any of

Option 1array
Schema details
Array itemstring
Option 2object
2 fields
allarray

Every listed field must hold a value.

Schema details
Array itemstring
anyarray

At least one listed field must hold a value.

Schema details
Array itemstring

Additional properties are not allowed.

modestring

Which half of a canonical pair this field is: basic is the picker, advanced the manual entry.

enum
["basic","advanced"]
canonicalParamIdstring

Shared sourceConfig key for a picker/manual-entry pair. Send exactly one of the pair, keyed by this value rather than by the field’s own id.

multiboolean

When true the stored sourceConfig value is a string[], not a string: a selector renders a multi-select picker and a short-input accepts a comma-separated list.

Additional properties are not allowed.

supportsIncrementalSyncbooleanRequired

Whether syncs after the first fetch only what changed.

tagDefinitionsarrayRequired

Tags this connector writes onto the documents it syncs.

Schema details
Array itemobject
3 fields
idstringRequired

Semantic tag identifier the connector populates.

displayNamestringRequired

Human-readable tag name.

fieldTypestringRequired

Value type, which decides the tag slot pool it draws from.

enum
["text","number","date","boolean"]

Additional properties are not allowed.

Additional properties are not allowed.

Option 2object

A knowledge-base connector type without its configuration schema. Request detail=full for the config fields and tag definitions.

4 fields
connectorTypestringRequired

Exact identifier to send when creating a connector of this type.

namestringRequired

Display name.

descriptionstringRequired

What the connector syncs.

authobjectRequired

Authentication mode only. detail=full adds the OAuth provider and scopes, or the API-key field labels.

1 field
modestringRequired

How the connector authenticates against its source: oauth connectors take credentialId (GitHub also accepts a personal access token as apiKey), apiKey connectors take apiKey.

enum
["oauth","apiKey"]

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": [
    {
      "connectorType": "google_drive",
      "name": "Google Drive",
      "description": "Sync documents from Google Drive",
      "auth": {
        "mode": "oauth"
      }
    }
  ],
  "nextCursor": null
}

Response example 2

json
{
  "data": [
    {
      "connectorType": "google_drive",
      "name": "Google Drive",
      "description": "Sync documents from Google Drive",
      "version": "1.0.0",
      "auth": {
        "mode": "oauth",
        "provider": "google-drive",
        "requiredScopes": [
          "https://www.googleapis.com/auth/drive"
        ]
      },
      "configFields": [
        {
          "id": "adminEmail",
          "title": "Crawl as",
          "type": "short-input",
          "placeholder": "admin@yourcompany.com",
          "required": false,
          "description": "The Google Workspace user this service account acts as when fetching content for connected members."
        },
        {
          "id": "userEmails",
          "title": "Users",
          "type": "short-input",
          "placeholder": "All active Google Workspace users",
          "required": false,
          "description": "Optional primary email addresses, separated by commas (up to 100). Leave blank to index all active users across this Google Workspace customer.",
          "multi": true
        },
        {
          "id": "openSharing",
          "title": "Openly shared files",
          "type": "dropdown",
          "placeholder": "Keep out of search",
          "required": false,
          "description": "Files shared beyond named people and groups. Kept out of search by default, because a domain-wide or public share is more often an accident than an intention. Never applies to link-only shares, which stay unsearchable.",
          "options": [
            {
              "label": "Keep out of search",
              "id": "none"
            },
            {
              "label": "Anyone in the domain can find",
              "id": "domain"
            },
            {
              "label": "Anyone can find",
              "id": "anyone"
            }
          ]
        },
        {
          "id": "folderSelector",
          "title": "Folders",
          "type": "selector",
          "placeholder": "Select one or more folders (optional)",
          "required": false,
          "description": "Includes files in each selected folder and its accessible subfolders.",
          "selectorKey": "google.drive",
          "mimeType": "application/vnd.google-apps.folder",
          "mode": "basic",
          "canonicalParamId": "folderId",
          "multi": true
        },
        {
          "id": "folderId",
          "title": "Folder IDs",
          "type": "short-input",
          "placeholder": "e.g. 1aBcDeFg…, 2cDeFgHi… (comma-separated for multiple)",
          "required": false,
          "description": "Includes files in each selected folder and its accessible subfolders.",
          "mode": "advanced",
          "canonicalParamId": "folderId",
          "multi": true
        },
        {
          "id": "fileType",
          "title": "File Type",
          "type": "dropdown",
          "required": false,
          "options": [
            {
              "label": "All supported files",
              "id": "all"
            },
            {
              "label": "Google Docs only",
              "id": "documents"
            },
            {
              "label": "Google Sheets only",
              "id": "spreadsheets"
            },
            {
              "label": "Google Slides only",
              "id": "presentations"
            },
            {
              "label": "Plain text files only",
              "id": "text"
            }
          ]
        },
        {
          "id": "maxFiles",
          "title": "Max Files",
          "type": "short-input",
          "placeholder": "e.g. 500 (default: unlimited)",
          "required": false
        }
      ],
      "supportsIncrementalSync": false,
      "tagDefinitions": [
        {
          "id": "owners",
          "displayName": "Owner",
          "fieldType": "text"
        },
        {
          "id": "fileType",
          "displayName": "File Type",
          "fieldType": "text"
        },
        {
          "id": "lastModified",
          "displayName": "Last Modified",
          "fieldType": "date"
        },
        {
          "id": "starred",
          "displayName": "Starred",
          "fieldType": "boolean"
        }
      ]
    }
  ],
  "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