Partner Card API Changelog
Release notes for the Partner Card API. Dates reflect production availability at api.agiodigital.com/partner/cards/graphql. Changes land on the development environment (dev.api.agiodigital.com) first — test there before relying on new capabilities in production.
2026-08-24
- Agreement set bumped to
2026-08-24.1. Formatting-only fix to the International Card Terms: the fees block (foreign purchase and penalty fees) now renders as regular text instead of a raw code block. No terms, fees, or rights changed.2026-08-21.1,2026-07-26.1, and2026-07-24.1all stay accepted, so no partner is forced to change. If you present the international terms, re-fetch the canonical document and recompute itssha256at your next convenient change.
2026-08-21
- Agreement set bumped to
2026-08-21.1. The International Card Terms (card-terms-international) gain section 8.4, Cardholders in Nigeria: BANEX MICROFINANCE BANK LIMITED, licensed by the Central Bank of Nigeria, markets the card and owns CBN and Nigeria Data Protection Act compliance, while Agio handles customer service. No other document changed.2026-07-26.1and2026-07-24.1stay accepted, so no partner is forced to change. If you present the international terms, re-fetch the canonical document and recompute itssha256. See Consent attestation.
2026-08-14
- Card name fields validated before the issuer call.
createCardnow rejects invaliddisplayNameandshipping.firstName/shipping.lastNamevalues with aVALIDATION_ERRORnaming the field, the allowed pattern, and the offending characters, replacing the genericCARD_API_ERROR.displayNamematches^[a-zA-Z0-9 .-]+$(max 26 characters); shipping names match^[a-zA-Z -]+$(max 50). Accented and non-Latin characters are rejected: transliterate to ASCII ("Renée" becomes "Renee") before submitting. No card is created on a validation failure, so a corrected retry is always safe. See the error reference.
2026-08-04
card_application.status_changedgainsnextStepandreasonDescription. Both are optional and additive, so a receiver that ignores them behaves as before.nextStepisRESUBMIT,AWAIT_REVIEW,TERMINAL, or null, and tells you whether the cardholder can correct and retry, whether a decision is still pending, or whether the outcome is final.reasonDescriptioncarries a reviewer comment when one is present, which is uncommon, so do not depend on it being populated. See the updated delivery shape.
2026-07-29
- Agreement set bumped to
2026-07-26.1. The only change is Agio's registered office address, now 45 West Bay Street, Manx Corporate Centre, 4th floor, Nassau, New Providence, The Bahamas. It affectscard-terms-us,privacy-policy, andterms-of-use. No terms, fees, or rights changed.2026-07-24.1is still accepted, so partners on it need no change. Going forward, the previous agreement version stays accepted alongside each new one, so a version bump will not break an in-flight integration.
2026-07-24
- Reference table for all agreement documents separated from the selection guide. The full document list (all program types) is now its own labeled reference section, distinct from the per-residency selection table. See Consent attestation.
- Agreement selection clarified. The document list is a catalog, not a cumulative set. US cardholders accept the US Card Terms and US Account Opening Privacy Notice; non-US cardholders accept the International Card Terms.
card_company_iddoes not change the application type. See Consent attestation.
2026-07-20
- Canonical agreement documents published for hashing. Each document in
agreementsAcceptance.documentHashesis now served as raw markdown at its ownhttps://www.agiodigital.com/<slug>.mdURL. Fetch the document and SHA-256 its bytes to produce thesha256you relay — the guide lists thedocumentHasheskey → URL mapping. See Consent attestation.
2026-07-17
- Consent attestation added to
createCardApplicationForPartnerUser. NewagreementsAcceptanceinput relays verifiable evidence of cardholder consent (agreement version, document hashes, acceptance timestamp). From 2026-07-20 this field is required — omitting it returnserrorCode: "ATTESTATION_REQUIRED"; invalid evidence fails with a validation error.isTermsOfServiceAcceptedremains for backward compatibility but is now legacy. See Consent attestation.
2026-07-13
paymentevents now carrypostedAt.card_transaction.*deliveries andAgioCard_card_transactionrows withtransactionType: "payment"now populatepostedAton posting; it previously shippednullon every payment row. Historical rows were backfilled from the original webhook payload where the processor had already reported a posted date.cardCompanyIdnow derived for partner cardholders on all transaction events.card_transaction.*deliveries for partner-cardholder cards now carry a populatedcardCompanyId(previouslynulloutsidefeerows), derived server-side from the cardholder'scard_user/card_applicationlinkage. Historical rows were backfilled the same way. See the updated delivery shape example.- Field-availability matrix added. The guide now documents which
datafields are populated pertransactionType(spend/collateral/payment/fee), including which fields arenullby design — see Field availability by transaction type. - Collateral and payment event semantics explained. New guide section covering how collateral events originate (your funding and withdrawals — the sign of
amountis the direction), howpaymentevents settle accrued card spend automatically from the cardholder's collateral, and the one-balance-many-cards model behind both — see Understanding collateral and payment events. - Webhook starter kit updated for per-type card linkage. The starter kit README and demo receiver now reflect that card linkage is spend-only: wallet-level events (
collateral/payment) are matched viacardUserId/cardCompanyId, per the field-availability matrix.
2026-07-10
- New
patchPartnerCardUsermutation. Correct a cardholder's PII — including any address field — at any point before an application is submitted. Only the fields you supply change; the address is re-validated as a merged set. See Correct a cardholder before applying. - Earlier, clearer onboarding validation.
createPartnerCardUsernow validates required fields on submission — blank values and malformed country codes returnVALIDATION_ERRORnaming each field in a single response — andcreateCardApplicationForPartnerUserreturnsINCOMPLETE_ADDRESSlisting any missing address fields, so issues surface before the application call. See the error reference. - Active-card limit documented. The guide now states the per-cardholder active-card limit (3 active cards within a rolling 90-day window on the developer tier) and the error returned when it's reached. See Active-card limit.
2026-07-09
- Card transaction webhook payload fixed and enriched.
card_transaction.*deliveries previously shippedcardId,externalId, andoccurredAtas always-null; those fields are replaced by correctly-populated identifiers (cardId,cardExternalId,cardTransactionExternalId,cardUserId,webhookEventId) and the payload now carries the full transaction record — merchant name/location/category, original amount and currency (localAmount/localCurrency, integer minor units),authorizedAt/postedAt, and more — so a delivery is self-sufficient with no follow-up API call. Deliveries now match what your API token can query onAgioCard_card_transaction. See the updated delivery shape. - Webhook starter kit updated. The starter kit receiver now demonstrates per-event routing for
card_transaction.*events.
2026-07-06
createCardreliability in production. The card-program product configuration is now always applied server-side, resolving intermittentcreateCardfailures (body is missing required property 'configuration'). No change is required on your side — continue sendingcardApplicationIdandcardTypeas documented.
2026-07-01
- Card transaction webhooks are live.
subscribePartnerWebhooknow delivers real-time transaction events alongside application events:CARD_TRANSACTION_AUTHORIZED,CARD_TRANSACTION_SETTLED,CARD_TRANSACTION_DECLINED, andCARD_TRANSACTION_REVERSED. Subscription setup, payload shapes, and signature verification are documented under Webhook subscriptions. - Card dispute management. New
cancelCardDisputemutation plus dispute lifecycle webhook events for partner-organization cards. - Rate limits documented. The guide now includes the full rate-limit reference.
2026-06-19
- Treasury funding and withdrawals. Partner organizations can fund card programs and withdraw collateral via the API; the new
cardFundSubClientStatusquery reports sub-client funding status. See Funding cards and Withdrawing collateral.
2026-06-18
- Batch distributions. New
partnerMultisendmutation distributes funds to many cardholders in one call, with smart-wallet lookup support. See Multisend.
2026-06-01
- Webhook endpoint requirements clarified. Receiving URLs must be publicly reachable; the webhook onboarding guide was expanded accordingly.
2026-05-29
- Webhook starter kit. Downloadable starter kit with Express and Bun receiver templates, plus a registry of all subscribable event types.
2026-05-26
- Onboarding additions.
createCardApplicationForPartnerUseracceptspartnerKycShareToken(share an existing KYC verification) and acreateWalletflag to provision a wallet at card signup. Do not pass an organization ID when provisioning cardholders — it is derived from your API client automatically.
2026-05-19
- Initial general availability of the Partner Card API: HMAC-signed GraphQL endpoint, cardholder onboarding (KYC + application), virtual card issuance, and application webhooks. Start with the Quickstart.
2026-05-15
- Application tracking. Card application responses now include
cardApplicationIdfor tracking an application through review.