Skip to main content
POST
Connect provider
Do not send auth_method. Credentials are never returned. For a hosted setup, complete the returned authorization attempt before it expires. Then use List connections to confirm the connection and get its connection_ids and source_ids. To reauthorize a general-ledger connection, call this operation again. Send Idempotency-Key for replayable connection requests. Omit it for QuickBooks, Xero and NetSuite OAuth starts, and for Ramp authorization without credentials. These OAuth starts refuse the header with 400 IDEMPOTENCY_NOT_SUPPORTED. Reuse a key only with the same request body. QuickBooks, Xero and NetSuite return data.redirect_url. Campfire and DualEntry return the Connection directly with status 200; guidance.warnings identifies an incomplete accounting import.

Authorizations

X-API-Key
string
header
required

Your organization API key. See Authentication.

Headers

Idempotency-Key
string

Required for replayable connection requests. Omit this header for QuickBooks, Xero and NetSuite OAuth starts, and for Ramp authorization without credentials. Those OAuth starts return 400 IDEMPOTENCY_NOT_SUPPORTED if the header is present. For other providers, send a unique key and reuse it only for the same request body.

Required string length: 1 - 255

Body

application/json

An exchange venue. Credentials are supplied inline; there is no hosted setup for an exchange.

provider
string
required

The exchange venue in lower case, such as kraken or binance. For QuickBooks, Xero, NetSuite, Campfire and DualEntry, use the general-ledger request body.

Example:

"kraken"

name
string
required

Display name. Required for an exchange connection.

Required string length: 1 - 500

Exactly one legal entity. An exchange connection scopes to a single entity.

Required array length: 1 element

Legal entity ID (le_…).

api_key
string
required

Venue API key.

Minimum string length: 1
api_secret
string
required

Venue API secret.

Minimum string length: 1
api_passphrase
string

Venue API passphrase. Required for coinbase, coinbase_exchange, coinbase_prime, coinbase_international and kucoin; omitting it there fails with 400.

Minimum string length: 1
return_url
string<uri>

Registered HTTPS dashboard URL to return to after hosted setup.

Example:

"https://app.entendre.finance/settings/integrations"

Response

OAuth consent URL for a hosted GL provider (data.redirect_url), or the DualEntry or Campfire connection. The API-key connect updates an existing connection, so it returns 200, not 201. guidance.warnings can include entities_import_pending and accounts_import_pending.

data
object
required