List AI bots
Build a request to copy
This page never sends a request. Fill in the fields, then copy the request and run it from your server.
curl -X GET 'https://api.whatsable.app/v1/ai-bots'
Lists every AI bot of the organization with its full configuration, newest first. The list is not limited to the numbers of the key.
bearerAuthAuthorizationBearer <nfy_live_<32 characters>>An API key from Settings > API keys, sent as Authorization: Bearer <key>.
limit?integerHow many items to return, 1 to 100.
1 <= value <= 10025cursor?stringThe next_cursor of the previous page. An expired or malformed cursor answers 400 invalid_cursor.
1 <= length <= 512A page of bots, newest first.
application/json- response
object*stringdata*array<>has_more*booleanTrue when another page follows this one.
next_cursor*|Pass as cursor to read the next page. Null on the last page. Valid for 24 hours.
curl -X GET 'https://api.whatsable.app/v1/ai-bots'{ "object": "list", "data": [ { "object": "ai_bot", "id": "cm2v8b1a00001qz8h3j4k5l6m", "name": "Sales", "mission": "Answer questions about our shoes and help customers order.", "tone": "Warm and brief.", "instructions": "Answer in the customer's language. Never promise a delivery date.", "knowledge": "We ship to Argentina and Uruguay. Returns within 30 days.", "status": "active", "time_zone": "America/Argentina/Buenos_Aires", "debounce_seconds": 5, "reply_message_mode": "single", "handoff_keywords": [ "human", "agent" ], "handoff_instructions": "Hand over when the customer asks for a refund.", "notify_on_handoff": true, "resume_policy": "timer", "resume_after_seconds": 3600, "label_permissions": { "add_enabled": true, "remove_enabled": false, "add_max_per_turn": null, "remove_max_per_turn": null, "instructions": "Add \"Hot lead\" when the customer asks for a price.", "grant_mode": "listed", "allowed_label_ids": [ "cm2v8l1a00001qz8h2b3c4d5e" ] }, "proactive": { "enabled": true, "instructions": "Remind them of the item they asked about.", "first_delay_minutes": 240, "window_minutes": 7200, "max_follow_ups": 3, "cooldown_minutes": 0, "distribution": "front_loaded", "quiet_start_hour": 22, "quiet_end_hour": 8, "quiet_days": [ 0 ], "after_broadcast": false, "after_operator_reply": true, "template_authoring": false, "template_cap_per_week": 2 }, "number_ids": [ "cm2v8a1b20002qz8h9i0j1k2l" ], "created_at": "2026-09-01T12:00:00Z", "updated_at": "2026-10-20T19:51:21Z" } ], "has_more": true, "next_cursor": "string"}Cancel a broadcast POST
Cancels a scheduled, running or paused broadcast. A running broadcast is paused and cancelled in this one call. At most one batch that was already picked still goes out.
Create an AI bot POST
Creates an AI bot. The bot starts as a `draft`, which answers no one, unless you set `status`. It answers on a number only after `PUT /v1/numbers/{id}/ai-bot` assigns it.