DocumentationAPI ReferenceChangelog

Envocal API

API Reference API Changelog

Endpoints

List agents of a tenant GETCreate an agent POSTGet an agent GETDelete an agent DELETEUpdate an agent PUTAssign a phone number to an agent POSTUnassign an agent's phone number DELETEList an agent's knowledge bases GETLink a knowledge base to an agent POSTUnlink a knowledge base from an agent DELETEList agent templates GETCreate an agent from a template POST
Agents

List agents of a tenant

Withdraw an invitation DELETE

Deletes a pending invitation; its link stops working.

Create an agent POST

Creates the agent in the tenant together with a default widget configuration whose settings are all unset (the widget's defaults apply; change them with PUT /v1/tenants/{tenantId}/agents/{agentId}/widget-configs/{id}). Omitted voice settings get defaults (server_vad turn detection, gpt-4o-transcribe transcription, far_field noise reduction). Assign tools with PUT /v1/tenants/{tenantId}/agents/{id}/tools and a phone number with POST /v1/tenants/{tenantId}/agents/{agentId}/phone-numbers/{phoneNumberId}.

GET
/v1/tenants/{tenantId}/agents

Required permission: agents:read

Authorization

Bearer
headerAuthorizationBearer <token>

Tenant API key (evk_…), created in Studio → Vault → API keys.

Path Parameters

tenantId*string

Tenant id, or current for the key's own tenant. Must be the key's tenant or one of its sub-tenants.

Response Body

The tenant's agents (templates included; see isTemplate).

  1. response
  1. response
  2. …
[index: integer]?

An AI voice/chat agent.

Example Request
curl -X GET 'https://api.envocal.ai/v1/tenants/string/agents'
Example Response
[  {    "id": "string",    "version": 0,    "name": "string",    "description": "string",    "instructions": "string",    "variableDefinitionsJson": "string",    "status": "draft",    "model": "string",    "voice": "alloy",    "knowledgeBaseIds": [      "string"    ],    "phoneNumberId": "string",    "phoneNumber": "string",    "allowFollowUpEmail": true,    "followUpEmailAddress": "string",    "allowCallTransfer": true,    "callTransferType": "direct",    "isTemplate": true,    "type": "string",    "allowEndCall": true,    "tenantId": "string",    "turnDetectionType": "server_vad",    "turnDetectionEagerness": "auto",    "turnDetectionThreshold": 0.1,    "turnDetectionPrefixPadding": 0,    "turnDetectionSilenceDuration": 0,    "turnDetectionTimeout": true,    "turnDetectionTimeoutTime": 0,    "turnDetectionInterruptResponse": true,    "transcriptionModel": "string",    "transcriptionLanguage": "string",    "transcriptionInstructions": "string",    "noiseReductionType": "none",    "toolAssignments": {      "before": [        "8e6267db-32ed-454a-a2cc-6beef2f6f00e"      ],      "during": [        "e3ae3f0a-5397-4416-b273-f7833a7fddc8"      ],      "after": [        "3f00dd4a-56f2-49c5-940c-69eed8a9fb5b"      ]    }  }]
Example Request
curl -X GET 'https://api.envocal.ai/v1/tenants/string/agents'
[
  {
    "id": "string",
    "version": 0,
    "name": "string",
    "description": "string",
    "instructions": "string",
    "variableDefinitionsJson": "string",
    "status": "draft",
    "model": "string",
    "voice": "alloy",
    "knowledgeBaseIds": [
      "string"
    ],
    "phoneNumberId": "string",
    "phoneNumber": "string",
    "allowFollowUpEmail": true,
    "followUpEmailAddress": "string",
    "allowCallTransfer": true,
    "callTransferType": "direct",
    "isTemplate": true,
    "type": "string",
    "allowEndCall": true,
    "tenantId": "string",
    "turnDetectionType": "server_vad",
    "turnDetectionEagerness": "auto",
    "turnDetectionThreshold": 0.1,
    "turnDetectionPrefixPadding": 0,
    "turnDetectionSilenceDuration": 0,
    "turnDetectionTimeout": true,
    "turnDetectionTimeoutTime": 0,
    "turnDetectionInterruptResponse": true,
    "transcriptionModel": "string",
    "transcriptionLanguage": "string",
    "transcriptionInstructions": "string",
    "noiseReductionType": "none",
    "toolAssignments": {
      "before": [
        "8e6267db-32ed-454a-a2cc-6beef2f6f00e"
      ],
      "during": [
        "e3ae3f0a-5397-4416-b273-f7833a7fddc8"
      ],
      "after": [
        "3f00dd4a-56f2-49c5-940c-69eed8a9fb5b"
      ]
    }
  }
]