Tracks IT API

A read-only REST API for assets, inspections, fault codes, cost events, and TCO. Authenticate with a scoped API key issued from Settings → API. Write endpoints arrive with the API Plus add-on.

Quick start

1. In the app go to Settings → API and create a key with the scopes you need (e.g. read:assets, read:inspections). Copy the key — it's shown only once.

2. Send the key as a bearer token on every request:

cURL
curl https://engine.tracksengineering.com/api/public/v1/assets?limit=10 \
  -H "Authorization: Bearer ti_xxx"
JavaScript
const res = await fetch(
  "https://engine.tracksengineering.com/api/public/v1/assets?limit=10",
  { headers: { Authorization: "Bearer ti_xxx" } },
);
const { data, pagination } = await res.json();
Python
import requests
r = requests.get(
  "https://engine.tracksengineering.com/api/public/v1/assets",
  headers={"Authorization": "Bearer ti_xxx"},
  params={"limit": 10},
)
r.raise_for_status()
print(r.json())

Pagination

List endpoints accept ?cursor=<base64> and ?limit=<n> (max 200). Each response includes a pagination.next_cursor — pass it back as cursor to fetch the next page. When next_cursor is null, you've reached the end.

Errors

All errors return a consistent JSON envelope:

{ "error": { "code": "invalid_api_key", "message": "..." } }
  • 401 — missing or invalid key
  • 403 — key is missing the required scope or your tier doesn't include the endpoint
  • 404 — resource not found or not visible to your company
  • 409 — request is valid but the resource isn't ready (e.g. PDF not generated)

Rate limits

Reasonable use is expected. Per-key rate limiting is advertised in the dashboard but not yet enforced at the edge — sustained abuse will result in a key being revoked.

Endpoint reference