v1.2.0 - August 2026
Added
POST /partner/cardholdersandPATCH /partner/cardholders/{id}now accept optional residence address fields (residenceCountryCode,residenceStateProvince,residenceCity,residenceAddressDetail,postalCode) on share-token KYC. These are a fallback for cardholders verified with a travel document, which carries no residential address to extract — an address extracted from the KYC session always takes precedence. Supply all five fields or none; a partially-filled address is ignored. See Card holders.- Documented the restricted countries and regions where cardholders cannot be onboarded, and how that rejection surfaces via
cardholder.kyc.updated.
v1.1.0 - May 2026
Added
PATCH /partner/cards/{id}/limitsnow accepts aspendControlbody with per-transaction-type velocity caps (sales,cash) acrossperTransaction,daily,monthly, andallTimehorizons. See the Spend control guide.- Card object exposes a
spendControlfield summarising caps and (where the card program reports it) accrued spend.
Deprecated
- The legacy body
{ "limit": <number|null> }onPATCH /partner/cards/{id}/limitscontinues to work for one release. It is mapped to{ "spendControl": { "sales": { "allTime": <n> }, "cash": { "allTime": <n> } } }. The top-levellimitfield on the card object is now derived fromspendControl.sales.allTimeand is marked deprecated.
v1.0.0 - March 2026
Initial release of the Contro Partner API.Endpoints
- Card Programs - list and retrieve available card programs
- Cardholders - create, list, get, update cardholders with KYC initiation and status
- Cards - issue, activate, freeze, unfreeze, cancel cards with spending limit management and transaction history
- Balance - check partner balance and list balance transactions
- Webhooks - configure webhook URL/secret/events, list delivery events, retry failed deliveries
- Usage & Billing - usage summaries and detailed records by billing period
Features
- API key authentication via
x-contro-api-keyheader with sandbox (sk_test_*) and production (sk_live_*) keys - Cursor-based pagination across all list endpoints
- HMAC-SHA256 webhook signature verification
- Rate limiting at 1,000 requests per minute
- Consistent error format across all endpoints