Sign a request
Use this before any other skill. It checks that the key, secret, and role path work.
When to use it
The operator has stored one dashboard key and secret. You need to know which role you are acting as. Replace {role} with client, influencer, or creator.
Request
GET /api/v1/affilink/{role}/me with an empty body. Send these headers on every call, including this one:
X-Api-Key— the dashboard keyX-Timestamp— Unix secondsX-Signature— lowercase hex HMAC-SHA256 of the payload
The payload is four lines joined by a newline: the uppercase method, the request URI (path and raw query), the timestamp, and the raw body. A GET signs an empty body. The timestamp must be within five minutes of the server.
GET /api/v1/affilink/influencer/me 1710000000
Keep
From data, keep role, account_id, sub_account_id, and display_name. role must match the path. There is no email or phone.
Stop
unauthorized,invalid_signature, ortimestamp_expired— fix the signature or the clock. Do not continue.permission_denied— that role’s sub-account is missing or inactive, or the client that owns the key is not active. Stop.- A 5xx or a network failure — retry with backoff. Do not retry a 4xx until the request changes.
Header details are also on Authentication.