Skip to main content
GET
/
practices
/
{practiceId}
/
calls
List calls for a practice
curl --request GET \
  --url https://voice.growdental.ai/api/partner/v1/practices/{practiceId}/calls \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "status": "<string>",
      "outcome": "<string>",
      "duration_seconds": 123,
      "summary": "<string>",
      "started_at": "2023-11-07T05:31:56Z",
      "ended_at": "2023-11-07T05:31:56Z",
      "created_at": "2023-11-07T05:31:56Z",
      "has_recording": true,
      "has_transcript": true
    }
  ],
  "next_cursor": "<string>"
}

Authorizations

Authorization
string
header
required

Partner API key sent as a Bearer token:

Authorization: Bearer gd_live_...

Keys are issued by the GrowDental team (invite-only), shown once at creation, and stored server-side only as a SHA-256 hash. Key format: gd_live_ (or gd_test_) followed by a 43-character base62 secret (~256 bits of entropy). To rotate, request a new key, deploy it, then ask us to revoke the old one — both keys work during the overlap.

Path Parameters

practiceId
string<uuid>
required

Practice ID (must be granted to your app — ungranted IDs return 404).

Query Parameters

limit
integer
default:50

Maximum number of items to return.

Required range: 1 <= x <= 100
cursor
string

Opaque pagination cursor from a previous response's next_cursor. Omit for the first page.

direction
enum<string>

Filter by call direction.

Available options:
inbound,
outbound
outcome
string

Filter by outcome classification (exact match).

date_from
string<date-time>

Only calls created at or after this time (inclusive, on created_at).

date_to
string<date-time>

Only calls created at or before this time (inclusive, on created_at).

Response

Calls for the practice.

data
object[]
required
next_cursor
string | null
required

Opaque cursor for the next page — pass it back as cursor. null on the last page.