Skip to main content

IDI Fly v3 Integration API — Quick Reference

A one-page summary of the partner Integration API. For full detail see the Integration Partner API, REST API Reference, and Real-Time WebSocket API.


Base URLs

TypeURL
REST APIhttps://api.idi-fly.com
Token endpointPOST https://api.idi-fly.com/v3/auth/token
WebSocketwss://api.idi-fly.com/telemetry

All endpoints are hosted in eu-west-2.


Authentication

OAuth 2.0 client_credentials (machine-to-machine) via Amazon Cognito.

  1. POST /v3/auth/token with header x-api-key: <key> and body { "grant_type": "client_credentials", "client_id": "...", "client_secret": "..." }{ "access_token": "...", "token_type": "Bearer", "expires_in": 3600 }.
  2. Send Authorization: Bearer <access_token> on every other REST call.
  3. For the WebSocket, pass the token on connect: ?token=<JWT>&resourceId=<id>.

The x-api-key header is required only on the token endpoint. Tokens last 1 hour; request a new one when it expires (there are no refresh tokens for M2M).


Endpoints

MethodPathScope
POST/v3/auth/token— (uses x-api-key)
POST/v3/jobs/createcommand:create
GET/v3/jobscommand:read
GET/v3/jobs/{jobId}command:read
PATCH/v3/jobs/{jobId}command:update
DELETE/v3/jobs/{jobId}command:update
POST/v3/jobs/{jobId}/cancelcommand:update
POST/v3/streams/sharestream:share
GET/v3/streams/shareshare:read
GET/v3/streams/share/{shareCode}share:read
DELETE/v3/streams/share/{shareCode}share:manage
GET/v3/sharesshare:read
GET/v3/shares/{shareCode}share:read
DELETE/v3/shares/{shareCode}share:manage
GET/v3/resourcesresources:read

Real-time telemetry (WebSocket)

Connect to wss://api.idi-fly.com/telemetry?token=<JWT>&resourceId=<id>, then send JSON messages with an action field (subscribe, unsubscribe, ping, publish). Inbound messages carry a type (telemetry, status, subscribed, pong, error). Publishing requires the stream:publish scope. See the Real-Time WebSocket API for the full message reference.


Errors

StatusMeaning
400Missing or invalid parameters
401Missing, invalid, or expired token (or invalid client credentials)
403Lacking the required scope, or accessing another organisation's resource
404Resource not found
405Method not allowed for that route
500Internal server error

Resource errors return { "error": "<message>" }; the token endpoint uses the OAuth shape { "error": "<code>", "error_description": "<message>" }.