---
title: "Connection Authorize Route"
method: POST
path: "/api/connections/{provider}/authorize"
tags: ["connections"]
---

# Connection Authorize Route

`POST /api/connections/{provider}/authorize`

## Request

- Base URL: `https://platform.verbiflow.com/api/bridge`
- URL: `https://platform.verbiflow.com/api/bridge/api/connections/{provider}/authorize`
- Auth: one of:
  - HTTP bearer and API key in header `x-flage-org-id`
  - HTTP bearer and API key in header `x-flage-org-slug`

## Path parameters

- `provider` string, required

## Request body

- ConnectionAuthorizePayload
  - `app_id` string, nullable
  - `mode` 'member' | 'workspace'

## Response `200`

Successful Response

- union
  - ConnectionActionRequiredStatus
    - `expires_at` string, date-time, required: UTC time when the authorization interaction expires.
    - `interaction_id` string, required: Identifier for this single authorization interaction.
    - `mode` 'member' | 'workspace', required: Whether authority belongs to one member or the workspace.
    - `provider` 'hubspot' | 'attio' | 'slack' | 'apollo' | 'salesforce' | 'notion' | 'linear' | 'google_drive' | 'posthog', required: Provider whose connection state was resolved.
    - `reason` 'not_connected' | 'expired' | 'scope_upgrade', required: Machine-readable reason authorization is required.
    - `state` 'action_required', required
    - `url` string, required: Private, single-use provider authorization URL for the current member.
  - ConnectionUnavailableStatus
    - `mode` 'member' | 'workspace', required: Whether authority belongs to one member or the workspace.
    - `owner_actor_id` string, nullable, required: Connection owner to contact when known; null if no owner exists.
    - `provider` 'hubspot' | 'attio' | 'slack' | 'apollo' | 'salesforce' | 'notion' | 'linear' | 'google_drive' | 'posthog', required: Provider whose connection state was resolved.
    - `reason` 'not_connected' | 'expired' | 'scope_upgrade' | 'api_key_not_configured' | 'api_key_provider' | 'oauth_not_configured', required: Machine-readable reason no inline authorization action is available.
    - `remediation` string, required: Sanitized human-readable next step.
    - `state` 'unavailable', required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract.md) - [All operations](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/llms.txt) - [OpenAPI document](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/revisions/c80e903ef8f3?raw)
