API reference
Cheggout's APIs are grouped into three product lines. Each has its own hosts and its own authentication scheme, so start by identifying which line your integration uses.
| Product line | Purpose | Auth | Hosts |
|---|---|---|---|
| Rewards Center | Headless scratch cards and rewards | Signed envelope + bearer tokens | rewardscenter.cheggout.com |
| Deals Store | Headless coupon catalogue and delivery | API key | hotdeals.cheggout.com |
| Bank & SDK server APIs | Sessions, SSO and bank-side issuance | Signed envelope | bankapi.cheggout.com |
Read API conventions first — it covers status codes, error shapes, idempotency and the response patterns that repeat across every endpoint.
Rewards Center API
Headless scratch cards. Two-phase issuance: create eligibility first, assign the reward at reveal.
| Endpoint | Method | Auth | Purpose |
|---|---|---|---|
getSecuredReferenceToken | POST | Signed envelope | Mint the channel-scoped token, hourly |
GetReward | POST | Bearer reference token | Create scratch cards for an event |
GetAuthToken | POST | Signed envelope | Mint a user-scoped token |
FetchRewardInfo | POST | Bearer user token | Reveal a card and return the reward |
GetAllScratchCardsByUserId | GET | Bearer user token | List a user's cards and rewards |
Hosts — Production https://rewardscenter.cheggout.com/api/ · UAT
https://rewardscenter-uat.cheggout.com/api/
GetReward takes the reference token; reveal and history take the user token. They are not
interchangeable. See Tokens.
Deals Store API
A cacheable coupon catalogue with delivery against your own coin or points economy.
| Endpoint | Method | Purpose |
|---|---|---|
getCatalogue | GET | The full offer catalogue — cacheable |
getCatalogueInventory | GET | Remaining stock per offer, 180s TTL |
fetchCouponCode | POST | Deliver a coupon to a user |
getUserCoupons | POST | A user's previously delivered coupons |
| Coupon status webhook | POST | You host this — coupon invalidation notices |
Hosts — Production https://hotdeals.cheggout.com/api/ · UAT
https://onerupee-store-api-stage.azurewebsites.net/api/
Auth — Authorization: CheggoutAppKey <APP_KEY>:<SEC_KEY> plus X-CHANNELID, from whitelisted
IPs.
Bank & SDK server APIs
Session creation for SSO, and bank-side server-to-server scratch card issuance.
| Endpoint | Method | Auth | Purpose |
|---|---|---|---|
GenerateSessionInfoV2 | POST | Signed envelope | Create a session for SDK or microsite launch |
GetScratchCardForBank | POST | Signed envelope | Issue a card after your backend verifies the order |
| Banners & stores | — | Via SDK — no separate credential | Advertisement placement content |
| Client Status API | GET | You define — see page | You host this — payment status lookups |
RegisterEvent / ExitEvent | POST | Signed envelope | Not available Not currently available |
Hosts — Production https://bankapi.cheggout.com/api/ · UAT
https://bankapi-uat.cheggout.com/api/
APIs you implement
Two contracts run in the opposite direction — Cheggout calls you:
- Coupon status webhook — a delivered coupon became invalid before its expected validity.
- Client Status API — Cheggout checks a payment's status during the deep payment flow.
Machine-readable specs
TBD No OpenAPI specification and no Postman collection is published for any Cheggout product line. Until one exists, these pages are the contract. Tracked in Open Items.
Conventions at a glance
- HTTPS only, JSON bodies, UTF-8.
- Server-to-server calls come from whitelisted IPs.
- Some responses carry status in the body, not only in the HTTP status line — always inspect the body. See conventions.
- "No reward" is a success, not an error.
{"status": false, "rewards": []}andBETTER LUCK NEXT TIMEare normal outcomes. - Field naming is not uniform across product lines. Each page states its exact keys, including case sensitivity.