curl --request GET \
--url https://api.onlyx.ai/v1/creators/{creatorId}/ai-content \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onlyx.ai/v1/creators/{creatorId}/ai-content"
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}/ai-content', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"collections": [
{
"active": true,
"description": "A slow tease that ends in the shower.",
"folderId": "fld_1a2b3c4d5e6f7a8b9c0d",
"id": "col_2b3c4d5e6f7a8b9c0d1e",
"levelCount": 2,
"mode": "sequential",
"name": "Shower set",
"position": 1
}
],
"creatorId": "cre_8f2c1a9b0d7e4c3f2a1b",
"folders": [
{
"collectionCount": 1,
"id": "fld_1a2b3c4d5e6f7a8b9c0d",
"name": "Sexting",
"position": 1
}
],
"levels": [
{
"active": true,
"availableInPaidMessages": true,
"collectionId": "col_2b3c4d5e6f7a8b9c0d1e",
"description": "Two selfies in a towel.",
"free": true,
"highlight": "the one where I get ready",
"id": "set_3c4d5e6f7a8b9c0d1e2f",
"name": "Opener",
"paid": [],
"position": 1,
"preview": [
{
"durationSeconds": null,
"id": "4498297883",
"thumbnailUrl": "https://api.onlyx.ai/v1/creators/cre_8f2c1a9b0d7e4c3f2a1b/media/4498297883/thumbnail",
"type": "photo"
}
],
"priceCents": 0,
"stats": {
"purchased": 0,
"revenueCents": 0,
"sent": 40
},
"tags": [
"Solo",
"Teasing"
]
},
{
"active": true,
"availableInPaidMessages": true,
"collectionId": "col_2b3c4d5e6f7a8b9c0d1e",
"description": "Four-minute shower video.",
"free": false,
"highlight": null,
"id": "set_4d5e6f7a8b9c0d1e2f3a",
"name": "Shower video",
"paid": [
{
"durationSeconds": 241,
"id": "4498297884",
"thumbnailUrl": "https://api.onlyx.ai/v1/creators/cre_8f2c1a9b0d7e4c3f2a1b/media/4498297884/thumbnail",
"type": "video"
}
],
"position": 2,
"preview": [],
"priceCents": 1500,
"stats": {
"purchased": 9,
"revenueCents": 13500,
"sent": 31
},
"tags": [
"Shower"
]
}
],
"vault": {
"assigned": 3,
"total": 512,
"unassigned": 509
}
}Get the AI content board
Returns everything the AI chatter can sell for this creator: folders, ladders (collections), their priced levels (sets) with preview and paid media, and how much of the vault is used. Each level’s stats are AI-attributed: they count what the AI chatter offered and sold, not your team’s sales. Read it before changing anything, and after every change to verify prices: a level with priceCents: 0 is free and gives its media away.
Scope: requires ai: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}/ai-content \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onlyx.ai/v1/creators/{creatorId}/ai-content"
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}/ai-content', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"collections": [
{
"active": true,
"description": "A slow tease that ends in the shower.",
"folderId": "fld_1a2b3c4d5e6f7a8b9c0d",
"id": "col_2b3c4d5e6f7a8b9c0d1e",
"levelCount": 2,
"mode": "sequential",
"name": "Shower set",
"position": 1
}
],
"creatorId": "cre_8f2c1a9b0d7e4c3f2a1b",
"folders": [
{
"collectionCount": 1,
"id": "fld_1a2b3c4d5e6f7a8b9c0d",
"name": "Sexting",
"position": 1
}
],
"levels": [
{
"active": true,
"availableInPaidMessages": true,
"collectionId": "col_2b3c4d5e6f7a8b9c0d1e",
"description": "Two selfies in a towel.",
"free": true,
"highlight": "the one where I get ready",
"id": "set_3c4d5e6f7a8b9c0d1e2f",
"name": "Opener",
"paid": [],
"position": 1,
"preview": [
{
"durationSeconds": null,
"id": "4498297883",
"thumbnailUrl": "https://api.onlyx.ai/v1/creators/cre_8f2c1a9b0d7e4c3f2a1b/media/4498297883/thumbnail",
"type": "photo"
}
],
"priceCents": 0,
"stats": {
"purchased": 0,
"revenueCents": 0,
"sent": 40
},
"tags": [
"Solo",
"Teasing"
]
},
{
"active": true,
"availableInPaidMessages": true,
"collectionId": "col_2b3c4d5e6f7a8b9c0d1e",
"description": "Four-minute shower video.",
"free": false,
"highlight": null,
"id": "set_4d5e6f7a8b9c0d1e2f3a",
"name": "Shower video",
"paid": [
{
"durationSeconds": 241,
"id": "4498297884",
"thumbnailUrl": "https://api.onlyx.ai/v1/creators/cre_8f2c1a9b0d7e4c3f2a1b/media/4498297884/thumbnail",
"type": "video"
}
],
"position": 2,
"preview": [],
"priceCents": 1500,
"stats": {
"purchased": 9,
"revenueCents": 13500,
"sent": 31
},
"tags": [
"Shower"
]
}
],
"vault": {
"assigned": 3,
"total": 512,
"unassigned": 509
}
}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's folders, ladders, levels with their media, and vault usage.
A creator's whole AI content setup. Every AI content write returns the updated board.
Ladders, by position.
Show child attributes
Show child attributes
The creator this board belongs to.
Folders, by position.
Show child attributes
Show child attributes
Every level of every ladder, by ladder and then by rung.
Show child attributes
Show child attributes
How much of the vault the ladders use.
Show child attributes
Show child attributes