Offer Codes
How SheerID delivers reward (offer) codes to verified users through the API — the reward strategies, the response fields, what happens when a code pool runs out, and how to upload codes in MySheerID.
Overview
Offer codes (also called reward codes) are the discount or reward you hand a user after a successful verification. SheerID stores the codes configured for your program and returns the right one through the API — and in the confirmation email — the moment a user is verified. Using codes lets a verified consumer redeem your offer on any purchase platform without custom software.
Reward strategies
A program issues codes using one of these strategies, configured in MySheerID:
| Strategy | What it does |
|---|---|
rewardPool |
A pool of unique codes you upload. SheerID issues one unique code per verified user until the pool is empty. |
staticCode |
A single shared code returned to every verified user. |
autogenCode |
SheerID auto-generates a unique code for each verified user. |
noCode |
No code is returned (you reward verified users some other way). |
How a code reaches a verified user
When a verification reaches the success step, the response carries the reward:
{
"verificationId": "111111111111111111111111",
"currentStep": "success",
"rewardData": { "rewardCode": "EXAMPLE-CODE" },
"rewardCode": "EXAMPLE-CODE",
"errorIds": [],
"segment": "student"
}
rewardData(preferred) — an object mapping reward keys to values. It supports multiple codes/values per verification (up to 20 entries). For a single-reward program the key isrewardCode.rewardCode(deprecated) — the single reward code, kept for backward compatibility. New integrations should readrewardData.
You can read the same fields later from Verification Details under lastResponse — which is how you retrieve the code when you act on a webhook from your backend.
PROTECTED_ONLY, the code is omitted from the public verification response and returned only from the token-protected Verification Details endpoint and the confirmation email. In that case, read it from your authenticated backend.
Enforce single use
Codes drawn from a pool are unique per user, but SheerID does not redeem them for you. Configure your codes as single-use strings and make sure your purchase platform prevents a code from being redeemed more than once.
When the pool runs out
For a rewardPool program the supply is finite. As the pool drains, SheerID emails your Reward Admins a low-pool warning. If a verification succeeds but no codes remain, the verification will either:
- return the
noRemainingRewardCodeserror on theerrorstep, or - route the user to the
consolationstep, if you have configured a consolation reward.
Upload more codes before the pool empties so eligible users are never blocked.
Upload codes in MySheerID
Code pools are managed in MySheerID — there is no public API for uploading or managing codes.
- Log in to MySheerID and open your program from the Programs list.
- On the Offer Delivery card, click Edit.
- Click Upload codes.
- Choose whether to add the codes to the existing pool or replace the pool entirely.
- Select your CSV file.
- Review the Upload Results confirmation, then Save the program.
CSV requirements:
- A single column of codes with a header row.
- File under 10 MB. Split uploads larger than 100,000 codes into separate batches.
- MySheerID automatically removes duplicate codes during upload.
For the full customer-facing walkthrough, see Creating and uploading offer codes.
Related
- REST API — run a verification end to end.
- Setting Up Webhooks — get notified on success, then read the code from your backend.
- Verification Details — fetch
rewardDataafter verification. - Reward barcode — render a barcode for an issued reward code.