Campaigns
Issue Rewards
Issue rewards to users for a campaign variant
POST
Scope required:
rewards.issue202 Accepted response containing the issuance
job details. Use the
Get Issuance Job endpoint to poll
for completion status.
Best Practices for Event-Driven Workflows
While there is nothing preventing you from issuing rewards one user at a time, we strongly recommend batching identifiers into a single request whenever possible. Sending individual requests per user is significantly less efficient and may result in rate limiting under the global rate limits. Collect identifiers and submit them in batches of up to 10,000 per request for optimal throughput.Idempotency
This endpoint supports idempotent requests via theX-Idempotency-Key
header. When provided, duplicate requests with the same key return the
cached response from the original request. If the request body differs
from the original, a 422 Unprocessable Entity error is returned.
Parameters
string
required
Campaign ID
string
required
Merchant ID
string
required
Variant ID. Must belong to the specified campaign.
array
required
Array of user identifiers to issue rewards to (max 10,000)
string
Optional idempotency key to prevent duplicate issuance jobs.
Response
Returns202 Accepted with the issuance job object.
string
Issuance job ID
string
Campaign ID
string
Variant ID
string
Job state:
pending, processing, completed, or failedinteger
Total number of identifiers submitted
integer
Number of identifiers processed so far
integer
Number of rewards successfully issued
integer
Number of failed issuances
integer
Completion percentage (0-100)
datetime
Job creation timestamp (ISO8601)
datetime
Processing start timestamp (ISO8601), null if not started
datetime
Processing completion timestamp (ISO8601), null if not completed