Creates a new WhatsApp instance in your account. The instance is born disconnected, the next step is to call GET /api/instance/connect/:instance to obtain the QR code or pairing code.During creation, you can send, in the same body, the initial configuration of proxy, webhook, WebSocket, Chatwoot integration, behavior settings, and S3 storage. Each block is independent: send only what you need.
The instance is created within your account quota. If you’ve reached the limit, you receive 403 with the message Account instance quota exceeded, delete an instance you no longer use to free up space.
Failures in sub-blocks (webhook / websocket / chatwoot) do not abort the instance creation. Each block is log-and-continue: the instance is created, the sub-block appears as enabled: false or absent in the response, and the server logs describe the cause. For Chatwoot, the failure is also exposed in chatwoot.status: "error" + chatwoot.error: "<message>" in the return payload.
Creates the instance with just the name. The TokenInstance is generated automatically by the server and returned in instance.token in the response, keep it to authenticate subsequent calls.
Manually sets the TokenInstance in the token field instead of letting the server generate one. Useful for reusing a value already registered in another system, the token must be unique within your account.
Creates the instance with the settings block already defined: auto-rejects calls with a default message, keeps presence online, disables history sync, and ignores stories. Equivalent to calling POST /api/instance/settings/:instance right after.
curl -X POST "https://ryzeapi.cloud/api/instance/new" \ -H "token: $Token_Account" \ -H "Content-Type: application/json" \ -d '{ "name": "my-instance", "autoRejectCalls": true, "callRejectMessage": "This number does not accept calls.", "ignoreGroupMessages": false, "keepOnlineStatus": true, "autoReadMessages": false, "disableHistorySync": true, "ignoreStatus": true }'
Provisions the instance pointing to an authenticated SOCKS5 proxy. The password is encrypted at-rest with AES-256-GCM and is never returned in the response.
In the same request, configures the default webhook to receive only the message.exchange and call.update events, with custom Authorization to validate the source. Media is not sent in base64, the destination fetches via the returned URL.
Enables real-time broadcast via WebSocket filtering by the message.exchange and call.update events. Useful for dashboards and bots that need minimum latency without exposing a public webhook endpoint.
Points media storage to an AWS S3 bucket (us-east-1), with prefix media/ to organize uploads. The s3SecretKey is encrypted at-rest and never appears in the response.
Provisions the instance already linked to a Chatwoot inbox (WhatsApp - Orion), with active agent signature and automatic reopening of resolved conversations. If the bridge fails, the instance is created anyway and the chatwoot object returns with status: "error".
Combines every block in the same request: custom token, SOCKS5 proxy, webhook, WebSocket, Chatwoot integration, behavior settings, and S3 storage. Each block remains independent, failures in sub-blocks don’t abort the instance creation.
The response includes the generated TokenInstance and the summary of every configured integration (proxy, webhook, websocket, chatwoot, settings, s3). Save the instance.token, it’s what authenticates subsequent calls of the instance itself.
If the chatwoot* block was sent but the configuration failed (e.g., invalid token), the instance is created anyway and the chatwoot object in the response comes with status: "error" and an actionable error:
"chatwoot": { "enabled": false, "status": "error", "error": "Chatwoot API returned 401 — check the chatwootApiToken"}
You can fix the credentials via POST /api/chatwoot/set/:instance without recreating the instance.
Instance identifier (used in the :instance paths in every other endpoint). Cannot be blank and must be unique within your account. Kebab-case or snake_case is recommended.
If true, new messages on resolved conversations reopen them automatically.
The integration depends on the RyzeIntegrations bridge being configured on the server. If the bridge isn’t available, the instance creation continues and chatwoot returns enabled: false (the failure shows up in the server logs). See chatwoot.md for details.