Developers / Agents
End a live session
https://api.echonova.ai/v1/agents/{agentId}/sessions/{sessionId}/endEnds the session and closes its room. Ending a session that already ended answers 200 with its final status. Needs the agents:talk scope on the key.
Headers
Bearer, a space, then your API key, which starts with ek_. Create keys in the portal under Developers, API Keys.
Path parameters
The agent id, as GET /v1/agents returned it.
The session id, as the start call returned it.
Response
200 application/json Every response uses this envelope.
The result.
The session id; also the conversation id once it ends.
The agent id.
voice for a room you speak in, chat for a text session.
active while it is open; ended after you end it or it finishes; failed or out_of_credits when it stopped early.
When it started, as an ISO 8601 date-time.
When it ended; null while it is open.
true for a successful call.
Repeats the HTTP status.
null on success.
Errors
Same envelope, with success false and data null. All errors
When. agentId or sessionId is not a 24-character hexadecimal id.
Fix. Use the id exactly as GET /v1/agents returned it.
When. The Authorization header is missing or is not Bearer ek_..., no key matches the token, or the key is deleted, disabled or its account is closed.
Fix. Send Authorization: Bearer ek_... with an enabled key from this environment.
When. The workspace that owns the key has no subscription.
Fix. Check the workspace's plan in the portal.
When. The subscription is in a state other than active or trial.
Fix. Renew the subscription.
When. The key does not have the agents:talk scope.
Fix. Edit the key and give it the agents:talk scope, or use another key.
When. The member who created the key has left the workspace, or no longer has both the View agents and Manage developer API permissions. It is checked on every call.
Fix. Give that member both permissions again, or create a key as a member who has them.
When. The agent id is unknown, or the agent belongs to another workspace.
Fix. Use an id from GET /v1/agents with a key of the agent's workspace.
When. The session id is unknown, is not a live session of this agent (a phone call, for example), or the agent belongs to another workspace.
Fix. Use the id the start call returned, with the same agent id.
When. The key made more than 100 requests to one endpoint in 60 seconds, or one IP address made more than 100 requests to one endpoint in 60 seconds (the IP limit is counted before the key is checked, so it can answer with no key at all); a Retry-After header carries the seconds to wait.
Fix. Wait Retry-After seconds, then retry.
When. An error the API did not classify.
Fix. Check the request, then retry after a short wait; contact support if it persists.
When. A transient outage inside the API.
Fix. Retry after a short wait.
When. A transient timeout inside the API.
Fix. Retry after a short wait.
curl -X POST "https://api.echonova.ai/v1/agents/{agentId}/sessions/{sessionId}/end" \
-H "Authorization: Bearer YOUR_API_KEY"{
"data": {
"id": "6651a1b2c3d4e5f6a7b8c9d0",
"agentId": "6650a1b2c3d4e5f6a7b8c9d0",
"channel": "voice",
"status": "active",
"startedAt": "2026-11-07T10:00:00.000Z",
"endedAt": null
},
"success": true,
"statusCode": 200,
"errorMessage": null
}