InicioDocumentación

REST API

La REST API v1 de ChatReact le proporciona acceso programático a las operaciones compatibles del panel: chatbots, base de conocimiento y rastreo, precios estructurados, FAQs, revisión de chats y el Improvement Agent, leads, formularios de contacto, chat en vivo, empresa y equipo, el Email Assistant, analíticas y notificaciones. Las acciones vinculadas al navegador (pagos, autorización de mailbox, passkeys, eliminación de cuenta y gestión de claves de API) permanecen en el panel.

¿Prefiere hablar con un asistente AI? Las mismas capacidades están disponibles como herramientas MCP — vea MCP Server Integration. El API Explorer interactivo con esquemas de petición y respuesta está en /api-reference, donde también puede descargar la especificación OpenAPI 3.0.

Autenticación

  1. Vaya a Panel de control → Empresa → pestaña API y haga clic en Crear Clave API
  2. Elija un nombre y los ámbitos de permiso que necesita la clave (véase más abajo)
  3. Copie la clave — comienza con cr_ y se muestra solo una vez

Envíe la clave con cada petición:

curl https://www.chatreact.ai/api/v1/chatbots \
  -H "Authorization: Bearer cr_your_api_key"

También se acepta un encabezado X-API-Key: cr_your_api_key. Las claves de API pertenecen a una empresa y se ejecutan con los permisos del propietario de la empresa; los límites de plan y los controles de funciones se aplican exactamente como en el panel.

El acceso a la API está disponible en planes de pago — vea la página de Precios. Las claves pueden revocarse en cualquier momento desde el panel.

Ámbitos

Cada clave lleva uno o más ámbitos. Un endpoint devuelve 403 cuando la clave carece del ámbito requerido.

ScopeGrants
chatbots:read / chatbots:writeConfiguración del chatbot: persona, idiomas, widget, comportamiento, restricciones, instrucciones principales, código de embed, fase de aprendizaje, plantillas de chatbot, ajustes del widget de FAQ
knowledge:read / knowledge:writeBase de conocimiento: documentos, rastreo de sitios web, páginas rastreadas
faqs:read / faqs:writeFAQs, categorías de FAQ, sugerencias, traducciones
chats:read / chats:writeHistorial de chats, valoraciones de chat, categorías de confianza, chat en vivo (las acciones de agente necesitan chats:write)
leads:read / leads:writeLeads, categorías de leads, ajustes de captura de leads, exportación
forms:read / forms:writeFormularios de contacto y envíos
analytics:readEstadísticas, series de actividad, embudos, estado de confianza
company:read / company:writePerfil y ajustes de la empresa, miembros del equipo, invitaciones
email:read / email:writeConexiones del Email Assistant, categorías, contactos, actividad
prices:readLeer entradas de precios estructurados, revisiones, elegibilidad y sugerencias
prices:writeCrear y editar borradores de precios, importar CSV y aplicar una sugerencia como borrador; requiere el propietario de la empresa
prices:approveAprobar versiones exactas o archivar entradas; requiere el propietario de la empresa
blog:read / blog:writeContenido del blog de la plataforma (ChatReact interno)
any valid key/v1/me, uso de la cuenta, sus notificaciones

Convenciones

  • Base URL: https://www.chatreact.ai/api/v1, JSON de entrada y salida (Content-Type: application/json).
  • Respuestas: { "success": true, "data": … }; las listas añaden "pagination": { "total", "page", "pageSize", "totalPages" }. Use page y pageSize (máx. 100) en endpoints de listas; algunos endpoints ofrecen paginación por cursor (cursor / nextCursor).
  • Errores: { "success": false, "error": "message", "code": "BAD_REQUEST" } con details opcional para errores de validación. Códigos de estado: 400 entrada inválida, 401 clave ausente o inválida, 403 ámbito faltante, función del plan no incluida o rol insuficiente, 404 recurso no encontrado (también para recursos de otras empresas), 409 conflicto, 429 límite de tasa excedido.
  • Actualizaciones parciales: Los endpoints PATCH cambian solo los campos que envíe; los campos desconocidos son rechazados.
  • Límite de tasa: 30 peticiones por minuto por dirección IP.
  • Operaciones de larga duración (rastros, generación AI, traducciones) devuelven rápidamente con un trabajo o resultado que puede sondear; consumen el presupuesto de tokens y de rastreo de su plan.

Endpoints

Prices & services

Guardar, editar, importar y aplicar una sugerencia crea borradores sin aprobación. Las operaciones de aprobación y archivo revisan versiones exactas; una versión obsoleta devuelve un conflicto. Las claves existentes no obtienen permisos de precios automáticamente. Solo el propietario de la empresa puede conceder permisos de escritura o aprobación. Para el flujo de cliente, vea Prices & services.

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/pricesList price entries and eligibilityprices:read
POST/api/v1/chatbots/{id}/pricesCreate a draftprices:write
GET/api/v1/chatbots/{id}/prices/{itemId}Read details and paginated historyprices:read
PATCH/api/v1/chatbots/{id}/prices/{itemId}Create an edited draft from an expected versionprices:write
GET/api/v1/chatbots/{id}/prices/{itemId}/stateRead full item stateprices:read
POST/api/v1/chatbots/{id}/prices/{itemId}/approveApprove an exact versionprices:approve
POST/api/v1/chatbots/{id}/prices/{itemId}/archiveArchive an exact versionprices:approve
POST/api/v1/chatbots/{id}/prices/approve-manyApprove an explicit version selection atomicallyprices:approve
POST/api/v1/chatbots/{id}/prices/importImport CSV drafts with a stable import IDprices:write
GET/api/v1/chatbots/{id}/prices/suggestionsList price suggestionsprices:read
POST/api/v1/chatbots/{id}/prices/suggestions/{suggestionId}/applyApply a selected suggestion as a draftprices:write

Chatbots

MethodPathDescriptionScope
GET/api/v1/chatbotsList chatbotschatbots:read
POST/api/v1/chatbotsCreate chatbotchatbots:write
GET/api/v1/chatbots/{id}Get chatbotchatbots:read
PATCH/api/v1/chatbots/{id}Update chatbotchatbots:write
DELETE/api/v1/chatbots/{id}Delete chatbotchatbots:write
GET/api/v1/chatbots/{id}/personalityGet chatbot personalitychatbots:read
PATCH/api/v1/chatbots/{id}/personalityUpdate chatbot personalitychatbots:write
GET/api/v1/chatbots/{id}/widgetGet widget settingschatbots:read
PATCH/api/v1/chatbots/{id}/widgetUpdate widget settingschatbots:write
GET/api/v1/chatbots/{id}/widget/translationsGet widget translationschatbots:read
PUT/api/v1/chatbots/{id}/widget/translationsReplace widget translationschatbots:write
GET/api/v1/chatbots/{id}/embedGet embed codechatbots:read
POST/api/v1/chatbots/{id}/embed/confirmConfirm embedchatbots:write
GET/api/v1/chatbots/{id}/learning-phaseGet learning-phase settingschatbots:read
PATCH/api/v1/chatbots/{id}/learning-phaseUpdate learning-phase settingschatbots:write
POST/api/v1/chatbots/{id}/learning-phase/endEnd learning phasechatbots:write
GET/api/v1/chatbots/{id}/instructionsList core instructionschatbots:read
POST/api/v1/chatbots/{id}/instructionsAdd core instructionchatbots:write
PUT/api/v1/chatbots/{id}/instructions/reorderReorder core instructionschatbots:write
POST/api/v1/chatbots/{id}/instructions/improveImprove instructions with AIchatbots:write
GET/api/v1/instructions/{id}Get core instructionchatbots:read
PATCH/api/v1/instructions/{id}Update core instructionchatbots:write
DELETE/api/v1/instructions/{id}Delete core instructionchatbots:write
GET/api/v1/chatbot-templatesList chatbot templateschatbots:read

Knowledge base

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/knowledgeKnowledge base overviewknowledge:read
GET/api/v1/chatbots/{id}/documentsList documents for chatbotknowledge:read
POST/api/v1/chatbots/{id}/documentsUpload documentknowledge:write
POST/api/v1/chatbots/{id}/documents/presignPresign document uploadknowledge:write
GET/api/v1/documents/{id}Get documentknowledge:read
DELETE/api/v1/documents/{id}Delete documentknowledge:write
POST/api/v1/documents/{id}/confirmConfirm presigned uploadknowledge:write
GET/api/v1/chatbots/{id}/crawl/limitsCrawl limitsknowledge:read
POST/api/v1/chatbots/{id}/crawl/previewPreview scan websiteknowledge:write
GET/api/v1/chatbots/{id}/crawlList crawl jobsknowledge:read
POST/api/v1/chatbots/{id}/crawlStart crawlknowledge:write
GET/api/v1/crawl-jobs/{jobId}Get crawl jobknowledge:read
POST/api/v1/crawl-jobs/{jobId}/cancelCancel crawl jobknowledge:write
GET/api/v1/chatbots/{id}/pagesList crawled pagesknowledge:read
POST/api/v1/chatbots/{id}/pagesAdd single URLknowledge:write
POST/api/v1/chatbots/{id}/pages/bulk-deleteBulk-delete crawled pagesknowledge:write
GET/api/v1/pages/{id}Get crawled pageknowledge:read
DELETE/api/v1/pages/{id}Delete crawled pageknowledge:write
POST/api/v1/pages/{id}/recrawlRe-crawl pageknowledge:write
GET/api/v1/chatbots/{id}/websitesList crawled websitesknowledge:read
DELETE/api/v1/chatbots/{id}/websites/{domain}Delete websiteknowledge:write
POST/api/v1/chatbots/{id}/websites/{domain}/recrawlRe-crawl websiteknowledge:write
POST/api/v1/chatbots/{id}/websites/{domain}/recrawl/cancelCancel website re-crawlknowledge:write

FAQs

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/faqsList FAQs for chatbotfaqs:read
POST/api/v1/chatbots/{id}/faqsCreate FAQfaqs:write
POST/api/v1/chatbots/{id}/faqs/bulkBulk import FAQsfaqs:write
POST/api/v1/chatbots/{id}/faqs/reorderReorder FAQsfaqs:write
GET/api/v1/chatbots/{id}/faqs/embedGet FAQ widget embed codechatbots:read
POST/api/v1/chatbots/{id}/faqs/purge-cachePurge remote FAQ cachesfaqs:write
GET/api/v1/faqs/{id}Get FAQfaqs:read
PATCH/api/v1/faqs/{id}Update FAQfaqs:write
DELETE/api/v1/faqs/{id}Delete FAQfaqs:write
PUT/api/v1/faqs/{id}/translationsUpdate FAQ translationsfaqs:write
POST/api/v1/faqs/{id}/translateAI-translate FAQfaqs:write
GET/api/v1/chatbots/{id}/faq-suggestionsList FAQ suggestionsfaqs:read
POST/api/v1/chatbots/{id}/faq-suggestions/generateGenerate FAQ suggestions from knowledge basefaqs:write
GET/api/v1/faq-suggestions/{id}Get FAQ suggestionfaqs:read
POST/api/v1/faq-suggestions/{id}/approveApprove FAQ suggestionfaqs:write
POST/api/v1/faq-suggestions/{id}/rejectReject FAQ suggestionfaqs:write
GET/api/v1/chatbots/{id}/faq-categoriesList FAQ categoriesfaqs:read
POST/api/v1/chatbots/{id}/faq-categoriesCreate FAQ categoryfaqs:write
POST/api/v1/chatbots/{id}/faq-categories/reorderReorder FAQ categoriesfaqs:write
GET/api/v1/faq-categories/{id}Get FAQ categoryfaqs:read
PATCH/api/v1/faq-categories/{id}Update FAQ categoryfaqs:write
DELETE/api/v1/faq-categories/{id}Delete FAQ categoryfaqs:write
PUT/api/v1/faq-categories/{id}/translationsUpdate FAQ category translationsfaqs:write
GET/api/v1/chatbots/{id}/faq-widget-settingsGet FAQ widget settingschatbots:read
PATCH/api/v1/chatbots/{id}/faq-widget-settingsUpdate FAQ widget settingschatbots:write

Chats, feedback & Improvement Agent

MethodPathDescriptionScope
GET/api/v1/chatsList chat sessionschats:read
GET/api/v1/chats/{sessionId}Get chat sessionchats:read
PATCH/api/v1/chats/{sessionId}Set chat confidence categorychats:write
POST/api/v1/chats/{sessionId}/feedbackRate chat (Good / Needs Work)chats:write
POST/api/v1/chats/{sessionId}/feedback/dismissDismiss chat reviewchats:write
POST/api/v1/chats/{sessionId}/improveStart Improvement Agent for chatchatbots:write
GET/api/v1/chatbots/{id}/feedbackList chat reviews of a chatbotchats:read
GET/api/v1/chatbots/{id}/feedback/statsChat review stat cardschats:read
GET/api/v1/feedback/{id}Get chat reviewchats:read
PATCH/api/v1/feedback/{id}Override review severitychats:write
POST/api/v1/feedback/{id}/improvement-sessionStart Improvement Agent for reviewchatbots:write
GET/api/v1/chatbots/{id}/confidenceGet confidence statusanalytics:read
GET/api/v1/chatbots/{id}/confidence-categoriesList confidence categorieschats:read
POST/api/v1/chatbots/{id}/confidence-categoriesCreate confidence categorychatbots:write
PATCH/api/v1/confidence-categories/{id}Update confidence categorychatbots:write
DELETE/api/v1/confidence-categories/{id}Delete confidence categorychatbots:write
POST/api/v1/confidence-categories/{id}/mergeMerge confidence categorieschatbots:write
GET/api/v1/chatbots/{id}/improvement-sessionsList improvement sessionschatbots:read
GET/api/v1/improvement-sessions/{id}Get improvement sessionchatbots:read
POST/api/v1/improvement-sessions/{id}/messagesSend message to Improvement Agentchatbots:write
POST/api/v1/improvement-sessions/{id}/completeComplete improvement sessionchatbots:write
POST/api/v1/improvement-sessions/{id}/resetReset improvement sessionchatbots:write
POST/api/v1/improvement-proposals/{id}/applyApply improvement proposalchatbots:write
POST/api/v1/improvement-proposals/{id}/rejectReject improvement proposalchatbots:write
POST/api/v1/improvement-proposals/{id}/simulationsSimulate improvement proposalchatbots:write
POST/api/v1/improvement-simulations/{id}/assessmentRate simulation resultchatbots:write

Leads

MethodPathDescriptionScope
GET/api/v1/leadsList leadsleads:read
POST/api/v1/leadsCreate leadleads:write
GET/api/v1/leads/{id}Get leadleads:read
PATCH/api/v1/leads/{id}Update leadleads:write
DELETE/api/v1/leads/{id}Delete leadleads:write
POST/api/v1/leads/{id}/assignAssign leadleads:write
POST/api/v1/leads/bulk-statusBulk update lead statusleads:write
GET/api/v1/leads/statsLead statisticsleads:read
GET/api/v1/leads/exportExport leadsleads:read
GET/api/v1/chatbots/{id}/lead-configGet lead capture configurationleads:read
PUT/api/v1/chatbots/{id}/lead-configUpdate lead capture configurationleads:write
GET/api/v1/chatbots/{id}/lead-categoriesList lead categoriesleads:read
POST/api/v1/chatbots/{id}/lead-categoriesCreate lead categoryleads:write
GET/api/v1/lead-categories/{id}Get lead categoryleads:read
PATCH/api/v1/lead-categories/{id}Update lead categoryleads:write
DELETE/api/v1/lead-categories/{id}Delete lead categoryleads:write
PUT/api/v1/lead-categories/{id}/users/{userId}Assign member to lead categoryleads:write
DELETE/api/v1/lead-categories/{id}/users/{userId}Remove member from lead categoryleads:write

Contact forms

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/formsList contact formsforms:read
POST/api/v1/chatbots/{id}/formsCreate contact formforms:write
GET/api/v1/forms/{id}Get contact formforms:read
PATCH/api/v1/forms/{id}Update contact formforms:write
DELETE/api/v1/forms/{id}Delete contact formforms:write
GET/api/v1/forms/{id}/submissionsList form submissionsforms:read
GET/api/v1/forms/{id}/statsForm submission statisticsforms:read
GET/api/v1/submissions/{id}Get form submissionforms:read
PATCH/api/v1/submissions/{id}Review form submissionforms:write
DELETE/api/v1/submissions/{id}Delete form submissionforms:write

Live chat

MethodPathDescriptionScope
GET/api/v1/live-chat/availabilityGet own live chat availabilitychats:read
PUT/api/v1/live-chat/availabilitySet own live chat availabilitychats:write
POST/api/v1/live-chat/heartbeatSend presence heartbeatchats:write
GET/api/v1/live-chat/agentsList available live chat agentschats:read
GET/api/v1/live-chat/sessionsList live chat sessionschats:read
GET/api/v1/live-chat/sessions/{sessionId}Get live chat sessionchats:read
POST/api/v1/live-chat/sessions/{sessionId}/assignTake live chat (assign to key owner)chats:write
POST/api/v1/live-chat/sessions/{sessionId}/messagesSend message as agentchats:write
POST/api/v1/live-chat/sessions/{sessionId}/closeEnd live chatchats:write

Analytics

MethodPathDescriptionScope
GET/api/v1/analyticsGet analytics overviewanalytics:read
GET/api/v1/analytics/activityGet chat activity seriesanalytics:read
GET/api/v1/analytics/chatbotsList per-chatbot performance statsanalytics:read
GET/api/v1/analytics/chatbots/{id}Get chatbot analyticsanalytics:read
GET/api/v1/analytics/leadsGet lead funnelanalytics:read
GET/api/v1/analytics/formsGet form submission statsanalytics:read
GET/api/v1/activityGet attention summaryanalytics:read

Company & team

MethodPathDescriptionScope
GET/api/v1/companyGet companyany key
PATCH/api/v1/companyUpdate companycompany:write
GET/api/v1/company/settingsGet company settingscompany:read
PATCH/api/v1/company/settingsUpdate company settingscompany:write
DELETE/api/v1/company/logoRemove company logocompany:write
GET/api/v1/company/membersList team memberscompany:read
PATCH/api/v1/company/members/{userId}Change member rolecompany:write
DELETE/api/v1/company/members/{userId}Remove team membercompany:write
GET/api/v1/company/invitesList invitationscompany:read
POST/api/v1/company/invitesInvite team membercompany:write
DELETE/api/v1/company/invites/{id}Cancel invitationcompany:write
POST/api/v1/company/invites/{id}/resendResend invitationcompany:write

Email Assistant

MethodPathDescriptionScope
GET/api/v1/email/connectionsList mailbox connectionsemail:read
GET/api/v1/email/connections/{id}Get mailbox connectionemail:read
PATCH/api/v1/email/connections/{id}Update mailbox connectionemail:write
DELETE/api/v1/email/connections/{id}Disconnect mailboxemail:write
GET/api/v1/email/connections/{id}/categoriesList email categoriesemail:read
POST/api/v1/email/connections/{id}/categoriesCreate email categoryemail:write
GET/api/v1/email/connections/{id}/foldersList mail foldersemail:read
POST/api/v1/email/connections/{id}/foldersCreate mail folderemail:write
GET/api/v1/email/connections/{id}/activityList email activity logemail:read
GET/api/v1/email/categories/{id}Get email categoryemail:read
PATCH/api/v1/email/categories/{id}Update email categoryemail:write
DELETE/api/v1/email/categories/{id}Delete email categoryemail:write
GET/api/v1/email/contactsList email contactsemail:read
GET/api/v1/email/contacts/{id}Get email contactemail:read
PATCH/api/v1/email/contacts/{id}Update email contactemail:write
DELETE/api/v1/email/contacts/{id}Delete email contactemail:write

Account & notifications

MethodPathDescriptionScope
GET/api/v1/meGet key context (whoami)any key
GET/api/v1/account/usageGet plan and usageany key
GET/api/v1/notificationsList notificationsany key
DELETE/api/v1/notificationsDelete old read notificationsany key
GET/api/v1/notifications/unread-countGet unread notification countany key
POST/api/v1/notifications/mark-all-readMark all notifications as readany key
GET/api/v1/notifications/{id}Get notificationany key
PATCH/api/v1/notifications/{id}Mark notification as readany key

Blog (platform)

MethodPathDescriptionScope
GET/api/v1/blogList blog postsany key
POST/api/v1/blogCreate blog postany key
POST/api/v1/blog/assetsUpload blog assetany key
GET/api/v1/blog/{id}Get blog postany key
PATCH/api/v1/blog/{id}Update blog postany key
DELETE/api/v1/blog/{id}Delete blog postany key
POST/api/v1/blog/{id}/translationsQueue blog translationsany key

¿Necesita ayuda? Contacte con nuestro equipo de soporte →