curl --request GET \
--url https://api.onlyx.ai/v1/creators/{creatorId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onlyx.ai/v1/creators/{creatorId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.onlyx.ai/v1/creators/{creatorId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"aiEnabled": true,
"avatarUrl": "https://media.example.com/avatars/miarose.jpg",
"connection": {
"connected": true,
"status": "connected"
},
"contentConsentRequired": false,
"createdAt": "2026-03-02T09:15:44.000Z",
"displayName": "Mia Rose",
"handle": "miarose",
"id": "cre_8f2c1a9b0d7e4c3f2a1b",
"onlyfans": {
"photosCount": 1540,
"postsCount": 812,
"subscribePriceCents": 999,
"userId": "412345678",
"verified": true,
"videosCount": 230
},
"platform": "onlyfans",
"publicName": "Mia",
"readiness": {
"checks": [
{
"hint": null,
"key": "connection",
"label": "OnlyFans connected",
"ok": true
},
{
"hint": null,
"key": "persona",
"label": "Persona",
"ok": true
},
{
"hint": "Add the things she never does.",
"key": "limits",
"label": "Hard limits",
"ok": false
},
{
"hint": null,
"key": "fans",
"label": "Fans synced",
"ok": true
},
{
"hint": "Add a priced level with media to her AI content.",
"key": "content",
"label": "Content mapped",
"ok": false
}
],
"ready": false
},
"stats": {
"conversations": 1912,
"fans": 2841,
"openHandoffs": 2,
"pendingCents": 96420,
"revenueCents": 1284350,
"revenueKnown": true,
"unreadConversations": 14
}
}Get a creator
Returns one creator plus readiness: whether she is set up well enough for the AI chatter to chat and sell (OnlyFans connected, persona, hard limits, fans synced, content mapped), with a hint for each check that fails. Use it after onboarding to see what is still missing. Reading a creator never changes anything. An id from another workspace, or one this credential is not allowed to see, is 404 CREATOR_NOT_FOUND, exactly like an id that does not exist.
Scope: requires creators:read.
Rate limit: the general limit of 120 requests per 60 seconds per credential.
curl --request GET \
--url https://api.onlyx.ai/v1/creators/{creatorId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onlyx.ai/v1/creators/{creatorId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.onlyx.ai/v1/creators/{creatorId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"aiEnabled": true,
"avatarUrl": "https://media.example.com/avatars/miarose.jpg",
"connection": {
"connected": true,
"status": "connected"
},
"contentConsentRequired": false,
"createdAt": "2026-03-02T09:15:44.000Z",
"displayName": "Mia Rose",
"handle": "miarose",
"id": "cre_8f2c1a9b0d7e4c3f2a1b",
"onlyfans": {
"photosCount": 1540,
"postsCount": 812,
"subscribePriceCents": 999,
"userId": "412345678",
"verified": true,
"videosCount": 230
},
"platform": "onlyfans",
"publicName": "Mia",
"readiness": {
"checks": [
{
"hint": null,
"key": "connection",
"label": "OnlyFans connected",
"ok": true
},
{
"hint": null,
"key": "persona",
"label": "Persona",
"ok": true
},
{
"hint": "Add the things she never does.",
"key": "limits",
"label": "Hard limits",
"ok": false
},
{
"hint": null,
"key": "fans",
"label": "Fans synced",
"ok": true
},
{
"hint": "Add a priced level with media to her AI content.",
"key": "content",
"label": "Content mapped",
"ok": false
}
],
"ready": false
},
"stats": {
"conversations": 1912,
"fans": 2841,
"openHandoffs": 2,
"pendingCents": 96420,
"revenueCents": 1284350,
"revenueKnown": true,
"unreadConversations": 14
}
}Authorizations
An API key (onx_sk_…) created in OnlyX under Settings → API & MCP, or an OAuth access token (onx_at_…) issued to a connected app. Send it as Authorization: Bearer <credential>. API keys may also be sent as X-API-Key: <key>.
Path Parameters
The creator id (cre_…).
Response
The creator, with the readiness checks for the AI chatter.
The creator's master AI switch. false means the AI chatter answers none of her fans.
Her OnlyFans avatar, once connected.
Headline connection state. GET /v1/creators/{creatorId}/connection has the detail.
Show child attributes
Show child attributes
true when OnlyFans is asking her to accept its content-consent prompt; media sends fail until she does it in OnlyFans. null when not known yet.
When the creator was added to OnlyX (ISO-8601 UTC).
Your team's label for the creator. Set by you, never changed by OnlyFans.
Her OnlyFans username, without @. Replaced by the real username once she connects.
The creator id (cre_…).
Profile facts read from OnlyFans. null until she has connected once.
Show child attributes
Show child attributes
Always onlyfans for creators added through the API in v1. telegram is reserved for Telegram creators, which are coming soon, so code that reads this should expect more than one value.
onlyfans, telegram The display name on her OnlyFans profile, once connected.
Show child attributes
Show child attributes
Headline numbers, cheap to read.
Show child attributes
Show child attributes