connect

Update a connector

Update a connector and return the connector with any service-side update signals that the caller must handle.

patch/v2/connect/connectors/{connector}

Path parameters

connectorstring required

Stable connector ID or URL-encoded team-scoped UID. Examples: scl_abc123 or slack%2Fmy-bot.

Stable connector ID or URL-encoded team-scoped UID. Examples: scl_abc123 or slack%2Fmy-bot.

Query parameters

teamIdstring
Example:team_1a2b3c4d5e6f7g8h9i0j1k2l

The team ID that scopes the request. Do not send it with slug. If both are omitted, Vercel uses the team associated with the token or the authenticated user's default team. The request returns 401 if no team can be selected.

slugstring
Example:my-team-url-slug

The team slug that scopes the request. Do not send it with teamId. If both are omitted, Vercel uses the team associated with the token or the authenticated user's default team. The request returns 401 if no team can be selected.

Request body

triggersboolean

Whether the triggers are enabled for this connector.

eventsstring[]

Default trigger events for this connector.

iconstring

SHA-1 digest of a PNG or JPEG icon that is at least 640 by 640 pixels. This field does not accept a URL or image bytes.

First compute the digest and upload the raw image with POST /v2/files. Send Content-Length and the same 40-character digest in x-vercel-digest. Then set icon to that digest.

import { createHash } from 'node:crypto';
import { readFile } from 'node:fs/promises';

const VERCEL_TOKEN = process.env.VERCEL_TOKEN;
const connectorId = 'scl_...';
const bytes = await readFile('icon.png');
const digest = createHash('sha1').update(bytes).digest('hex');

await fetch('https://api.vercel.com/v2/files', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${VERCEL_TOKEN}`,
    'Content-Type': 'application/octet-stream',
    'Content-Length': String(bytes.length),
    'x-vercel-digest': digest,
  },
  body: bytes,
});

await fetch(`https://api.vercel.com/v2/connect/connectors/${connectorId}`, {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${VERCEL_TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ icon: digest }),
});
backgroundColorstring
accentColorstring
uidstring

Full team-scoped UID, such as slack/my-bot. It cannot contain whitespace, %, #, control characters, or Vercel-owned namespaces. Changing it breaks callers that use the old UID. The stable connector ID does not change.

namestring

Display name for the connector. It is trimmed and cannot be empty or contain control characters.

Response

The updated connector and any required service-side follow-up signals.

reinstallNeededfalse | true

When true, prompt a team owner or administrator to reinstall the connector before relying on the change.

Changes