Skip to Content
APIsOverview

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

SurfacePage
Quick startIntegration Kit
Environments and hostsEnvironments
AuthenticationAuthentication
Integrator sandboxSandbox
Mission planning and permissionsMission Planning API
Flight planningFlight Planning API
Airspace awarenessAirspace Awareness API

Identity, fleet, zones, constraints, partners, and telemetry transport are listed below.

Authentication

Access control

Access Control Matrix

  • 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

Hostname and error codes

  • REST hosts for sandbox, staging, and production
  • Unified error schema for 4xx and 5xx responses
  • HTTP status codes used across the API

Authentication

Authentication API

  • POST /auth/register: Register a user account
  • POST /auth/verify/send-otp: Request a verification OTP
  • POST /auth/verify: Verify a user contact
  • POST /auth/login/send-otp: Send OTP for password-less login
  • POST /auth/login-password: Password login
  • POST /auth/login-otp: Authenticate using OTP
  • POST /auth/logout: Logout
  • POST /auth/refresh-token: Refresh session
  • POST /auth/forgot-password: Send a password reset link
  • POST /auth/change-password: Change password for an authenticated user

Users

User API

  • GET /users: Members of the organisation
  • GET /users/{user_uuid}: Member details
  • PUT /users/{user_uuid}/role: Update a member role
  • DELETE /users/{user_uuid}: Remove a member (REMOVED status)
  • POST /users/invitations: Invite a user
  • POST /users/invitations/bulk: Invite users in batch
  • GET /users/invitations: List invitations

Organisations

Organisation API

  • POST /organisations: Create an organisation
  • GET /organisations/{org_uuid}: Organisation details
  • PUT /organisations/{org_uuid}: Update organisation details

Resource memberships

Resource Memberships API

  • POST /resource-invitations: Invite a user or request an asset transfer
  • POST /resource-invitations/accept: Accept or decline an invitation or transfer
  • GET /resource-invitations: List pending transactions
  • DELETE /resource-invitations/{invite_uuid}: Revoke a pending invitation
  • GET /resource-memberships: List active relationships
  • DELETE /resource-memberships/{membership_uuid}: Remove a membership

Fleet

Asset models

Asset Model API

Header required: X-Organisation-ID (Asset Manufacturer)

  • POST /asset-models: Create an asset model
  • POST /asset-models/bulk: Create asset models in batch
  • GET /asset-models: List manufacturer asset models
  • GET /asset-models/{asset_uuid}: Asset model details
  • GET /asset-models/{model_uuid}/payloads: Payload models permitted by the asset model
  • PUT /asset-models/{model_uuid}: Update an asset model
  • DELETE /asset-models/{asset_uuid}: Set asset model status to INACTIVE

Payload models

Payload Model API

Header required: X-Organisation-ID

  • POST /payload-models: Register a payload model
  • GET /payload-models: List payload models
  • GET /payload-models/{payload_uuid}: Payload model details
  • PUT /payload-models/{payload_uuid}: Update a payload model
  • DELETE /payload-models/{payload_uuid}: Soft-delete to INACTIVE

Assets

Asset API

Accessible by Asset Owner. Header required: X-Organisation-ID

  • POST /assets: Register an asset
  • POST /assets/bulk: Register assets in bulk
  • GET /assets: Assets owned by the organisation
  • GET /assets/{asset_uuid}: Asset details
  • GET /assets/{asset_uuid}/certificate: Generate or download the asset certificate PFX
  • POST /assets/{asset_uuid}/certificate/revoke: Revoke the active asset certificate
  • POST /certificates/validate: Validate a presented asset certificate thumbprint
  • PUT /assets/{asset_uuid}: Update asset details
  • DELETE /assets/{asset_uuid}: Soft-delete to INACTIVE
  • POST /assets/{asset_uuid}/transfers: Initiate an ownership transfer
  • GET /assets/{asset_uuid}/transfers: Transfer history
  • POST /assets/{asset_uuid}/transfers/accept: Accept or decline a pending transfer
  • DELETE /assets/{asset_uuid}/membership: Revoke current ownership membership

Missions

Mission planning

Mission Planning API

Header required: X-Organisation-ID

  • POST /missions: Create a mission
  • GET /missions: List missions
  • GET /missions/{mission_uuid}: Mission details
  • PUT /missions/{mission_uuid}: Update a mission
  • DELETE /missions/{mission_uuid}: Soft-delete to INACTIVE
  • POST /permissions?parent_type=MISSION&parent_uuid={mission_uuid}: Request airspace access for a mission
  • PUT /permissions/{permission_uuid}: Grant or deny airspace access
  • POST /flight-plans?mission_uuid={mission_uuid}: Create a flight plan
  • GET /flight-plans?mission_uuid={mission_uuid}: List flight plans for a mission
  • GET /flight-plans/{plan_uuid}: Flight plan details
  • PUT /flight-plans/{plan_uuid}: Update a flight plan
  • DELETE /flight-plans/{plan_uuid}: Soft-delete a flight plan
  • POST /permissions?parent_type=FLIGHT_PLAN&parent_uuid={plan_uuid}: Request airspace access for a flight plan
  • GET /flight-plans/logs: Combined list of flight plans

See also Flight Planning API.

Flight sessions

Flight Sessions API

Header required: X-Organisation-ID

  • POST /flight-sessions: Start a flight session (ad-hoc or planned)
  • GET /flight-sessions: List flight sessions
  • GET /flight-sessions/active?asset_uuid={asset_uuid}: Active session for an asset
  • GET /flight-sessions/{session_uuid}: Session details
  • POST /flight-sessions/{session_uuid}/end: End an active session
  • WS /flight-sessions/{session_uuid}/telemetry: Live telemetry ingest
  • GET /flight-sessions/{session_uuid}/telemetry/records: Stored telemetry frames
  • POST /flight-sessions/{session_uuid}/telemetry: Upload offline telemetry frames

Airspace

Airspace awareness

Airspace Awareness API

Header required: X-Organisation-ID

  • GET /airspace/active-flights: Active flights
  • GET /airspace/active-flights/assets/{asset_uuid}: A specific active flight
  • GET /airspace/assets/{asset_uuid}: Asset information for monitoring
  • GET /airspace/assets/{asset_uuid}/plans: Flight plans for an asset
  • GET /airspace/assets/{asset_uuid}/plans/{plan_uuid}: A specific flight plan for an asset
  • POST /airspace/assets/{asset_uuid}/alert: Log a flight alert or incident
  • POST /airspace/live/token: Issue a single-use token for the live telemetry WebSocket

Airspace zones

Airspace Zone API

  • POST /airspaces: Create a zone
  • POST /airspaces/bulk: Create zones in batch
  • GET /airspaces: List zones
  • GET /airspaces/sync/check: Check whether the zone catalog needs refresh
  • GET /airspaces/sync: Download zone catalog sync payload (full or diff)
  • GET /airspaces/{zone_uuid}: Zone details
  • PUT /airspaces/{zone_uuid}: Update a zone
  • DELETE /airspaces/{zone_uuid}: Soft-delete a zone

Constraints

Constraint Engine API

  • POST /constraints: Create a spatial constraint
  • GET /constraints/{constraint_uuid}: Constraint details
  • POST /constraints/intersect: Query constraints by geospatial intersection

Partners

Partner API

  • POST /partner-keys: Create a partner API key
  • GET /partner-keys: List partner keys
  • DELETE /partner-keys/{key_uuid}: Revoke a partner API key

Telemetry transport

Telemetry Wire Contract

Normative frame identity, versioning, and transport rules for GCS and platform ingest.

Last updated on