Open Connector
Grant API

Grant API

Propose exact directional selections, collect endpoint approvals, and activate or revoke grant revisions.

Propose exact directional selections, collect endpoint approvals, and activate or revoke grant revisions.

Use the shared request contract for authentication, pagination, preconditions, idempotency, and common errors. Exact response members are defined in API data types and the downloadable OpenAPI contract.

List grants

GET/api/v1/connector/organizations/{organization_id}/connections/{connection_id}/grants
Scope
grants:read
Auth
Bearer API key

Lists directional selections and their approval and activation states.

Query parameters
limitintegeroptional

Number of records; bounds are inclusive.

default50rule1–200
cursorstringoptional

Opaque continuation; preserve the original filters.

200Result

Returns a data array of Grant records, pagination.next_cursor, and request_id.

Propose a grant

POST/api/v1/connector/organizations/{organization_id}/connections/{connection_id}/grants
Scope
grants:write
Auth
Bearer API key
Repeat calls
Organization-scoped Idempotency-Key; 24 hours

Creates an immutable selection for endpoint review.

Requires If-Match from a current read. Requires Idempotency-Key.

Use the connection ETag. The source and destination must differ. Unavailable scopes, invalid category directions, and label keys outside the source permission return 422 invalid_selection. A replacement leaves the active grant unchanged until activation.

Request body
sourcestringrequired

Source endpoint side.

one ofa, b
destinationstringrequired

Other endpoint side; must differ from source.

one ofa, b
source_scope_idsstring[]required

Explicit source projects, groups, or custom integration ID; no wildcard.

rule1–100 items
destination_scope_idstringrequired

Receiving project, asset group, or integration ID.

rule1–200 characters
categoriesstring[]required

Nonempty categories supported by this direction.

ruleAt least 1 item
label_keysstring[]optional

Inventory labels permitted to cross the boundary; omitted shares no labels.

default[]ruleAt most 20 items
201Created

Returns data as Grant, plus request_id.

Read a grant

GET/api/v1/connector/organizations/{organization_id}/connections/{connection_id}/grants/{grant_id}
Scope
grants:read
Auth
Bearer API key

Returns the exact selection, approvals, revision, and state.

200Result

Returns data as Grant, plus request_id.

Approve or reject a grant

POST/api/v1/connector/organizations/{organization_id}/connections/{connection_id}/grants/{grant_id}/decisions
Scope
grants:approve
Auth
Bearer API key
Repeat calls
Organization-scoped Idempotency-Key; 24 hours

Records one endpoint decision for the reviewed grant revision.

Requires If-Match from a current read. Requires Idempotency-Key.

Requires native product administrator authority for a native side, or Connector Administrator authority over a custom side.

An Integration Developer key cannot approve native product access. Rejected grants cannot activate; propose a corrected selection.

Request body
sidestringrequired

Side for which the caller has approval authority.

one ofa, b
decisionstringrequired

Approve or reject the reviewed revision.

one ofapprove, reject
reasonstringrequired

Audited explanation.

rule1–2000 characters
200Result

Returns data as Grant, plus request_id.

Activate a replacement grant

POST/api/v1/connector/organizations/{organization_id}/connections/{connection_id}/grants/{grant_id}/activate
Scope
grants:write
Auth
Bearer API key
Repeat calls
Organization-scoped Idempotency-Key; 24 hours

Replaces the active directional selection with an approved revision.

Requires If-Match from a current read. Requires Idempotency-Key.

Use the grant ETag. Both required approvals must match the revision or the request returns 409 approval_required.

Initial draft connections use connection activation. Read the connection after operation success to confirm the active grant generation.

Request body
reasonstringrequired

Audited reason; empty values are rejected.

rule1–2000 characters
202Accepted

Returns operation.id for operation polling and request_id; acceptance does not establish completion.

Revoke a grant

POST/api/v1/connector/organizations/{organization_id}/connections/{connection_id}/grants/{grant_id}/revoke
Scope
grants:write
Auth
Bearer API key
Repeat calls
Organization-scoped Idempotency-Key; 24 hours

Stops subsequent exchange through the selected directional grant.

Requires If-Match from a current read. Requires Idempotency-Key.

Poll the operation and confirm revoked on the grant. Received copies retain destination access and retention rules; revocation does not recall them.

Request body
reasonstringrequired

Audited reason; empty values are rejected.

rule1–2000 characters
202Accepted

Returns operation.id for operation polling and request_id; acceptance does not establish completion.