---
title: "Acquire (Occupy) Cloud Control Role"
method: POST
path: "/openapi/v2.0/manage/api/v1/projects/{uuid}/drc/roles"
tags: ["Real-time Control/Control Permission Management/Device Control Permission"]
---

# Acquire (Occupy) Cloud Control Role

`POST /openapi/v2.0/manage/api/v1/projects/{uuid}/drc/roles`

## Request

- Base URL: `https://41b04hdzmc.apifox.cn` (the document declares no server; this is the origin it was published from)
- URL: `https://41b04hdzmc.apifox.cn/openapi/v2.0/manage/api/v1/projects/{uuid}/drc/roles`
- Auth: none required

Current user requests and occupies a cloud control role (e.g. flight_control / payload_control) for specified dock / aircraft. After successful occupation, the role becomes held by "Cloud Control"; all related users immediately receive WebSocket real-time change notification.

This API is the 0.9 compatibility version. New business is recommended to use POST /openapi/v2.0/drc/api/v1/projects/{uuid}/cloud_controls. Corresponding release API: DELETE /openapi/v2.0/manage/api/v1/projects/{uuid}/drc/roles.

## Path parameters

- `uuid` string, required

## Headers

- `x-user-token` string, required
- `X-Request-Id` string, uuid
- `X-Project-Uuid` string, required

## Request body

- object
  - `device_sn` string, required: Target Device SN (usually Dock SN)
  - `role` object, required: Cloud Control Role to Request. Structure branches by name: when name=flight_control, spec is {locked: bool}; when name=payload_control, spec is {payload_index: '<payload_index>'}
    - `name` 'flight_control' | 'payload_control', required: Cloud Control Role Name. flight_control = Flight Control Authority Role; payload_control = Payload Control Authority Role (must be paired with spec.payload_index)
    - `spec` object, required: Role Specification. {locked: bool} when name=flight_control; {payload_index: '<payload_index>'} when name=payload_control
      - `locked` boolean: Whether to Lock This Flight Control Authority (only applicable when name=flight_control)
      - `payload_index` string: Payload Index, e.g. 53-0-0; cannot be empty string (only applicable when name=payload_control)

## Response `200`

Operation Successful

- object
  - `code` integer, required: Business Status Code: 0=Success; non-zero=Error Code (see message for meaning)
  - `message` string: Error Description Message (Omitted on Success)
  - `data` unknown

## Other responses

- `400`: Business Parameter Error — body contains code (non-zero)/message
- `500`: Internal Service Error

---

[API](https://skmtc.dev/dji/apis/flighthub-2-openapi-v2-0-on-premises.md) - [All operations](https://skmtc.dev/dji/apis/flighthub-2-openapi-v2-0-on-premises/llms.txt) - [OpenAPI document](https://skmtc.dev/dji/apis/flighthub-2-openapi-v2-0-on-premises/revisions/e4544b7809ea?raw)
