v4

latestOpenAPI 3.1.1Apache 2.02026-07-31107278570.4 KB
Connected Accounts

Create a connected account

Creates a new connected account with OAuth tokens or API credentials for third-party service integration. Supply authorization details including access tokens, refresh tokens, scopes, and optional API configuration. The account can be scoped to an organization or user. Returns the created account with its unique identifier and authentication status.

post/api/v1/connected_accounts

Request body

connectorstring

Connector identifier (e.g., 'notion', 'slack', 'google'). Alphanumeric characters, spaces, hyphens, underscores, and colons are allowed.

identifierstring

The unique identifier for the connected account within the third-party service (e.g., email address, user ID, workspace identifier).

organization_idstring

Organization ID for the connector

user_idstring

User ID for the connector

Example request

{
  "connected_account": {
    "api_config": {
      "base_url": "https://api.custom-domain.com",
      "rate_limit": 1000,
      "timeout": 30
    },
    "authorization_details": {
      "google_dwd": {
        "access_token": "ya29.a0AfH6SMBx...",
        "scopes": [
          "openid",
          "https://www.googleapis.com/auth/userinfo.email"
        ],
        "subject": "user@example.com"
      },
      "oauth_token": {
        "access_token": "ya29.a0AfH6SMBx...",
        "domain": "example.com",
        "refresh_token": "1//0gHJxZ-Lb2...",
        "scopes": [
          "https://www.googleapis.com/auth/drive.readonly",
          "https://www.googleapis.com/auth/userinfo.email"
        ]
      },
      "static_auth": {
        "details": {
          "api_key": "sk_live_...",
          "api_secret": "..."
        }
      },
      "trusted_idp": {
        "access_key_id": "ASIA...",
        "db_user": "analytics_reader"
      }
    }
  },
  "connector": "notion",
  "identifier": "user@example.com",
  "organization_id": "org_121312434123312",
  "user_id": "user_121312434123312"
}

Response

Connected account created successfully with authentication credentials stored securely

Example response

{
  "connected_account": {
    "api_config": {
      "base_url": "https://api.custom-domain.com",
      "rate_limit": 1000,
      "timeout": 30
    },
    "authorization_details": {
      "google_dwd": {
        "access_token": "ya29.a0AfH6SMBx...",
        "scopes": [
          "openid",
          "https://www.googleapis.com/auth/userinfo.email"
        ],
        "subject": "user@example.com"
      },
      "oauth_token": {
        "access_token": "ya29.a0AfH6SMBx...",
        "domain": "example.com",
        "refresh_token": "1//0gHJxZ-Lb2...",
        "scopes": [
          "https://www.googleapis.com/auth/drive.readonly",
          "https://www.googleapis.com/auth/userinfo.email"
        ]
      },
      "static_auth": {
        "details": {
          "api_key": "sk_live_...",
          "api_secret": "..."
        }
      },
      "trusted_idp": {
        "access_key_id": "ASIA...",
        "db_user": "analytics_reader"
      }
    },
    "connection_id": "conn_24834495392086178",
    "connector": "notion",
    "id": "ca_24834495392086178",
    "identifier": "user@example.com",
    "last_used_at": "2024-03-20T14:30:00Z",
    "provider": "google",
    "token_expires_at": "2024-12-31T23:59:59Z",
    "updated_at": "2024-03-20T15:04:05Z"
  }
}