curl --request PUT \
--url https://api.onlyx.ai/v1/conversations/{conversationId}/ai \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"enabled": false
}
'import requests
url = "https://api.onlyx.ai/v1/conversations/{conversationId}/ai"
payload = { "enabled": False }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({enabled: false})
};
fetch('https://api.onlyx.ai/v1/conversations/{conversationId}/ai', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Switch the AI on or off for a conversation
Switches the AI chatter on or off for this one conversation. enabled: false sets the status to ai_off: the AI never answers this fan until it is switched back on. enabled: true gives the chat to the AI, which can reach the fan at once: the AI may immediately answer a waiting message, so confirm with a person first. The creator’s own AI switch still applies on top of this. Switching it on is refused with 503 SENDING_DISABLED while sending through the API is switched off.
Scope: requires inbox:write.
Rate limit: the general limit of 120 requests per 60 seconds per credential.
Idempotency: send an Idempotency-Key header to make retries safe: a replay within 24 hours returns the original response with Idempotent-Replayed: true.
Reaches fans: this operation can reach a real fan or change the live OnlyFans account. Confirm it with a person before calling it on their behalf.
curl --request PUT \
--url https://api.onlyx.ai/v1/conversations/{conversationId}/ai \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"enabled": false
}
'import requests
url = "https://api.onlyx.ai/v1/conversations/{conversationId}/ai"
payload = { "enabled": False }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({enabled: false})
};
fetch('https://api.onlyx.ai/v1/conversations/{conversationId}/ai', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));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>.
Headers
Optional. A unique value (8 to 64 letters, digits, - or _; a UUID is ideal) that makes a retry safe: the same key with the same request within 24 hours returns the stored response, with Idempotent-Replayed: true, instead of doing the work twice. The same key with a different request is 409 IDEMPOTENCY_KEY_REUSED; while the first request still runs it is 409 IDEMPOTENCY_IN_PROGRESS. A malformed key is 400 VALIDATION_ERROR.
8 - 64^[A-Za-z0-9_-]{8,64}$Path Parameters
The conversation id (cnv_…).
40Body
true gives the chat to the AI (it may answer a waiting fan at once); false switches the AI off for this chat.
Response
The updated conversation.
The creator whose inbox this conversation is in.
Who the creator is talking to.
Show child attributes
Show child attributes
The conversation id (cnv_…).
The latest message, or null for an empty conversation.
Show child attributes
Show child attributes
When the latest message was sent.
Who answers this chat. ai: the AI chatter. team: your team (the AI is paused on it until takenOverUntil). handoff: the AI handed it to your team and is silent until the hand-off is resolved. ai_off: the AI is switched off for this chat.
ai, team, handoff, ai_off While status is team: when the chat returns to the AI on its own. Otherwise null.
Everything this fan has spent on the creator, in cents.
Fan messages not yet marked read in OnlyX.