From the corporate account to spending tracking.
The API organizes corporate operations into separate resources, keeping account, cardholders, cards, purchases, statements and analytics within the same public contract.
Account, balance and limit.
Check the account status and availability and request limit top-ups.
Cardholders and cards.
Create cardholders, issue virtual or physical cards and apply usage rules.
Purchases, statements and analytics.
Track spending, cost centers, statements and analytical groupings.
Corporate account status
Activation is not done through the public API. The GET /corporate/cards/account endpoint remains available in any state to check the resource's current status.
Activation not yet requested.
The updated contract must be accepted in the IOPAY Account.
Request under review by the IOPAY team.
API operations available.
suspended status indicates the resource is unavailable for the account.Basic flow
Confirm that the resource is active.
Define identity, limit, interval and cost center.
Choose type, limit and merchant restriction when applicable.
Use purchases, statements, cost centers and analytics.
Create cardholder
{
"name": "NOME HOLDER",
"tax_id": "12345678909",
"amount": 1000,
"interval": "month",
"center_cost": "MeuCenterCost"
}Create card
{
"holder_id": "{{holder_id}}",
"name": "Google Ads",
"limit": 100000,
"interval": "month",
"type": "virtual",
"merchant": "GOOGLE"
}merchant defines a merchant restriction, not the card name. Use name as internal identification. Omitting merchant or sending null sets no restriction through this field.Resources and endpoints
| Area | Operations | Main route |
|---|---|---|
| Account | Status, balance, limit and top-up. | /corporate/cards/account · /balance · /recharge |
| Cardholders | List, get, create, update and cancel. | /corporate/cards/holders |
| Cards per cardholder | Get a holder's cards and purchases. | /holders/{holder_id}/cards · /purchases |
| Cards | List, get, create, update and retrieve sensitive data. | /corporate/cards · /{card_id}/secrets |
| Purchases | General listing and by card/cardholder. | /corporate/cards/purchases |
| Cost centers | Grouped spending and cost center details. | /corporate/cards/cost-centers |
| Statements | List, change due date and generate payment. | /corporate/cards/invoices |
| Analytics | Spending summary and groupings. | /corporate/cards/analytics |
Limits, cardholders and cost centers
Limit by rule.
The holder receives amount and interval day, week or month.
Virtual or physical.
Associate the card with the cardholder and define limit, interval and merchant restriction when necessary.
Context for the operation.
Group expenses and check purchases, amounts and cashback by cost center.
Resources and pagination
Success responses identify the resource by resource. Listings use a standardized envelope with items, limit, total, offset, has_more and query_count.
{
"resource": "list",
"sort": "time-descending",
"items": [],
"limit": 100,
"total": 0,
"offset": 0,
"has_more": false,
"query_count": 0
}limit and offset are supported in listings. The default limit is 100 and the maximum is 1000. In compatible queries, ?refresh=true updates the IOPAY base with the latest data from the issuing bank before responding.Statements and spending analytics
Due date and payment.
List statements, set the due day between 1 and 28 and generate the statement payment data, which may include brcode and link.
Consolidated spending.
Check total spent, number of purchases, cashback and groupings by category, cost center, cardholder and monthly evolution.
Card data
The GET /corporate/cards/{card_id}/secrets endpoint returns PAN, CVV, expiry and TTL when needed for the operation.
Public collection
The collection brings together the 23 documented endpoints, success examples and error examples for relevant account, top-up, cardholder and operation flows.

