Void Referral
Void a referral with a reason code and a reason, for example when the referee is a fake or duplicate account. A void is final: the referral stays in the history, each of its Rewards is voided, later Events of the referee get no referral, and no new referral forms for the referee. A write applies at once. Needs the referrals:void key permission.
Authorization
WorkspaceApiKey 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
\S1 <= length <= 512Request 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/referrals/string/void" \ -H "Content-Type: application/json" \ -d '{ "operationKey": "string", "reasonCode": "fraud", "reason": "string", "projectId": "string" }'{ "success": true, "data": { "voidId": "string", "referralId": "string", "reasonCode": "fraud", "reason": "string", "actor": "string", "voidedAt": "string", "rewardIds": [ "string" ] }}Upsert Participant PUT
Registers the participant that the body names by kind and external ID: the call resolves it or creates it, and writes the name, email, and billing ID that the body gives. An ID that POST /v1/participants/rekey retired names the renamed participant, and the response gives its current external ID. A field that the body leaves out stays as it is; null clears a name or an email. The billing ID is the participant's customer ID in the Project's billing provider, which delivers account credit and discount Rewards; it is set once. A billing ID that differs from the participant's, or that another participant of the Project has, returns 409. A new billing ID makes the Rewards that wait for it due at once.
Void Reward POST
Void an earned Reward with a reason code and a reason. A void is final; the Reward stays in the history. A write applies at once. Needs the rewards:void key permission.