API reference
Projects API
3 operations · all resources
What this covers#
A project is the isolation boundary: credentials, keys, agents, numbers, sessions and webhooks all belong to exactly one. Create one per environment or per customer.
Every example below runs as written once these are exported:
export DVAARIK_TOKEN="<account access token>" # console session, from POST /console/auth/login
export PROJECT_ID="<uuid>"A <value> inside a JSON body is a value you supply. Responses are JSON; every error body is { "detail": … }. Each schema is expanded once per page, where it first appears.
Account door errors#
| Status | Cause |
|---|---|
401 | No account session was presented, or it is invalid or expired. Refresh once, then re-authenticate. |
403 | The account is suspended or its email is not verified. |
Operations — account session#
The same resource through the console door. These are what the web console calls; both doors return the same shapes.
GET /v2/projects#
List the projects on this account.
| Detail | Value |
|---|---|
| Door | Account session — Authorization: Bearer $DVAARIK_TOKEN |
| Operation | list_projects_v2_projects_get |
| Success | 200 ProjectInfo[] |
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
limit | query | integer | no | |
offset | query | integer | no |
ProjectInfo#
| Field | Type | Required | Notes |
|---|---|---|---|
api_rpm | integer | yes | |
created_at | date-time | yes | |
external_reference | string or null | yes | |
id | uuid | yes | |
is_default | boolean | yes | |
max_call_seconds | integer | yes | |
name | string | yes | |
revision | integer | yes | |
social_daily_sends | integer | yes | |
social_rpm | integer | yes | |
status | string | yes | |
updated_at | date-time | yes | |
voice_concurrency | integer | yes |
| Error | When |
|---|---|
422 | The request body or query is not valid. detail is an array of {loc, msg, type} and loc names the offending field. |
Plus the account-door errors above. Full list on the errors page.
curl -sS -X GET "https://api.developers.dvaarik.com/v2/projects?limit=20" \
-H "Authorization: Bearer $DVAARIK_TOKEN"POST /v2/projects#
Create a project — the isolation boundary every other resource hangs off.
| Detail | Value |
|---|---|
| Door | Account session — Authorization: Bearer $DVAARIK_TOKEN |
| Operation | create_project_v2_projects_post |
| Success | 201 ProjectInfo |
Request body: CreateProjectRequest.
CreateProjectRequest#
| Field | Type | Required | Notes |
|---|---|---|---|
external_reference | string or null | no | |
name | string | yes |
| Error | When |
|---|---|
422 | The request body or query is not valid. detail is an array of {loc, msg, type} and loc names the offending field. |
Plus the account-door errors above. Full list on the errors page.
curl -sS -X POST "https://api.developers.dvaarik.com/v2/projects" \
-H "Authorization: Bearer $DVAARIK_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "production",
"external_reference": "acct_4821"
}'GET /v2/projects/{project_id}#
Read one project with its concurrency, request-rate and maximum-session limits.
| Detail | Value |
|---|---|
| Door | Account session — Authorization: Bearer $DVAARIK_TOKEN |
| Operation | get_project_v2_projects__project_id__get |
| Success | 200 ProjectInfo |
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
project_id | path | uuid | yes |
| Error | When |
|---|---|
422 | The request body or query is not valid. detail is an array of {loc, msg, type} and loc names the offending field. |
Plus the account-door errors above. Full list on the errors page.
curl -sS -X GET "https://api.developers.dvaarik.com/v2/projects/$PROJECT_ID" \
-H "Authorization: Bearer $DVAARIK_TOKEN"Try it without a key in the browser
The playground opens a real voice session with your account session, so a project key never reaches a browser. Machine calls belong on your own server.