Skip to main content
In a few minutes you will have an API token, a test call made from your browser, and that call’s record and transcript fetched over the API. You need a CallVA account with a project that has a voice agent, and permission to create API keys in its organization (owners and admins have it; it is the api_tokens.create permission).
1

Create an API token

  1. Sign in to the dashboard at app.callva.io.
  2. Open the organization menu at the top of the sidebar and choose Settings, then API Keys.
  3. Choose Create API Key and fill in the dialog:
    • Key Name - what the key is for, such as Quickstart or n8n integration.
    • Role - the permissions the key carries. For this quickstart the key needs calls.read and transcripts.read; the built-in Analyst role holds both and can change nothing.
    • Project Scope - your project, for a project token that works in that project only, or All projects for an organization-wide token.
  4. Choose Create Key, then copy the key.
The key is shown once, when it is created, and cannot be read again. Store it in your secret manager now. If you lose it, delete it and create another.
The role list offers only roles you may hand out: you cannot give a key a permission you do not hold yourself. Authentication and permissions explains roles and scopes in full.
2

Set your environment

Every example in these docs reads the base URL and your token from two variables:
3

List your projects

Check that the token works by listing the projects it reaches (List projects):
A project token answers with its own project:
200 OK
An organization-wide token reaches every project of its organization, so each request must say which project it acts in - and that includes GET /projects. Without one, the API refuses the request:
400 Bad Request
Send the project’s id in the X-Project-ID header, or as project_id - in the query string for reads and deletes, in the JSON body for writes:
To find a project’s id, open the project in the dashboard and choose Project Settings: the id sits under the page title, and a click copies it. A project token ignores both, and always acts in its own project.
4

Talk to your agent in the browser

The dashboard can call your agent from the browser, using your microphone - no phone number and no phone line involved.
  1. In the dashboard, open your project and choose Voice Agent in the sidebar, then the agent.
  2. Choose Test Agent (the microphone button at the top right of the agent page). A test panel opens beside the page.
  3. Choose Start Call and allow the browser to use your microphone.
  4. Say a few sentences and let the agent answer, then choose End Call.
The test panel runs the agent’s saved configuration. If you edit the agent while the panel is open, the panel says that the change is not in the current call yet and offers Reload.
A test call is a real call on the voice engine, and it is recorded like any other: it becomes a call record in the project, with type set to webrtc (shown as Web in the dashboard). The agent must be active, and the organization must have the CallVA voice engine available.
5

Find the call

List the project’s calls, newest first (List calls). sort takes a field key, with - in front for descending order; without it the list is not ordered newest first.
200 OK
A call carries its identity (id, tenant_id, project_id, created_at, updated_at) and then every field of the project’s data model at the top level, by field key. Fields with no value are left out. Every field key also works as a filter, such as status=complete or started_at_gte=2026-11-01; the Calls guide covers filtering.
6

Read the call and its transcript

Take the call’s id and fetch the record (Get a call) and its transcript (Get transcript):
The transcript is the conversation as a list of messages, each with its role (assistant for the agent, user for the caller), content and timestamp:
200 OK
A call that has no transcript yet answers 404 with "message": "No transcript found for this call".

Next steps

Authentication and permissions

Choose the right token and role for each integration.

Calls

Place outbound calls and work with call records at scale.

Connect an AI agent

Let Claude, Cursor or any MCP client operate CallVA for you.

API reference

Every endpoint, with a playground that runs on your token.