Skip to main content
POST
/
api
/
v0
/
bringin-link
/
confirm
Confirm connection
curl --request POST \
  --url https://dev.bringin.xyz/api/v0/bringin-link/confirm \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --data '
{
  "challengeId": "<string>",
  "verificationCode": "<string>"
}
'
{
  "id": "a5b03095-f4ad-4a10-8970-4c63de5a49a9",
  "status": "ACTIVE",
  "direction": "CRYPTO_TO_FIAT",
  "sourceCurrency": "BTC",
  "destinationCurrency": "EUR",
  "percentFeeBps": "150",
  "createdAt": "2026-03-24T08:33:18.366Z",
  "updatedAt": "2026-03-24T08:34:08.070Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.bringin.app/llms.txt

Use this file to discover all available pages before exploring further.

Confirm a pending connection with the SMS OTP code. On success, the connection transitions from PENDING to ACTIVE and auto-conversions begin. Get the challengeId from GET /bringin-link/{id} when standingOrder.status is PENDING_CONFIRMATION. Requires a per-user api-key.
challengeId
string
required
The challenge ID from the standing order (returned when status is PENDING_CONFIRMATION)
verificationCode
string
required
6-digit SMS OTP code sent to the user’s registered phone
{
  "id": "a5b03095-f4ad-4a10-8970-4c63de5a49a9",
  "status": "ACTIVE",
  "direction": "CRYPTO_TO_FIAT",
  "sourceCurrency": "BTC",
  "destinationCurrency": "EUR",
  "percentFeeBps": "150",
  "createdAt": "2026-03-24T08:33:18.366Z",
  "updatedAt": "2026-03-24T08:34:08.070Z"
}
If the OTP is incorrect, the API returns an error. Show “Invalid code, please try again” and let the user retry. Use POST /bringin-link/resend-otp if the user needs a new code.
The OTP expires 30 minutes after the connection was created. If expired, the connection becomes EXPIRED and you must create a new one.