Overview
Active REST and WebSocket surfaces on the UDAI API. Request schemas, response codes, and business rules are on the linked pages. All paths are relative to /v1. See Environments for hosts and Sandbox for integrator testing.
Primary surfaces
| Surface | Page |
|---|---|
| Quick start | Integration Kit |
| Environments and hosts | Environments |
| Authentication | Authentication |
| Integrator sandbox | Sandbox |
| Mission planning and permissions | Mission Planning API |
| Flight planning | Flight Planning API |
| Airspace awareness | Airspace Awareness API |
Identity, fleet, zones, constraints, partners, and telemetry transport are listed below.
Authentication
Access control
- Maps endpoints to organisation types and roles
- Context-based ownership rules (CBAC)
- Role-based membership rules: Owner, Admin, Member
- Organisation type classifications
Base URL and responses
- REST hosts for sandbox, staging, and production
- Unified error schema for
4xxand5xxresponses - HTTP status codes used across the API
Authentication
POST /auth/register: Register a user accountPOST /auth/verify/send-otp: Request a verification OTPPOST /auth/verify: Verify a user contactPOST /auth/login/send-otp: Send OTP for password-less loginPOST /auth/login-password: Password loginPOST /auth/login-otp: Authenticate using OTPPOST /auth/logout: LogoutPOST /auth/refresh-token: Refresh sessionPOST /auth/forgot-password: Send a password reset linkPOST /auth/change-password: Change password for an authenticated user
Users
GET /users: Members of the organisationGET /users/{user_uuid}: Member detailsPUT /users/{user_uuid}/role: Update a member roleDELETE /users/{user_uuid}: Remove a member (REMOVED status)POST /users/invitations: Invite a userPOST /users/invitations/bulk: Invite users in batchGET /users/invitations: List invitations
Organisations
POST /organisations: Create an organisationGET /organisations/{org_uuid}: Organisation detailsPUT /organisations/{org_uuid}: Update organisation details
Resource memberships
POST /resource-invitations: Invite a user or request an asset transferPOST /resource-invitations/accept: Accept or decline an invitation or transferGET /resource-invitations: List pending transactionsDELETE /resource-invitations/{invite_uuid}: Revoke a pending invitationGET /resource-memberships: List active relationshipsDELETE /resource-memberships/{membership_uuid}: Remove a membership
Fleet
Asset models
Header required: X-Organisation-ID (Asset Manufacturer)
POST /asset-models: Create an asset modelPOST /asset-models/bulk: Create asset models in batchGET /asset-models: List manufacturer asset modelsGET /asset-models/{asset_uuid}: Asset model detailsGET /asset-models/{model_uuid}/payloads: Payload models permitted by the asset modelPUT /asset-models/{model_uuid}: Update an asset modelDELETE /asset-models/{asset_uuid}: Set asset model status to INACTIVE
Payload models
Header required: X-Organisation-ID
POST /payload-models: Register a payload modelGET /payload-models: List payload modelsGET /payload-models/{payload_uuid}: Payload model detailsPUT /payload-models/{payload_uuid}: Update a payload modelDELETE /payload-models/{payload_uuid}: Soft-delete to INACTIVE
Assets
Accessible by Asset Owner. Header required: X-Organisation-ID
POST /assets: Register an assetPOST /assets/bulk: Register assets in bulkGET /assets: Assets owned by the organisationGET /assets/{asset_uuid}: Asset detailsGET /assets/{asset_uuid}/certificate: Generate or download the asset certificate PFXPOST /assets/{asset_uuid}/certificate/revoke: Revoke the active asset certificatePOST /certificates/validate: Validate a presented asset certificate thumbprintPUT /assets/{asset_uuid}: Update asset detailsDELETE /assets/{asset_uuid}: Soft-delete to INACTIVEPOST /assets/{asset_uuid}/transfers: Initiate an ownership transferGET /assets/{asset_uuid}/transfers: Transfer historyPOST /assets/{asset_uuid}/transfers/accept: Accept or decline a pending transferDELETE /assets/{asset_uuid}/membership: Revoke current ownership membership
Missions
Mission planning
Header required: X-Organisation-ID
POST /missions: Create a missionGET /missions: List missionsGET /missions/{mission_uuid}: Mission detailsPUT /missions/{mission_uuid}: Update a missionDELETE /missions/{mission_uuid}: Soft-delete to INACTIVEPOST /permissions?parent_type=MISSION&parent_uuid={mission_uuid}: Request airspace access for a missionPUT /permissions/{permission_uuid}: Grant or deny airspace accessPOST /flight-plans?mission_uuid={mission_uuid}: Create a flight planGET /flight-plans?mission_uuid={mission_uuid}: List flight plans for a missionGET /flight-plans/{plan_uuid}: Flight plan detailsPUT /flight-plans/{plan_uuid}: Update a flight planDELETE /flight-plans/{plan_uuid}: Soft-delete a flight planPOST /permissions?parent_type=FLIGHT_PLAN&parent_uuid={plan_uuid}: Request airspace access for a flight planGET /flight-plans/logs: Combined list of flight plans
See also Flight Planning API.
Flight sessions
Header required: X-Organisation-ID
POST /flight-sessions: Start a flight session (ad-hoc or planned)GET /flight-sessions: List flight sessionsGET /flight-sessions/active?asset_uuid={asset_uuid}: Active session for an assetGET /flight-sessions/{session_uuid}: Session detailsPOST /flight-sessions/{session_uuid}/end: End an active sessionWS /flight-sessions/{session_uuid}/telemetry: Live telemetry ingestGET /flight-sessions/{session_uuid}/telemetry/records: Stored telemetry framesPOST /flight-sessions/{session_uuid}/telemetry: Upload offline telemetry frames
Airspace
Airspace awareness
Header required: X-Organisation-ID
GET /airspace/active-flights: Active flightsGET /airspace/active-flights/assets/{asset_uuid}: A specific active flightGET /airspace/assets/{asset_uuid}: Asset information for monitoringGET /airspace/assets/{asset_uuid}/plans: Flight plans for an assetGET /airspace/assets/{asset_uuid}/plans/{plan_uuid}: A specific flight plan for an assetPOST /airspace/assets/{asset_uuid}/alert: Log a flight alert or incidentPOST /airspace/live/token: Issue a single-use token for the live telemetry WebSocket
Airspace zones
POST /airspaces: Create a zonePOST /airspaces/bulk: Create zones in batchGET /airspaces: List zonesGET /airspaces/sync/check: Check whether the zone catalog needs refreshGET /airspaces/sync: Download zone catalog sync payload (fullordiff)GET /airspaces/{zone_uuid}: Zone detailsPUT /airspaces/{zone_uuid}: Update a zoneDELETE /airspaces/{zone_uuid}: Soft-delete a zone
Constraints
POST /constraints: Create a spatial constraintGET /constraints/{constraint_uuid}: Constraint detailsPOST /constraints/intersect: Query constraints by geospatial intersection
Partners
POST /partner-keys: Create a partner API keyGET /partner-keys: List partner keysDELETE /partner-keys/{key_uuid}: Revoke a partner API key
Telemetry transport
Normative frame identity, versioning, and transport rules for GCS and platform ingest.
Last updated on