ForsideDokumentation

REST API

ChatReact REST API v1 giver Dem programmatisk adgang til understøttede dashboard-operationer: chatbots, knowledge base og crawling, strukturerede priser, FAQs, chatgennemgang og Improvement Agent, leads, kontaktformularer, live chat, virksomhed og team, Email Assistant, analytics og notifikationer. Browser-bundne handlinger (betalinger, mailbox-godkendelse, passkeys, sletning af konto og API-nøgleadministration) forbliver i dashboardet.

Foretrækker De at tale med en AI-assistent? De samme funktioner er tilgængelige som MCP-værktøjer — se MCP Server Integration. Den interaktive API Explorer med request- og response-skemaer findes på /api-reference, hvor De også kan downloade OpenAPI 3.0-specifikationen.

Authentication

  1. Gå til Dashboard → Virksomhed → API fanen og klik Opret API-nøgle
  2. Vælg et navn og de tilladelses-scopes, nøglen behøver (se nedenfor)
  3. Kopiér nøglen — den starter med cr_ og vises kun én gang

Send nøglen med hver request:

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

Et X-API-Key: cr_your_api_key header accepteres også. API-nøgler tilhører én virksomhed og udfører med virksomhedsejerens rettigheder; planbegrænsninger og feature gates gælder nøjagtigt som i dashboardet.

API-adgang er tilgængelig på betalte planer — se Pricing page. Nøgler kan tilbagekaldes når som helst fra dashboardet.

Scopes

Hver nøgle bærer ét eller flere scopes. Et endpoint returnerer 403, når nøglen mangler det krævede scope.

ScopeGrants
chatbots:read / chatbots:writeChatbot-konfiguration: persona, sprog, widget, adfærd, begrænsninger, core instructions, embed-kode, learning phase, chatbot-templates, FAQ-widget-indstillinger
knowledge:read / knowledge:writeKnowledge base: dokumenter, website-crawling, crawlede sider
faqs:read / faqs:writeFAQs, FAQ-kategorier, forslag, oversættelser
chats:read / chats:writeChathistorik, chatvurderinger, confidence-kategorier, live chat (agent-handlinger kræver chats:write)
leads:read / leads:writeLeads, lead-kategorier, lead capture-indstillinger, eksport
forms:read / forms:writeKontaktformularer og indsendelser
analytics:readStatistikker, aktivitetsserier, funnels, confidence-status
company:read / company:writeVirksomhedsprofil og indstillinger, teammedlemmer, invitationer
email:read / email:writeEmail Assistant-forbindelser, kategorier, kontakter, aktivitet
prices:readLæs strukturerede prisoptegnelser, revisioner, berettigelse og forslag
prices:writeOpret og rediger prisudkast, importer CSV og anvend et forslag som udkast; kræver virksomhedsejeren
prices:approveGodkend nøjagtige versioner eller arkivér poster; kræver virksomhedsejeren
blog:read / blog:writePlatform blogindhold (ChatReact internt)
any valid key/v1/me, konto-brug, Deres notifikationer

Conventions

  • Base URL: https://www.chatreact.ai/api/v1, JSON ind og ud (Content-Type: application/json).
  • Responses: { "success": true, "data": … }; lister tilføjer "pagination": { "total", "page", "pageSize", "totalPages" }. Brug page og pageSize (maks. 100) på listeendpoints; nogle endpoints tilbyder cursor-paginering (cursor / nextCursor).
  • Errors: { "success": false, "error": "message", "code": "BAD_REQUEST" } med valgfri details for valideringsfejl. Statuskoder: 400 ugyldigt input, 401 manglende eller ugyldig nøgle, 403 manglende scope, planfeature ikke inkluderet eller utilstrækkelig rolle, 404 ressource ikke fundet (også for ressourcer tilhørende andre virksomheder), 409 konflikt, 429 rate limit overskredet.
  • Partial updates: PATCH endpoints ændrer kun de felter, De sender; ukendte felter afvises.
  • Rate limit: 30 requests per minut per IP-adresse.
  • Long-running operations (crawls, AI-generation, oversættelser) returnerer hurtigt med et job eller resultat, som De kan polle; de forbruger token- og crawl-budgettet i Deres plan.

Endpoints

Prices & services

At gemme, redigere, importere og anvende et forslag opretter udkast uden godkendelse. Godkendelses- og arkiveringsoperationer gennemgår nøjagtige versioner; en forældet version returnerer en konflikt. Eksisterende nøgler får ikke automatisk prisrettigheder. Kun virksomhedsejeren kan tildele skrive- eller godkendelsesrettigheder. For kundens arbejdsgang, se 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

Brug for hjælp? Kontakt vores supportteam →