# GrowDental Partner API > Voice-AI calling for dental practices — partner integration documentation. ## Docs - [Create a call request](https://docs.growdental.ai/api-reference/call-requests/create-a-call-request.md): Queues outbound voice-AI calls to 1–50 contacts at a granted practice. Requires `call-requests:write`. Counts against the **bulk** rate bucket (60 requests/minute). - [Get a call request](https://docs.growdental.ai/api-reference/call-requests/get-a-call-request.md): Returns a single call request with per-contact progress (status, outcome, and the resulting `call_id` once each contact has been dialed). Requires `call-requests:write`. - [List call requests for a practice](https://docs.growdental.ai/api-reference/call-requests/list-call-requests-for-a-practice.md): Returns your app's call requests for a granted practice, newest first, with aggregate per-request contact counts but without per-contact detail (fetch `GET /call-requests/{callRequestId}` for contacts). Offset-paginated. Requires `call-requests:write` (the call-request resource scope covers both cre… - [Call requestcompleted](https://docs.growdental.ai/api-reference/call_requestcompleted.md): Sent when every contact in one of your call requests has reached a terminal state (completed or failed after exhausting retries). - [Callcompleted](https://docs.growdental.ai/api-reference/callcompleted.md): Sent when a call at a granted practice finishes and post-call processing has classified its outcome. - [Callrecordingready](https://docs.growdental.ai/api-reference/callrecordingready.md): Sent when a call's audio recording has been processed and is available via `GET /calls/{callId}/recording` (requires `recordings:read` + BAA). The payload contains only IDs and API links — never a media URL. - [Get a call](https://docs.growdental.ai/api-reference/calls/get-a-call.md): Returns a single call, including its outcome, duration, and summary. Requires `calls:read`. - [List calls for a practice](https://docs.growdental.ai/api-reference/calls/list-calls-for-a-practice.md): Returns calls for a granted practice, newest first (`created_at` descending, cursor-paginated). Requires `calls:read`. Transcripts are never included in list responses — fetch a single call for the transcript (requires `transcripts:read` + BAA). - [API Reference](https://docs.growdental.ai/api-reference/introduction.md): Base URL, conventions, errors, and pagination for the GrowDental Partner API v1. - [List granted practices](https://docs.growdental.ai/api-reference/practices/list-granted-practices.md): Returns every practice your partner app has been granted, sorted by name. Requires `practices:read`. This list is not paginated — grants are issued by the GrowDental team and the set is small. - [Fetch a call recording](https://docs.growdental.ai/api-reference/recordings/fetch-a-call-recording.md): Redirects (`302`) to a **short-lived signed URL** for the call's audio recording. Requires `recordings:read`, which is PHI-gated: without a signed BAA the request fails with `403 baa_required`. - [Stream a recording (signed-URL target)](https://docs.growdental.ai/api-reference/recordings/stream-a-recording-signed-url-target.md): The target of the `302` redirect from `GET /calls/{callId}/recording`. You normally never construct this URL yourself — follow the redirect. - [Create a webhook endpoint](https://docs.growdental.ai/api-reference/webhook-endpoints/create-a-webhook-endpoint.md): Registers an HTTPS endpoint to receive signed event deliveries. Requires `webhooks:manage`. Apps may register at most 20 endpoints (`409 limit_exceeded` beyond that). - [Delete a webhook endpoint](https://docs.growdental.ai/api-reference/webhook-endpoints/delete-a-webhook-endpoint.md): Permanently deletes an endpoint. Pending deliveries to it are discarded. Requires `webhooks:manage`. - [List webhook endpoints](https://docs.growdental.ai/api-reference/webhook-endpoints/list-webhook-endpoints.md): Returns all webhook endpoints for your app. Requires `webhooks:manage`. - [Update a webhook endpoint](https://docs.growdental.ai/api-reference/webhook-endpoints/update-a-webhook-endpoint.md): Updates an endpoint's URL, enabled events, or status. Requires `webhooks:manage`. - [Changelog](https://docs.growdental.ai/changelog.md): API and documentation changes, keyed to API version dates. - [Authentication](https://docs.growdental.ai/guides/authentication.md): API key format, scopes, rotation, and the BAA gate for PHI. - [Go-live checklist](https://docs.growdental.ai/guides/go-live-checklist.md): Everything to verify before your integration touches real patients: BAA, TCPA consent, recording rules, and operational readiness. - [Receiving call outcomes](https://docs.growdental.ai/guides/receiving-call-outcomes.md): Register a webhook endpoint and verify HMAC-signed event deliveries, with working Node.js and Python receivers. - [Triggering calls](https://docs.growdental.ai/guides/triggering-calls.md): Create your first call request: contacts, purpose, context, calling windows, idempotency, and quotas. - [Core concepts](https://docs.growdental.ai/overview/concepts.md): Partners & keys, practices & grants, calls & outcomes, call requests, and webhooks — the model behind the API. - [Introduction](https://docs.growdental.ai/overview/introduction.md): Integrate your platform with GrowDental's voice-AI calling for dental practices. ## OpenAPI Specs - [openapi](https://docs.growdental.ai/openapi.yaml)