Running your program
Your app calls these as users earn and redeem.
A program can run on the first row plus a webhook listener. With the program’s
on_unknown_participant left at CREATE (the default), the first event for a new external_id enrolls the participant, so there is nothing to create ahead of time. Card programs that hold value at authorization and settle later also do that through events: your backend forwards the authorization and settlement, and rules do the hold and release. See Balance operations.
The rest of the table comes in as your product shows balances, offers a catalog, or lets users send value to each other.
Everything else
Every other endpoint creates or changes the program itself: programs, assets, rules, tiers, rewards, automations, webhook endpoints, reports. The dashboard is the usual place to do that work, and it is built on the same API. Account setup is the exception and happens only in the dashboard: API keys, organizations, and the fulfillment account that pays for gift cards. That is what the rest of the reference is for. When you want a new program to start with the same rules, tiers, and rewards as your last one, or want your support tool to adjust a balance, or want liability numbers in your finance system, the same operations are there for your code. You don’t need them to launch. You have them when your program grows into your other systems.Next steps
Event processing
What to put in an event and what happens after you send it.
Webhooks
Register an endpoint and verify a signature.
API conventions
Pagination, idempotency, and error codes across every endpoint.