Integration API · v1

Build on top of your billing data.

The Timix.AI Integration API is a stable REST API for syncing your customers, projects, time entries and invoices with ERPs, BI dashboards, and automation tools — plus webhooks and an MCP server so your AI can work in Timix directly.

Get started in three steps

You'll need a Timix organization on a Professional plan or higher.

Generate an API key

In the Timix web app, open Account → API Keys, click Generate key, name it, and copy the bbl_… value. It's shown once — store it securely (we keep only a hash).

Make your first request

Send the key as an X-Api-Key header to any endpoint under {{API_BASE}}. No organization id needed — it's bound to the key.

Explore & build

Browse every endpoint in the interactive reference, run calls right from the page, then automate with webhooks, the MCP server, or a no-code connector.

Quick start

List your customers — the top of the work hierarchy (Customer → Project → Task → SubTask → Time).

curl -s \
  -H "X-Api-Key: bbl_your_key_here" \
  "{{API_BASE}}/customers?page=1&pageSize=20"

Verify a key and see the organization, plan and permissions it's bound to:

curl -s \
  -H "X-Api-Key: bbl_your_key_here" \
  "{{API_BASE}}/me"
Heads up — calls hit live data. The Integration API runs against your real organization; there is no sandbox. GET requests are safe to explore with, but POST / PUT / DELETE create, change, or delete real records. Use a test organization, or stick to reads, while you're learning the API. The reference's “Try it” panel sends requests with your key against your data.

The essentials

🔑

Authentication

One API key, sent as X-Api-Key: bbl_… (or Authorization: Bearer). Keys carry their owner's role and are bound to one organization.

📄

Pagination

?page=1&pageSize=50 (max 200) → { items, totalCount, page, pageSize, hasMore }, plus an X-Total-Count header.

⏱️

Rate limits

Per key, per minute: 120 (Free–Starter), 300 (Professional), 1000 (Business). Over the limit returns 429 with Retry-After.

⚠️

Errors

Consistent envelope: { "error": { "code", "message" } } with real HTTP status codes (404, 422, 403, 429…).

Ways to build

🧭

REST API reference

Every endpoint with parameters, schemas, and live “Try it”. Customers, projects, tasks, subtasks, time, invoices, financial reports and more.

Open reference →
🔔

Webhooks

Get a signed POST when an invoice is issued or a timesheet is approved — no polling. HMAC-SHA256 verification, retries, idempotency.

Set up webhooks →
🤖

MCP server

Connect Claude, ChatGPT, or Cursor and operate Timix from your own AI — “log 3 hours on Acme”, “how much unbilled time?”. Same key, role-scoped.

Connect your AI →
🔌

No-code connectors

Prebuilt Zapier, Make, and Workato apps — trigger on new records and create customers, projects, tasks and subtasks without writing code.

Browse connectors →