Get started
Capabilities and availability
The canonical list of what OnCore supports today, what is exposed in the public Core API, and what is not available yet.
Use this page to answer "does OnCore support this?" before designing an integration. A feature marked Available has both a public developer surface and documentation you can build against. Not in the public API means there is no supported Core API contract for it today, even if a related workflow may exist elsewhere in the product.
Available now#
| Capability | Public surface | Start here |
|---|---|---|
| Configure voice assistants | REST API | Create and configure |
| Steer how the assistant sounds (expressive delivery, emotion tagging, Eleven v3 tags) | Assistant deliveryMode | Expressive mode, Emotion tagging, Eleven v3 audio tags |
| Teach an assistant brand names and pronunciations | REST API | Dictionaries |
| Choose the transcriber, model, and voice an assistant runs on, and tune each one | GET /transcribers, GET /models, GET /voices, and per-call overrides | Providers |
| Run an assistant on a realtime speech-to-speech model (GPT-Live) | Model catalogue type, assistant voicePersonaPromptId, per-call overrides | GPT-Live 1 |
| Purchase and assign inbound phone numbers | REST API | Phone numbers |
| Read calls, recordings, transcripts, summaries, and analysis | REST API and webhooks | Call activity |
| Per-call session insights: models, per-turn latency, tool timeline | REST API | Session insights |
| Flag the caller lines a transcriber got wrong, compare candidate transcribers on them, and replay the best one over whole calls | Transcriber testing REST API with an organization key, or the dashboard for organization admins | Transcriber testing, in the dashboard |
| Watch a call in progress and speak to the caller yourself | Live calls REST API (browser SDK in preview) | Live monitoring |
| Cold, warm, and warm-return transfers | Assistant configuration | Call transfers |
| Show your assistant's number, not the customer's, to the person answering a transfer | Assistant transferSettings.use_assistant_number | Caller ID on a transfer |
| Resolve a transfer destination during a call | Synchronous tool call | Dynamic transfer |
| Browser voice calls | WebRTC session API and LiveKit client | Browser calling |
| Website text chat | Web-chat session API | Web chat |
| Send a text during a voice call | SMS reasons API | SMS reasons |
| Send a text from a number on your tenant | POST /sms | Send an SMS |
| Answer inbound SMS | Assistant channel setting | SMS |
| Answer inbound WhatsApp text | Assistant channel setting | |
| WhatsApp voice calling and reseller onboarding | REST API and webhooks | |
| Call your own backend during a conversation | Tools API and synchronous proxy | Custom tools |
| Give a tool separate instructions for text conversations (SMS, WhatsApp, web chat) | Tool textInstructions, and per-assistant text-override endpoints | Custom tools, Instruction overrides |
| Answer from uploaded documents | Documents and attachments APIs | Knowledge base |
| Control when document lookup runs | Link the Knowledge Base tool, then set assistant or tenant instructions | Control when the assistant looks up |
| Collect structured answers | Capture forms API | Capture forms |
| Run a sequence of tasks within one assistant | Task groups API | Task groups |
| Run an assistant against a scripted caller as text | REST API | Testing |
| Receive call and conversation lifecycle events | Webhooks | Webhooks |
| Send completed calls to your own Raindrop workspace | Per-tenant dashboard integration, using your own Raindrop account and key | Raindrop |
| Operate across reseller tenants with one server-side key | Organization key plus X-Tenant-Id | Reseller quickstart |
Not in the public Core API#
The following capabilities have no supported public endpoint or official client surface in the current API specification:
- Initiating outbound calls, scheduled campaigns, or call batches.
- Creating, listing, suspending, or deleting reseller tenants. Tenant lifecycle is outside the public Core API; once you have a tenant ID, an organization key can operate inside that tenant.
- Importing SIP trunks or externally owned phone numbers, or managing carrier credentials.
- Multi-assistant squads or assistant-to-assistant handoffs. Task groups sequence work inside one assistant; they are not squads. IVR router mode hands a call from a router to that same assistant, never to a second one.
- Queue controls or configurable concurrency limits.
- Managing your own model, transcription, or voice-provider credentials.
- A CLI, MCP server, or drop-in web widget. There is no prebuilt panel to embed for calling, chat, or live call monitoring: OnCore supplies the endpoints and the connection, and you build the interface.
- A general-purpose SDK for the REST API. The public surface is REST, webhooks, and the LiveKit browser client used for WebRTC; the generated OpenAPI document is the supported input for teams that want a typed client. The one browser package OnCore publishes the surface of covers live call monitoring only, and it is preview rather than available.
Do not call undocumented routes or depend on dashboard network requests. They are not part of the public contract and can change without notice.
Preview and unstable fields#
ivrSettings on an assistant configures IVR router mode, where a short router answers the call and then either transfers the caller or hands the call to the full assistant. That guide documents every key, the update semantics, and what a caller hears when the configuration is incomplete.
Treat the field as preview until the generated assistants reference lists its keys. The reference is regenerated from the public specification, and the specification is what a production client should pin to.
@oncore/live-call-sdk is the browser half of live call monitoring, and not the only way to build it. Its surface is documented and versioned, but the package is not distributed on a public registry, so the two halves of that capability carry different statuses: the REST endpoints are available, and the browser package is preview. Design against the documented surface; do not plan a launch date around installing it.
For limits that are not numerically published, see Rate limits. For the current compatibility policy, see Versioning and stability.
How this page stays current#
The API reference is generated from the public OpenAPI specification. This catalogue covers the larger product questions that a list of endpoints cannot answer. Changes to public availability are recorded in What's new and must update this page in the same release.
Next steps#
- Quickstart - create an assistant and connect its first phone number.
- Reseller quickstart - design a tenant-safe reseller backend.
- API reference - inspect the exact request and response contract.