HomeDocumentatie

REST API

De ChatReact REST API v1 geeft u programmatische toegang tot ondersteunde dashboardhandelingen: chatbots, kennisbank en crawlen, gestructureerde prijzen, veelgestelde vragen, chatbeoordeling en de Improvement Agent, leads, contactformulieren, live chat, bedrijf en team, de Email Assistant, analytics en meldingen. Acties die in de browser moeten plaatsvinden (betalingen, mailboxautorisatie, passkeys, accountverwijdering en API-sleutelbeheer) blijven in het dashboard.

Heeft u liever een gesprek met een AI-assistent? Dezelfde mogelijkheden zijn beschikbaar als MCP-tools — zie MCP Server Integration. De interactieve API Explorer met request- en response-schema's bevindt zich op /api-reference, waar u ook de OpenAPI 3.0-specificatie kunt downloaden.

Authenticatie

  1. Ga naar Dashboard → Bedrijf → API tabblad en klik op API-sleutel aanmaken
  2. Kies een naam en de permissiescopes die de sleutel nodig heeft (zie hieronder)
  3. Kopieer de sleutel — deze begint met cr_ en wordt slechts één keer weergegeven

Stuur de sleutel mee met elk verzoek:

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

Een X-API-Key: cr_your_api_key header wordt ook geaccepteerd. API-sleutels behoren tot één bedrijf en voeren uit met de bevoegdheden van de bedrijfseigenaar; planlimieten en feature gates gelden exact zoals in het dashboard.

API-toegang is beschikbaar op betaalde abonnementen — zie de Pricing page. Sleutels kunnen te allen tijde worden ingetrokken vanuit het dashboard.

Scopes

Elke sleutel heeft één of meer scopes. Een endpoint retourneert 403 wanneer de sleutel de vereiste scope mist.

ScopeGrants
chatbots:read / chatbots:writeChatbotconfiguratie: persona, talen, widget, gedrag, beperkingen, kerninstructies, embed-code, leercyclus, chatbot-sjablonen, FAQ-widgetinstellingen
knowledge:read / knowledge:writeKennisbank: documenten, websitecrawling, gecrawlde pagina's
faqs:read / faqs:writeFAQs, FAQ-categorieën, suggesties, vertalingen
chats:read / chats:writeChathistorie, chatbeoordelingen, vertrouwenscategorieën, live chat (agentacties vereisen chats:write)
leads:read / leads:writeLeads, leadcategorieën, instellingen voor leadcaptatie, export
forms:read / forms:writeContactformulieren en inzendingen
analytics:readStatistieken, activiteitsseries, funnels, vertrouwensstatus
company:read / company:writeBedrijfsprofiel en -instellingen, teamleden, uitnodigingen
email:read / email:writeEmail Assistant-verbindingen, categorieën, contacten, activiteit
prices:readLees gestructureerde prijsposten, revisies, geschiktheid en suggesties
prices:writeMaak en bewerk pricedrafts, importeer CSV en pas een suggestie toe als draft; vereist de bedrijfseigenaar
prices:approveKeur exacte versies goed of archiveer items; vereist de bedrijfseigenaar
blog:read / blog:writePlatformblogcontent (ChatReact intern)
any valid key/v1/me, accountgebruik, uw meldingen

Conventies

  • Basis-URL: https://www.chatreact.ai/api/v1, JSON in en uit (Content-Type: application/json).
  • Responses: { "success": true, "data": … }; lijsten voegen "pagination": { "total", "page", "pageSize", "totalPages" } toe. Gebruik page en pageSize (max 100) op lijstendpoints; sommige endpoints bieden cursor-paginatie (cursor / nextCursor).
  • Fouten: { "success": false, "error": "message", "code": "BAD_REQUEST" } met optionele details voor validatiefouten. Statuscodes: 400 ongeldige invoer, 401 ontbrekende of ongeldige sleutel, 403 ontbrekende scope, planfunctie niet inbegrepen of onvoldoende rol, 404 bron niet gevonden (ook voor bronnen van andere bedrijven), 409 conflict, 429 ratelimiet overschreden.
  • Gedeeltelijke updates: PATCH endpoints wijzigen alleen de velden die u stuurt; onbekende velden worden afgewezen.
  • Ratelimit: 30 verzoeken per minuut per IP-adres.
  • Langlopende operaties (crawls, AI-generatie, vertalingen) reageren snel met een job of resultaat dat u kunt poll-en; ze verbruiken het token- en crawlbudget van uw plan.

Eindpunten

Prices & services

Opslaan, bewerken, importeren en toepassen van een suggestie creëert drafts zonder goedkeuring. Goedkeurings- en archiveerhandelingen beoordelen exacte versies; een verouderde versie retourneert een conflict. Bestaande sleutels krijgen niet automatisch prijspermissies. Alleen de bedrijfseigenaar kan schrijfrechten of goedkeuringsrechten toekennen. Voor de klantworkflow, zie Prices & services.

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/pricesLijst met prijsposten en geschiktheidprices:read
POST/api/v1/chatbots/{id}/pricesMaak een draftprices:write
GET/api/v1/chatbots/{id}/prices/{itemId}Lees details en paginagegevens van geschiedenisprices:read
PATCH/api/v1/chatbots/{id}/prices/{itemId}Maak een bewerkte draft vanaf een verwachte versieprices:write
GET/api/v1/chatbots/{id}/prices/{itemId}/stateLees volledige itemstatusprices:read
POST/api/v1/chatbots/{id}/prices/{itemId}/approveKeur een exacte versie goedprices:approve
POST/api/v1/chatbots/{id}/prices/{itemId}/archiveArchiveer een exacte versieprices:approve
POST/api/v1/chatbots/{id}/prices/approve-manyKeur atomair een expliciete versie-selectie goedprices:approve
POST/api/v1/chatbots/{id}/prices/importImporteer CSV-drafts met een stabiel import-IDprices:write
GET/api/v1/chatbots/{id}/prices/suggestionsLijst prijs-suggestiesprices:read
POST/api/v1/chatbots/{id}/prices/suggestions/{suggestionId}/applyPas een geselecteerde suggestie toe als draftprices:write

Chatbots

MethodPathDescriptionScope
GET/api/v1/chatbotsLijst chatbotschatbots:read
POST/api/v1/chatbotsMaak chatbotchatbots:write
GET/api/v1/chatbots/{id}Ophalen chatbotchatbots:read
PATCH/api/v1/chatbots/{id}Update chatbotchatbots:write
DELETE/api/v1/chatbots/{id}Verwijder chatbotchatbots:write
GET/api/v1/chatbots/{id}/personalityHaal chatbotpersoonlijkheid opchatbots:read
PATCH/api/v1/chatbots/{id}/personalityUpdate chatbotpersoonlijkheidchatbots:write
GET/api/v1/chatbots/{id}/widgetHaal widgetinstellingen opchatbots:read
PATCH/api/v1/chatbots/{id}/widgetUpdate widgetinstellingenchatbots:write
GET/api/v1/chatbots/{id}/widget/translationsHaal widgetvertalingen opchatbots:read
PUT/api/v1/chatbots/{id}/widget/translationsVervang widgetvertalingenchatbots:write
GET/api/v1/chatbots/{id}/embedHaal embed-code opchatbots:read
POST/api/v1/chatbots/{id}/embed/confirmBevestig embedchatbots:write
GET/api/v1/chatbots/{id}/learning-phaseHaal instellingen leercyclus opchatbots:read
PATCH/api/v1/chatbots/{id}/learning-phaseUpdate instellingen leercycluschatbots:write
POST/api/v1/chatbots/{id}/learning-phase/endBeëindig leercycluschatbots:write
GET/api/v1/chatbots/{id}/instructionsLijst kerninstructieschatbots:read
POST/api/v1/chatbots/{id}/instructionsVoeg kerninstructie toechatbots:write
PUT/api/v1/chatbots/{id}/instructions/reorderHerorden kerninstructieschatbots:write
POST/api/v1/chatbots/{id}/instructions/improveVerbeter instructies met AIchatbots:write
GET/api/v1/instructions/{id}Haal kerninstructie opchatbots:read
PATCH/api/v1/instructions/{id}Update kerninstructiechatbots:write
DELETE/api/v1/instructions/{id}Verwijder kerninstructiechatbots:write
GET/api/v1/chatbot-templatesLijst chatbot-sjablonenchatbots:read

Kennisbank

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/knowledgeOverzicht kennisbankknowledge:read
GET/api/v1/chatbots/{id}/documentsLijst documenten voor 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}Haal document opknowledge:read
DELETE/api/v1/documents/{id}Verwijder documentknowledge:write
POST/api/v1/documents/{id}/confirmBevestig presigned uploadknowledge:write
GET/api/v1/chatbots/{id}/crawl/limitsCrawl-limietenknowledge:read
POST/api/v1/chatbots/{id}/crawl/previewVoorbeeld scan websiteknowledge:write
GET/api/v1/chatbots/{id}/crawlLijst crawl-jobsknowledge:read
POST/api/v1/chatbots/{id}/crawlStart crawlknowledge:write
GET/api/v1/crawl-jobs/{jobId}Haal crawl-job opknowledge:read
POST/api/v1/crawl-jobs/{jobId}/cancelAnnuleer crawl-jobknowledge:write
GET/api/v1/chatbots/{id}/pagesLijst gecrawlde pagina'sknowledge:read
POST/api/v1/chatbots/{id}/pagesVoeg enkele URL toeknowledge:write
POST/api/v1/chatbots/{id}/pages/bulk-deleteBulk-verwijder gecrawlde pagina'sknowledge:write
GET/api/v1/pages/{id}Haal gecrawlde pagina opknowledge:read
DELETE/api/v1/pages/{id}Verwijder gecrawlde paginaknowledge:write
POST/api/v1/pages/{id}/recrawlHer-crawl paginaknowledge:write
GET/api/v1/chatbots/{id}/websitesLijst gecrawlde websitesknowledge:read
DELETE/api/v1/chatbots/{id}/websites/{domain}Verwijder websiteknowledge:write
POST/api/v1/chatbots/{id}/websites/{domain}/recrawlHer-crawl websiteknowledge:write
POST/api/v1/chatbots/{id}/websites/{domain}/recrawl/cancelAnnuleer website her-crawlknowledge:write

FAQs

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/faqsLijst FAQs voor chatbotfaqs:read
POST/api/v1/chatbots/{id}/faqsMaak FAQfaqs:write
POST/api/v1/chatbots/{id}/faqs/bulkBulk-import FAQsfaqs:write
POST/api/v1/chatbots/{id}/faqs/reorderHerorden FAQsfaqs:write
GET/api/v1/chatbots/{id}/faqs/embedHaal FAQ-widget embed-code opchatbots:read
POST/api/v1/chatbots/{id}/faqs/purge-cachePurge remote FAQ-cachesfaqs:write
GET/api/v1/faqs/{id}Haal FAQ opfaqs:read
PATCH/api/v1/faqs/{id}Update FAQfaqs:write
DELETE/api/v1/faqs/{id}Verwijder FAQfaqs:write
PUT/api/v1/faqs/{id}/translationsUpdate FAQ-vertalingenfaqs:write
POST/api/v1/faqs/{id}/translateAI-vertalen FAQfaqs:write
GET/api/v1/chatbots/{id}/faq-suggestionsLijst FAQ-suggestiesfaqs:read
POST/api/v1/chatbots/{id}/faq-suggestions/generateGenereer FAQ-suggesties vanuit kennisbankfaqs:write
GET/api/v1/faq-suggestions/{id}Haal FAQ-suggestie opfaqs:read
POST/api/v1/faq-suggestions/{id}/approveKeur FAQ-suggestie goedfaqs:write
POST/api/v1/faq-suggestions/{id}/rejectWeiger FAQ-suggestiefaqs:write
GET/api/v1/chatbots/{id}/faq-categoriesLijst FAQ-categorieënfaqs:read
POST/api/v1/chatbots/{id}/faq-categoriesMaak FAQ-categoriefaqs:write
POST/api/v1/chatbots/{id}/faq-categories/reorderHerorden FAQ-categorieënfaqs:write
GET/api/v1/faq-categories/{id}Haal FAQ-categorie opfaqs:read
PATCH/api/v1/faq-categories/{id}Update FAQ-categoriefaqs:write
DELETE/api/v1/faq-categories/{id}Verwijder FAQ-categoriefaqs:write
PUT/api/v1/faq-categories/{id}/translationsUpdate FAQ-categorievertalingenfaqs:write
GET/api/v1/chatbots/{id}/faq-widget-settingsHaal FAQ-widgetinstellingen opchatbots:read
PATCH/api/v1/chatbots/{id}/faq-widget-settingsUpdate FAQ-widgetinstellingenchatbots:write

Chats, feedback & Improvement Agent

MethodPathDescriptionScope
GET/api/v1/chatsLijst chatsessieschats:read
GET/api/v1/chats/{sessionId}Haal chatsessie opchats:read
PATCH/api/v1/chats/{sessionId}Stel chatvertrouwenscategorie inchats:write
POST/api/v1/chats/{sessionId}/feedbackBeoordeel chat (Good / Needs Work)chats:write
POST/api/v1/chats/{sessionId}/feedback/dismissVerwerp chatreviewchats:write
POST/api/v1/chats/{sessionId}/improveStart Improvement Agent voor chatchatbots:write
GET/api/v1/chatbots/{id}/feedbackLijst chatreviews van een chatbotchats:read
GET/api/v1/chatbots/{id}/feedback/statsStatcards chatreviewchats:read
GET/api/v1/feedback/{id}Haal chatreview opchats:read
PATCH/api/v1/feedback/{id}Overschrijf review-severitychats:write
POST/api/v1/feedback/{id}/improvement-sessionStart Improvement Agent voor reviewchatbots:write
GET/api/v1/chatbots/{id}/confidenceHaal vertrouwensstatus opanalytics:read
GET/api/v1/chatbots/{id}/confidence-categoriesLijst vertrouwenscategorieënchats:read
POST/api/v1/chatbots/{id}/confidence-categoriesMaak vertrouwenscategoriechatbots:write
PATCH/api/v1/confidence-categories/{id}Update vertrouwenscategoriechatbots:write
DELETE/api/v1/confidence-categories/{id}Verwijder vertrouwenscategoriechatbots:write
POST/api/v1/confidence-categories/{id}/mergeMerge vertrouwenscategorieënchatbots:write
GET/api/v1/chatbots/{id}/improvement-sessionsLijst verbeteringssessieschatbots:read
GET/api/v1/improvement-sessions/{id}Haal verbeteringssessie opchatbots:read
POST/api/v1/improvement-sessions/{id}/messagesStuur bericht naar Improvement Agentchatbots:write
POST/api/v1/improvement-sessions/{id}/completeVoltooi verbeteringssessiechatbots:write
POST/api/v1/improvement-sessions/{id}/resetReset verbeteringssessiechatbots:write
POST/api/v1/improvement-proposals/{id}/applyPas verbeteringsvoorstel toechatbots:write
POST/api/v1/improvement-proposals/{id}/rejectWeiger verbeteringsvoorstelchatbots:write
POST/api/v1/improvement-proposals/{id}/simulationsSimuleer verbeteringsvoorstelchatbots:write
POST/api/v1/improvement-simulations/{id}/assessmentBeoordeel simulatieresultaatchatbots:write

Leads

MethodPathDescriptionScope
GET/api/v1/leadsLijst leadsleads:read
POST/api/v1/leadsMaak leadleads:write
GET/api/v1/leads/{id}Haal lead opleads:read
PATCH/api/v1/leads/{id}Update leadleads:write
DELETE/api/v1/leads/{id}Verwijder leadleads:write
POST/api/v1/leads/{id}/assignWijs lead toeleads:write
POST/api/v1/leads/bulk-statusBulk-update leadstatusleads:write
GET/api/v1/leads/statsLeadstatistiekenleads:read
GET/api/v1/leads/exportExporteer leadsleads:read
GET/api/v1/chatbots/{id}/lead-configHaal leadcapture-configuratie opleads:read
PUT/api/v1/chatbots/{id}/lead-configUpdate leadcapture-configuratieleads:write
GET/api/v1/chatbots/{id}/lead-categoriesLijst leadcategorieënleads:read
POST/api/v1/chatbots/{id}/lead-categoriesMaak leadcategorieleads:write
GET/api/v1/lead-categories/{id}Haal leadcategorie opleads:read
PATCH/api/v1/lead-categories/{id}Update leadcategorieleads:write
DELETE/api/v1/lead-categories/{id}Verwijder leadcategorieleads:write
PUT/api/v1/lead-categories/{id}/users/{userId}Wijs lid toe aan leadcategorieleads:write
DELETE/api/v1/lead-categories/{id}/users/{userId}Verwijder lid uit leadcategorieleads:write

Contactformulieren

MethodPathDescriptionScope
GET/api/v1/chatbots/{id}/formsLijst contactformulierenforms:read
POST/api/v1/chatbots/{id}/formsMaak contactformulierforms:write
GET/api/v1/forms/{id}Haal contactformulier opforms:read
PATCH/api/v1/forms/{id}Update contactformulierforms:write
DELETE/api/v1/forms/{id}Verwijder contactformulierforms:write
GET/api/v1/forms/{id}/submissionsLijst formulierinzendingenforms:read
GET/api/v1/forms/{id}/statsStatistieken formulierinzendingenforms:read
GET/api/v1/submissions/{id}Haal formulierinzending opforms:read
PATCH/api/v1/submissions/{id}Review formulierinzendingforms:write
DELETE/api/v1/submissions/{id}Verwijder formulierinzendingforms:write

Live chat

MethodPathDescriptionScope
GET/api/v1/live-chat/availabilityHaal eigen live chat-beschikbaarheid opchats:read
PUT/api/v1/live-chat/availabilityStel eigen live chat-beschikbaarheid inchats:write
POST/api/v1/live-chat/heartbeatStuur presence-heartbeatchats:write
GET/api/v1/live-chat/agentsLijst beschikbare live chat-agentschats:read
GET/api/v1/live-chat/sessionsLijst live chatsessieschats:read
GET/api/v1/live-chat/sessions/{sessionId}Haal live chatsessie opchats:read
POST/api/v1/live-chat/sessions/{sessionId}/assignNeem live chat over (toewijzen aan sleutel-eigenaar)chats:write
POST/api/v1/live-chat/sessions/{sessionId}/messagesStuur bericht als agentchats:write
POST/api/v1/live-chat/sessions/{sessionId}/closeBeëindig live chatchats:write

Analytics

MethodPathDescriptionScope
GET/api/v1/analyticsHaal analytics-overzicht opanalytics:read
GET/api/v1/analytics/activityHaal chat-activiteitsseries opanalytics:read
GET/api/v1/analytics/chatbotsLijst per-chatbot prestatiestatistiekenanalytics:read
GET/api/v1/analytics/chatbots/{id}Haal chatbot-analytics opanalytics:read
GET/api/v1/analytics/leadsHaal lead-funnel opanalytics:read
GET/api/v1/analytics/formsHaal formulierinzendingstatistieken opanalytics:read
GET/api/v1/activityHaal attention-summary opanalytics:read

Bedrijf & team

MethodPathDescriptionScope
GET/api/v1/companyHaal bedrijf opany key
PATCH/api/v1/companyUpdate bedrijfcompany:write
GET/api/v1/company/settingsHaal bedrijfsinstellingen opcompany:read
PATCH/api/v1/company/settingsUpdate bedrijfsinstellingencompany:write
DELETE/api/v1/company/logoVerwijder bedrijfslogocompany:write
GET/api/v1/company/membersLijst teamledencompany:read
PATCH/api/v1/company/members/{userId}Wijzig rol van lidcompany:write
DELETE/api/v1/company/members/{userId}Verwijder teamlidcompany:write
GET/api/v1/company/invitesLijst uitnodigingencompany:read
POST/api/v1/company/invitesNodig teamlid uitcompany:write
DELETE/api/v1/company/invites/{id}Annuleer uitnodigingcompany:write
POST/api/v1/company/invites/{id}/resendHerstuur uitnodigingcompany:write

Email Assistant

MethodPathDescriptionScope
GET/api/v1/email/connectionsLijst mailbox-verbindingenemail:read
GET/api/v1/email/connections/{id}Haal mailbox-verbinding opemail:read
PATCH/api/v1/email/connections/{id}Update mailbox-verbindingemail:write
DELETE/api/v1/email/connections/{id}Koppel mailbox losemail:write
GET/api/v1/email/connections/{id}/categoriesLijst emailcategorieënemail:read
POST/api/v1/email/connections/{id}/categoriesMaak emailcategorieemail:write
GET/api/v1/email/connections/{id}/foldersLijst mailmappenemail:read
POST/api/v1/email/connections/{id}/foldersMaak mailmapemail:write
GET/api/v1/email/connections/{id}/activityLijst email-activiteitslogemail:read
GET/api/v1/email/categories/{id}Haal emailcategorie opemail:read
PATCH/api/v1/email/categories/{id}Update emailcategorieemail:write
DELETE/api/v1/email/categories/{id}Verwijder emailcategorieemail:write
GET/api/v1/email/contactsLijst emailcontactenemail:read
GET/api/v1/email/contacts/{id}Haal emailcontact opemail:read
PATCH/api/v1/email/contacts/{id}Update emailcontactemail:write
DELETE/api/v1/email/contacts/{id}Verwijder emailcontactemail:write

Account & meldingen

MethodPathDescriptionScope
GET/api/v1/meHaal sleutelcontext op (whoami)any key
GET/api/v1/account/usageHaal plan en gebruik opany key
GET/api/v1/notificationsLijst meldingenany key
DELETE/api/v1/notificationsVerwijder oude gelezen meldingenany key
GET/api/v1/notifications/unread-countHaal aantal ongelezen meldingen opany key
POST/api/v1/notifications/mark-all-readMarkeer alle meldingen als gelezenany key
GET/api/v1/notifications/{id}Haal melding opany key
PATCH/api/v1/notifications/{id}Markeer melding als gelezenany key

Blog (platform)

MethodPathDescriptionScope
GET/api/v1/blogLijst blogpostsany key
POST/api/v1/blogMaak blogpostany key
POST/api/v1/blog/assetsUpload blogassetany key
GET/api/v1/blog/{id}Haal blogpost opany key
PATCH/api/v1/blog/{id}Update blogpostany key
DELETE/api/v1/blog/{id}Verwijder blogpostany key
POST/api/v1/blog/{id}/translationsZet blogvertalingen in wachtrijany key

Hulp nodig? Neem contact op met ons supportteam →