New: Application API docs
Pick the API you are reading here — the Merchant API for your own store, the Application API for partner apps.
For partner applications: browse merchants and products, hand customers a checkout link, and follow the orders it creates.
The API for partner applications. Each application is issued an app_id + app_secret pair and, optionally, a whitelist of the merchants it may reach. Every request is authenticated with an HMAC-SHA256 signature computed from the request and your app_secret.
All responses are JSON, and every endpoint requires authentication. Every path in this reference hangs off this base.
| # | Method | Path | Purpose |
|---|---|---|---|
| 1 | GET |
/merchants |
Your merchants, searchable, optionally nearest-first |
| 2 | GET |
/products |
Product search and browse |
| 3 | GET |
/products/{slug} |
One product |
| 4 | GET |
/categories |
Category tree with nested subcategories |
| 5 | GET |
/sub-categories |
Flat, paginated subcategories |
| 6 | GET |
/reels |
Shuffled reel feed |
| 7 | POST |
/checkout-tokens |
Seal a basket into a checkout link |
| 8 | GET |
/orders |
Orders created through your application |
| 9 | GET |
/orders/{id} |
One order |
| 10 | POST |
/orders/{id}/cancel |
Cancel a pending order |
| 11 | GET |
/reject-reasons |
Reasons accepted by the cancel endpoint |
| 12 | GET |
/states |
States and districts, for address pickers |
Plus order webhooks that we send to you.
Get your credentials.
Gini issues your application an app_id and app_secret, and tells you
which merchants, payment methods and grants it has.
Sign every request. Attach X-API-KEY, X-TIMESTAMP and X-SIGNATURE as described in Authentication — remember to sign the canonical query string.
Call the API. Start with a signed GET to /categories to confirm your signature works, then browse /merchants and /products and issue your first checkout token.