Update Assistant
Partial update — only the fields you pass are changed. Every call writes a versioned snapshot to the assistant’s edit history with changedBy.source = "api".
PATCH/v2.0/assistants/{modelId}
Body
Any field accepted by Create Assistant can be passed here. To manage the channel binding:
Channel binding
| Parameter | Type | Description |
|---|---|---|
| channel.activate | boolean | Resolve the channel from the org and bind it to this assistant. Detaches the channel from any other assistant |
| channel.platform | string | Required with channel.activate. whatsapp | instagram | messenger |
| channel.brandNumber | string | Optional WhatsApp number disambiguator |
| channel.deactivate | boolean | Disconnect the channel without changing other config |
| clearChatHistory | boolean | Also clear the AI service's per-channel chat history cache |
History entry types
Channel-related changes write a
channel_update entry. Non-restorable on its own — only config_update and create versions can be restored.abuseLimit is a full-subdoc replace
Unlike other fields,
abuseLimit is replaced as a whole object — it is NOT deep-merged with the previous value. Send every sub-field you care about; missing keys fall back to schema defaults (msgsPerWindow=25 over 600s, imagesPerWindow=5 over 300s, tokensPerWindow=50000 over 900s, blockMinutes=60). To disable abuse limits, send { "abuseLimit": { "enabled": false } }.Examples
curl -X PATCH https://api.sendiee.com/v2.0/assistants/kQ8z3cR7hV2bWa \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"systemPrompt": "You are Acme support. Keep replies under 3 sentences.",
"memoryMinutes": 30
}'Related quick endpoints
- POST/v2.0/assistants/{modelId}/togglebody
{ "isActive": true|false }— quickly enable / disable. - DELETE/v2.0/assistants/{modelId}deletes the assistant + its history.
Response
{
"success": true,
"data": {
"modelId": "kQ8z3cR7hV2bWa",
"name": "Sales bot",
"isActive": true,
"isConnected": true
}
}