Connected Accounts

Add a connected account

Creates a new connected account for the authenticated tenant.

The creds field must be a Base64-encoded RSA-encrypted credential blob. Use GET /connected_accounts/credentials/public_key to retrieve the public key for encryption.

The providerType is derived server-side from the providerId — callers do not supply it.

Endpoint Permission: Editor, Admin, Non-Signing Admin.

post/connected_accounts

Request

Headers

Idempotency-Keystring

A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.

Request body

providerIdstring required

Integration key identifying the provider (e.g. BINANCE, KINGDOM_BANK, GEMINI_NLV2).

displayNamestring

Human-readable account name. Required for non-NLV2 providers.

credsstring byte required

Base64-encoded RSA-encrypted credential blob. Encrypt using the public key from GET /connected_accounts/credentials/public_key.

apiKeystring required

Account-level API key.

mainAccountIdstring

Parent main account ID for sub-account creation. Not allowed for NLV2 providers.

accountIdstring

Optional provider-side account ID to associate with the created account.

onPremiseServerIdstring

On-premise server ID for self-hosted integrations.

Example request

{
  "providerId": "BINANCE",
  "displayName": "My Binance Account",
  "creds": "base64encodedencryptedcredentials==",
  "apiKey": "api_key_abc123",
  "mainAccountId": "acc-parent-001",
  "accountId": "provider-acc-001",
  "onPremiseServerId": "on-prem-server-001"
}

Response

Account created (or pending approval).

Example response

{
  "accounts": [
    {
      "accountId": "acc-789012",
      "name": "My Exchange Account",
      "status": "WAITING_FOR_APPROVAL"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.