Run a Call has a public REST API at /api/v1. Use it to read and write customers, jobs, estimates, invoices, pricebook items, properties, memberships, voice calls, equipment, and communications.

Auth

DetailValue
MechanismBearer tokens — generate API keys in Settings → Integrations → API
HeaderAuthorization: Bearer <key>
Who can generateOwner only
Per-key controlsScopes, rate limits, IP allowlists

See Generating API keys.

Endpoints

The API exposes CRUD on the main entities. Examples:

MethodPathDescription
GET/api/v1/customersList customers
GET/api/v1/customers/{id}Fetch one
POST/api/v1/customersCreate
PATCH/api/v1/customers/{id}Update

Similarly for jobs, estimates, invoices, pricebook-items, properties, memberships, voice-calls, equipment, communications.

Developer docs

Full API reference, request/response shapes, and a machine-readable OpenAPI spec live at docs.runacall.com. Use the spec with Postman, Insomnia, or to generate client libraries in your favorite language.

Versioning

RuleDetail
Current versionv1
Future versionsShip at /api/v2/, etc.
Additive changesNew optional fields, new endpoints — won't break clients
Breaking changesShip under a new version

Rate limits

Per-key rate limits are configurable per key. Default rates are conservative; if you need higher throughput, set the per-minute limit when generating the key.

Webhooks

To get notified of events (instead of polling), subscribe to webhooks — see Subscribing to webhooks.

Common use cases

Use caseWhat you'd do
CRM syncPush leads from another system into Run a Call as customers
ReportingPull job data into your data warehouse
Zapier-style flowsSee Connecting Run a Call to Zapier
Accounting toolsPull invoice data into your accounting system (separate from the QBO integration)