Documentation menu

Connections

8 operations.

List the deployment's OAuth 2.0 preset catalog

GET/api/v1/connection-presets

Returns the static OAuth 2.0 preset catalog shipped in this Perstack version. The catalog is deployment-level only — it carries no organization-specific state. Callers join this against GET /api/v1/organizations/{organizationIdOrSlug}/integrations to derive the registered / verified status per preset for their organization. Keeping the catalog pure means client-side caches of integration state stay coherent with a single invalidation key.

Static-token providers are not modeled as presets — they live as organization-scoped canonical variables, exposed via /api/v1/organizations/{organizationIdOrSlug}/variables.

Responses

StatusDescriptionBody
200Response for status 200
application/json
object
  • data (required): object
400The request is malformed or cannot be processed.
application/json
PublicApiError
  • error (required): object
401Authentication failed. Possible reasons: - Authorization header is not provided - Invalid API key - Session expired
application/json
PublicApiError
  • error (required): object
403Access denied. The authenticated user does not have permission to perform this action.
application/json
PublicApiError
  • error (required): object
422Request validation failed. Check the request body, query parameters, or path parameters.
application/json
PublicApiError
  • error (required): object
500The server could not complete the request.
application/json
PublicApiError
  • error (required): object

Get an OAuth 2.0 connection preset

GET/api/v1/connection-presets/{presetKey}

Returns one deployment-level OAuth 2.0 preset from the static configuration catalog. A preset is configuration guidance, not a credential or organization Connection; no secret, token, provider locator, or organization-specific registration is returned.

Parameters

path

NameTypeRequiredDescription
presetKeystringrequiredIdentifies the OAuth preset whose authorization flow is being requested. Applies to Get an OAuth 2.0 connection preset.

Responses

StatusDescriptionBody
200Response for status 200
application/json
object
  • data (required): object
400The request is malformed or cannot be processed.
application/json
PublicApiError
  • error (required): object
401Authentication failed. Possible reasons: - Authorization header is not provided - Invalid API key - Session expired
application/json
PublicApiError
  • error (required): object
403Access denied. The authenticated user does not have permission to perform this action.
application/json
PublicApiError
  • error (required): object
404Resource not found.
application/json
PublicApiError
  • error (required): object
422Request validation failed. Check the request body, query parameters, or path parameters.
application/json
PublicApiError
  • error (required): object
500The server could not complete the request.
application/json
PublicApiError
  • error (required): object

List Connections for an Environment

GET/api/v1/projects/{projectId}/environments/{environmentId}/connections

List metadata-only Connections owned by the given Project Environment. The response is cursor-paginated; pass pagination.nextCursor unchanged to read the next page. Credential material and provider-specific OAuth identity remain internal.

Returns 404 if the Project does not exist in the caller's organization.

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to List Connections for an Environment.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to List Connections for an Environment.

query

NameTypeRequiredDescription
limitintegeroptionalSets the maximum number of resources returned in this page. Applies to List Connections for an Environment.
cursorstringoptionalOpaque cursor returned by the previous page; omit it to read the first page. Applies to List Connections for an Environment.

Responses

StatusDescriptionBody
200Response for status 200
application/json
object
  • data (required): object
  • pagination (required): object
400The request is malformed or cannot be processed.
application/json
PublicApiError
  • error (required): object
401Authentication failed. Possible reasons: - Authorization header is not provided - Invalid API key - Session expired
application/json
PublicApiError
  • error (required): object
403Access denied. The authenticated user does not have permission to perform this action.
application/json
PublicApiError
  • error (required): object
404Resource not found.
application/json
PublicApiError
  • error (required): object
422Request validation failed. Check the request body, query parameters, or path parameters.
application/json
PublicApiError
  • error (required): object
500The server could not complete the request.
application/json
PublicApiError
  • error (required): object

Create an Environment Connection

POST/api/v1/projects/{projectId}/environments/{environmentId}/connections

Creates a metadata-only Connection in the resolved Project Environment. An optional provider credential ID and version reference an existing credential version and are never returned; an optional Agent binding records the exact Connection version. Unknown or foreign coordinates return 404 and malformed binding input returns 422.

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Create an Environment Connection.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Create an Environment Connection.

Request body

required — Request body for: Create an Environment Connection.

application/json

NameTypeRequiredDescription
namestringrequired
kind"http" | "database" | "object_storage" | "messaging" | "custom"required
providerCredentialIdone of 2 typesoptional
providerCredentialVersionone of 2 typesoptional
settingsobjectrequired
agentIdstringoptional
bindingKeystringoptional

Responses

StatusDescriptionBody
200Response for status 200
application/json
object
  • data (required): object
400The request is malformed or cannot be processed.
application/json
PublicApiError
  • error (required): object
401Authentication failed. Possible reasons: - Authorization header is not provided - Invalid API key - Session expired
application/json
PublicApiError
  • error (required): object
403Access denied. The authenticated user does not have permission to perform this action.
application/json
PublicApiError
  • error (required): object
404Resource not found.
application/json
PublicApiError
  • error (required): object
422Request validation failed. Check the request body, query parameters, or path parameters.
application/json
PublicApiError
  • error (required): object
500The server could not complete the request.
application/json
PublicApiError
  • error (required): object

Get a single Connection by id

GET/api/v1/projects/{projectId}/environments/{environmentId}/connections/{connectionId}

Fetch a Connection's metadata and current immutable version reference. Credential values are never returned; they are used only to perform the configured integration action.

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Get a single Connection by id.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Get a single Connection by id.
connectionIdstringrequiredIdentifies the stored external connection. Applies to Get a single Connection by id.

Responses

StatusDescriptionBody
200Response for status 200
application/json
object
  • data (required): object
400The request is malformed or cannot be processed.
application/json
PublicApiError
  • error (required): object
401Authentication failed. Possible reasons: - Authorization header is not provided - Invalid API key - Session expired
application/json
PublicApiError
  • error (required): object
403Access denied. The authenticated user does not have permission to perform this action.
application/json
PublicApiError
  • error (required): object
404Resource not found.
application/json
PublicApiError
  • error (required): object
422Request validation failed. Check the request body, query parameters, or path parameters.
application/json
PublicApiError
  • error (required): object
500The server could not complete the request.
application/json
PublicApiError
  • error (required): object

Update an Environment Connection

PATCH/api/v1/projects/{projectId}/environments/{environmentId}/connections/{connectionId}

Updates safe Connection metadata or creates a new immutable Connection version referencing an existing provider credential version. Existing Connection versions remain available to already-pinned internal OAuth state; credential material is never returned. Invalid version or binding combinations return 422.

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Update an Environment Connection.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Update an Environment Connection.
connectionIdstringrequiredIdentifies the stored external connection. Applies to Update an Environment Connection.

Request body

required — Request body for: Update an Environment Connection.

application/json

NameTypeRequiredDescription
namestringoptional
status"active" | "disabled" | "deleting"optional
versionobjectoptional
agentIdstringoptional
bindingKeystringoptional

Responses

StatusDescriptionBody
200Response for status 200
application/json
object
  • data (required): object
400The request is malformed or cannot be processed.
application/json
PublicApiError
  • error (required): object
401Authentication failed. Possible reasons: - Authorization header is not provided - Invalid API key - Session expired
application/json
PublicApiError
  • error (required): object
403Access denied. The authenticated user does not have permission to perform this action.
application/json
PublicApiError
  • error (required): object
404Resource not found.
application/json
PublicApiError
  • error (required): object
422Request validation failed. Check the request body, query parameters, or path parameters.
application/json
PublicApiError
  • error (required): object
500The server could not complete the request.
application/json
PublicApiError
  • error (required): object

Delete a Connection

DELETE/api/v1/projects/{projectId}/environments/{environmentId}/connections/{connectionId}

Deletes the Connection from the resolved Project Environment. Existing retained audit or pinned execution records are not rewritten; a Connection retained by an immutable configuration snapshot returns 409, and a foreign or unknown Connection returns 404.

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Delete a Connection.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Delete a Connection.
connectionIdstringrequiredIdentifies the stored external connection. Applies to Delete a Connection.

Responses

StatusDescriptionBody
204Response for status 204none
400The request is malformed or cannot be processed.
application/json
PublicApiError
  • error (required): object
401Authentication failed. Possible reasons: - Authorization header is not provided - Invalid API key - Session expired
application/json
PublicApiError
  • error (required): object
403Access denied. The authenticated user does not have permission to perform this action.
application/json
PublicApiError
  • error (required): object
404Resource not found.
application/json
PublicApiError
  • error (required): object
409Request conflicts with current state of the resource, including safe deployment conflict classifications.
application/json
PublicApiError
  • error (required): object
422Request validation failed. Check the request body, query parameters, or path parameters.
application/json
PublicApiError
  • error (required): object
500The server could not complete the request.
application/json
PublicApiError
  • error (required): object

Read Environment connection health

GET/api/v1/projects/{projectId}/environments/{environmentId}/connections/health

Reads metadata-only health for the active Deployment's declared Environment connection bindings, including missing configured bindings. Requires connections:list; it is not an execution-readiness guarantee and does not refresh tokens or contact providers.

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Read Environment connection health.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Read Environment connection health.

Responses

StatusDescriptionBody
200Response for status 200
application/json
object
  • data (required): object
400The request is malformed or cannot be processed.
application/json
PublicApiError
  • error (required): object
401Authentication failed. Possible reasons: - Authorization header is not provided - Invalid API key - Session expired
application/json
PublicApiError
  • error (required): object
403Access denied. The authenticated user does not have permission to perform this action.
application/json
PublicApiError
  • error (required): object
404Resource not found.
application/json
PublicApiError
  • error (required): object
409Request conflicts with current state of the resource, including safe deployment conflict classifications.
application/json
PublicApiError
  • error (required): object
422Request validation failed. Check the request body, query parameters, or path parameters.
application/json
PublicApiError
  • error (required): object
500The server could not complete the request.
application/json
PublicApiError
  • error (required): object