# Dialbird API ## Docs - [An inbound call completed](https://docs.dialbird.io/api-reference/an-inbound-call-completed.md) - [An inbound sms was received](https://docs.dialbird.io/api-reference/an-inbound-sms-was-received.md): Delivered to subscriptions for `message.incoming.received`. - [An outbound call completed](https://docs.dialbird.io/api-reference/an-outbound-call-completed.md) - [An outbound sms was delivered](https://docs.dialbird.io/api-reference/an-outbound-sms-was-delivered.md) - [Create a contact](https://docs.dialbird.io/api-reference/contacts/create-a-contact.md): Creates a contact in the caller's business. At least one of `primary_phone` or `primary_email` is required. Match-and-merge, validation, and analytics behave identically to the in-app path. - [Update a contact](https://docs.dialbird.io/api-reference/contacts/update-a-contact.md): Updates a contact owned by the caller's business. All fields are optional; only supplied fields change. **Note:** supplying `primary_phone` or `primary_email` REPLACES the contact's entire contact list — to add a contact without disturbing others, use the in-app UI/ GraphQL for v1. - [Authenticated business, user, and granted scopes](https://docs.dialbird.io/api-reference/identity/authenticated-business-user-and-granted-scopes.md): Returns the business and user the access token resolves to. Zapier and other OAuth clients use this as their "Test Authentication" URL — a 200 confirms the token is valid and scoped. - [Send an SMS](https://docs.dialbird.io/api-reference/messages/send-an-sms.md): Sends a single SMS to a destination phone number. v1 supports text bodies only (no media attachments). The send is asynchronous: the API returns `202 Accepted` once queued; final delivery status is reported via the `message.outgoing.delivered` webhook. - [Liveness probe](https://docs.dialbird.io/api-reference/system/liveness-probe.md): Unauthenticated. Subject to the anonymous (per-IP) rate limit so a runaway prober cannot pin the API. - [Create a webhook subscription](https://docs.dialbird.io/api-reference/webhooks/create-a-webhook-subscription.md): Subscribes a `target_url` to a single event type (REST Hooks model — one subscription per event type per URL). The response includes the plaintext `signing_secret` **once** — store it now; it is never returned again. Use it to verify the `X-Dialbird-Signature` on every delivery. - [Delete a webhook subscription](https://docs.dialbird.io/api-reference/webhooks/delete-a-webhook-subscription.md) - [List webhook subscriptions](https://docs.dialbird.io/api-reference/webhooks/list-webhook-subscriptions.md): Lists the caller's subscriptions. `signing_secret` is never included. - [Conventions](https://docs.dialbird.io/concepts/conventions.md): Request and response conventions that apply across the Dialbird API. - [Errors and rate limits](https://docs.dialbird.io/concepts/errors.md): The Dialbird API error envelope, error codes, and rate limiting headers. - [Idempotency](https://docs.dialbird.io/concepts/idempotency.md): Safely retry write requests with an Idempotency-Key header. - [Webhooks](https://docs.dialbird.io/concepts/webhooks.md): Subscribe to Dialbird events and verify signed webhook deliveries. - [Authentication](https://docs.dialbird.io/getting-started/authentication.md): Authenticate with the Dialbird API using the OAuth 2.0 Authorization Code flow. - [Quickstart](https://docs.dialbird.io/getting-started/quickstart.md): Confirm your token, send your first SMS, and subscribe to a webhook event. ## OpenAPI Specs - [openapi](https://docs.dialbird.io/openapi.yaml) ## Optional - [Status](https://status.dialbird.io) - [What's new](https://support.dialbird.io/changelog)