Build on top of iNTELIGENCIA VIVA
The public API is the extension point for anything a developer wants to build on top of a workspace: routing conversations into your own system, giving an AI agent a tool that queries a customer's ERP, syncing contacts to a CRM, or streaming live events into your own dashboard. It's REST, versioned as v1, and every resource in the product's data model is reachable through it.
Authentication
Every request is authenticated with an API key issued from the workspace panel, sent as `Authorization: Bearer sk_live_...`.
Each key carries its own configurable permission scope — a key can be limited to read-only access, to specific resources, or granted full read-write access, independent of any other key issued for the same workspace.
Keys are shown in full only once, at the moment they're created; after that, only their owner can see them again, and any key can be revoked immediately from the panel without affecting other keys.
Authorization: Bearer sk_live_...
Resources
Every resource in the underlying data model is available through the API:
| Workspace | General configuration, default language, enabled channels. |
| Contact | Create, search, and look up the end customers who write in. |
| Conversation | List, create, close, and reassign conversations. |
| Message | Send and read messages within a conversation. |
| Department | Manage teams and their routing rules. |
| Agent | Manage human users, roles, and department membership. |
| AIAgent | Create and configure AI agents: instructions, knowledge base, callable tools. |
| KnowledgeSource | Upload and manage documents and URLs for RAG. |
| Channel | Configure channels and their credentials. |
| Webhook | Subscribe to outbound events, signed with HMAC. |
| APIKey | Issue and revoke keys. |
Webhook events
Subscribe a `WebhookEndpoint` to any of these events; every delivery is signed with HMAC using the secret tied to that endpoint, so you can verify it came from us before you trust its contents:
| conversation.created | A new conversation started on any channel. |
| conversation.assigned | A conversation was assigned to a human agent or department. |
| conversation.resolved | A conversation was closed, by AI or by a human. |
| message.received | A new inbound message arrived from a contact. |
| message.sent | A message was sent to a contact, by AI or by an agent. |
| handoff.requested | The AI's confidence dropped below the workspace's threshold and it requested a human. |
| ai_agent.tool_call | An AI agent invoked one of its configured tools, including tools you registered yourself. |
Deliveries are retried on failure and are not guaranteed exactly-once — design your webhook handler to be idempotent. Full delivery and retry semantics are documented in the Developer API Terms.
Real-time streaming
For integrations that need to consume events live instead of, or in addition to, webhooks, every workspace exposes a WebSocket streaming endpoint:
wss://api.inteligenciaviva.com/v1/workspaces/{id}/stream
Rate limits and fair use
API access is subject to rate limits tied to your workspace's plan; a request over the limit is signaled with HTTP 429 and the current rate-limit headers, so you can implement backoff correctly. The exact limits and the fully binding terms of API use — including what you may and may not do with the data you retrieve — are set out in the Developer API Terms, linked from the Legal page.