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
| Type | URL |
|---|---|
| REST API | https://api.idi-fly.com |
| Token endpoint | POST https://api.idi-fly.com/v3/auth/token |
| WebSocket | wss://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.
POST /v3/auth/tokenwith headerx-api-key: <key>and body{ "grant_type": "client_credentials", "client_id": "...", "client_secret": "..." }→{ "access_token": "...", "token_type": "Bearer", "expires_in": 3600 }.- Send
Authorization: Bearer <access_token>on every other REST call. - 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
| Method | Path | Scope |
|---|---|---|
POST | /v3/auth/token | — (uses x-api-key) |
POST | /v3/jobs/create | command:create |
GET | /v3/jobs | command:read |
GET | /v3/jobs/{jobId} | command:read |
PATCH | /v3/jobs/{jobId} | command:update |
DELETE | /v3/jobs/{jobId} | command:update |
POST | /v3/jobs/{jobId}/cancel | command:update |
POST | /v3/streams/share | stream:share |
GET | /v3/streams/share | share:read |
GET | /v3/streams/share/{shareCode} | share:read |
DELETE | /v3/streams/share/{shareCode} | share:manage |
GET | /v3/shares | share:read |
GET | /v3/shares/{shareCode} | share:read |
DELETE | /v3/shares/{shareCode} | share:manage |
GET | /v3/resources | resources: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
| Status | Meaning |
|---|---|
400 | Missing or invalid parameters |
401 | Missing, invalid, or expired token (or invalid client credentials) |
403 | Lacking the required scope, or accessing another organisation's resource |
404 | Resource not found |
405 | Method not allowed for that route |
500 | Internal server error |
Resource errors return { "error": "<message>" }; the token endpoint uses the OAuth shape
{ "error": "<code>", "error_description": "<message>" }.