Keystone Developers
Open Keystone
API reference

Console API

OAuth connections

4 endpoints.

GET/api/v1/admin/businesses/{business_id}/connections

List active OAuth connections for a business

Parameters

NameInTypeDescription
business_idrequiredpathstring (uuid)
providerqueryOAuthProvider | null
authorizationheaderstring | null

Responses

200Successful Response
application/jsonSuccessResponse_OAuthConnectionsListData_
FieldTypeDescription
request_idrequiredstring
successtruedefault true
datarequiredOAuthConnectionsListData
OAuthConnectionsListData fields
FieldTypeDescription
connectionsrequiredOAuthConnectionData[]
OAuthConnectionData[] fields

OAuthConnectionData (not expanded)

metadataResponseMetadata | null
ResponseMetadata fields
FieldTypeDescription
paginationPaginationMetadata | null
PaginationMetadata fields
FieldTypeDescription
limitrequiredinteger
next_cursorstring | null
prev_cursorstring | null
has_morerequiredboolean
has_prevbooleandefault false
total_countinteger | null
status_countsobject | null
object | null fields

Map of string to integer

lifecycle_countsLifecycleCounts | null
LifecycleCounts fields
FieldTypeDescription
leadintegerdefault 0
prospectintegerdefault 0
customerintegerdefault 0
former_customerintegerdefault 0
classification_countsClassificationCounts | null
ClassificationCounts fields
FieldTypeDescription
signalobject
object fields

Nested object (not expanded)

touchobject
object fields

Nested object (not expanded)

stageobject
object fields

Nested object (not expanded)

metaResponseMeta | null
ResponseMeta fields
FieldTypeDescription
totalinteger | null
total_countinteger | null
pageinteger | null
per_pageinteger | null
  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.

DELETE/api/v1/admin/businesses/{business_id}/connections/{connection_id}

Disconnect an OAuth connection

Parameters

NameInTypeDescription
business_idrequiredpathstring (uuid)
connection_idrequiredpathstring (uuid)
authorizationheaderstring | null

Responses

204Successful Response
  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.

POST/api/v1/admin/businesses/{business_id}/connections/oauth/{provider}/start

Start OAuth for an authority (e.g. Google)

Return an authorization URL for the given OAuth authority (admin UI redirect).

Parameters

NameInTypeDescription
business_idrequiredpathstring (uuid)
providerrequiredpathOAuthProvider
authorizationheaderstring | null

Request bodyrequired

application/jsonOAuthStartBody
FieldTypeDescription
redirect_uristring | null

Optional redirect URI; must match a Google-authorized callback when using Google.

Responses

200Successful Response
application/jsonSuccessResponse_OAuthStartResponseData_
FieldTypeDescription
request_idrequiredstring
successtruedefault true
datarequiredOAuthStartResponseData
OAuthStartResponseData fields
FieldTypeDescription
authorization_urlrequiredstring
staterequiredstring
connection_idstring (uuid) | null

Present when exactly one active connection exists for this business and provider.

metadataResponseMetadata | null
ResponseMetadata fields

ResponseMetadata, expanded above.

metaResponseMeta | null
ResponseMeta fields

ResponseMeta, expanded above.

  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.

GET/api/v1/admin/connections/oauth/{provider}/callback

OAuth callback (browser redirect target)

Exchange authorization code for tokens and upsert ``oauth_connections`` (no JWT: IDP redirect).

Parameters

NameInTypeDescription
providerrequiredpathOAuthProvider
codequerystring | null
statequerystring | null
errorquerystring | null
error_descriptionquerystring | null
authorizationheaderstring | null

Responses

200Successful Response
application/jsonany
  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.