---
title: "Get a connector"
method: GET
path: "/v1/connect/connectors/{connector}"
tags: ["connect"]
---

# Get a connector

`GET /v1/connect/connectors/{connector}`

Get the connector by ID. Accepts a dashboard/team requester or a deployment's project OIDC token; project requesters may only read connectors linked to their project and environment.

## Path parameters

- `connector` string, required — Stable connector ID or URL-encoded team-scoped UID. Examples: `scl_abc123` or `slack%2Fmy-bot`.

## Query parameters

- `teamId` string
- `slug` string

## Response `200`

The connector.

- ConnectConnector — A connector that defines how Vercel accesses an external service.
  - `id` string, required — Stable `scl_` connector ID. Use this value directly in `{connector}`.
  - `uid` string, required — Team-scoped UID. URL-encode this value before using it in `{connector}`.
  - `defaultInstallationId` string — Installation used when a token request does not specify an installation.
  - `createdAt` number, required — Creation time in epoch milliseconds.
  - `updatedAt` number, required — Last update time in epoch milliseconds.
  - `reinstallAt` number — Time when this connector started requiring reinstallation because an installation-affecting app-token grant changed.
  - `createdBy` union — Principal that created the connector.
    - object — Principal that originally created the connector — either a Vercel user (interactive dashboard / CLI flow) or a Vercel deployment (OIDC-authenticated project, used by runtime auto-provisioning). See {@link ConnexPrincipal}. Optional: pre-existing rows from before this shape was introduced may carry no attribution at all.
      - `type` 'user', required — Principal kind.
      - `id` string, required — Vercel user ID.
    - object — Principal that originally created the connector — either a Vercel user (interactive dashboard / CLI flow) or a Vercel deployment (OIDC-authenticated project, used by runtime auto-provisioning). See {@link ConnexPrincipal}. Optional: pre-existing rows from before this shape was introduced may carry no attribution at all.
      - `type` 'project', required — Principal kind.
      - `id` string, required — Vercel project ID.
      - `environment` union, required — Deployment environment of the project principal.
        - string
        - 'development' | 'preview' | 'production'
  - `updatedBy` union — Principal that most recently updated the connector.
    - object — Principal that most recently mutated the connector. Same shape as {@link createdBy} but tracks the most recent updater, not the original creator. At create time the two fields point at the same principal; they diverge on the first subsequent update.
      - `type` 'user', required — Principal kind.
      - `id` string, required — Vercel user ID.
    - object — Principal that most recently mutated the connector. Same shape as {@link createdBy} but tracks the most recent updater, not the original creator. At create time the two fields point at the same principal; they diverge on the first subsequent update.
      - `type` 'project', required — Principal kind.
      - `id` string, required — Vercel project ID.
      - `environment` union, required — Deployment environment of the project principal.
        - string
        - 'development' | 'preview' | 'production'
  - `creationMode` 'managed' | 'manual' — How the connector row was originally created. New create paths stamp this explicitly; older rows may omit it.
  - `managed` object — Managed connector metadata exposed without leaking the manager connector or installation identifiers.
    - `sync` false | true — Whether Vercel synchronizes provider-side configuration.
  - `type` 'api-key' | 'custom' | 'discord' | 'github' | 'linear' | 'linq' | 'microsoft-entra' | 'microsoft-teams' | 'oauth' | 'photon' | 'salesforce' | 'sendblue' | 'slack' | 'snowflake' | 'snowflake-wif', required — Connector implementation type.
  - `service` string, required — Best-effort identifier of the third-party service this connector represents, independent of `type`. Examples: `'slack'`, `'mcp.linear.app'`, and `'auth.example.com'`. Always present in API responses.
  - `connectionMethod` string — The connection method this connector was created from, when the create request named one.
  - `target` string — Which of the service's products/surfaces this connector points at.
  - `name` string, required — Connector name within the owning team.
  - `displayName` string, required — Human-readable connector name.
  - `clientUrl` string, nullable — Provider-side URL for viewing or managing the resource represented by the connector. The destination can be an app, account, phone line, or service instance, depending on the connector type.
  - `redirectUri` string — Redirect URI registered with the third-party service for this connector, if any. Used by `startAuthorization`/`startInstallation` to replay the exact URI back to the provider's token endpoint. Absent on connectors created before this field was introduced; those callers fall back to the `https://connect.vercel.com/callback` default.
  - `typeName` string, required — Human-readable name of the connector type.
  - `typeIcon` string — Icon identifier supplied by the connector type.
  - `website` string — Public website for the connected service.
  - `devsite` string — Developer website for the connected service.
  - `docsite` string — Developer documentation for the connected service.
  - `icon` string — Connector branding icon. SHA-1 hash that resolves to the uploaded icon through the Vercel avatar service. Consumers render this with `https://vercel.com/api/www/avatar/{icon}`.
  - `backgroundColor` string — Hex background color (e.g., `#000000`) for branding.
  - `accentColor` string — Hex accent color (e.g., `#000000`) for branding.
  - `supportedSubjectTypes` string[], required — Token subject types supported by the connector.
  - `appTokens` object — App-token capabilities and known grants for the connector.
    - `crossInstallation` false | true, required — Whether one app token can be used across installations.
    - `supportsRefinement` false | true, required — Whether callers can narrow app-token grants per request.
    - `requiresReinstallation` false | true — True when changing app token grants requires reinstalling the app, so tokens cannot be partitioned independently by requester environment.
    - `scopes` string[] — Known allowed app-level scopes. For Slack this is the bot scope set configured on the app; for OAuth it is the connector's enabled `clientCredentials.scopes` configuration.
    - `supportedAuthorizationDetails` string[] — Supported OAuth authorization-detail type names.
    - `permissionsUrl` string — Link to the page on the service where this connector's app-level permissions are declared and granted, when the service has one and it differs from `clientUrl`.
  - `userTokens` object — User-token capabilities and known grants for the connector.
    - `crossInstallation` false | true, required — Whether one user token can be used across installations.
    - `supportsRefinement` false | true, required — Whether callers can narrow user-token grants per request.
    - `scopes` string[] — Known allowed user-level scopes. For Slack this is the user scope set configured on the app; for OAuth it is the connector's enabled `userAuthorization.scopes` configuration.
    - `supportedAuthorizationDetails` string[] — Supported OAuth authorization-detail type names.
    - `manualCredentialInput` false | true — User authorization is completed by the Connect consent screen submitting a credential instead of an OAuth redirect.
  - `supportsInstallation` false | true, required — Whether the connector supports an installation flow.
  - `supportsRevocation` false | true, required — Whether Connect can revoke tokens for this connector.
  - `supportsTriggers` false | true, required — Whether this connector type supports trigger webhooks. Derived from the type definition; indicates that `triggers` and `triggerDestinations` may be meaningful for this connector.
  - `supportsIcon` unknown, required
  - `triggers` ConnectTriggerConfiguration — Incoming trigger configuration. Only present when enabled.
    - `enabled` false | true, required — Whether incoming triggers are enabled for the connector.
  - `events` string[] — Known events this connector subscribes to (e.g. Slack bot events, GitHub webhook events). Names are type-specific and validated by the managed-create flow when forwarded to the third-party service.
  - `triggerDestinations` ConnectTriggerDestination[] — Destinations that incoming triggers should be forwarded to. Limited to 3 entries. Set the initial destination with `triggerDestination` during creation. Replace the complete set with `PATCH /v1/connect/connectors/{connector}/trigger-destinations`.
    - `projectId` string, required — Vercel project that receives matching trigger requests.
    - `customEnvironmentId` string — Stable custom-environment ID to route this destination to. Mutually exclusive with `branch`; omitted destinations keep the legacy production behavior.
    - `branch` string — Git branch used to select a preview deployment.
    - `path` string — Route path that receives the forwarded trigger request.

## Other responses

- `400` — One of the provided values in the request query is invalid.
- `401` — The request is not authorized.
- `403` — You do not have permission to access this resource.
- `404` — The requested resource was not found.
- `410` — The requested resource is no longer available.
- `422` — The request cannot be completed in the current state.

## Changes

- **2026-09-02** `284e10c18f4d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/vercel/apis/api/changes/v1/connect/connectors/:connector/get.md)

---

[API](https://skmtc.dev/vercel/apis/api.md) · [All operations](https://skmtc.dev/vercel/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vercel/api/revisions/7c947faac0ef/schema)
