Skip to content
Miru 3.0 is here — expenses, CLI, dark mode, and 6 report types. Read the announcement →
API

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.

Start Tracking Free