Create a policy smart link
Creates https://<domain>/r/<slug>. Slug: 1-32 chars of [a-z0-9_-]; 'paid' and 'ftl' are reserved. Without an explicit policy the link starts with the default: paid/trial 50/50, trial served only to countries that have their own permanent trial link (everyone else gets paid). Requires a write-scoped key. Never contacts OnlyFans.
Authorization
bearerAuth Your al_live_<prefix>_<secret> API key. Mint and manage keys in the dashboard.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/api/admin/smartlinks" \ -H "Content-Type: application/json" \ -d '{ "domain": "string", "slug": "string" }'{ "id": 0, "domain": "string", "slug": "string", "name": "string", "policy": { "v": 1, "arms": { "paid": { "enabled": true, "weight": 1, "label": "string", "trial_days": 1, "require_country_link": true }, "ftl": { "enabled": true, "weight": 1, "label": "string", "trial_days": 1, "require_country_link": true } }, "geo": [ { "countries": [ "string" ], "arms": { "paid": { "enabled": true, "weight": 1, "label": "string", "trial_days": 1, "require_country_link": true }, "ftl": { "enabled": true, "weight": 1, "label": "string", "trial_days": 1, "require_country_link": true } } } ] }, "active": true, "url": "http://example.com", "created_at": 0, "updated_at": 0}{ "detail": { "code": "string", "message": "string" }}{ "detail": { "code": "string", "message": "string" }}List policy smart links
Lists your policy smart links — the /r/<slug> links that hold BOTH a paid and a trial destination and split traffic by policy (weighted, sticky per visitor, with per-country rules). Requires a read-scoped key.
Update a policy smart link
Replaces the routing policy, renames the link, or toggles it active. The policy is validated; routing picks changes up within about a minute. Requires a write-scoped key.