CX Bot & Inbox API
WhatsApp CX Bot and Multi-user Inbox API for ENI Networks
curl -X get "https://loading/api/v1/admin/stats"List organizations with pagination and filters (super admin only)
In: header
Query Parameters
120"FREE" | "STARTER" | "PROFESSIONAL" | "ENTERPRISE""ACTIVE" | "SUSPENDED" | "CANCELLED""createdAt""desc""asc" | "desc"Response Body
curl -X get "https://loading/api/v1/admin/organizations"Create a new organization with initial admin user (super admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/admin/organizations" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "slug": "string", "adminEmail": "user@example.com", "adminName": "string" }'Get organization detail (super admin only)
In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/admin/organizations/string"Update an organization (super admin only)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X patch "https://loading/api/v1/admin/organizations/string" \ -H "Content-Type: application/json" \ -d '{}'Bulk status change on organizations (super admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/admin/organizations/bulk" \ -H "Content-Type: application/json" \ -d '{ "action": "suspend", "selection": { "mode": "ids" } }'List users of an organization (super admin only)
In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/admin/organizations/string/users"Resend invitation email to a user in an organization (super admin only)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/admin/organizations/string/resend-invite" \ -H "Content-Type: application/json" \ -d '{ "userId": "string" }'Get server environment configuration (super admin only)
In: header
Response Body
curl -X get "https://loading/api/v1/admin/system-config"Generate tokens to enter a specific organization's context (super admin only)
In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/admin/enter-org/string"List Stripe prices grouped by product (for plan configuration)
In: header
Response Body
curl -X get "https://loading/api/v1/admin/stripe/prices"List active tools available for agents
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/agent-tools"Extract tool parameter values from conversation context using AI
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/agent-tools/extract-params" \ -H "Content-Type: application/json" \ -d '{ "toolId": "string", "conversationId": "string" }'Execute a tool with given parameters
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/agent-tools/execute" \ -H "Content-Type: application/json" \ -d '{ "toolId": "string", "params": {}, "conversationId": "string" }'Overview KPIs and charts
Authorization
bearerAuth In: header
Query Parameters
date-timedate-time"America/Mexico_City"Response Body
curl -X get "https://loading/api/v1/analytics/overview"Conversation volume, response times, categories
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/analytics/conversations"Per-agent performance metrics
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/analytics/agents"curl -X get "https://loading/api/v1/analytics/bot"Campaign delivery funnel and costs
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/analytics/campaigns"Free-form AI analytics query
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/analytics/ai-query" \ -H "Content-Type: application/json" \ -d '{ "question": "string" }'Check if AI analytics is available for this tenant
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/analytics/ai-status"Toggle AI analytics on/off
Authorization
bearerAuth In: header
Response Body
curl -X post "https://loading/api/v1/analytics/ai-toggle"curl -X get "https://loading/api/v1/api-keys"Create a new API key (admin only). Returns the full key ONCE.
In: header
Response Body
curl -X post "https://loading/api/v1/api-keys"curl -X patch "https://loading/api/v1/api-keys/{id}"curl -X delete "https://loading/api/v1/api-keys/{id}"Self-service registration (creates org + admin user)
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/auth/register" \ -H "Content-Type: application/json" \ -d '{ "companyName": "string", "name": "string", "email": "user@example.com", "password": "string" }'Login with email and password
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/auth/login" \ -H "Content-Type: application/json" \ -d '{ "email": "user@example.com", "password": "string" }'Set or update password for the authenticated user
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/auth/set-password" \ -H "Content-Type: application/json" \ -d '{ "password": "string" }'Request magic link code
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/auth/request-code" \ -H "Content-Type: application/json" \ -d '{ "email": "user@example.com" }'Verify magic link code and get JWT
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/auth/verify-code" \ -H "Content-Type: application/json" \ -d '{ "email": "user@example.com", "code": "string" }'Refresh access token
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/auth/refresh" \ -H "Content-Type: application/json" \ -d '{ "refreshToken": "string" }'curl -X get "https://loading/api/v1/auth/me"curl -X post "https://loading/api/v1/auth/complete-onboarding"Create Stripe Checkout session
Authorization
bearerAuth In: header
Response Body
curl -X post "https://loading/api/v1/billing/checkout-session"Create Stripe Customer Portal session
Authorization
bearerAuth In: header
Response Body
curl -X post "https://loading/api/v1/billing/portal-session"Add extra agent block to subscription
Authorization
bearerAuth In: header
Response Body
curl -X post "https://loading/api/v1/billing/extra-agents"curl -X get "https://loading/api/v1/billing/subscription"Preview a plan change (features gained/lost, proration)
Authorization
bearerAuth In: header
Response Body
curl -X post "https://loading/api/v1/billing/preview-plan-change"Preview subscription cancellation (features that will be lost)
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/billing/cancel-preview"Cancel subscription at end of billing period
Authorization
bearerAuth In: header
Response Body
curl -X post "https://loading/api/v1/billing/cancel-subscription"Get bot configuration for the current organization
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-config"Create a new bot config (draft)
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/bot-config" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'Upsert bot configuration
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/bot-config" \ -H "Content-Type: application/json" \ -d '{}'List all bot configs for the organization
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-config/list"Duplicate a bot config (deep copy with intents)
Authorization
bearerAuth In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/bot-config/string/duplicate" \ -H "Content-Type: application/json" \ -d '{}'Activate a bot config (deactivates the currently active one)
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X put "https://loading/api/v1/bot-config/string/activate"Delete a draft bot config (cannot delete the active one)
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/bot-config/string"Reveal the full (unmasked) API key
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-config/reveal-key"Test LLM with a message
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/bot-config/test" \ -H "Content-Type: application/json" \ -d '{ "message": "string" }'Sandbox chat - admin converses with bot without sending to WA
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/bot-config/test-sandbox" \ -H "Content-Type: application/json" \ -d '{ "message": "string" }'Get available models for a provider
Authorization
bearerAuth In: header
Query Parameters
"OPENAI" | "ANTHROPIC" | "GOOGLE" | "DEEPSEEK" | "KIMI" | "LOCAL"Response Body
curl -X get "https://loading/api/v1/bot-config/models?provider=OPENAI"Validate an AI API key
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/bot-config/validate-key" \ -H "Content-Type: application/json" \ -d '{ "provider": "string", "apiKey": "string", "model": "string" }'Get prompt version history
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-config/prompt-versions"Rollback to a previous prompt version
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/bot-config/prompt-versions/string/activate"List provider presets for the current organization
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-config/presets"Create a provider preset
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/bot-config/presets" \ -H "Content-Type: application/json" \ -d '{}'Delete a provider preset
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/bot-config/presets/string"Update a provider preset
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X put "https://loading/api/v1/bot-config/presets/string"List bot feedback
Authorization
bearerAuth In: header
Query Parameters
Response Body
curl -X get "https://loading/api/v1/bot-feedback"Submit feedback on a bot message
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/bot-feedback" \ -H "Content-Type: application/json" \ -d '{ "messageId": "string", "conversationId": "string", "rating": 0 }'Get current month usage and plan limits
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-config/usage"Get last 12 months of usage
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-config/usage/history"List knowledge base documents
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-config/documents"Upload a document to the knowledge base
Authorization
bearerAuth In: header
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/bot-config/documents"Delete a document and its chunks
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/bot-config/documents/string"Get document processing status
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/bot-config/documents/string/status"List bot intents for the current organization
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-config/intents"curl -X post "https://loading/api/v1/bot-config/intents"Delete a bot intent
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/bot-config/intents/string"Update a bot intent
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X put "https://loading/api/v1/bot-config/intents/string"Reorder bot intents
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/bot-config/intents/reorder" \ -H "Content-Type: application/json" \ -d '{}'List config snapshots (metadata only)
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-config/snapshots"curl -X post "https://loading/api/v1/bot-config/snapshots"Restore a config snapshot
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/bot-config/snapshots/string/restore"Delete a config snapshot
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/bot-config/snapshots/string"Export bot config as JSON file
Authorization
bearerAuth In: header
Query Parameters
"config" | "standard" | "full"Response Body
curl -X get "https://loading/api/v1/bot-config/export"Export bot config as ZIP with binary files
Authorization
bearerAuth In: header
Query Parameters
"standard" | "full"Response Body
curl -X get "https://loading/api/v1/bot-config/export-zip"Import bot config from JSON or ZIP file
Authorization
bearerAuth In: header
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/bot-config/import"Get chunks for a document
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/bot-config/documents/string/chunks"Test RAG query
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/bot-config/test-rag" \ -H "Content-Type: application/json" \ -d '{}'Get embedding model information
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-config/embedding-info"curl -X get "https://loading/api/v1/bot-config/media"Upload a bot media file
Authorization
bearerAuth In: header
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/bot-config/media"Update bot media metadata
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X patch "https://loading/api/v1/bot-config/media/string"Delete a bot media file
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/bot-config/media/string"Serve bot media file for preview
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/bot-config/media/string/file"Serve video thumbnail image
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/bot-config/media/string/thumbnail"Get bot quality metrics for the current org
Authorization
bearerAuth In: header
Query Parameters
Number of days to look back
30Response Body
curl -X get "https://loading/api/v1/bot-config/metrics/quality"List bot sessions with filtering and pagination
Authorization
bearerAuth In: header
Query Parameters
Filter by closure type
"RESOLVED_CONFIRMED" | "ABANDONED" | "ESCALATED"30120Response Body
curl -X get "https://loading/api/v1/bot-config/metrics/sessions"Bot performance metrics from Langfuse traces
Authorization
bearerAuth In: header
Query Parameters
71 <= value <= 30falseResponse Body
curl -X get "https://loading/api/v1/bot-config/metrics/traces"Get detailed pipeline view for a single trace
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/bot-config/metrics/traces/string"Look up client account by phone number
In: header
Path Parameters
Phone number (10 digits or full with country code)
Response Body
curl -X get "https://loading/api/v1/phone-lookup/string"Reprocesar conversaciones BOT_HANDLING sin respuesta del bot
Authorization
bearerAuth In: header
Response Body
application/json
curl -X post "https://loading/api/v1/bot-config/reprocess-pending"{
"data": {
"reprocessed": 0,
"errors": 0,
"total": 0
}
}List all bot templates (including unpublished)
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/admin/bot-templates"Create a bot template
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/admin/bot-templates" \ -H "Content-Type: application/json" \ -d '{}'Publish current org config as a template
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/admin/bot-templates/from-config" \ -H "Content-Type: application/json" \ -d '{ "orgId": "string", "name": "string", "slug": "string" }'Delete a bot template
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/admin/bot-templates/string"Update a bot template
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X put "https://loading/api/v1/admin/bot-templates/string"List published bot templates
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/bot-templates"Import a bot template into the org's config
Authorization
bearerAuth In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/bot-templates/import/string"List bot tools for this organization
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/tools"curl -X post "https://loading/api/v1/tools"curl -X delete "https://loading/api/v1/tools/{id}"curl -X put "https://loading/api/v1/tools/{id}"Test a tool with example parameters
Authorization
bearerAuth In: header
Response Body
curl -X post "https://loading/api/v1/tools/{id}/test"curl -X get "https://loading/api/v1/campaigns"Create a campaign (bulk template send)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/campaigns" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "templateId": "string", "recipients": [ { "phone": "string" } ] }'curl -X get "https://loading/api/v1/campaigns/stats/global"Get real costs from Meta per template and WABA total (last 90 days)
In: header
Response Body
curl -X get "https://loading/api/v1/campaigns/meta-costs"Get calculated real cost for a campaign based on Meta analytics
In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/campaigns/string/meta-cost"Get campaign detail with paginated recipients
In: header
Path Parameters
Query Parameters
125"all" | "PENDING" | "SENT" | "DELIVERED" | "READ" | "FAILED"Response Body
curl -X get "https://loading/api/v1/campaigns/string"Export campaign recipients as CSV
In: header
Path Parameters
Query Parameters
"all" | "PENDING" | "SENT" | "DELIVERED" | "READ" | "FAILED" | "REPLIED"Response Body
text/csv
curl -X get "https://loading/api/v1/campaigns/string/export""string"Get aggregated recipient stats for a campaign
In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/campaigns/string/stats"Estimate campaign cost before sending
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/campaigns/estimate" \ -H "Content-Type: application/json" \ -d '{ "templateId": "string", "recipients": [ { "phone": "string" } ] }'curl -X get "https://loading/api/v1/campaigns/pricing"Bulk actions on campaigns (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/campaigns/bulk" \ -H "Content-Type: application/json" \ -d '{ "action": "delete", "selection": { "mode": "ids" } }'Get public branding info (logo, company name, WhatsApp phone)
Query Parameters
Response Body
curl -X get "https://loading/api/v1/config/branding"Update branding settings (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/config/branding" \ -H "Content-Type: application/json" \ -d '{}'curl -X get "https://loading/api/v1/config/platform-stats"Get authenticated branding info for current organization
In: header
Response Body
curl -X get "https://loading/api/v1/config/my-branding"Get server environment configuration (super admin only)
In: header
Response Body
curl -X get "https://loading/api/v1/config"Upload company logo (admin only)
In: header
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/config/logo" \ -F logo="string"curl -X delete "https://loading/api/v1/config/logo"Check if auto-categorization is enabled for this organization
In: header
Response Body
curl -X get "https://loading/api/v1/config/auto-categorize"Toggle auto-categorization (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/config/auto-categorize" \ -H "Content-Type: application/json" \ -d '{ "enabled": true }'curl -X get "https://loading/api/v1/config/bot-enabled"Toggle bot enabled/disabled (admin)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/config/bot-enabled" \ -H "Content-Type: application/json" \ -d '{ "enabled": true }'Check if media auto-display is enabled for this organization
In: header
Response Body
curl -X get "https://loading/api/v1/config/media-auto-display"Toggle media auto-display (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/config/media-auto-display" \ -H "Content-Type: application/json" \ -d '{ "enabled": true }'curl -X get "https://loading/api/v1/config/bot-mode"Update bot handling mode flags (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/config/bot-mode" \ -H "Content-Type: application/json" \ -d '{}'List external connections for the organization
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/connections"Create an external connection (admin only)
Authorization
bearerAuth In: header
Response Body
curl -X post "https://loading/api/v1/connections"Get unmasked secrets for a connection (admin only)
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/connections/{id}/secrets"Delete an external connection (admin only). Cascades InboxDataSource, nullifies BotTool.connectionId.
Authorization
bearerAuth In: header
Response Body
curl -X delete "https://loading/api/v1/connections/{id}"Update an external connection (admin only)
Authorization
bearerAuth In: header
Response Body
curl -X put "https://loading/api/v1/connections/{id}"Test an external connection with example variables (admin only)
Authorization
bearerAuth In: header
Response Body
curl -X post "https://loading/api/v1/connections/{id}/test"List/search contacts
In: header
Query Parameters
50Response Body
curl -X get "https://loading/api/v1/contacts"Get contact by WhatsApp ID
In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/contacts/string"Update contact name or category
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X patch "https://loading/api/v1/contacts/string" \ -H "Content-Type: application/json" \ -d '{}'List conversations with filters
In: header
Query Parameters
"BOT_HANDLING" | "HUMAN_HANDLING" | "OPEN" | "WAITING_FOR_CUSTOMER" | "CLOSED"50Sub-filter pill (unread = unreadCount > 0, needs_action = last message from customer)
"unread" | "needs_action"Sort order for conversations
"newest""newest" | "oldest" | "waiting_longest" | "created_newest" | "created_oldest"Response Body
curl -X get "https://loading/api/v1/conversations"curl -X get "https://loading/api/v1/conversations/categories"Get sub-filter counts (all, unread, needs_action)
In: header
Query Parameters
Response Body
curl -X get "https://loading/api/v1/conversations/counts"Bulk re-classify and re-route open conversations
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/conversations/re-classify" \ -H "Content-Type: application/json" \ -d '{}'Re-classify a single conversation using AI
In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/conversations/string/re-classify"curl -X post "https://loading/api/v1/conversations/{id}/re-route"curl -X get "https://loading/api/v1/conversations/string"Update conversation (status, assignment, etc.)
In: header
Path Parameters
Response Body
curl -X patch "https://loading/api/v1/conversations/string"Agent takes over conversation from bot
In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/conversations/string/takeover"Generate a handoff summary preview for agent review
In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/conversations/string/generate-handoff-summary"Return conversation to bot handling
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Agent-edited handoff context for the bot
Response Body
curl -X post "https://loading/api/v1/conversations/string/return-to-bot" \ -H "Content-Type: application/json" \ -d '{}'curl -X post "https://loading/api/v1/conversations/string/read"curl -X post "https://loading/api/v1/conversations/{id}/assign"Unassign conversation (release it for other agents)
In: header
curl -X post "https://loading/api/v1/conversations/{id}/unassign"curl -X post "https://loading/api/v1/conversations/{id}/resolve"Mark conversation for follow-up
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/conversations/{id}/follow-up" \ -H "Content-Type: application/json" \ -d '{}'curl -X delete "https://loading/api/v1/conversations/{id}/follow-up"curl -X get "https://loading/api/v1/conversations/{id}/contact-history"Simulate a single incoming conversation via webhook pipeline
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/dev/simulate/conversation" \ -H "Content-Type: application/json" \ -d '{}'Simulate a batch of incoming conversations
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/dev/simulate/batch" \ -H "Content-Type: application/json" \ -d '{}'Simulate an incoming message on an existing conversation
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/dev/simulate/message" \ -H "Content-Type: application/json" \ -d '{ "conversationId": "string" }'curl -X delete "https://loading/api/v1/dev/simulate/cleanup"Simulate a template status update webhook from Meta
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/dev/simulate/template-status" \ -H "Content-Type: application/json" \ -d '{ "templateName": "string", "event": "APPROVED" }'curl -X get "https://loading/api/v1/health"curl -X get "https://loading/api/v1/ready"List inbox data sources for the organization
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/inbox-data-sources"Create an inbox data source (admin only)
Authorization
bearerAuth In: header
Response Body
curl -X post "https://loading/api/v1/inbox-data-sources"Delete an inbox data source (admin only)
Authorization
bearerAuth In: header
Response Body
curl -X delete "https://loading/api/v1/inbox-data-sources/{id}"Update an inbox data source (admin only)
Authorization
bearerAuth In: header
Response Body
curl -X put "https://loading/api/v1/inbox-data-sources/{id}"Test a data source with a phone number (admin only)
Authorization
bearerAuth In: header
Response Body
curl -X post "https://loading/api/v1/inbox-data-sources/{id}/test"Fetch external data for a conversation's contact (all roles)
In: header
Path Parameters
Query Parameters
Response Body
curl -X get "https://loading/api/v1/inbox-data-sources/data/string"Get integration config for the organization (secrets masked)
In: header
Response Body
curl -X get "https://loading/api/v1/integrations"curl -X delete "https://loading/api/v1/integrations"curl -X put "https://loading/api/v1/integrations"Get unmasked secrets for the organization (admin only)
In: header
Response Body
curl -X get "https://loading/api/v1/integrations/secrets"Test integration connection with a phone number (admin only)
In: header
Response Body
curl -X post "https://loading/api/v1/integrations/test"Fetch external data for a conversation's contact
In: header
Path Parameters
Query Parameters
Response Body
curl -X get "https://loading/api/v1/integrations/data/string"curl -X get "https://loading/api/v1/invitations"Create a single invitation
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/invitations" \ -H "Content-Type: application/json" \ -d '{ "email": "user@example.com" }'Create multiple invitations at once
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/invitations/bulk" \ -H "Content-Type: application/json" \ -d '{ "invitations": [ {} ] }'curl -X post "https://loading/api/v1/invitations/{id}/resend"curl -X delete "https://loading/api/v1/invitations/{id}"curl -X get "https://loading/api/v1/invitations/token/{token}"Accept invitation and create account
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
curl -X post "https://loading/api/v1/invitations/accept/{token}" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "password": "string" }'Get messages for a conversation (cursor-based pagination)
In: header
Path Parameters
Query Parameters
50Response Body
curl -X get "https://loading/api/v1/conversations/string/messages"Send a message in a conversation
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/conversations/string/messages" \ -H "Content-Type: application/json" \ -d '{ "type": "text" }'Send a media message (image, video, audio, document)
In: header
Path Parameters
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/conversations/string/messages/media" \ -F file="string"Send a reaction to a message via WhatsApp
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/messages/string/react" \ -H "Content-Type: application/json" \ -d '{ "emoji": "string" }'Retry media download for a message with failed/missing media
In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/messages/string/retry-media"Toggle message visibility (hide/unhide)
In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/messages/string/toggle-hide"List failed outbound messages (admin only)
In: header
Query Parameters
"FAILED" | "PENDING"125Response Body
curl -X get "https://loading/api/v1/messages/failed"curl -X get "https://loading/api/v1/messages/failed/stats"Retry sending a failed message (admin only)
In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/messages/string/retry-send"Mark a failed message as permanently discarded (admin only)
In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/messages/string/discard"Retry multiple failed messages (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/messages/failed/bulk-retry" \ -H "Content-Type: application/json" \ -d '{}'Discard multiple failed messages (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/messages/failed/bulk-discard" \ -H "Content-Type: application/json" \ -d '{}'Receive bot response from n8n workflow
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/n8n/bot-response" \ -H "Content-Type: application/json" \ -d '{ "conversationId": "string", "message": {} }'Get current plan usage and limits
Authorization
bearerAuth In: header
Response Body
curl -X get "https://loading/api/v1/plan/usage"curl -X get "https://loading/api/v1/config/public/plans"curl -X get "https://loading/api/v1/profile"Update own profile name
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X patch "https://loading/api/v1/profile" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'Upload user avatar image
In: header
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/profile/avatar" \ -F avatar="string"curl -X delete "https://loading/api/v1/profile/avatar"Change own password
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/profile/change-password" \ -H "Content-Type: application/json" \ -d '{ "currentPassword": "string", "newPassword": "string" }'curl -X get "https://loading/api/v1/quick-replies"curl -X post "https://loading/api/v1/quick-replies"List all quick replies including inactive (admin only)
In: header
Response Body
curl -X get "https://loading/api/v1/quick-replies/all"curl -X patch "https://loading/api/v1/quick-replies/{id}"curl -X delete "https://loading/api/v1/quick-replies/{id}"Bulk actions on quick replies (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/quick-replies/bulk" \ -H "Content-Type: application/json" \ -d '{ "action": "delete", "selection": { "mode": "ids" } }'Upload media attachment for a quick reply (admin only)
In: header
Path Parameters
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/quick-replies/string/media"Remove media from a quick reply (admin only)
In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/quick-replies/string/media"curl -X get "https://loading/api/v1/routing-rules/maintenance"Update organization maintenance mode settings (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/routing-rules/maintenance" \ -H "Content-Type: application/json" \ -d '{ "maintenanceMode": true }'curl -X get "https://loading/api/v1/routing-rules/off-hours"Update organization off-hours auto-reply settings (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/routing-rules/off-hours" \ -H "Content-Type: application/json" \ -d '{ "offHoursAutoReply": true }'curl -X get "https://loading/api/v1/routing-rules/business-hours"Update organization business hours schedule (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/routing-rules/business-hours" \ -H "Content-Type: application/json" \ -d '{ "timezone": "string", "isEnabled": true, "slots": [ {} ] }'curl -X get "https://loading/api/v1/routing-rules/default-team"Update the default team for the organization (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/routing-rules/default-team" \ -H "Content-Type: application/json" \ -d '{}'Run routing rules retroactively on existing conversations (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/routing-rules/run-now" \ -H "Content-Type: application/json" \ -d '{}'curl -X get "https://loading/api/v1/routing-rules"Create a routing rule (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/routing-rules" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "teamId": "string", "conditions": [ {} ] }'Preview conflicts for a routing rule without saving
In: header
Query Parameters
JSON-encoded conditions array
"ANY" | "ALL"Response Body
curl -X get "https://loading/api/v1/routing-rules/check-conflicts?teamId=string&conditions=string"Update a routing rule (admin only)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X patch "https://loading/api/v1/routing-rules/string" \ -H "Content-Type: application/json" \ -d '{}'Delete a routing rule (admin only)
In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/routing-rules/string"Reorder routing rules by priority (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/routing-rules/reorder" \ -H "Content-Type: application/json" \ -d '{ "orderedIds": [ "string" ] }'curl -X get "https://loading/api/v1/routing-rules/idle-agent"Update idle agent detection settings (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/routing-rules/idle-agent" \ -H "Content-Type: application/json" \ -d '{}'Manually trigger idle agent detection for this org (admin only)
In: header
Response Body
curl -X post "https://loading/api/v1/routing-rules/idle-agent/run"curl -X get "https://loading/api/v1/tags"curl -X post "https://loading/api/v1/tags"curl -X get "https://loading/api/v1/tags/colors"Delete a tag (cascade removes from conversations)
Authorization
bearerAuth In: header
Response Body
curl -X delete "https://loading/api/v1/tags/{id}"curl -X put "https://loading/api/v1/tags/{id}"curl -X post "https://loading/api/v1/conversations/{conversationId}/tags"curl -X delete "https://loading/api/v1/conversations/{conversationId}/tags/{tagId}"List teams
In: header
Query Parameters
falseResponse Body
curl -X get "https://loading/api/v1/teams"Create a team (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/teams" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'Get team detail with members
In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/teams/string"Update team properties (admin only)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X patch "https://loading/api/v1/teams/string" \ -H "Content-Type: application/json" \ -d '{}'Deactivate a team (soft delete, admin only)
In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/teams/string"Add a member to a team (admin only)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/teams/string/members" \ -H "Content-Type: application/json" \ -d '{ "userId": "string" }'Update a team member's role (admin only)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X patch "https://loading/api/v1/teams/string/members/string" \ -H "Content-Type: application/json" \ -d '{ "role": "MEMBER" }'Remove a member from a team (admin only)
In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/teams/string/members/string"Get team schedule (working hours)
In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/teams/string/schedule"Create or update team schedule (admin only)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/teams/string/schedule" \ -H "Content-Type: application/json" \ -d '{ "timezone": "string" }'Check if team is currently in working hours
In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/teams/string/schedule/status"curl -X get "https://loading/api/v1/templates/string/header-media"curl -X get "https://loading/api/v1/templates"Create a WhatsApp template and submit to Meta for approval
In: header
curl -X post "https://loading/api/v1/templates"Save a template locally as DRAFT without submitting to Meta
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/templates/draft" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "category": "MARKETING", "components": [ {} ] }'Update a DRAFT template locally
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/templates/string/draft" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "category": "MARKETING", "components": [ {} ] }'Submit a DRAFT template to Meta for approval
In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/templates/string/submit"Soft-delete a template (mark as REMOVED)
In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/templates/string"Edit a template's components in Meta and update in DB
In: header
curl -X put "https://loading/api/v1/templates/{id}"Send a template message to a conversation
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/templates/string/send" \ -H "Content-Type: application/json" \ -d '{ "conversationId": "string" }'Send a template message to an arbitrary phone number (creates or reuses conversation)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/templates/string/send-to-phone" \ -H "Content-Type: application/json" \ -d '{ "phone": "string" }'Upload media for template header (returns file handle for Meta)
In: header
curl -X post "https://loading/api/v1/templates/upload-media"curl -X post "https://loading/api/v1/templates/sync"Duplicate a template as a DRAFT
In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/templates/string/duplicate"Delete template from Meta and mark as REMOVED in DB
In: header
curl -X delete "https://loading/api/v1/templates/{id}/meta"Bulk actions on templates (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/templates/bulk" \ -H "Content-Type: application/json" \ -d '{ "action": "delete", "selection": { "mode": "ids" } }'curl -X get "https://loading/api/v1/users"Create a new user (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/users" \ -H "Content-Type: application/json" \ -d '{ "email": "user@example.com", "name": "string" }'Update a user (admin only)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X patch "https://loading/api/v1/users/string" \ -H "Content-Type: application/json" \ -d '{}'Soft-delete a user (admin only)
In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/users/string"Resend invitation email to a user (admin only)
In: header
Path Parameters
Response Body
curl -X post "https://loading/api/v1/users/string/resend-invite"Update user online status
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X patch "https://loading/api/v1/users/string/status" \ -H "Content-Type: application/json" \ -d '{ "status": "ONLINE" }'Bulk actions on users (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/users/bulk" \ -H "Content-Type: application/json" \ -d '{ "action": "delete", "selection": { "mode": "ids" } }'Get Meta app configuration (appId + configId, no secret)
In: header
Response Body
curl -X get "https://loading/api/v1/whatsapp-accounts/meta-config"Save Meta app configuration to DB
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/whatsapp-accounts/meta-config" \ -H "Content-Type: application/json" \ -d '{ "appId": "string", "configId": "string" }'curl -X get "https://loading/api/v1/whatsapp-accounts"Connect account via Meta Embedded Signup (exchange code for token)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/whatsapp-accounts/connect" \ -H "Content-Type: application/json" \ -d '{ "code": "string" }'Connect account with manually provided credentials
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/whatsapp-accounts/connect-manual" \ -H "Content-Type: application/json" \ -d '{ "wabaId": "string", "phoneNumberId": "string", "accessToken": "string" }'Update account alias or access token
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X patch "https://loading/api/v1/whatsapp-accounts/string" \ -H "Content-Type: application/json" \ -d '{}'Disconnect a WhatsApp Business account
In: header
Path Parameters
Response Body
curl -X delete "https://loading/api/v1/whatsapp-accounts/string"Get live health and status info from Meta Graph API
In: header
Path Parameters
Response Body
curl -X get "https://loading/api/v1/whatsapp-accounts/string/health"List account alerts for the current organization
In: header
Query Parameters
"true" | "false"Response Body
curl -X get "https://loading/api/v1/whatsapp-accounts/alerts"curl -X get "https://loading/api/v1/whatsapp-accounts/alerts/unread-count"curl -X post "https://loading/api/v1/whatsapp-accounts/alerts/{id}/acknowledge"curl -X post "https://loading/api/v1/whatsapp-accounts/alerts/acknowledge-all"Stream AI autocomplete suggestion for agent writing
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X post "https://loading/api/v1/writing-assist/complete" \ -H "Content-Type: application/json" \ -d '{ "conversationId": "string", "partialText": "string" }'Get writing assist config (org-level + user preference)
In: header
Response Body
curl -X get "https://loading/api/v1/config/writing-assist"Update writing assist org config (admin only)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X put "https://loading/api/v1/config/writing-assist" \ -H "Content-Type: application/json" \ -d '{}'Toggle user writing assist preference
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X patch "https://loading/api/v1/profile/writing-assist" \ -H "Content-Type: application/json" \ -d '{ "enabled": true }'¿Esta página fue útil?