integrations · api and webhooks

a documented api, and webhooks for what matters.

Everything in tiny+ is reachable through a documented v2 API with a public changelog, and webhooks tell your own systems as things happen. On every plan.

crm.tiny.plus / settings / integrations / api
API
API v2 and webhooks
docs.tiny.plus/api · changelog · keys per person
Read the docsChangelog+ New key
GET /v2/projects?phase=won&since=2026-07-01
Authorization: Bearer tp_live_…
200 · 14 projects · page 1 of 1
[ { "id": "prj_8f21",
"name": "Harbour Street Offices",
"fee": 2200000, "phase": "won",
"company": { "id": "cmp_1a7c", "name": "Harbour Partners" },
"health": "healthy", "known_by": ["Nick Smith"] } ]
POST /v2/companies
201 · { "id": "cmp_9b20", "name": "Meadow Developments" }
resources
projectscompaniescontactspeoplepoststaskseventsplanslistsreports
your keys
Website formtp_live_…c41a · Sam · used today
Power BItp_live_…e902 · Nick · read only
Zapiertp_live_…b77f · managed
A key sees what its person can see, and no more. Revoke it in a click.

what it does

your data, in your systems.

Keys are per person and see what that person sees; webhooks are per account.

REST, JSON, v2Projects, companies, contacts, people, posts, tasks, events, plans, lists and reports. Read and write.
Keys per personA key sees what its owner can see, and no more. Revoke it in a click.
A public changelogEvery change to the API is published before it ships. Nothing breaks without notice.
Webhooksproject.phase_changed, company.health_changed, contact.created, post.created and more, delivered as they happen.
Signed and retriedDeliveries are signed, retried if your endpoint is down, and logged where you can read them.
The same API we useThe apps, the add-in, Zapier and the assistants all run on it. It’s not a second-class door.

how it works

a key, the docs, a webhook.

An afternoon for a developer who has read an API before.

1Create a keyAccount Settings › Integrations › API. Name it, pick read or read-and-write, copy it once.
2Read the docsdocs.tiny.plus/api: every resource, every field, with examples you can paste. The changelog is beside it.
3Subscribe to eventsAdd a webhook for the events you care about and the URL to send them to. Test it from the same screen.

webhooks

told as it happens, not when you poll.

A project moves phase, a client’s health changes, a contact is added, a post goes up: tiny+ sends the event to your endpoint within seconds, signed so you can trust it, with the record it concerns.

If your endpoint is down, tiny+ retries. The delivery log shows every attempt and its response, so debugging is reading, not guessing.

Webhookstell your systems as things happen
project.phase_changedOn→ yourfirm.com/hooks/tinylast delivered 9:02 · 200
company.health_changedOn→ hooks.slack.com/…last delivered 7:00 · 200
contact.createdOn→ yourfirm.com/hooks/tinylast delivered yesterday · 200
post.createdOn→ yourfirm.com/hooks/tinylast delivered 11:40 · 200
{ "event": "project.phase_changed",
"project": { "id": "prj_8f21", "name": "Harbour Street Offices" },
"from": "negotiating", "to": "won", "at": "2026-11-04T22:02:11Z" }
Signed, retried if your endpoint is down, with a delivery log you can read.

plan and details

what to know before you build.

The short version; the docs have the rest.

PlanAll plans.
AuthBearer key per person; scoped to what they can see.
FormatREST and JSON. Paged lists, filters on every resource.
LimitsFair-use rate limits; details in the docs.
WebhooksSigned, retried, logged. Per account.
Docsdocs.tiny.plus/api · changelog

the other integrations

tiny+ fits around the tools you already run.

Every connection is switched on by an admin, per account, and off again in a click.

read the docs, then try it on a demo practice.

A trial comes with a demo practice full of data, so you can build against something real before your own data goes in.

Instant access. No credit card required.