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

Calling the REST API needs a Timix organization on a Professional plan or higher. The MCP server, and the API keys you connect it with, are on every plan, Free included.

Generate an API key

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

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: tmx_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: tmx_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: tmx_… (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?”. On every plan, Free included; 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 →