Timsio
Developer early access

Build with Timsio

One REST API for your time, clients, and invoices — Personal Access Token auth, cursor pagination, and signed webhooks.

What you can build

The same data you see in Timsio, available to your own tools and workflows.

Pull your data

Read time entries, clients, projects, invoices, and expenses — cursor-paginated and always scoped to your organisation.

Push writes

Create and update time entries, clients, and invoices programmatically. Idempotency keys make every retry safe.

React in real time

Subscribe to events like invoice.paid and time_entry.created. Deliveries are HMAC-signed, retried, and de-duplicated.

Built for automation

Personal Access Tokens, stable machine-readable error codes, and an OpenAPI spec you can generate a client from.

Quickstart

Authenticate with a Personal Access Token against https://api.timsio.com/api/v1. Here are the calls you'll reach for first.

Read your clients

Cursor-paginated and scoped to your token’s organisation. Any PAT can read.

GET /clients
curl https://api.timsio.com/api/v1/clients?limit=20 \
  -H "Authorization: Bearer timsio_pat_..."

# {
#   "data": [ { "id": "clx…", "name": "Acme Corp", "currency": "USD", … } ],
#   "nextCursor": "eyJpZCI6…"   // pass back as ?cursor= for the next page; null on the last
# }

Log a time entry

Idempotent POST — pass an Idempotency-Key to make retries safe. Writes require a Plus (L2+) plan.

POST /time-entries
curl -X POST https://api.timsio.com/api/v1/time-entries \
  -H "Authorization: Bearer timsio_pat_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 3f1d8c9e-1a2b-4c3d-8e9f-0a1b2c3d4e5f" \
  -d '{
    "projectId": "clx1a2b3c4d5e6f7g8h9",
    "date": "2026-08-22",
    "durationSeconds": 5400,
    "notes": "Sprint planning",
    "billable": true
  }'

Subscribe to a webhook

Get a signed POST to your endpoint on each event. The signing secret is shown once — store it. Webhooks are Pro (L3).

POST /webhooks
curl -X POST https://api.timsio.com/api/v1/webhooks \
  -H "Authorization: Bearer timsio_pat_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/timsio/webhook",
    "events": ["invoice.sent", "invoice.paid"]
  }'

# → 201 returns the subscription + a signingSecret (whsec_…) shown ONCE.
# Verify the Timsio-Signature header on each delivery with it.

What each plan unlocks

Reading is open to everyone. Writing and webhooks scale with your plan.

Read endpoints

Any plan

Every GET is available to any valid Personal Access Token, including Starter.

Write endpoints

Plus (L2+)

POST, PATCH, and DELETE require a Plus plan or higher. An L1 token gets 403 TIER_GATE_VIOLATION.

Webhooks

Pro (L3)

Outbound webhook subscriptions are a Pro feature.

Every request is scoped to your token's organisation — tokens never reach another org's data.

Join the developer waitlist

The API is in early access. Tell us what you're building and we'll email you when your access opens.

Fields marked * are required. All other fields are optional.

No spam. We'll only email you about developer API access.