Pre-registrations overview

.md

Reserve a referral link for someone before your platform goes live.

Affiliate pre-registration lets you collect affiliates before you launch. Someone leaves their email on your marketing site, and we reserve a referral link plus a claim code for them. The link is shareable straight away but stays inactive until they claim it on an account after launch.

The flow

  1. Your website posts an email address to create a pre-registration.
  2. We reserve a referral code, generate a claim code, and email both to them. The response also contains both, so you can show them immediately.
  3. Anyone visiting the reserved link before launch sees a branded page explaining that it is not live yet.
  4. After launch they create an account and enter the claim code on the affiliate page. The reserved code becomes the code of their default link, the first of the links they can share. It is the same /r/{code} address they were given.

The email address must match

A claim code only works on an account with the same email address it was issued to. Anything else would mean an intercepted code is enough to walk off with someone else's reserved link.

Reserved means reserved

Once a code is reserved it is never handed to anyone else, not even after the reservation is withdrawn. The link has already been shared, and reassigning it would send that traffic to the wrong affiliate.

Before you start

Pre-registration is off by default. Turn it on in your dashboard under Affiliate -> Affiliate program, with the Pre-launch reservations card. The Program tab on the same screen sets how long a claim code stays valid.

Endpoints

CreatePOST /v1/affiliates/pre-registrations
ListGET /v1/affiliates/pre-registrations
RetrieveGET /v1/affiliates/pre-registrations/{id}
ResendPOST /v1/affiliates/pre-registrations/{id}/resend
WithdrawDELETE /v1/affiliates/pre-registrations/{id}

The object

{
    "id": "aff_pre_zd95p9x9prp3cga9thjusesr",
    "object": "affiliate_pre_registration",
    "email": "[email protected]",
    "referral_code": "0WWI7YCQ",
    "referral_url": "https://acmefunded.com/r/0WWI7YCQ",
    "status": "pending",
    "source": "api",
    "metadata": { "name": "Jamie" },
    "created_at": "2026-08-03T17:44:13+00:00",
    "expires_at": "2026-09-02T17:44:13+00:00",
    "claimed_at": null,
    "last_sent_at": "2026-08-03T17:44:13+00:00"
}
FieldDescription
idUse this in every other endpoint
referral_codeThe reserved code
referral_urlThe shareable link
statuspending, claimed, revoked or expired
sourceapi or admin
metadataWhatever you sent, returned unchanged
expires_atNull when claim codes never expire

claim_code is only ever present on the response that created the reservation.