PilotFoxDocs

Update an affiliate

PATCH
/api/v1/sites/{siteId}/affiliates/{id}

Changes the fields sent, with the rules of creating one (409 for a slug the site already has).

Requires affiliates:write on the site (an API key, or a signed-in member's role). Share links: 401.

Authorization

headerx-api-key<token>

An organization API key (ak_…), with the permissions and the sites it was created with. For servers and scripts: no cookie and no Origin check. Also accepted as Authorization: Bearer ak_… (apiKeyBearer). A request carries one credential: a key sent with a share token or a live session cookie is 400 (details.reason: ambiguous_credentials).

Scope: affiliates:write

Path Parameters

siteId*string
id*string
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Request Body

application/json
  1. body
name?string
Length1 <= length <= 80
slug?string

Normalized as ingest normalizes the link's value: lowercased, only a-z 0-9 _ - kept, cut to 64

Lengthlength <= 256
commissionPercent?number
Range0 <= value <= 100

Response Body

OK

application/json
  1. response
data*
Example Request
curl -X PATCH 'https://pilotfox.app/api/v1/sites/string/affiliates/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response200
{  "data": {    "id": "string",    "name": "string",    "slug": "string",    "commissionPercent": 0,    "shareEnabled": true,    "createdAt": "string",    "updatedAt": "string"  }}