Skip to main content
Make your first successful calls against a real practice. Swap the base URL if the practice is hosted in the UK or South Africa.

Before you start

  • Client ID and Client secret from the practice administrator
  • The regional base URL for that practice
  • An HTTP client (curl, Postman, or your language’s HTTP library)
1

Pick the regional host

Wrong host means 401s or empty lists. Practices do not span regions.
2

Validate credentials

If canWrite is false, POST routes return 403. Ask the administrator to enable write access when you need to create records or send forms.
3

List clients

Store entityKey. That UUID is the foreign key for eForms, KYC, proposals, contacts, and bills.
4

Incremental sync

After a full import, pass the UTC watermark of your last successful run:
Do not send a future lastUpdated. That returns 400. See Pagination and sync.
5

Honour rate limits

Default limits are 60/minute, 1000/hour, and 10000/day per Client ID. On 429, wait Retry-After seconds. Full table: Errors and rate limits.

Next

Sync clients

Full import, detail, integrations, and create.

Send an eForm

Templates, recipients, and mute mode.

Webhooks

Stop polling. Verify signatures.

API Reference

Interactive playground.