TEASEDocs
API ReferenceSmart Links

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
AuthorizationBearer <token>

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

POST
/api/admin/smartlinks
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"  }}