Skip to main content

TrakRF API

The TrakRF public REST API lets integrators read and write the same assets, locations, and scan events the first-party web app uses — via API-key authentication and predictable JSON.

This page is the map. The pages linked below are the territory.

Spec mirror provenance

Spec mirrored from trakrf/platform@24db422 at 2026-05-16 12:53 UTC. If you suspect the published spec disagrees with the deployed service, include this commit and timestamp when reporting — it's the fastest way to attribute drift to either a docs-mirror lag or a real bug. The same data is available as JSON at

/api/platform-meta.json

for programmatic use.

Where to start

Concept guides

  • Authentication — API keys, Bearer headers, scopes, key lifecycle
  • Resource identifiers — canonical integer id, natural-key external_key, list-filter access by natural key, and how the two work together
  • Pagination, filtering, sorting — conventions that apply to every list endpoint
  • Errors — error envelope, error-type catalog, retry guidance
  • Rate limits — per-key token bucket, X-RateLimit-* headers, Retry-After
  • Versioning — v1 stability commitment, deprecation policy, open vs closed enums
  • Changelog — release-by-release record of added / deprecated / removed
  • Webhooks — status of outbound delivery and the interim polling pattern
  • Postman collection — ready-to-import collection
  • Private endpoints — session-cookie-only endpoints used by the first-party web app (not part of the public API surface)

License

This documentation site (trakrf/docs) is licensed under the MIT License. The source of these prose pages is in the trakrf/docs GitHub repo — file improvements or corrections there.

The TrakRF platform implementation lives in a separate repository under the Business Source License 1.1. Self-hosting platform operators should consult the platform repo's own docs/api/ for operator-specific guidance (deployment, admin bootstrap, per-instance configuration); the API surface described here is the same in both cases.