Skip to content

API Overview

The Meridian Track API allows external tools, scripts, and integrations to programmatically access your workspace data. The API follows RESTful conventions and returns JSON responses.

https://api.meridiantrack.com

All API endpoints are prefixed with /v1/.

All API requests require an API key passed in the X-API-Key header:

Terminal window
curl https://api.meridiantrack.com/v1/clients \
-H "X-API-Key: mt_live_your_api_key_here"

See Authentication for details on creating and managing API keys.

Each API key has configurable rate limits:

  • Per minute (default: 60 requests/minute)
  • Per hour (default: 1,000 requests/hour)

When a rate limit is exceeded, the request is rejected with a 403 Forbidden error. Rate limit counters reset at the start of each window (minute or hour).

List endpoints return items in an items array:

{
"items": [...]
}

Paginated endpoints (time entries and invoices) include additional fields:

{
"items": [...],
"nextCursor": "...",
"hasMore": true
}

Single-resource endpoints return the resource directly:

{
"id": "...",
"name": "..."
}

Errors use a structured format:

{
"error": {
"code": "NOT_FOUND",
"message": "Client not found"
}
}

Error codes: UNAUTHORIZED (401), FORBIDDEN (403), VALIDATION_ERROR (400), NOT_FOUND (404), CONFLICT (409), NOT_IMPLEMENTED (501), INTERNAL_ERROR (500).

Time entries and invoices support cursor-based pagination. Other list endpoints (clients, projects, tasks, tags, favorites) return all items without pagination.

Terminal window
# First page
GET /v1/time-entries?limit=50
# Next page
GET /v1/time-entries?limit=50&cursor=<nextCursor value>
  • Default limit: 50
  • Maximum limit: 200
  • When more results exist, the response includes nextCursor (opaque token) and hasMore: true
ResourceEndpointsScopes
ClientsCRUDclients:read, clients:write
ProjectsCRUDprojects:read, projects:write
TasksCRUDtasks:read, tasks:write
TagsCRUDtags:read, tags:write
Time EntriesCRUDtime-entries:read, time-entries:write
FavoritesCRUDfavorites:read, favorites:write
InvoicesRead, List, Deleteinvoices:read, invoices:write

A machine-readable OpenAPI 3.0 spec is available at:

GET /v1/openapi.json

This endpoint is public and does not require authentication.