Developer API

Integrate TikTak with your tools, automate workflows, or build custom experiences using our REST API.

Overview

TikTak provides a full REST API that gives you programmatic access to your time tracking and invoicing data. The same API that powers the web and mobile apps is available to you.

Key features:

  • Interactive documentation — browse and test every endpoint at /docs
  • JSON everywhere — all requests and responses use JSON
  • Simple authentication — use an API key in a header, no OAuth flows
  • Every plan includes API access — even the free plan

Authentication

Include your API key in the X-Api-Key header with every request:

GET /api/customers HTTP/1.1
Host: api.tiktakme.com
X-Api-Key: tk_aBcDeFgHiJkLmNoPqRsTuVwXyZ012345

Alternatively, you can use a JWT Bearer token (the same token used by the web app). API keys are recommended for server-to-server integrations.

Creating an API key

  1. Go to Settings → API
  2. Click Create Key
  3. Give your key a descriptive name (e.g. "Zapier Integration")
  4. Copy the key — you can always view it again on this page
Keep your API key secret. Treat it like a password. Don't commit it to version control or share it in public channels. If compromised, revoke it immediately from the settings page.

Available endpoints

The API follows RESTful conventions. All endpoints are under https://api.tiktakme.com/api/.

ResourceEndpointsDescription
CustomersGET, POST, PUT, DELETEManage customers and contacts
ServicesGET, POST, PUT, DELETEDefine hourly and fixed-price services
Log EntriesGET, POST, PUT, DELETETime entries, timers, logbook
InvoicesGET, POST, PUT, DELETECreate, update, send invoices
ExportsGETPDF, Excel, UBL, Factur-X
SettingsGETCompany and invoice settings

For the full endpoint reference with request/response schemas, visit the interactive API docs.

Rate limits

Rate limits are applied per API key using a fixed 1-hour window:

PlanRequests / hour
Free100
Pro1,000
Business5,000
Enterprise10,000

When you exceed the limit, you'll receive a 429 Too Many Requests response with a Retry-After header indicating when to retry.

Examples

List all customers

curl https://api.tiktakme.com/api/customers \
  -H "X-Api-Key: tk_your_key_here"

Create a time entry

curl -X POST https://api.tiktakme.com/api/log-entries \
  -H "X-Api-Key: tk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "c1a2b3...",
    "serviceId": "s4d5e6...",
    "date": "2026-04-03",
    "startTime": "09:00:00",
    "endTime": "11:30:00",
    "notes": "Project meeting"
  }'

Download invoice PDF

curl https://api.tiktakme.com/api/invoices/{id}/pdf \
  -H "X-Api-Key: tk_your_key_here" \
  -o invoice.pdf

Error handling

The API returns standard HTTP status codes:

CodeMeaning
200Success
400Bad request — check the error message
401Unauthorized — missing or invalid API key
403Forbidden — plan limit reached or insufficient role
404Not found
429Rate limited — retry after the indicated time
500Server error — contact support

Error responses include a JSON body:

{ "error": "Description of what went wrong" }
Want to use AI instead of code? TikTak has an official MCP server that lets Claude, ChatGPT, Gemini, and other AI assistants interact with all these endpoints through natural conversation. Read the AI & MCP guide →