1. Organization & Project
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. Organization & Project

Organization and Project Tutorial

Feature Introduction#

The Organization and Project module covers the four basic dimensions of organization / project / member / role in FlightHub 2 On-Premises version, and is the entry point for all subsequent business modules. Includes:
Organization Management: Organization detail query and update, project list query at organization dimension, current user's subscription settings.
Project Management: Project CRUD (create / query / update / delete), and project-level configuration (auto-recording rules).
Fast Join: Invite users to join the project via fast-join codes (no need for organization admin manual addition).
Member and Permission Management: Management of organization members, project members, project roles and permission trees.
In the On-Premises version, organizations cannot be created via OpenAPI. You must first create the organization and configure the OpenAPI organization key in the FlightHub 2 console before entering the flow below.
Projects can be created via OpenAPI, no need to log in to the FlightHub 2 console.
The "Project User List" interface uses fake pagination (page fixed to 1, total = list length); if client-side pagination is needed, please slice based on the full result set.

Interface Usage Flow#

Load Organization / Project Basic Information#

Call steps:
1.
Load metadata of the current organization via Get Organization Details (GET /openapi/v2.0/manage/api/v1/organizations/{uuid}). To modify organization name / Logo / industry / introduction / unit system / fence configuration, etc., use Update Organization Info (PUT /openapi/v2.0/manage/api/v1/organizations/{uuid}).
2.
Obtain the uuid of all projects under the organization via Query Organization Project List (GET /openapi/v2.0/manage/api/v1/organizations/{uuid}/projects). When usage=simple, return a simplified list (no pagination); otherwise, return paginated by page/page_size.
3.
Call Get Project Details (GET /openapi/v2.0/manage/api/v1/projects/{uuid}) on the project of interest to load details; in the returned fields, is_project_updatable marks whether the current user can edit this project, and project_fast_join.code is returned only when project edit permission is held.

Create / Update / Delete Project#

Call steps:
1.
Call Create Project (POST /openapi/v2.0/manage/api/v1/organizations/{uuid}/projects). The body can simultaneously initialize project users, project devices, project fast join, project coordinate system, dock rotation, weather blocking, media sharing, and other configurations (project initialization completed in one interface).
2.
Subsequent modification of project metadata uses Update Project Info (PUT /openapi/v2.0/manage/api/v1/projects/{uuid}).
3.
Delete Project (DELETE /openapi/v2.0/manage/api/v1/projects/{uuid}) will also clean up members in the project, project device topology (setting the work project field to empty), project notifications and subscriptions; the response data field returns the last snapshot of the deleted project (GetProjectRsp).

Fast Join Project#

Suitable for third-party systems to bring external users into the project via QR scan / invitation link:
Call steps:
1.
Call Query Fast Join Project Info (GET /openapi/v2.0/manage/api/v1/projects/fast-join). Required query: project_id (project UUID), project_fast_join_code (fast join code); Optional query: association_drone_device_sn (SN of the drone to be associated). Returns project name, organization name, recommended project callsign; if a drone SN is passed in, also returns the recommended callsign of the drone in this project.
2.
Call Join Project via Fast Join Code (POST /openapi/v2.0/manage/api/v1/projects/fast-join) to submit the join. Request body form:
project_fast_join (required): { project_id, project_fast_join_code, user_project_callsign? }, where if user_project_callsign is not passed, the server automatically uses the account name or organization nickname.
association_drone (optional): { drone_device_sn, drone_project_callsign?, drone_model_key? }, associate a drone simultaneously when joining the project.
If the current user is not in the organization to which the project belongs, the server will automatically join the organization as a temporary member.

Member and Permission Management#

The On-Premises version provides management capabilities at three levels: organization members, project members, and project roles:
Call steps:
1.
Current user context: First call Query Current User's Identity and Config in This Organization (GET /openapi/v2.0/manage/api/v1/organizations/{uuid}/users/current) to fetch the organization-level role, subscription, unit, MFA, gray release, and other configurations of the user corresponding to the Token, as the permission context for subsequent operations.
2.
Organization member maintenance:
List: Query Organization Member List (GET /openapi/v2.0/manage/api/v1/organizations/{uuid}/users), supports filtering by user_role (enum: organization-super-admin / organization-admin / organization-device-manager / organization-member / organization-temporary-member / organization-visitor) / source_type; if project_uuid (query parameter) is specified, requires the caller to be editable in that project.
Add: Batch Add Organization Members (POST /openapi/v2.0/manage/api/v1/organizations/{uuid}/users), accounts must be registered in the user center.
Update: Batch Update Organization Member Info (PUT /openapi/v2.0/manage/api/v1/organizations/{uuid}/users), can modify role / enabled status.
Remove: Batch Remove Organization Members (DELETE /openapi/v2.0/manage/api/v1/organizations/{uuid}/users), matched by user_id / account, will simultaneously clean up the user's member identity and subscriptions in all projects of the organization; failed items are returned as error code + failed user list.
3.
Project member view:
Online members: Get Project Team Members (Online) (GET /openapi/v2.0/manage/api/v1/projects/{uuid}/members), assembles currently online users by web / app / RC platform classification.
All users: Get Project User List (GET /openapi/v2.0/manage/api/v1/projects/{uuid}/users), supports filtering by prj_user_role, sorting by nickname; when called by non-project members, falls back to organization management permission verification.
4.
Current user self-maintenance:
Modify organization callsign: Update Current User's Organization Callsign (PUT /openapi/v2.0/manage/api/v1/organizations/{uuid}/users/current). Note: When the passed-in callsign duplicates an existing user in the organization, the server will automatically append a suffix to ensure uniqueness (will not reject with an error code); the actually effective callsign is subject to the response.
Modify project callsign: Update Current User's Project Callsign (PUT /openapi/v2.0/manage/api/v1/projects/{uuid}/users/current), returns complete project role info.
Exit organization: Current User Exits Organization (PUT /openapi/v2.0/manage/api/v1/organizations/{uuid}/users/current/operation).
Subscription settings: Update Current User Subscription Settings (POST /openapi/v2.0/manage/api/v1/organizations/{uuid}/users/current/subscription) controls subscription switch, subscription project scope, whether to auto-subscribe to newly joined projects, and receiving channel.

Project Role and Permission Management#

Call steps:
1.
Load permission metadata: Get Project Permission Tree Definition (GET /openapi/v2.0/manage/api/v1/organizations/{uuid}/permissions) returns the initialization project permission tree of the current organization (type only supports project).
2.
Load existing roles: Query Project Role List in Organization (GET /openapi/v2.0/manage/api/v1/organizations/{uuid}/roles) paginated query, including preset roles and custom roles.
3.
Maintain custom roles:
Create: Batch Create Project-level Custom Roles (POST /openapi/v2.0/manage/api/v1/organizations/{uuid}/roles).
Update: Update Custom Role (PUT /openapi/v2.0/manage/api/v1/organizations/{uuid}/roles/{role_id}), preset role permissions cannot be modified.
Delete: Delete Organization Custom Role (DELETE /openapi/v2.0/manage/api/v1/organizations/{uuid}/roles/{role_id}), before deletion, verifies that the role belongs to this organization and has not been used by any user.
4.
Role → permission mapping query: Query Role Permission Mapping (Role ID → Permission List) (GET /openapi/v2.0/manage/api/v1/organizations/{uuid}/roles/permissions); when role_id is not passed, returns all project roles in the current organization and the complete permission tree.

Project Auto-recording Configuration#

Each project can independently configure "auto-recording" rules, decide which devices / which camera participate in auto-recording by device SN + camera dimension, and control the recording switch and file auto-cleanup duration at each end (dock / drone / base station):
Call steps:
1.
Load initial value on project settings page: Get Project Auto-recording Config (GET /openapi/v2.0/drc/api/v2/projects/{project_id}/auto_record/configs).
2.
Write back after user adjustment: Configure Project Auto-recording Rules (POST /openapi/v2.0/drc/api/v2/projects/{project_id}/auto_record/configs). Request body fields:
recording_items (required, array): List of recording rules. Each item { sn, camera_index | camera_sn }: sn is the drone SN; camera_index is the camera index (consistent with device thing model camera, format like 52-0-0); camera_sn is the camera SN, one of the two is required (backend IsValid() verification).
auto_cleaning_time (effectively required, integer): Auto-cleanup duration of recording files, unit days, value range 7–90, missing or out-of-range will be rejected by the backend binding verification.
disable_dock_recording / disable_drone_recording / disable_base_station_recording (boolean): Disable recording at the dock / drone / base station end respectively.

Typical Scenario: Create a Project and Bring Users and Devices Under Management#

A scenario consistent with the V0.9 On-Premises "Create Project / Add Device API Call Guide", adapted to the V2.0 paths.
Subsequent steps for complete device management / remote debugging / task dispatch see the tutorials of the "Device Management" and "Real-time Control" modules.
Modified at 2026-06-15 14:33:55
Previous
Decrypt Device Serial Number (SN) in Flight Record
Next
Get Project Auto Recording Configuration
Built with