Edge SDK — Connector API Reference

Beta preview: an unmerged 2.0.x branch adds Skill Registry self-reporting to this interface and removes every Mission/Task method outright — see the 2.0.x Beta reference if you want to see where this is headed. Not on main/the current 1.3.x release yet.

Exhaustive method reference for ConnectorService. For a narrative introduction and worked examples, see the Connector guide.

All methods return a CompletableFuture. ConnectorServiceImpl logs the error and resolves to null (entity methods) or false (delete methods) on a hasErrors response, rather than throwing — see Error Handling.

Assets

MethodReturnsPurpose
getAssetBySn(sn)AssetDTOGet asset by serial number
getAssetById(id)AssetDTOGet asset by ID
getSubAssetBySn(sn)SubAssetDTOGet sub-asset by serial number
registerAsset(AssetDTO)AssetDTORegister a new asset
updateAsset(id, AssetDTO)AssetDTOUpdate an existing asset
deRegisterAsset(id)BooleanDeregister an asset

Asset payloads

MethodReturnsPurpose
upsertAssetPayload(assetSn, subAssetSn, AssetPayloadDTO)AssetPayloadDTOCreate or update an asset payload

Tasks

MethodReturnsPurpose
getTaskById(id)TaskDTOResolve a task the platform handed the adapter (via prepareTask/startTask)
getTaskByFlightId(flightId)TaskDTOLook up a task by the external flight ID the adapter itself assigned it
updateTask(id, TaskDTO)TaskDTOPersist adapter-computed fields (e.g. an uploaded flight-plan's fileUrl/fileMd5) or a status transition back onto the task the adapter is executing
createTask(TaskDTO)TaskDTOCreate a task record
deleteTask(id)BooleanDelete a task record

In practice, only the read methods and updateTask are used by a real adapter — confirmed end-to-end against edge-dji, the one production Java adapter: it calls getTaskById to resolve the task it was handed, then updateTask twice per run (once to persist fileUrl/fileMd5 after uploading the flight plan — the gRPC response doesn't return those fields, so this is the only way to keep them — and again to set status = TASK_RUNNING before triggering the flight). There are zero calls to createTask/deleteTask anywhere in that adapter. createTask/deleteTask exist on the interface, but creating and deleting task records is a Client SDK (customer application) responsibility in every real usage found.

Missions

MethodReturnsPurpose
getMissionById(id)MissionDTOGet a mission by ID
createMission(MissionDTO)MissionDTOCreate a mission
updateMission(id, MissionDTO)MissionDTOUpdate a mission
deleteMission(id)BooleanDelete a mission

Unlike tasks, no confirmed real-adapter usage of any Mission method was found — mission creation/management is a Client SDK (customer application) concern.

Schedulers

MethodReturnsPurpose
getSchedulerById(id)SchedulerDTOGet scheduler by ID
createScheduler(SchedulerDTO)SchedulerDTOCreate a new scheduler
updateScheduler(id, SchedulerDTO)SchedulerDTOUpdate an existing scheduler
deleteScheduler(id)BooleanDelete a scheduler

Organization

MethodReturnsPurpose
getOrganizationById(id)OrganizationDTOGet organization by ID

Capabilities

Capability reporting isn't on ConnectorService — it's getCapabilities(String sn) on EdgeAdapterService, which you implement yourself. See Edge Adapter Reference — Capability Reporting.

Was this page helpful?