1. Common
FlightHub 2 OpenAPI V2.0 (On-Premises)
  • Call_Guide
    • Authentication Tutorial
    • Response Result
    • Request Structure
    • Error Codes
    • Public Parameters
  • Common
    • Common Foundation Tutorial
    • System Health & Access
      • DRC Service Health Check
    • Access and Authorization
      • STS Credentials
        • Get Business-Module Customized STS Credentials
        • Get Project-Level File Direct Upload STS Credentials
        • Get Flight Record Upload STS Credentials
    • Security
      • Decrypt Device Serial Number (SN) in Flight Record
  • Organization & Project
    • Organization and Project Tutorial
    • Project Management
      • Project Configuration
        • Get Project Auto Recording Configuration
        • Configure Project Auto Recording Rules
      • Project Basic Info
        • Create Project
        • Update Project Info
        • Get Project Details
        • Delete Project
      • Quick Join
        • Query Quick Join Project Info
        • Join Project via Quick Join Code
    • Organization Management
      • Query Organization Project List
      • Update Current User's Subscription Settings
      • Get Organization Details
      • Update Organization Info
    • Members & Permissions Management
      • Roles & Permissions
        • Get Project Permission Tree Definition
        • Query Project Role List Within Organization
        • Batch Create Project-Level Custom Roles
        • Query Role-Permission Mapping (Role ID → Permission List)
        • Delete Organization Custom Role
        • Update Custom Role
      • Organization Members
        • Batch Remove Organization Members
        • Query Organization Member List
        • Batch Add Organization Members
        • Batch Update Organization Member Info
        • Query Current User's Identity and Configuration in Organization
        • Update Current User's Organization Call Sign
        • Current User Exits Organization
      • Project Members
        • Get Project Team Members (Online)
        • Get Project User List
        • Update Current User's Project Call Sign
  • Device Management
    • Device Management Tutorial
    • Device Configuration
      • Device Shadow
        • Update Organization Device Shadow Configuration
        • Update Project Device Shadow Configuration
        • Query Organization Device Thing Model Attribute Current Values
      • Generic Configuration Command
        • Dispatch Custom Command to Organization Device (Generic cmds Channel)
        • Query Organization Device Command Execution Progress
        • Batch Query Organization Device Command Execution Progress
        • Dispatch Command to Devices in Project
      • HMS Event
        • Get Organization Device HMS Event List
        • Update Organization Device HMS Read Time
        • Update Project Device HMS Read Time
        • Batch Get Project Device HMS Events
      • Network Management
        • Query Device Current NTP Server Configuration
        • Start Device Network Speed Detection Task
        • Query Device Network Speed Test Task Result
        • Query Bay Network Configuration
        • Detect Bay Network Connection
        • Query 4G Module APN Configuration
      • RTK Configuration
        • Query Device's RTK Network Account Info
        • Custom Network RTK Calibration
      • Pairing Management
        • Query Device Pairing Info
        • Dispatch Device Pairing Command
        • Query Relay Scan Result
        • Query Relay Non-Paired Connection Result
        • Query Pairing Request Result
      • SIM Card Management
        • Query Device SIM Card Subscription and Data Info
      • Project Device Configuration
        • Modify Project Device Configuration Parameters
        • Get Project Device Configuration
    • Device List Management
      • Project Device List
        • Modify Organization Device's Current Workspace Project
        • Get Project Device List
        • Get Single Device Details Within Project
        • Modify Device Project Call Sign in Project
        • Get Project Historical Topology Device List
        • Get Project Device Thing Model
      • Organization Device List
        • Query Organization Device Simplified List
        • Batch Modify Organization Device Call Sign
        • Modify Single Organization Device Call Sign
        • Batch Remove Organization Devices
        • Query Organization Device O&M List
        • Query Model Primary Key List for a Device Category in Organization
        • Query Organization Device Online Working Quota
  • Real-time Control
    • Real-Time Control Tutorial
    • Flight Control Commands
      • Real-time Command
        • Query Project Device Command Execution Progress
        • Dispatch Flight Control Command
      • Airborne Task
        • Create Airborne-Dispatched Wayline Task
        • Control Wayline Task (Pause / Resume / Cancel)
      • Point-to-Fly
        • Get Flight Task Device Recommendation Result
        • Fly to Target Point (One-Click Takeoff)
        • Initiate Fly-to-Multiple-Targets Task
        • Update In-Progress Fly-to-Target Task
        • End Fly-to-Target Task
      • Smart Orbit
        • Enter POI Orbit Mode
        • Exit POI Orbit Mode
        • Update POI Orbit Speed
        • Query POI Task Status
      • Relay Task
        • Create Relay Task (Dual-Aircraft Rotation)
        • Calculate Best Relay Position for Relay Task
        • Edit Relay Task Configuration
        • Trigger Relay Aircraft Active Takeoff
        • Update Relay Task Running Status (Pause / Resume / Cancel)
        • Actively Switch Relay Task Executing Aircraft
    • Control Permission Management
      • Device Control Permission
        • Device Control Authority Operation (Organization Device O&M)
        • Query Device Control Authority Status (Organization Device O&M)
        • Acquire (Occupy) Cloud Control Role
        • Query Project Device Control Authority Status
        • Query User List in Project Recently Operating Device
        • Device Control Authority Operation
      • Cloud Control Permission
        • Request Cloud Control Authorization (Initiated to Remote Controller)
        • Batch Query Aircraft Cloud Control Authority Status
        • Acquire (Occupy) Cloud Control Permission
        • Release Cloud Control Permission
    • Payload Control
      • Camera Control
        • Dispatch Payload Control Command
      • PSDK Device
        • Dispatch PSDK Command
      • Speaker
        • Open Aircraft Two-Way Voice Channel
        • Open DRC Real-time Control Channel
        • Query Speaker Resource List
        • Create Speaker Resource
        • Delete Speaker Resource
        • Edit Speaker Resource
        • Get Speaker Audio Upload STS Credentials
    • Takeoff-Landing Coordination
      • Query TCA Real-time Status
  • Flight Task
    • Flight Tasks Tutorial
    • Task Query
      • Get Current Active Wayline Task (DRC Real-time Control)
      • Get Current Active Wayline Task (Task Management)
      • Batch Query Flight Task Details by UUID
      • Query Flight Task Time Conflict List
      • Get Flight Task Details (V2, includes execution details)
      • Query Dock Recent / Current Task
      • Get Task Flight Track (V2)
    • Flight Record
      • Export and Download
        • Flight Record File Download
        • Query Flight Task Export History
        • Export Flight Task Records (Generates Async ZIP Task)
        • Cancel / Delete Export Task
      • Operation Log
        • Query Flight Task Operation Log (V2)
    • Task Management
      • Create Flight Task
      • Create Flight Task (Advanced Version, Returns Subtasks)
      • Check Whether Flight Task Meets Dispatch Conditions
      • Mark Task as Read
      • Check Flight Task Block Items
      • Resumable Immediate Task
      • Delete Flight Task
      • Edit Flight Task
      • Get Flight Task Details
      • Dispatch Task Media Priority Upload Command
      • Create Resume Flight Task (Retain Original Breakpoint)
      • Update Flight Task Suspend Status (Suspend / Resume / Cancel)
      • Query Flight Task List
    • AI Flight Alert
      • Query Flight Sortie List with AI Alerts by Device SN
      • Query Historical AI Alert Records
  • Wayline
    • Waylines Tutorial
    • Download and Upload
      • Pack Resources to KMZ (Precise Recapture Flow)
      • Query Wayline Async Import Status
      • Wayline Save KMZ Upload Completion Callback
      • Wayline KMZ File Import Callback
      • Batch Download Waylines / Folders (ZIP Package)
    • Wayline List Management
      • Get Wayline KMZ Download URL and 302 Redirect
      • Copy Wayline
      • Favorite Wayline / Media Resource
      • Unfavorite Wayline / Media Resource
      • Stitch Multiple Waylines into One
      • Wayline Library File List Query (V1)
      • Delete Specified Wayline (default soft delete to recycle bin)
      • Update Wayline Metadata (Rename / Lock / Restore from Recycle Bin)
      • Get Single Wayline Details
    • Wayline File CRUD
      • Create Wayline Folder
      • Batch Delete Waylines / Folders
      • Batch Move Waylines / Folders to Target Folder
      • Move Wayline / Folder to Specified Group
      • Batch Update Wayline / Folder Lock Status
  • Map
    • Map Tutorial
    • Map Annotation
      • Annotation Layer Management
        • Move / Reorder Layers and Features
        • Delete Single Annotation Layer (Folder)
        • Update Annotation Layer (Rename / Reorder)
        • Distribute Annotation Layer to Device
        • Lock / Unlock Annotation Layer
        • Cancel Annotation Layer Distribution
        • Batch Delete Annotation Layers / Features
        • Create Annotation Layer (Folder)
        • Query Annotation Layer (Folder) List
      • Annotation Feature Management
        • Batch Modify Display Status of Features Under Layer
        • Clear All Annotation Features Under Specified Layer
        • Create Annotation Feature Under Specified Layer
        • Batch Import Layers and Annotations (KML-Style JSON)
        • Export Features Under Layer Group (KML-Style JSON)
        • Delete Single Annotation Feature
        • Update Annotation Feature (Rename / Modify Coordinates / Modify Style / Reorder)
      • Custom Icon
        • Query Project Custom Point Icon Library
        • Register Custom Point Icon
        • Delete Custom Point Icon
    • Signal Heatmap
      • Query Organization-Level Signal Heatmap
      • Query Project-Level Signal Heatmap
    • Airspace Safety
      • Custom Flight Area
        • Query Flight Area List Under Project
        • Create Flight Area
        • Trigger Flight Area Configuration Sync to Device
        • Delete Flight Area
        • Update Flight Area
    • Offline Map
      • Get Offline Map Terrain Model Download URL
      • Trigger Offline Map Package Sync to Bay
      • Get Project Offline Map Details
      • Configure Project Offline Map Manifest (Start New Update)
      • Cancel Offline Map Model Update
  • Livestream
    • Live Streaming Tutorial
    • Livestream Sharing & Forwarding
      • Bypass Streaming
        • Query Current Organization Bypass Transcoder List
        • Create / Enable / Disable / Update Stream Forwarder
        • Stop and Delete Specified Bypass Transcoder (C2C Livestream Bypass)
      • Livestream Sharing
        • Get Device Livestream Share Details
        • Query All Livestream Share Links Under Project
    • Livestream Push
      • Project Level
        • Start Livestream (Project Level)
        • Update Viewer Tokens (Project Level)
        • Switch Camera (Project Level)
        • Switch Livestream Camera (Project Level)
        • Report Viewer Join Livestream Room Status (Project Level)
        • Stop Livestream (Project Level)
        • Set Livestream Quality (Project Level, aircraft source-side push level)
        • Query Device Livestream and Recording Status (Project Level)
      • Organization Level
        • Stop Livestream (Organization Level)
        • Set Livestream Quality (Organization Level, aircraft source-side push level)
        • Report Viewer Join Livestream Room Status (Organization Level)
        • Start Livestream (Organization Level)
        • Switch Camera (Organization Level, also controls aircraft source-side hardware)
        • Update Viewer Tokens (Organization Level)
        • Switch Livestream Camera (Organization Level)
    • Recording Task Management
      • Start Cloud Recording (Project Level)
      • Stop Cloud Recording (Project Level)
      • Query Device Recording Task List (Project Level)
      • Start Intra-Project Livestream
      • Query Device Recording Task List (Organization Level)
      • Start Cloud Recording (Organization Level)
      • Stop Cloud Recording (Organization Level)
      • Stop Intra-Project Livestream Recording
  • Media
    • Media Tutorial
    • Flight Task Association
      • Query Flight Task Media by flight_id
      • Batch Query Flight Media by flight_ids
    • File Statistics and Query
      • Get Media File Count (by Folder Granularity)
      • Get Total Media File Count (Project-Wide)
      • Get Media Resource Files (Images + Folders)
    • Media File CRUD
      • Batch Set Media Map Display Status
      • Batch Delete Media Files - to Recycle Bin
      • Create Media Folder
      • Get Media File List
      • Media File Cropping
      • Batch Move Media Files
      • Delete Single Media File
      • Get Media File Details
      • Update Media File Info
      • Batch Hard Delete Media Files - Not to Recycle Bin
    • Download and Upload
      • Quick Upload Media File
      • Import Media File
      • Check New File Fingerprint Existence Status
      • Annotation Callback
      • Media Upload Completion Callback
      • Check ZIP Package Task Status
      • Package Media Files into ZIP
      • Get Media File Download URL
    • Tag Management
      • Add Tag to Media File
      • Delete Media File Tag
      • Get Media File Tag List Under Project
  • Model
    • Models Tutorial
    • Model Reconstruction
      • Geographic Systems
      • Get Flight Task Folder List V2
      • Get Real-time Mapping Task List
      • Initiate Real-time Mapping Task (Realtime2D)
      • Get Project Model Library Default Settings
      • Initiate Post-Processing Reconstruction Task (Post 2D / 3D)
      • Get Post-Reconstruction Default ROI
      • Get Post-Reconstruction Quality Report Download Link
      • Post-Reconstruction Task Retry
      • Stop Post-Reconstruction Task
      • Model Upload Completion Callback (called by client, not OSS signature verification)
      • Query Wayline List Available for Model Reconstruction
    • Model Library
      • Model File Management
        • Batch Delete Model Files
        • Get Project Model File List
        • Create Model Folder
        • Batch Toggle Model Map Display Status
        • Lock / Unlock Model File
        • Batch Move Model Files
        • Intra-Org Model Sharing
        • Get Total Model File Count
        • Delete Single Model File
        • Get Model File Details
        • Update Model Basic Info
        • Get Model File Download URL
        • Initiate Model Format / Coordinate System Conversion Task
        • Get Available Coordinate System (WKT) List for Project
      • Map Display
        • Batch Set Terrain Loading Status of Real-time Mapping Models
        • Adjust Display Order of Real-time Mapping Models (Drag-and-Drop Sort)
        • Update Mapping Task Metadata (Rename / Show-Hide / Distribute / Undistribute / Toggle Terrain)
        • Get Map Page Model Layer List
        • Batch Toggle Map Model Layer Attributes
        • Adjust Map Model Layer Stacking Order
  • Recycle Bin
    • Recycle Bin Tutorial
    • Hard Delete Single Media File
    • Restore File from Recycle Bin
    • Permanently Delete Recycle Bin Files
    • Get Media Recycle Bin File List
    • Modify Media Recycle Bin Configuration
    • Get Media Recycle Bin Configuration
    • Get Model Library Recycle Bin Disk Statistics
    • Get Media Recycle Bin Disk Statistics
  • Advanced Capabilities
    • Advanced Capabilities Tutorial
    • Change Detection
      • Media Change Detection
        • Initiate Media Spot-the-Difference Task
        • Query Media Spot-the-Difference Task List
        • Delete Spot-the-Difference Task
        • Modify Spot-the-Difference Task Name and Other Attributes
        • Get Spot-the-Difference Task Details
        • Evaluate Spot-the-Difference Task
        • Batch Modify Spot-the-Difference Result Status
        • Delete Change Area
        • Add Change Area (Manual Annotation)
        • Update Change Area Attributes
        • Get Media Upload STS Credentials
        • Media Spot-the-Difference Task Pre-check
        • View Spot-the-Difference Detection Report
        • Get Photo Group AI Spot-the-Difference Result List
        • Get Change Area Details in Result Group
      • Model Change Detection
        • Initiate Model Comparison Task (Spot-the-Difference)
        • Query Model Comparison Task List
        • Modify Model Comparison Task Name and Other Attributes
        • Get Model Comparison Task Result Details
        • Delete Model Comparison Task
        • Batch Update Model Comparison Diff
        • Delete Model Comparison Diff
        • Add Model Comparison Diff (Manual Annotation)
        • Update Single Model Comparison Diff Details
        • Get Model Comparison Detection Report
        • Query Candidate Models Suitable for Model Comparison
        • Evaluate Model Comparison Task
  • Open Modeling
    • Reconstruction Algorithm Description
    • Error_Codes.md
    • Feature Introduction
    • Update Date: 2026-05-07
    • Get In-Progress Reconstruction Model Details
    • Get Resource Details
    • Delete Resource
    • Get Upload Credentials
    • Start Reconstruction Task
    • Upload Callback
    • Stop Reconstruction Task
    • Get Model Details
    • Delete Model
  • Schemas
    • Default Directory
      • StsCredentials
      • PutWorkspacesWaylinesBatchDeleteResp
      • PutWorkspacesWaylinesLockStatusResp
      • C0160_GetFlightTaskAdvanced_Resp
      • C0617_GetFlightTasks_Resp
      • StsResult
      • C0619_CreateBatchDownload_Resp
      • GetWorkspacesFilesCompareFilesResp
      • ProjectTeamGetDevicesRsp
      • PostWorkspacesStsResp
      • Resp
      • ApiEnvelope
      • ServiceError
      • PagyInfo
      • GetDiffMediaTaskIdGetReportResp
      • GetWorkspacesByWorkspaceIdComparatorsByTaskUuidResultGroupsResp
      • GetWorkspacesByWorkspaceIdComparatorsByTaskUuidResultGroupsByResultUuidResp
      • PostWorkspacesComparatorsResultGroupsDiffDetailResp
      • DeleteWorkspacesComparatorsResultGroupsDiffDetailResp
      • GetDiffModelTaskIdGetResultResp
      • PostWorkspacesComparatorsDiffDetailResp
      • DeleteWorkspacesComparatorsDiffDetailResp
      • GetDiffModelTaskIdGetReportResp
      • GetWorkspacesComparatorsMatchImageResp
      • ApiPagedEnvelope
      • InitPermissionTreeNode
      • PutWorkspacesWaylineMoveResp
      • DeleteWorkspacesWaylinesByIdResp
      • PostWorkspacesWaylinesConcatResp
      • C0148_ExportRecords_Resp
      • C0362_GetWaylineImportState_Resp
      • ProjectTeamGetDevicesRspItem
      • ProjectTeamGetDevicesRspItemBaseTopo
      • DeviceModelEnum
      • Position
      • DeviceState_ea210dock
      • DeviceState_ea220dock
      • DeviceState_ea230dock
      • DeviceState_ea210drone
      • DeviceState_ea220drone
      • DeviceState_ea230drone
      • DeviceState_wm265
      • DeviceState_wa345
      • DeviceState_drone_other
      • DeviceState_rc_other
      • DeviceState_rc510
      • DeviceState_rc701
  1. Common

Common Foundation Tutorial

Feature Introduction#

The Common Foundation module provides infrastructure-level capabilities of FlightHub 2 On-Premises version, divided by sub-tags:
System Health and Access: Service liveness probes for use by O&M platforms / load balancers / monitoring and alerting chains; business sides should not depend on them directly.
Access and Authorization / STS Credentials: Temporary credential applications for clients to "upload files directly to object storage", covering three scenarios: project-level general upload, business module customized upload, and flight record upload.
Security: Decryption capability for encrypted device SNs in flight records, allowing callers to restore encrypted SNs in task details to plaintext for device queries / display.
Object storage in the On-Premises version can be OSS / S3 / MinIO, etc., determined by the on-site deployment; the data.endpoint / data.bucket / data.object_key_prefix returned by the interface have been adapted to the deployment form. The caller can directly interface based on the returned values and must not hardcode any endpoint.
STS credentials have an expiration time (the data.credentials.expire field is the remaining valid seconds, not a unix timestamp). The client should renew or reapply before expiration; continued use after expiration will be rejected by the object storage SDK.
The data.object_key_prefix returned in the credentials is a mandatory constraint: the server isolates project data by this prefix, and credentials can only read/write files under this prefix; exceeding the prefix will be rejected by object storage signing.
For the complete fields of the STS response (including provider / region / bucket / endpoint / object_key_prefix and nested credentials.{access_key_id, access_key_secret, security_token, expire}), see Response Result → Successful Return Example.

Interface Usage Flow#

System Health Check#

The probe interface exposed externally by the DRC service. The service is considered ready when the response is HTTP 200 and code = 0.
Call steps:
1.
Call DRC Service Health Check (GET /openapi/v2.0/drc/health), no business parameters required (and no x-user-token required).
2.
Use HTTP status code + body code for joint judgment: HTTP=200 and code=0 indicates DRC service is available; other cases are considered unavailable, triggering monitoring alerts or traffic removal.

Project-level Direct File Upload (General STS)#

The most commonly used "client direct upload → object storage" flow, regardless of business module:
Call steps:
1.
Call Get Project-level Direct File Upload STS Credentials (POST /openapi/v2.0/storage/api/v1/workspaces/{workspace_id}/sts); the path parameter workspace_id is the target project UUID (see Public Parameters → Path Parameters).
2.
Obtain the fields in the nested structure in the response: data.{provider, region, bucket, endpoint, object_key_prefix} and data.credentials.{access_key_id, access_key_secret, security_token, expire}.
3.
On the client, use the object storage SDK (OSS / S3 / MinIO) to initiate PUT with temporary credentials; the object key must start with the data.object_key_prefix returned by the server, otherwise it will be rejected.
4.
When the credentials are about to expire (data.credentials.expire is the remaining valid seconds), call this interface again to renew.

Business Module Customized STS#

Applicable to some business modules with dedicated OSS path planning (such as media download, model upload, change detection reports, etc.):
Call steps:
1.
Call Get Business Module Customized STS Credentials (POST /openapi/v2.0/storage/api/v1/projects/{proj_uuid}/custom-sts), body fields:
usage (required, string): The business module to which it belongs. The spec currently only declares the enum value alert-pdf-share; other values require backend authorization first.
temp (optional, bool): Whether it is temporary data (temporary data has a shorter cleanup cycle).
path (optional, string): Optional sub-path.
2.
The server concatenates the limited data.object_key_prefix by usage + temp + path and issues temporary credentials that can only read/write under that prefix. The response field structure is consistent with Project-level Direct File Upload STS (nested data.credentials).
3.
The client uses the credentials according to the object key rules agreed by the business module.
General business integration does not need to call this interface directly; it is usually encapsulated within the "upload / import" flow of each business module; only custom extension businesses need to call it actively.
When the usage value is not authorized (not in the allowed set configured by the backend), the backend file-storage will reject it with HTTP 200 + business code = 217009 (message: "invalid path"); not 200400.

Flight Record Upload#

After each flight, the dock or Pilot will upload raw data such as flight control records and black box logs to the cloud, using a dedicated STS:
Call steps:
1.
Call Get Flight Record Upload STS Credentials (GET /openapi/v2.0/manage/api/v1/workspaces/{uuid}/flight-tasks/sts-info).
2.
After obtaining the STS credentials limited to the "this project-this flight" directory prefix, directly PUT files according to the object storage protocol.
3.
After the file upload is complete, the archival status is confirmed by the callback or active query interface of the "Flight Tasks" module (see Flight Tasks Tutorial for details).

Decrypt Device SNs in Flight Records#

Device SNs in flight task records are stored in encrypted form (Base64 strings). When the caller obtains flight task details and needs to use these encrypted SNs for device queries or display, call this interface for batch restoration.
Call steps:
1.
Obtain task details via the Flight Tasks module and identify encrypted SN fields.
2.
Call Decrypt Device Serial Numbers (SN) in Flight Records (POST /openapi/v2.0/manage/api/v1/workspaces/{workspace_id}/flight-tasks/decrypt-sn), request body { "encrypted_sns": ["<base64-1>", "<base64-2>", ...] }, encrypted_sns is required.
3.
After receiving the plaintext SNs, use them for device queries, device topology display, and other flows.
This interface only performs two-way mapping: input encrypted SN list, return the corresponding plaintext SN list, without business verification.
In On-Premises deployments, the encryption key is maintained by the deployment party; the plaintext SNs received by the caller are consistent with the SNs queryable via "Device Management" interfaces and can be directly used as device_sn / sn parameters.

Common Issues Interacting with Object Storage#

The following are common rejection reasons on the object storage side (OSS / S3 / MinIO protocol layer), unrelated to FlightHub OpenAPI business error codes:
SymptomPossible CauseRecommended Handling
Upload 403 / AccessDeniedObject key does not start with data.object_key_prefix / credentials expired / operation not in STS authorization list (such as unauthorized DELETE)Check key concatenation, expire remaining seconds, whether the operation permission has been granted by STS
Upload 403 / InvalidAccessKeyIdClient cached old credentials / credentials expiredClear cache and reapply for STS
Slow upload / failureObject storage endpoint unreachableIn On-Premises deployment, the endpoint may be on the intranet; confirm that the caller's network is reachable; if necessary, contact the deployment party for NAT / domain resolution
Modified at 2026-06-15 14:33:30
Previous
Public Parameters
Next
DRC Service Health Check
Built with