Skip to main content

API Reference Overview

Every endpoint reachable with API client credentials. Configuration endpoints — programs, templates, users — are administrator-only and are not listed here; see Authentication for the full boundary.

Base URLs

The Incentives service is deployed separately from the Delivery Partner API, on its own hosts.

EnvironmentBase URL
UAT (Testing)https://stage-platform-exlr8-incentives.exlr8now.com
Productionhttps://prod-platform-exlr8-incentives.exlr8now.com

Examples throughout these pages use the UAT host. Switch to the production host only once your integration is verified.

Endpoints

No.API NameMethodEndpoint
1Issue Gift CardPOST/v1/giftCards
2Gift Card InquiryPOST/v1/giftCards/inquiry
3Get Gift Card By IDGET/v1/giftCards/{giftCardId}
4List Gift CardsGET/v1/giftCards
5Create TransactionPOST/v1/giftCards/transactions
6Get Transaction By IDGET/v1/giftCards/transactions/{transactionId}
7List TransactionsGET/v1/giftCards/transactions
8Issue CouponPOST/v1/coupons
9Validate CouponPOST/v1/coupons/validate
10Redeem CouponPOST/v1/coupons/redeem
11Get Coupon By IDGET/v1/coupons/{couponId}
12List CouponsGET/v1/coupons

Authentication

All requests require both credential headers:

X-Client-Id: YOUR_CLIENT_ID
X-Client-Secret: YOUR_CLIENT_SECRET
Content-Type: application/json

Common response patterns

Success

{
"success": true,
"data": { }
}

Paginated

{
"success": true,
"data": [],
"pagination": {
"nextCursor": "eyJpZCI6IjliMmM0ZDZlIn0",
"hasMore": true
}
}

Query parameters on every list endpoint:

ParameterTypeDescription
limitIntegerDefault 15, maximum 100, -1 for unlimited
nextCursorStringOpaque cursor from the previous page

Error

{
"success": false,
"errCode": "GC_EXPIRED",
"message": "Gift card has expired"
}

Branch on errCode. See Error Codes.

Status codes

CodeMeaning
200 OKRead, validation, or coupon redemption succeeded
201 CreatedAn instrument or transaction was created
400 Bad RequestMalformed body, failed validation, or an unknown field
401 UnauthorizedMissing or invalid credentials
403 ForbiddenAuthenticated, but not permitted for this role
404 Not FoundNo such resource within your merchant
409 ConflictWrite contention (VERSION_MISMATCH), or a rare idempotency race — both retryable
422 Unprocessable EntityA business rule rejected the request
500 Internal Server ErrorPlatform fault — safe to retry with the same idempotency key

Note the asymmetry on the two redemption paths: a gift card transaction returns 201 Created because it creates a ledger entry, while a coupon redemption returns 200 OK.

Conventions

  • Money is a JSON number, rounded to two decimal places.
  • Timestamps are RFC 3339 in UTC (2026-08-25T11:42:07Z).
  • IDs are UUID v4.
  • Currency comes from the campaign; you never send it.
  • Unknown fields are rejected with 400 BAD_REQUEST.
  • Merchant scope is implicit — never send a merchant ID.