Common Foundation Tutorial → Project-level Direct File Upload), then calls import-callback / upload-callback to notify the server for registration; parsing is asynchronous and requires polling wayline-import-state.DELETE /waylines/{id} is soft delete (enters the recycle bin, can be restored via PUT /waylines/{id} + restore=true); if complete deletion is needed, add query destroy=true.PUT /waylines/lock-status.Common Foundation Tutorial → Get Project-level Direct File Upload STS Credentials (POST /openapi/v2.0/storage/api/v1/workspaces/{workspace_id}/sts).object_key_prefix returned by the server.KMZ Upload Completion Callback When Saving Wayline (POST /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/upload-callback) — When the client saves a wayline in the wayline editor, it directly uploads the KMZ to object storage, then calls this interface to register. Request body fields: object_key (the object key after direct upload), name (wayline name), id (optional, used when updating an existing wayline), parent_id (the UUID of the folder it belongs to, optional).Wayline KMZ File Import Callback (POST /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/import-callback) — Notify the server to parse the KMZ metadata and write it to the wayline library, and trigger same-name validation and template type recognition. Request body fields: object_key, name, file_type (integer), file_source (integer), parent_id, request_id, timestamp.Query Wayline Asynchronous Import Status (GET /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/wayline-import-state) — KMZ parsing, validation, and metadata saving take time; the client polls via this interface to check if completed or failed.Wayline Library File List Query (V1) (GET /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/web-waylines) — Supports filtering by waypoint action type, file type, product model, payload model, template type, time range, etc., sorted by update time in descending order.Get Single Wayline Details (GET /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/waylines/{id}).Get Wayline KMZ Download URL and 302 Redirect (GET /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/waylines/{id}/url) — Directly 302 redirects to the OSS signed URL; the client does not need to obtain the URL a second time.| Purpose | Interface |
|---|---|
| Rename / change lock status / restore from recycle bin | PUT /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/waylines/{id} |
| Delete (default soft delete into recycle bin) | DELETE /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/waylines/{id} |
| Copy wayline (including KMZ + template + payload) | POST /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/waylines/{id}/copy |
| Favorite | POST /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/favorites |
| Unfavorite | DELETE /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/favorites |
| Multi-wayline concatenation | POST /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/waylines/concat |
Update Wayline Metadataperforms differential update based on the passed-in fields: passnameto rename / passmodto change lock status / passrestore=trueto restore from recycle bin.Delete Specified Waylinedefaults to soft delete into recycle bin (recoverable); pass querydestroy=trueto hard delete directly (irrecoverable). Deletion of locked waylines will be rejected.Multi-wayline Concatenationconcatenates multiple waylines into a new wayline in the specified order. The server merges KMZ files on object storage and generates a new wayline record. Request body fields:name(new wayline name),parent_id(target folder UUID),sub_wayline_uuids(list of UUIDs of sub-waylines to be concatenated),object_key(object key of the concatenation product),error_infos(array, records sub-wayline anomalies during the concatenation process).
The request bodies ofFavorite / Unfavoritediffer: the POSTFavoriterequest body is{ "id": ["<resource UUID>"...], "library_type": "<wayline / etc.>" }(library_typedistinguishes the library to which the favorited resource belongs); the DELETEUnfavoriterequest body is only{ "id": ["..."] }, withoutlibrary_type.
Create Wayline Folder (POST /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/waylines).Batch Delete Waylines / Folders (PUT /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/waylines/batch-delete) — The ids list can contain both wayline UUIDs and folder UUIDs; the server processes them item by item.Batch Move Waylines / Folders to Target Folder (POST /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/waylines/move).Move Waylines / Folders to Specified Grouping (PUT /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/wayline-move).Batch Update Wayline / Folder Lock Status (PUT /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/waylines/lock-status).Batch Download Waylines / Folders (Packaged zip) (POST /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/waylines/batch-download) — The server packages all KMZ files into a zip and returns an OSS signed download URL.Package Resources into KMZ (Precise Re-photography Flow) (POST /openapi/v2.0/wayline/api/v1/workspaces/{workspace_id}/zip-res-to-kmz) is used to merge the snapshot images collected in the previous flight (res/ directory) with the lightweight KMZ into a "task copy wayline", which is re-photographed at the same angle in the next execution. Request body fields:kmz_without_res_key (string): The object key of the lightweight KMZ without the res/ directory in object storage.name (string): The name of the merged new wayline.origin_wayline_uuid (string): The UUID of the original wayline used as the re-photography source.file_type (integer): File type enum (specific semantics subject to the spec interface definition).Query Flight Task List → Select Device → web-waylines Select Wayline → check → flight-tasks is detailed in Flight Tasks Tutorial → Typical Scenario: Full Chain for Executing Wayline Tasks.Common Foundation Tutorial → Project-level Direct File Upload STS.