---
title: "Update a connector"
method: PATCH
path: "/v2/connect/connectors/{connector}"
tags: ["connect"]
---

# Update a connector

`PATCH /v2/connect/connectors/{connector}`

## Request

- Base URL: `https://api.vercel.com`
- URL: `https://api.vercel.com/v2/connect/connectors/{connector}`
- Auth: HTTP bearer

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

## 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

## Request body

- ConnectUpdateConnectorRequest: Connector fields to update.
  - `triggers` boolean: Whether the triggers are enabled for this connector.
  - `triggerVerificationInput` object: Plaintext verification inputs, validated by the trigger driver and encrypted into stored triggerData. An empty object makes no changes.
  - `triggerRegistrationInput` object: Additional registration inputs, validated by the trigger driver. Requires triggers: true. Shared verification credentials are read from triggerData.
  - `events` string[]: Default trigger events for this connector.
  - `mcpEventsUiVisibility` 'auto' | 'show' | 'hide': MCP Events dashboard visibility. Auto (the default) shows the UI after the first successful delivery. Show and hide persist regardless of future deliveries. This does not enable or disable event delivery.
  - `data` union: Provider configuration fields for the connector type.
    - object
      - `serverUrl` string: Authorization server base URL used for discovery.
      - `serverConfig` object: Authorization server metadata. Values override discovered metadata. Empty known string fields remove their stored overrides.
        - `issuer` string: Authorization server issuer URL.
        - `authorization_endpoint` string: OAuth authorization endpoint URL.
        - `token_endpoint` string: OAuth token endpoint URL.
        - `userinfo_endpoint` string: OpenID Connect UserInfo endpoint URL.
        - `jwks_uri` string: URL of the authorization server JSON Web Key Set.
        - `jwks` object: Inline authorization server JSON Web Key Set.
          - `keys` object[], required: JSON Web Keys published by the authorization server.
            - `kty` string, required: JSON Web Key type.
            - `kid` string: JSON Web Key identifier.
            - `use` 'sig' | 'enc': Intended key use: signing or encryption.
            - `key_ops` string[]: Operations permitted for this key.
            - `alg` string: Algorithm intended for this key.
        - `revocation_endpoint` string: OAuth token revocation endpoint URL.
        - `introspection_endpoint` string: OAuth token introspection endpoint URL.
        - `end_session_endpoint` string: OpenID Connect session termination endpoint URL.
        - `device_authorization_endpoint` string: OAuth device authorization endpoint URL.
        - `registration_endpoint` string: OAuth dynamic client registration endpoint URL.
        - `response_types_supported` string[]: OAuth response types supported by the server.
        - `token_endpoint_auth_methods_supported` string[]: Token endpoint client authentication methods supported by the server.
        - `token_endpoint_auth_signing_alg_values_supported` string[]: Signing algorithms supported for token endpoint authentication.
        - `scopes_supported` string[]: OAuth scopes supported by the server.
        - `grant_types_supported` string[]: OAuth grant types supported by the server.
        - `authorization_grant_profiles_supported` string[]: Supported authorization grant profiles. urn:ietf:params:oauth:grant-profile:id-jag advertises XAA resource support.
        - `identity_chaining_requested_token_types_supported` string[]: Token types supported for identity chaining. urn:ietf:params:oauth:token-type:id-jag advertises XAA IdP support.
        - `response_modes_supported` string[]: OAuth response modes supported by the server.
        - `subject_types_supported` string[]: OpenID Connect subject identifier types supported by the server.
        - `id_token_signing_alg_values_supported` string[]: Signing algorithms supported for ID tokens.
        - `id_token_encryption_alg_values_supported` string[]: Key management algorithms supported for encrypted ID tokens.
        - `id_token_encryption_enc_values_supported` string[]: Content encryption algorithms supported for encrypted ID tokens.
        - `claim_types_supported` string[]: OpenID Connect claim value types supported by the server.
        - `claims_supported` string[]: Claims that the authorization server can return.
        - `code_challenge_methods_supported` string[]: PKCE code challenge methods supported by the server.
        - `prompt_values_supported` string[]: Authorization prompt values supported by the server.
        - `claims_parameter_supported` boolean: Whether authorization requests can use the claims parameter.
        - `request_parameter_supported` boolean: Whether authorization requests can use signed request objects.
        - `request_uri_parameter_supported` boolean: Whether authorization requests can use request_uri.
        - `require_request_uri_registration` boolean: Whether request_uri values must be registered in advance.
        - `service_documentation` string: Authorization server documentation URL.
        - `op_policy_uri` string: Authorization server privacy policy URL.
        - `op_tos_uri` string: Authorization server terms of service URL.
        - `logo_uri` string: Authorization server logo URL.
        - `client_id_metadata_document_supported` boolean: Whether the server supports OAuth client ID metadata documents.
        - `authorization_details_types_supported` string[]: OAuth authorization-detail types supported by the server.
      - `clientId` string: OAuth client ID.
      - `clientName` string: OAuth client name.
      - `clientSecret` string: OAuth client secret.
      - `tokenEndpointAuthMethod` string: OAuth token endpoint authentication method. Common values are client_secret_post, client_secret_basic, none, and private_key_jwt. If omitted, Vercel selects a supported method from serverConfig and otherwise uses client_secret_post.
      - `responseType` string: OAuth authorization response type. Defaults to code. Other provider-supported values are accepted. An empty string clears the configured type.
      - `pkceRequired` boolean: Whether user authorization must use PKCE.
      - `codeChallengeMethod` string: PKCE code challenge method. Supported values are S256 and plain. Vercel prefers S256 when the provider supports it. An empty string clears the configured method.
      - `userAuthorization` object: User authorization grant settings.
        - `enabled` boolean, required: Whether this OAuth grant is enabled.
        - `scopes` string[]: Default scopes to request when token params specify scopes: [\"*\"].
      - `refreshTokens` object: Refresh token settings.
        - `enabled` boolean, required: Whether this OAuth grant is enabled.
      - `clientCredentials` object: Client credentials grant settings.
        - `enabled` boolean, required: Whether this OAuth grant is enabled.
        - `scopes` string[]: Default scopes to request when token params specify scopes: [\"*\"].
      - `forwardedClaims` object: Allow-list of extra claims to propagate, keyed by source (idToken). Only claims named here and present in that source are exposed.
        - `idToken` string[]: ID token claim names that Connect can expose.
      - `defaultAudience` string: Default audience used when a token request omits one. An empty string clears the default.
      - `defaultResource` string: Default RFC 8707 resource sent on authorization and token requests when a token request omits one. An empty string clears the default.
      - `defaultTokenExpiresIn` number: Default token lifetime in seconds to use when the token response omits expires_in.
      - `authorizationUrlParams` object: Extra query parameters added to authorization URLs.
      - `jwtBearer` object: JWT bearer grant settings.
        - `enabled` boolean: Whether JWT bearer grants are enabled.
        - `scopes` string[]: Default scopes to request when token params specify scopes: [\"*\"].
        - `sub` string: Default JWT subject claim.
        - `iss` string: Default JWT issuer claim.
        - `aud` string: Default JWT audience claim.
        - `additionalClaims` object: Additional claims included in generated JWT assertions.
        - `ttl` number: JWT lifetime in seconds.
        - `useClientCredentials` boolean: Whether JWT bearer requests also use client credentials.
      - `clientAssertion` object: `private_key_jwt` client assertion settings.
        - `type` string: OAuth client assertion type. Defaults to urn:ietf:params:oauth:client-assertion-type:jwt-bearer. An empty string clears the configured type.
        - `ttl` number: Client assertion lifetime in seconds.
        - `claims` object: Additional claims included in the client assertion.
    - object
      - `toDelete` string[]: Stored API key value IDs to delete.
      - `toAdd` object[]: API key values to add.
        - `value` string, required: API key value.
        - `scope` string: Optional scope associated with the API key value.
        - `expiresAt` integer: The timestamp when the API key value expires in milliseconds.
      - `toUpdate` object[]: Existing API key values to update.
        - `id` string, required: Stored API key value ID.
        - `value` union: Replacement API key value. Use null to keep the stored value.
          - string
          - string
        - `scope` union: Replacement scope. Use null to remove the scope.
          - string
          - string
        - `expiresAt` union: The timestamp when the API key value expires in milliseconds.
          - integer
          - string
      - `instructions` union: Markdown instructions shown to each user on the authorization screen, explaining how to obtain the key they should paste.
        - string
        - string
    - object
      - `appId` integer: GitHub App numeric ID.
      - `appSlug` string: GitHub App slug.
      - `appName` string: GitHub App display name.
      - `clientId` string: GitHub App OAuth client ID.
      - `owner` object: GitHub App owner.
        - `type` 'user' | 'organization' | 'User' | 'Organization', required: GitHub App owner type.
        - `id` integer, required: GitHub App owner numeric ID.
        - `slug` string, required: GitHub App owner login.
        - `name` string: GitHub App owner display name.
      - `clientSecret` string: GitHub App OAuth client secret.
      - `privateKeyPem` string: GitHub App private key in PEM format.
      - `webhookSecret` string: GitHub App webhook secret.
      - `extras` object: Additional provider metadata stored with the connector.
    - object
      - `appId` string: Linear application ID.
      - `appName` string: Linear application name.
      - `clientId` string: Linear OAuth client ID.
      - `clientSecret` string: Linear OAuth client secret.
      - `webhookSecret` string: Linear webhook verification secret.
      - `appScopes` string[]: OAuth scopes requested for Linear application tokens.
      - `userScopes` string[]: OAuth scopes requested for Linear user tokens.
      - `ownerOrganization` object: Linear organization that owns the OAuth application.
        - `id` string, required: Linear organization ID.
        - `slug` string, required: Linear organization slug.
        - `name` string, required: Linear organization name.
        - `logoUrl` string, nullable: Linear organization logo URL.
      - `application` object: Linear OAuth application metadata.
        - `id` string, required: Linear OAuth application ID.
        - `clientId` string, required: Linear OAuth client ID.
        - `name` string, required: Linear OAuth application name.
        - `description` string, nullable: Linear OAuth application description.
        - `developer` string, nullable: Linear OAuth application developer name.
        - `developerUrl` string, nullable: Linear OAuth application developer URL.
        - `imageUrl` string, nullable: Linear OAuth application image URL.
        - `redirectUris` string[]: Registered redirect URIs for the Linear OAuth application.
        - `distribution` string, nullable: Linear OAuth application distribution mode.
        - `webhookResourceTypes` string[]: Linear resource types delivered to the webhook.
        - `webhookUrl` string, nullable: Linear webhook URL.
        - `webhookEnabled` boolean: Whether the Linear webhook is enabled.
        - `createdAt` string: Linear OAuth application creation timestamp.
        - `updatedAt` string: Linear OAuth application update timestamp.
      - `extras` object: Additional provider metadata stored with the connector.
    - object
      - `consumerKey` string: Salesforce connected app consumer key.
      - `consumerSecret` string: Salesforce connected app consumer secret.
      - `loginHost` string: Salesforce login host, such as login.salesforce.com.
    - object
      - `appId` string: Slack app ID.
      - `appName` string: Slack app display name.
      - `clientId` string: Slack app OAuth client ID.
      - `clientSecret` string: Slack app OAuth client secret.
      - `slackTeam` object: Slack workspace metadata.
        - `id` string, required: Slack workspace ID.
        - `name` string: Slack workspace name.
        - `domain` string: Slack workspace domain.
      - `signingSecret` string: Slack request signing secret.
      - `verificationToken` string: Legacy Slack webhook verification token.
      - `botScopes` string[]: OAuth scopes requested for Slack bot tokens.
      - `userScopes` string[]: OAuth scopes requested for Slack user tokens.
      - `slashCommands` object[]: Slash commands configured for the managed Slack app.
        - `command` string, required: Slash command including its leading slash.
        - `description` string, required: Description shown for the slash command in Slack.
        - `usageHint` string: Optional usage hint shown for the slash command.
        - `shouldEscape` boolean: Whether Slack should escape command arguments.
      - `shortcuts` object[]: Global and message shortcuts configured for the Slack app.
        - `type` 'global' | 'message', required: Where Slack exposes the shortcut.
        - `name` string, required: Shortcut display name.
        - `callbackId` string, required: Identifier included in the shortcut callback.
        - `description` string, required: Description shown for the shortcut in Slack.
      - `appHome` object: App Home settings for the managed Slack app. Updates preserve omitted settings.
        - `homeTabEnabled` boolean: Enable the Home tab for views.publish. Defaults to false for new apps.
        - `messagesTabEnabled` boolean: Enable the Messages tab. Defaults to true for new apps.
        - `messagesTabReadOnlyEnabled` boolean: Make the Messages tab read-only. Defaults to false for new apps.
      - `richPreviews` object: Work Object preview settings for the managed Slack app. Updates preserve omitted settings.
        - `isActive` boolean: Enable Work Object previews. Defaults to false for new apps.
        - `entityTypes` string[]: Entity types to preview. An empty array clears the configured types.
      - `codeChannels` object: Code channel settings for the managed Slack app. Updates preserve omitted settings.
        - `enabled` boolean: Enable Slack code channels. Adds the code_channels:manage bot scope and, with triggers, the agent_session_stopped and message.session events. Defaults to false for new apps.
      - `extras` object: Additional provider metadata stored with the connector.
    - object
      - `accountIdentifier` string: Snowflake account identifier.
      - `defaultSessionRole` string: Default Snowflake role for created sessions.
    - object
      - `accountIdentifier` string: Snowflake account identifier.
    - object
      - `apiToken` string: Linq partner API token for the shared line.
      - `phoneNumbers` string[]
    - object
      - `apiKeyId` string: Sendblue API key id (`sb-api-key-id`).
      - `apiSecretKey` string: Sendblue API secret key (`sb-api-secret-key`).
      - `phoneNumbers` string[]: E.164 Sendblue lines this connector sends and receives on. Used as the connector's display name, and the only lines its webhooks are registered for; an empty array clears them, which also removes the webhook subscription.
    - object
      - `projectSecret` string: Photon project secret.
      - `webhookSecret` string: Photon webhook verification secret.
      - `repairWebhook` boolean: Whether Connect should recreate the Photon webhook.
    - object
  - `icon` string: 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](https://vercel.com/docs/rest-api/deployments/upload-deployment-files). Send `Content-Length` and the same 40-character digest in `x-vercel-digest`. Then set `icon` to that digest. ```js 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 }), }); ```
  - `backgroundColor` string
  - `accentColor` string
  - `uid` string: 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.
  - `name` string: Display name for the connector. It is trimmed and cannot be empty or contain control characters.

## Response `200`

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

- ConnectConnectorUpdateResult: Updated connector and any required provider follow-up actions.
  - `connector` ConnectConnector, required: A connector that defines how Vercel accesses an external service.
    - `accentColor` string: Hex accent color (e.g., `#000000`) for branding.
    - `appTokens` object: App-token capabilities and known grants for the connector.
      - `crossInstallation` false | true, required: Whether one app token can be used across installations.
      - `isStaticCredential` false | true, required
      - `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`.
      - `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.
      - `supportsRefinement` false | true, required: Whether callers can narrow app-token grants per request.
      - `supportsResources` false | true: Whether callers can request resource-specific app tokens.
    - `backgroundColor` string: Hex background color (e.g., `#000000`) for branding.
    - `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.
    - `connectionMethod` string: The connection method this connector was created from, when the create request named one.
    - `createdAt` number, required: Creation time in epoch milliseconds.
    - `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.
        - `id` string, required: Vercel user ID.
        - `type` 'user', required: Principal kind.
      - 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.
        - `environment` union, required: Deployment environment of the project principal.
          - string
          - 'development' | 'preview' | 'production'
        - `id` string, required: Vercel project ID.
        - `type` 'project', required: Principal kind.
    - `creationMode` 'managed' | 'manual': How the connector row was originally created. New create paths stamp this explicitly; older rows may omit it.
    - `defaultInstallationId` string: Installation used when a token request does not specify an installation.
    - `devsite` string: Developer website for the connected service.
    - `displayName` string, required: Human-readable connector name.
    - `docsite` string: Developer documentation for the connected service.
    - `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.
    - `hasMcpEventDeliveries` false | true: Whether Connect has successfully delivered an MCP event for this connector.
    - `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}`.
    - `id` string, required: Stable `scl_` connector ID. Use this value directly in `{connector}`.
    - `knownStale` false | true: Whether the connector is known to have been edited since the app package it publishes to the provider was last built, so that package no longer matches it. Absent when it was not computed, or when the connector type publishes no such package. Derived on every read rather than marked at edit time, so reverting an edit clears it. Only reported by connector types that publish a package a user has to re-publish by hand — Microsoft Teams today.
    - `managed` object: Managed connector metadata exposed without leaking the manager connector or installation identifiers.
      - `sync` false | true: Whether Vercel synchronizes provider-side configuration.
    - `mcpEventsUiVisibility` 'auto' | 'hide' | 'show': MCP Events dashboard visibility. Defaults to auto: show after the first successful delivery.
    - `name` string, required: Connector name within the owning team.
    - `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.
    - `reinstallAt` number: Time when this connector started requiring reinstallation because an installation-affecting app-token grant changed.
    - `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.
    - `serviceIcon` string: Provider logo from the known-service registry, matched by `service`. Often an SVG data URL. Absent when the service is not in the registry.
    - `supportedSubjectTypes` string[], required: Token subject types supported by the connector.
    - `supportsIcon` unknown, required
    - `supportsInstallation` false | true, required: Whether the connector supports an installation flow.
    - `supportsManagedEjection` false | true: Whether this managed connector can disconnect from its manager.
    - `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.
    - `target` string: Which of the service's products/surfaces this connector points at.
    - `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`. Computed routing environments are stored internally, not returned here.
      - `branch` string: Git branch used to select a preview deployment.
      - `customEnvironmentId` string: Stable custom-environment ID to route this destination to. Mutually exclusive with `branch`; omitted destinations keep the legacy production behavior.
      - `path` string: Route path that receives the forwarded trigger request.
      - `projectId` string, required: Vercel project that receives matching trigger requests.
    - `triggers` ConnectTriggerConfiguration: Incoming trigger configuration. Only present when enabled.
      - `enabled` false | true, required: Whether incoming triggers are enabled for the connector.
    - `type` 'api-key' | 'aws-oidc' | 'custom' | 'discord' | 'github' | 'linear' | 'linq' | 'microsoft-entra' | 'microsoft-teams' | 'oauth' | 'photon' | 'salesforce' | 'sendblue' | 'slack' | 'snowflake' | 'snowflake-wif' | 'stripe-api-key', required: Connector implementation type.
    - `typeIcon` string: Icon identifier supplied by the connector type.
    - `typeName` string, required: Human-readable name of the connector type.
    - `uid` string, required: Team-scoped UID. URL-encode this value before using it in `{connector}`.
    - `updatedAt` number, required: Last update time in epoch milliseconds.
    - `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.
        - `id` string, required: Vercel user ID.
        - `type` 'user', required: Principal kind.
      - 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.
        - `environment` union, required: Deployment environment of the project principal.
          - string
          - 'development' | 'preview' | 'production'
        - `id` string, required: Vercel project ID.
        - `type` 'project', required: Principal kind.
    - `userTokens` object: User-token capabilities and known grants for the connector.
      - `crossInstallation` false | true, required: Whether one user token can be used across installations.
      - `isStaticCredential` false | true, required
      - `manualCredentialInput` false | true: User authorization is completed by the Connect consent screen submitting a credential instead of an OAuth redirect.
      - `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.
      - `supportsRefinement` false | true, required: Whether callers can narrow user-token grants per request.
      - `supportsResources` false | true: Whether callers can request resource-specific user tokens.
    - `website` string: Public website for the connected service.
  - `reconsentNeeded` ConnectReconsent: Existing authorizations no longer cover the connector's configured scopes, so they must be re-authorized.
    - `scope` 'user', required: The affected authorization scope. user means each affected user must authorize again.
  - `reinstallNeeded` false | true: When true, prompt a team owner or administrator to reinstall the connector before relying on the change.
  - `serviceSync` ConnectServiceSync: Provider-side configuration synchronization result.
    - `errors` ConnectServiceSyncError[]: Provider synchronization errors. Present when serviceSync.status is required.
      - `fields` string[]: Connector fields that caused the synchronization error.
      - `message` string, required: Human-readable provider synchronization error.
      - `vendor` object: Provider-specific error details that are safe to expose.
    - `status` 'done' | 'required', required: done means the external service was updated. required means the Vercel update was saved, but provider-side configuration still needs attention.

## Other responses

- `400`: One of the provided values in the request body is invalid. 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.
- `409`: The request conflicts with the current resource state.
- `410`: The requested resource is no longer available.
- `422`: The request cannot be completed in the current state.
- `500`: An internal error occurred.
- `501`
- `502`: A dependency returned an invalid or unsuccessful response.
- `504`

## Changes

- **2026-10-31** `1f3e348952c9`: 1 warning, 1 info
  - added the new `aws-oidc` enum value to the `connector/type` response property for the response status `200`
  - removed the `aws-alpha` enum value from the `connector/type` response property for the response status `200`
- **2026-10-30** `453bcc70b7d8`: 1 info
  - added the new optional request property `data/anyOf[subschema #6: type:slack]/codeChannels`
- **2026-10-27** `7c4766bd54ab`: 3 info
  - added the new optional request property `mcpEventsUiVisibility`
  - added the optional property `connector/hasMcpEventDeliveries` to the response with the `200` status
  - added the optional property `connector/mcpEventsUiVisibility` to the response with the `200` status
- **2026-10-21** `74d3a3591515`: 2 info
  - added the new optional request property `data/anyOf[subschema #6: type:slack]/appHome`
  - added the new optional request property `data/anyOf[subschema #6: type:slack]/richPreviews`
- **2026-10-16** `12ef0e5c5944`: 2 info
  - added the required property `connector/appTokens/isStaticCredential` to the response with the `200` status
  - added the required property `connector/userTokens/isStaticCredential` to the response with the `200` status

[Operation history](https://skmtc.dev/vercel/apis/vercel-api/changes/v2/connect/connectors/:connector/patch.md)

---

[API](https://skmtc.dev/vercel/apis/vercel-api.md) - [All operations](https://skmtc.dev/vercel/apis/vercel-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vercel/apis/vercel-api/revisions/60686c0e1f6a?raw)
