Api

Revoke Reward

POST
/v1/rewards/{rewardId}/revocation

Records that your product took back a voided Reward that it had granted. Only a Reward whose delivery method is operator or manual and whose status is revocation_pending takes it; a cash Reward is never revoked. A repeat with the same facts returns the Reward; other facts return 409.

Authorization

WorkspaceApiKey
X-Api-Key<token>

Workspace-owned Better Auth API key of one environment (Sandbox or Live); it authorizes the Projects of that environment in its Workspace. A Project of the other environment returns 403 ENVIRONMENT_MISMATCH. Never expose it in the browser.

In: header

Path Parameters

rewardId*string
Match\S
Length1 <= length <= 512

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/rewards/string/revocation" \  -H "Content-Type: application/json" \  -d '{    "projectId": "string"  }'
{  "id": "string",  "projectId": "string",  "programId": "string",  "ruleId": "string",  "termsVersionId": "string",  "eventId": "string",  "beneficiaryRole": "referrer",  "beneficiary": {    "participantId": "string",    "kind": "individual",    "externalId": "string"  },  "benefitKind": "cash",  "money": {    "amountMinor": "string",    "netAmountMinor": "string",    "currency": "string",    "currencyExponent": -9007199254740991  },  "discount": {    "rateBps": -9007199254740991  },  "custom": {    "quantity": -9007199254740991,    "customUnitId": "string",    "unitKey": "string",    "unitName": "string",    "unitNamePlural": "string",    "validityDays": -9007199254740991  },  "earnedAt": "string",  "fulfillmentStatus": "pending",  "fulfillment": {    "id": "string",    "externalReference": "string",    "occurredAt": "string",    "actor": "console"  },  "revocation": {    "id": "string",    "externalReference": "string",    "occurredAt": "string",    "actor": "console"  },  "delivery": {    "method": "operator",    "status": "pending",    "reason": "awaiting_operator",    "providerReference": "string"  },  "void": {    "id": "string",    "reasonCode": "fraud",    "reason": "string",    "voidedAt": "string"  },  "success": true}