- Creating a virtual card with spend limits
- Restricting a card to specific merchants or categories
- Freezing, updating, and revoking a card
- Reviewing transactions and spend
Prerequisites
- A Meow account with at least one enabled bank account
- API key permissions:
- Reading cards and transactions:
cards:read - Creating and modifying cards:
cards:write - Sandbox simulations:
simulations:write
- Reading cards and transactions:
Authentication Overview
The headers you send depend on the type of API key:- Entity API keys scope all requests to a single entity. No
x-entity-idheader is required. - Global API keys can access multiple entities, and every request must include an
x-entity-idheader identifying the entity. UseGET /v1/api-keys/accessible-entitiesto discover which entities you can access.
Card lifecycle
A card moves through a small number of states, reported asstatus on the card:
Create a card
spending_controls and nickname are required. Within spending_controls, only per_transaction_limit is required. All limits are in whole dollars.
card_id. Every other card operation uses it.
Spend limits
Each limit resets on its own schedule. Combine them to cap both a single purchase and a period of spend.Limits are a ceiling on the card, not a reservation of funds. The combined limits across your cards can exceed your account balance, and each authorization is checked against your available balance at the moment it happens. A card within its own limit is still declined if the account cannot cover the transaction.
Optional fields
single_use— revoke the card automatically after its first authorization.expires_at— the card stops working at this time. It is not revoked automatically, so revoke it explicitly when you are done.debit_account— the account the card draws from, as acash_account_id from List Accounts. Omit to use the default.purpose— a memo for your own records, recorded on the card’s audit trail. It is never shown to the merchant.
Restrict where a card can be used
By merchant
Fetch merchant IDs first, then reference them inspending_restriction. Use allow to limit the card to those merchants, or block to bar them.
type set to allow, the card authorizes only at those merchants. With block, it is refused at them and allowed everywhere else.
By category
allowed_categories limits the card to a set of merchant categories, such as Software, Meals, or Advertising. Omit it to allow every category.
Retrieve the card number
Card numbers are returned through a single-use reveal URL rather than by the endpoint you call. See the Card Numbers guide for the full flow.Update a card
PATCH /v1/cards/{card_id} changes one or more fields. Everything is optional, so send only what you want to change.
Freeze a card by setting status to inactive, and unfreeze it with active:
spending_controls and spending_restriction are replaced, not merged, so send the complete object you want:
Revoke a card
Revoking is permanent. The card moves toclosed and cannot authorize again.
Review cards and spend
List cards, with optional filters and pagination. Use thenextOffset from the response to page:
- Get Card — a single card’s status, last four, and restrictions.
- Get Card Limits — limits alongside spend against them.
- Get Card Details — billing address, debit account, and for physical cards a tracking URL.
- Card Spending Insights — spend grouped by merchant.
Test in sandbox
Cards do not need a real merchant to exercise. In sandbox, simulate the authorization lifecycle with thesimulations:write scope:
1
Authorize
POST /v1/simulations/card_authorizations creates a pending authorization against a card.2
Capture
POST /v1/simulations/card_authorizations/{authorization_id}/capture settles it into a transaction.3
Increment or reverse
.../increment raises the authorized amount. .../reverse releases it, as a merchant does when cancelling an order.4
Refund
POST /v1/simulations/card_transactions/{transaction_id}/refund refunds a settled transaction.Next steps
Card Numbers
Retrieve the full card number, CVC, and expiration.
Webhooks
Receive card and transaction events as they happen.
Create Card
Full request and response reference.
Authentication
API key types, scopes, and the
x-entity-id header.