curl --request GET \
--url https://api.callva.io/api/v1/external/calls \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.callva.io/api/v1/external/calls"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.callva.io/api/v1/external/calls', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"message": "Calls retrieved successfully",
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tenant_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"pagination": {
"current_page": 123,
"last_page": 123,
"per_page": 123,
"total": 123,
"from": 123,
"to": 123
}
}{
"success": false,
"message": "This API token is tenant-scoped. Please provide project_id in the request payload or query parameters, or use a project-scoped token.",
"code": "PROJECT_REQUIRED"
}{
"error": "Invalid or expired token",
"message": "The provided token is invalid or has expired"
}{
"success": false,
"message": "Insufficient permission.",
"code": "insufficient_permission"
}{
"success": true,
"message": "<string>",
"errors": {
"query": [
"<string>"
]
}
}{
"success": true,
"message": "<string>"
}List calls
Requires permission: calls.read.
What a token may call depends on its role: see Authentication and permissions. Guide: Calls and outbound dispatch.
Every field of the project’s data model filters the list by its key:
field_key=value for an exact match, or field_key_<operator>=value
with an operator of gt, gte, lt, lte, ne, like, in, nin,
nullneq, null, not_null, empty or not_empty, as far as the
field’s type allows it. Only fields marked filterable take a filter, and
a filter the field cannot take answers 422. The fields and their types
are listed by GET /custom-fields.
curl --request GET \
--url https://api.callva.io/api/v1/external/calls \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.callva.io/api/v1/external/calls"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.callva.io/api/v1/external/calls', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"message": "Calls retrieved successfully",
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tenant_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"pagination": {
"current_page": 123,
"last_page": 123,
"per_page": 123,
"total": 123,
"from": 123,
"to": 123
}
}{
"success": false,
"message": "This API token is tenant-scoped. Please provide project_id in the request payload or query parameters, or use a project-scoped token.",
"code": "PROJECT_REQUIRED"
}{
"error": "Invalid or expired token",
"message": "The provided token is invalid or has expired"
}{
"success": false,
"message": "Insufficient permission.",
"code": "insufficient_permission"
}{
"success": true,
"message": "<string>",
"errors": {
"query": [
"<string>"
]
}
}{
"success": true,
"message": "<string>"
}Authorizations
A CallVA API token, sent as Authorization: Bearer <token>.
Creating one. In the CallVA dashboard, open the organization's Settings, then API Keys, and choose Create API Key: give the key a name, choose its role, and choose its project scope - All projects for an organization-wide token, or one project for a project token. The key is shown once, when it is created, and cannot be read again; store it then. Creating keys needs the api_tokens.create permission, which owners and admins hold, and a key cannot create another key.
Organization-wide or project token. A project token works in the one project it was created for; any project named in the request is ignored. An organization-wide token reaches the projects of its organization, and each request names its project with the X-Project-ID header or project_id (query string for reads and deletes, body for writes).
What it can call. The token's role decides which endpoints it may call; each endpoint names the permission it requires, and a token whose role lacks it is answered 403.
Headers
The project this request acts in. Required with an organization-wide token (or send project_id instead); ignored with a project token, which always acts in its own project.
Query Parameters
Calls per page, up to the server's maximum, or all for every call on one page.
The page to answer, from 1.
A sortable field key, - in front for descending; several comma-separated.
A groupable field key to group the list by, - in front for descending.
Text searched for across the searchable fields.