DevelopersRead only

list_calls

API reference — one of six tools an AI assistant can call on an Avrosh account.

What it does

The 100 most recent phone calls for one business, newest first: who the other party was, direction, status, duration, and a one-line summary when the AI wrote one. `hasTranscript: true` means get_transcript will return the conversation. Times are UTC; the business timezone is in get_business.

This is the exact text the model reads before deciding to call.

Parameters

business_idstringrequired

The id returned by list_businesses.

Request

curl -X POST https://us.avrosh.com/mcp \
  -H "Authorization: Bearer $AVROSH_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_calls","arguments":{"business_id":"926135ac-487d-4367-8bad-25397d0d4b87"}}}'

Response

The result arrives as an MCP content block; the JSON below is what the text field parses to.

{
  "calls": [
    {
      "id": "c81f…",
      "counterpart": "+6281…",
      "direction": "inbound",
      "status": "completed",
      "durationSeconds": 84,
      "summary": "Asked for a Saturday morning slot and took 10:30.",
      "startedAt": "2026-08-15T02:11:44.000Z",
      "hasTranscript": true
    }
  ]
}

Authentication

Every request carries Authorization: Bearer avk_…. Create a key in the Avrosh dashboard under Docs; it is shown once, because only its hash is stored.

One key reaches every business on the account that made it, and no others. There are no scopes to configure and nothing to switch on — a connected assistant receives the whole toolset. What bounds it is whose account the key belongs to, which is enforced in the database rather than by a permission anybody sets.

curl https://us.avrosh.com/mcp \
  -H "Authorization: Bearer $AVROSH_KEY"