---
title: "Update a connection"
method: PATCH
path: "/v1/connectors/connections/{connectionId}"
tags: ["Connectors"]
---

# Update a connection

`PATCH /v1/connectors/connections/{connectionId}`

## Request

- Base URL: `https://api.spacefast.com`
- URL: `https://api.spacefast.com/v1/connectors/connections/{connectionId}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.spacefast.com/v1/auth/oauth2/authorize`, token URL `https://api.spacefast.com/v1/auth/oauth2/token`; client credentials, token URL `https://api.spacefast.com/v1/auth/oauth2/token`, scopes: `connectors:write`)

Renames a connection, updates its note, or grants team connections permission to serve sites. Credentials are immutable: to rotate one, reconnect.

## Path parameters

- `connectionId` string, required: Connection id (`cxn_`).

## Query parameters

- `team` string: Team id or slug to act for. Required only when the credential could act for more than one team.

## Request body

- object
  - `serving` boolean
  - `displayName` string: Replacement label.
  - `description` string, nullable: Replacement agent-visible description.

## Response `200`

Response for status 200

- object
  - `$schema` string, uri: Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.
  - `data` object, required: A configured instance of a connector, with a credential the control plane holds and never hands out.
    - `id` string, required: Connection id (`cxn_`). This is also the first segment of every tool address it owns.
    - `connector` string, required: Slug of the connector this connection authenticates.
    - `owner` 'team' | 'personal', required: `team` is shared with everyone on the team; `personal` is yours, and only within this team — connecting the same account for another team is another connection.
    - `serving` boolean, required
    - `displayName` string, required: What people call this connection, e.g. "Linear (support)".
    - `description` string, nullable, required: Agent-visible note on what this connection is for. Shown to models choosing between several.
    - `status` 'pending_authorization' | 'active' | 'degraded' | 'needs_reauth' | 'revoked', required: Derived connection state. Never stored, so it cannot drift from the credential it describes.
    - `identityLabel` string, nullable, required: Account label reported by the provider, when it identifies itself. Null until the first successful probe.
    - `credentialConfigured` boolean, required: Whether a usable credential is stored. The credential itself is never returned by any endpoint.
    - `authMethod` string, nullable, required: Slug of the connector auth method this connection used.
    - `scopes` string[], required: Scopes actually granted, when the provider reports them.
    - `scopesKnown` boolean: False when the provider did not report the granted scope set.
    - `isDefault` boolean, required: Whether this is the connection an agent gets when it names the connector alone.
    - `toolCount` integer, required: Tools reachable through this connection at the last sync.
    - `createdBy` string, nullable, required: User who connected it; null for first-party connections Spacefast owns.
    - `lastCheckedAt` string, date-time, nullable, required: Last health probe.
    - `revokedAt` string, date-time, nullable, required: When it was disconnected. The credential is purged; the row tombstones.
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `default`: Problem details (RFC 9457). Any 4xx/5xx response is one `application/problem+json` document.

---

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