sone centraldocs
Try the interactive chat

Sample store

Sone assistant

Hello! Ask me about linen shirts, shipping or our size guide.

Uses sample data; does not start a real conversation.

Limits

Request limits, automatic replies, conversations, messages, stored responses, files and keys.

Request limits

KeyLimit
Server key120 requests per minute per key, including reads
Publishable key30 requests per minute per visitor address, including reads; a total of 1,200 requests and a separate 20,000 reads per hour per key

Reads are all GET requests: GET /key, GET /models, stored responses and input items, conversation state and messages, and GET /chat/{id}/stream. Sending messages (POST /chat/completions, POST /responses, POST /chat), DELETE /responses/{id} and POST /responses/{id}/cancel count toward the 1,200 hourly non-read limit.

The two hourly publishable-key limits are independent. Polling team replies does not consume the sending allowance and continues even if sending reaches its limit. One widget polling every five seconds makes 720 reads/hour, allowing about 27 simultaneous visitors waiting for team replies per key. Increase the interval for more visitors: Polling frequency.

A visitor address is an IPv4 address or an IPv6 /64 block. People sharing an address count as one visitor. Each publishable key serves at most 2,000 distinct visitor addresses per minute; this restriction delays only new visitors to that key.

Limits use sliding windows. Exceeding a limit returns 429 rate_limit_exceeded; Retry-After specifies the wait in seconds. Every request except GET /files/{id} counts. Pause polling in background tabs.

Automatic reply limit

API assistant replies are limited per workspace. Defaults are 60 turns/hour and 300/day. All publishable keys together share at most 40 turns/hour and 200/day within that total. The remaining capacity is reserved for server keys: even if the website uses its entire share, server requests retain at least 20 turns/hour and 100/day. Sonecentral may change these values; GET /key returns current limits.

These limits prevent abuse or a faulty loop from affecting your other channels. WhatsApp and other channels have separate reply limits. The publishable-key share prevents a public website key from consuming your server-key allowance.

When the workspace limit or publishable-key share is reached, the assistant does not reply. The request returns 429 ai_turn_ceiling, x-should-retry: false and Retry-After: 300. In an existing conversation, the message still reaches your team with a note. Tell the visitor your team will reply. See When the assistant cannot reply.

Conversations and messages

ItemLimit
New visitor message4,000 characters
New visitor messages per request12
Visitor messages per conversation200
History imported into a new conversationLast 40 messages, up to 4,000 characters each
Request body1 MB
Developer context2,000 characters; server keys only
Idempotency-Key200 characters; longer values are ignored
First-message retry lookup10 minutes
Concurrent turns in one conversationOne; a second returns 409 conversation_busy
Conversation message pageMaximum 100, default 50

Responses

ItemLimit
Stored response lifetime30 days
metadata16 keys, key length 64 characters, string value length 512 characters, total JSON size 4 KB
instructions2,000 characters and 4 KB JSON; ignored and not stored for publishable keys
Stored input itemsOnly the request's own new messages, item_reference items and server-key system/developer messages. Up to 40 items and 8 KB JSON total. The newest item is truncated if needed; each item's text is limited to 4,000 characters.

Files

ItemLimit
File shared by the assistant32 MB
Signed file URL lifetime7 days
Downloads per file ID (file_…)10/hour
Workspace daily file downloadsDefault 2 GiB, reset at midnight UTC
Download requests from one address120/minute

Keys

ItemLimit
Active keys per workspace50; revoked keys excluded
Allowed origins per publishable key20
Key name80 characters

Plans and AI capacity

Assistant replies through this API do not consume your plan's message or AI-reply allowance. They are constrained by the workspace's automatic API reply limits and Sonecentral's AI capacity.

The workspace still needs a plan that permits assistant replies. 402 plan_required means the plan does not allow them; 429 assistant_quota_exhausted means Sonecentral's AI capacity is temporarily unavailable, not that your workspace used its plan allowance.

In an existing conversation, the visitor's message still reaches your team. A rejected first message opens no conversation and stores nothing. See Errors.

API traffic has its own sending limits and cannot stop WhatsApp sending. Other channels continue even if API traffic exceeds its limits. Contact Sonecentral if you need higher limits.