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
- Go to Settings → API
- Click Create Key
- Give your key a descriptive name (e.g. "Zapier Integration")
- Copy the key — you can always view it again on this page
Available endpoints
The API follows RESTful conventions. All endpoints are under https://api.tiktakme.com/api/.
| Resource | Endpoints | Description |
|---|---|---|
| Customers | GET, POST, PUT, DELETE | Manage customers and contacts |
| Services | GET, POST, PUT, DELETE | Define hourly and fixed-price services |
| Log Entries | GET, POST, PUT, DELETE | Time entries, timers, logbook |
| Invoices | GET, POST, PUT, DELETE | Create, update, send invoices |
| Exports | GET | PDF, Excel, UBL, Factur-X |
| Settings | GET | Company 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:
| Plan | Requests / hour |
|---|---|
| Free | 100 |
| Pro | 1,000 |
| Business | 5,000 |
| Enterprise | 10,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:
| Code | Meaning |
|---|---|
200 | Success |
400 | Bad request — check the error message |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — plan limit reached or insufficient role |
404 | Not found |
429 | Rate limited — retry after the indicated time |
500 | Server error — contact support |
Error responses include a JSON body:
{ "error": "Description of what went wrong" }