API clients
Postman, Insomnia, Bruno, and Hoppscotch all import an OpenAPI spec from a URL and generate a request collection automatically. There's no curated download to keep in sync — point your client at the canonical spec URL and the generated collection always reflects the current v1 contract.
Spec URLs
https://app.preview.trakrf.id/api/openapi.yamlhttps://app.preview.trakrf.id/api/openapi.json
Either format works; pick whichever your client prefers.
Importing
Postman
- File → Import → Link.
- Paste the YAML or JSON URL above.
- Postman creates a collection named TrakRF API with one request per operation, organized by tag.
- Open the collection's Variables tab and set:
baseUrlto your environment host (https://app.trakrf.idfor production,https://app.preview.trakrf.idfor preview accounts). The bare host with no/api/v1suffix — operation paths already include the version prefix. The API is served from theapp.subdomain, not the marketing site.bearerTokento your API key (the JWT shown once at creation). See Authentication → Mint your first API key for how to create one.
- The collection's Authorization is preconfigured as a Bearer token
referencing
{{bearerToken}}.
Insomnia
Create → Import From → URL, then paste a spec URL. Insomnia generates a request collection. Configure environment variables for the host and bearer token the same way as Postman.
Bruno
Collection → Import Collection → From OpenAPI Spec, then paste a spec URL. Bruno stores collections as files on disk; you can commit them alongside your own code if useful.
Hoppscotch
Collections → Import/Export → Import from OpenAPI URL, then paste a spec URL. Hoppscotch runs in the browser; the imported collection persists in local storage.
TypeScript with openapi-fetch
If your integration generates a TypeScript client from the same spec URL
above instead of using a GUI client, the openapi-fetch runtime needs one
extra step: it does not auto-send Content-Type: application/merge-patch+json
on PATCH calls, despite the spec declaring this content type on every
PATCH operation. A literal translation of the spec into client.PATCH(...)
returns 415 unsupported_media_type on the first call.
The fix is a mergePatchMiddleware registered once on the client so every
PATCH site is handled automatically. The full snippet (≈30 lines, plus an
optional createTrakrfClient wrapper) lives in
Quickstart §5 — TypeScript with openapi-fetch —
copy it into your project rather than overriding Content-Type per call.
The openapi-generator-cli typescript-fetch target and the Python
openapi-generator handle merge-patch correctly out of the box; this
workaround is specific to the openapi-fetch runtime path.
Refreshing
The spec moves with each platform deploy. Re-import (or use your client's "sync from spec URL" option when available) to pick up the latest operations.