Skip to content
Docs

Workspace and agents

Two read-only endpoints for integrations such as Zapier and Make: check which workspace an API key belongs to, and list the agents you can send orders to. They use the same API key as Orders.

Check a key: GET /v1/me

Returns the workspace the key belongs to and whether it is a live or a test key. Use it to test a connection and to label it ("Acme Solar, live").

GET https://api.avoonta.com/v1/me
Authorization: Bearer av_live_…
HTTP/1.1 200 OK

{
  "success": true,
  "workspace": {
    "id": "6c1f0e2a-4b7d-4e3a-9f51-2d8c7b0a9e14",
    "name": "Acme Solar",
    "timezone": "America/New_York"
  },
  "key": {
    "mode": "live",
    "last4": "Wx7y"
  }
}
FieldMeaning
workspace.idThe workspace's ID. It never changes.
workspace.nameThe workspace name set in the app.
workspace.timezoneThe workspace time zone (IANA name). Leads are still called in their own 8am to 8pm.
key.modelive for an av_live_ key, test for an av_test_ key. See Test keys.
key.last4The last 4 characters of the key, to tell keys apart. The full key is never returned.

A missing, unknown or revoked key returns 401 unauthorized.

List agents: GET /v1/agents

Returns the agents that can take orders: published and not deleted. Use the id as agent_id in POST /v1/orders.

GET https://api.avoonta.com/v1/agents
Authorization: Bearer av_live_…
HTTP/1.1 200 OK

{
  "success": true,
  "agents": [
    {
      "id": "agt_3f9c2a7b1d0e4c58a6b9e2f1d4c7a0b3",
      "name": "Alex",
      "label": "Solar leads",
      "language": "en-US",
      "is_active": true,
      "paused": false,
      "published": true
    }
  ]
}
FieldMeaning
idThe agent's ID: agt_ plus 32 hex characters.
nameThe name the agent uses on calls.
labelYour own label for the agent, or null.
languageThe language the agent speaks, for example en-US.
is_activefalse when the agent is switched off. An order for it is refused with 409 agent_inactive.
pausedtrue when the agent is paused in the app.
publishedtrue when the agent can take calls. Always true unless you ask for drafts.

Agents are listed oldest first, at most 500. Add ?include_drafts=1 to include agents that have not been published yet ("published": false); an order for a draft is refused with 409 agent_not_published. Deleted agents are never listed.

Limits and errors