The Miru API:
Full Access, No Limits
Every resource. Every operation. No "contact sales for API access." Generate a token, read the docs, start building. The API is the same one our own app uses.
Authentication
Bearer token. Generate one from your Miru settings page. Revoke it anytime. No OAuth dance, no client secrets, no redirect URIs. One token, one header, done.
Authorization: Bearer YOUR_TOKEN Base URL
https://app.miru.so/api/v1 All endpoints are relative to this base. Self-hosted instances use your own domain.
Endpoints
| Resource | Methods | Description |
|---|---|---|
/time_entries | GET POST PUT DELETE | Track and manage time |
/invoices | GET POST PUT | Create and manage invoices |
/clients | GET POST PUT DELETE | Manage clients |
/projects | GET POST PUT DELETE | Manage projects |
/expenses | GET POST | Track expenses |
/payments | GET | View payment history |
/users | GET | List team members |
Rate Limits
100 requests per minute per token. That's generous enough for any reasonable integration and strict enough to keep the service fast for everyone. If you're hitting the limit, you're probably polling when you should be caching.
100
Requests / minute
JSON
Response format
REST
Architecture
Code Examples
Curl. The universal language. If you can run these, you can build the integration.
List time entries
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://app.miru.so/api/v1/time_entries Create a time entry
curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"project_id": 42, "duration": 120, "note": "API integration work"}' \
https://app.miru.so/api/v1/time_entries List invoices
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://app.miru.so/api/v1/invoices Create a client
curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Acme Corp", "email": "billing@acme.com"}' \
https://app.miru.so/api/v1/clients Full API Reference
Request/response schemas, pagination, filtering, error codes, and every parameter documented. No guessing.
Build on Miru.
Generate an API token in settings and start making requests. No sales call. No waiting list.