Server Keys require offers:grant and a merchant customerId. The source candidate also accepts identified Customer self-claims with offers:resolve and no customerId, only for Coupons with self-claim enabled. Reuse the original requestId.
API v1Updated
Make the request
Server Keys require offers:grant and a merchant customerId. The source candidate also accepts identified Customer self-claims with offers:resolve and no customerId, only for Coupons with self-claim enabled. Reuse the original requestId.
Credential
Server API key or customer token. Customer calls cannot select another customer.
Permission
offers:grant
Set the base URL and App ID from SDK setup. These examples use placeholders and do not execute requests. Never put a server key in browser code.
The response tab lists field types, not an example payload. Actual values depend on customer state.
Request parameters
JSON body
customerIdstringOptional
Indiana customer ID mapped from a verified identity on the server. Omit for customer-token calls, which use the token-bound customer.
minLength: 1 · maxLength: 255
couponIduuidRequired
Coupon UUID in the current App and environment.
requestIduuidRequired
Business request UUID. Reuse for retries of one operation; generate a new value for a new operation.
couponContentDigeststringOptional
The couponContentDigest value for this operation. Its accepted type and constraints are listed above and below.
pattern: ^[a-f0-9]{64}$
Response fields
Successful responses include requestId and scope. Use the actual business status or accepted field to determine the result. Optional fields are omitted when unavailable.
HTTP 200 · application/json
requestIduuidRequired
Server-generated HTTP request UUID. Include it when reporting a failed request.
scopeobjectRequired
The App and environment of this response. Headers only verify scope; they cannot switch key scope.
Show child fields
projectIdstringRequired
App ID bound to the credential.
minLength: 1
environmentenumRequired
Separate data scope: sandbox or live.
Show allowed values
"sandbox""live"
offerobject | nullRequired
The offer value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
iduuidRequired
The id value for this operation. Its accepted type and constraints are listed above and below.
couponIduuidRequired
Coupon UUID in the current App and environment.
statusenumRequired
The status value for this operation. Its accepted type and constraints are listed above and below.
Show allowed values
"issued""reserved""redeemed""revoked""expired"
issuedAtdate-timeRequired
The issuedAt value for this operation. Its accepted type and constraints are listed above and below.
expiresAtdate-timeRequired
ISO 8601 UTC expiry. Expired sessions and reservations cannot be reused.
couponobjectRequired
The coupon value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
namestringRequired
Display name of the customer or object; not an identity key.
discountobject | objectRequired
The discount value for this operation. Its accepted type and constraints are listed above and below.
Show child fields
type"percent" | "amount"Required
The type value for this operation. Its accepted type and constraints are listed above and below.
percentOffintegerOptional
The percentOff value for this operation. Its accepted type and constraints are listed above and below.
min: 1 · max: 100
amountOffCentsintegerOptional
The amountOffCents value for this operation. Its accepted type and constraints are listed above and below.