AlkiraiLinkDocs

AlkiraiLink API

Bank data for the Caribbean, through one API

A person connects their accounts at an institution through AlkiraiLink Connect. Your server then reads their accounts, balances and transactions with one API, whatever the institution runs underneath.

How it fits together

  1. Your server starts a Connect session with POST /v1/connect/sessions and gets a link_url.
  2. The person signs in through Connect, in their browser or in your app's web view. They type their details into Connect, never into your app.
  3. Connect sends them back to you with a public_token, and your server exchanges it for a connection_id with POST /v1/connect/exchange.
  4. Your server reads the connection whenever your app refreshes: POST /v1/connections/{connection_id}/refresh returns accounts and new transactions together.

Client ID and secrets

Your app has one client ID and a secret for each environment. Every request goes to https://api.alkirai.com with the client ID in the X-Client-Id header and a secret in the X-API-Key header. Send them from your server only: a secret in an app can be read out of it.

Which environment a request reaches is decided by the secret alone, so moving from the sandbox to live is a change of one value. A secret is shown once, when it is made; rotate it to replace it, and the old one keeps working for the grace period you choose.

AlkiraiLink is in early access, and client IDs and secrets come from our team. Write to hello@alkirai.com with what you're building.

What works differently here

AlkiraiLink reads each institution through its online banking, signed in as the person. Four things follow, and each has a guide.

Money

An amount is positive for money leaving the account and negative for money arriving. Every account and every transaction carries its own ISO 4217 currency, and one connection often holds accounts in more than one, so convert before you add balances together.

Every endpoint

EndpointWhat it does
GET /v1/institutionsList institutions
POST /v1/connect/sessionsStart a Connect session
POST /v1/connect/exchangeExchange a public token
GET /v1/connectionsList connections
GET /v1/connections/{connection_id}Get a connection
DELETE /v1/connections/{connection_id}Remove a connection
GET /v1/connections/{connection_id}/accountsList accounts
POST /v1/connections/{connection_id}/syncSync transactions
POST /v1/connections/{connection_id}/refreshRefresh a connection
GET /v1/institutions/{institution_id}/export-recipeGet an export recipe
GET /v1/institutions/{institution_id}/manifestGet a signed manifest
POST /v1/institutions/{institution_id}/statementsRead a statement
POST /v1/institutions/{institution_id}/statement-planPlan which months to export