Core concepts
API reference.
The public API is versioned under /api/v1. These routes are live today: authenticate with a workspace API key, list conversations, and read a conversation's messages. Internal dashboard routers are intentionally not presented as public endpoints.
Current contract
Send a Bearer personal API key or workspace widget API key. Requests are scoped to the workspace encoded by that key, and invalid credentials return JSON 401 responses.
Conventions
- Authentication is
Authorization: Bearer <token>. Tokens are scoped to a workspace. - All bodies are JSON. All timestamps are ISO 8601 in UTC. All IDs are UUIDs.
- Conversation lists return the 50 most recently updated records and include
total. Cursor and offset pagination are not part of the public v1 contract yet. - Errors follow a uniform shape with
code,message, and an optionaldetailsobject.
curl https://campfire.is/api/v1/conversations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Product surface map
The public v1 surface is intentionally small. The broader router map below describes product domains, while the supported HTTP routes are the conversation endpoints and health/status probes above.
Messaging
- conversationslist, get, create, update, resolve, reopen, assignThe primary object. Threaded history between a visitor and your team.
- messageslist, get, create, update, deleteIndividual messages inside a conversation. Supports visitor, agent, and AI senders.
- conversationNoteslist, create, update, deleteInternal notes on a conversation. Not visible to visitors.
- conversationMetadataget, setKey/value metadata attached to a conversation.
- quickReplieslist, create, update, deleteReusable reply templates shown in the composer.
- cannedResponseslist, create, update, deleteCanned responses, scoped to the workspace or a team.
Visitors & identity
- customerProfileslist, get, update, mergePeople the messenger has seen. Merges anonymous and identified sessions.
- blockedVisitorslist, block, unblockPer-visitor blocks with audit trail.
- segmentslist, get, create, update, deleteDynamic groups of customers defined by attributes and behaviour.
Workflow
- ticketslist, get, create, update, resolve, closeFirst-class ticket objects separate from conversations.
- ticketTypeslist, create, update, deleteConfigured ticket categories.
- tagslist, create, update, deleteLabels applied to conversations and tickets.
- macroslist, create, run, update, deleteOne-click multi-action scripts.
- automationslist, create, update, enable, disable, deleteEvent-triggered automations. The webhook dispatcher lives here.
- workflowslist, create, update, deleteMulti-step automations with branching.
- autoSnoozeRuleslist, create, update, deleteRules that snooze conversations based on conditions.
- routingpreview, assignAssignment rules that route new conversations to the right agent or team.
- slalist, get, upsert, deleteService-level policies measured against first response, resolution, and update times.
Teams & users
- userslist, get, invite, update, deactivateAgents and admins in the workspace.
- teamlist, create, update, deleteTeams and membership.
- teamInboxeslist, create, update, deleteShared inboxes scoped to a team.
- organizationsget, updateThe workspace itself.
- apiKeyslist, create, revokePersonal and service API keys. Secrets are only ever returned once.
AI & knowledge
- aidraft, answer, handoffOn-demand AI assistance inside the composer.
- aiAgentslist, create, update, run, deleteNamed AI personas bound to a knowledge base.
- aiSuggestionslist, accept, dismissProactive AI suggestions surfaced to the agent.
- aiUsagesummary, seriesToken and cost usage, aggregated by period.
- knowledgeBaselist, get, create, update, publish, deleteArticles and collections that feed the AI and the help centre.
- knowledgeClarificationslist, resolvePlaces where the AI was unsure and an operator clarified.
Channels & integrations
- channelslist, connect, disconnectChannel connections — widget, email, WhatsApp, Telegram, and more.
- widgetsget, updateMessenger configuration.
- email-broadcastslist, create, sendOutbound email campaigns.
- whatsapp-broadcastslist, create, sendWhatsApp broadcast lists.
- whatsapp-templateslist, syncApproved WhatsApp message templates.
- telegramconnect, disconnectTelegram channel integration.
- shopify-integrationslist, connect, disconnectShopify store links.
- integrationslist, connect, disconnectAll other third-party connections.
- webhookslist, create, update, delete, testOutbound webhook subscriptions.
Analytics
- analyticsconversations, messages, csat, customTime-series analytics across the workspace.
- dashboardoverview, kpis, seriesThe queries that power the operator dashboard.
- metricslist, getIndividual named metrics.
- usagesummary, seriesSeat and usage accounting for billing.
- csatlist, summaryCustomer satisfaction ratings and comments.
- auditlist, getAudit log of security-relevant events.
Next