v4

OpenAPI 3.0.0MIT2026-07-311554531.6 MB
Integrations

Generate OAuth URL to link a subscriber user identity

Generate an OAuth URL that links a specific subscriber to their chat identity (Slack user ID, MS Teams user OID, or Webex person). The generated URL expires after 5 minutes.

post/v1/integrations/channel-endpoints/oauth

Request body

subscriberIdstring required

The subscriber ID to link to their chat identity. Required — this operation always binds a specific subscriber to a user identity in the chat provider.

integrationIdentifierstring required

Integration identifier

connectionIdentifierstring

Identifier of the existing channel connection to associate this user endpoint with. Generated automatically if not provided for providers that support standalone user linking. Required for Webex.

contextobject
contextHashstring

HMAC-SHA256 of the canonicalized context, signed with the tenant environment secret key (the same "Inbox with context" signing scheme). Required when the integration has HMAC validation enabled and the session did not already HMAC-verify the context, so the per-user link carries a trustworthy subscriber/tenant binding.

userScopestring[]

Slack only: User-level OAuth scopes for "Sign in with Slack". Defaults to: identity.basic. Webex: Optional Webex scopes for people/me; defaults to spark:people_read. MS Teams: ignored — uses delegated OpenID scopes (openid, profile, User.Read).

Example request

{
  "subscriberId": "subscriber-123",
  "connectionIdentifier": "slack-connection-abc123",
  "contextHash": "a1b2c3d4e5f6...",
  "userScope": [
    "identity.basic"
  ]
}

Response

Created

urlstring required

The OAuth authorization URL for the chat provider. For Slack: https://slack.com/oauth/v2/authorize?... For MS Teams: https://login.microsoftonline.com/.../adminconsent?... This URL should be presented to the user to authorize the integration. Expires after 5 minutes.

Example response

{
  "url": "https://slack.com/oauth/v2/authorize?state=..."
}