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.

Where to start

  • New to the API? Quickstart — mint a key, make your first call, round-trip a resource. ~10 minutes.
  • Already know the shape? Interactive reference — every endpoint, rendered from the OpenAPI spec that ships with each release.
  • Generating a client? Point your generator at https://app.preview.trakrf.id/api/openapi.json / https://app.preview.trakrf.id/api/openapi.yaml. The same URLs feed the API client guide (Postman, Insomnia, Bruno, Hoppscotch).

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
  • API clients — import the spec into Postman, Insomnia, Bruno, or Hoppscotch
  • 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.