# Return a completed manifest Returns a COMPLETED manifest to the PLANNED status so it can be re-dispatched under the same external ID. The completed version is archived (kept COMPLETED, its ID released) and a new PLANNED manifest is created with the same external ID, pallets and custom fields; pallets marked for retirement are reactivated. Requires the organization's "Allow Manifest Return" setting to be enabled. Rejected with 409 when a pallet of the manifest has meanwhile been added to another active (PLANNED / IN_PROGRESS) manifest, since the return would put that pallet in two active manifests at once; remove it from the other manifest first. Returns the new manifest, whose external ID equals the requested one. Endpoint: POST /integration/rest/api/v1/manifest/{manifestExternalId}/return Version: v0 Security: X-AUTH-KEY ## Path parameters: - `manifestExternalId` (string, required) Unique external id (or UUID) of the completed manifest to return. Example: "MAN-2024-001" ## Response 200 fields (*/*): - `createDate` (string) - `updateDate` (string) - `deepLink` (string) Deep link URL to open this entity in Ops.App. - `externalIdentifier` (string) External unique identifier for this manifest. - `manifestStatus` (string) Current status of the manifest. Enum: "PLANNED", "TO_DO", "IN_PROGRESS", "PENDING_COMPLETION", "COMPLETED", "CANCELLED" - `closeDate` (string) Timestamp when the manifest was closed/completed. - `activateDate` (string) Timestamp when the manifest was activated. - `palletsCount` (integer) Planning view: total pallets (assets) currently included in this manifest, regardless of loading state. For Total/Loaded execution counts use totalAssetsCount and loadedAssetsCount. - `totalAssetsCount` (integer) Total assets attached to this manifest, excluding invalid loadings (WRONGLY_LOADED, UNKNOWN_LOADING). - `loadedAssetsCount` (integer) Successfully loaded assets in this manifest, excluding invalid loadings. - `gate` (object) Assigned gate for this manifest (loading/unloading point). - `gate.name` (string) Human-readable gate name. - `gate.externalIdentifier` (string) External unique identifier of the gate. - `gate.status` (string) Current operational status of the gate. Enum: "AVAILABLE", "STAGING_LOADING", "LOADING", "OUT_OF_SERVICE" - `gate.gateType` (string) Gate type. SINGLE_MANIFEST allows one active manifest at a time; MULTI_MANIFEST allows several manifests active simultaneously. Enum: "SINGLE_MANIFEST", "MULTI_MANIFEST" - `customFields` (array) Custom key–value fields attached to the manifest. - `customFields.fieldKey` (string) Unique key (name) of the custom field. This must match the configured field name. - `customFields.fieldValue` (string) Value of the custom field as a string. For numeric fields, send the number as a string. - `validationErrors` (object) Validation errors related to this manifest, if any. - `validationErrors.duplicatedPallets` (array) List of duplicated pallet issues (same asset added multiple times to the manifest). - `validationErrors.duplicatedPallets.palletIdentifier` (string) Business identifier of the duplicated pallet. - `validationErrors.duplicatedPallets.addedToManifests` (array) List of manifest identifiers where this pallet is already present. - `validationErrors.duplicatedPallets.trackIdentifier` (string) - `validationErrors.nonExistingPallets` (array) Asset identifiers that could not be found. - `validationErrors.deactivatedPallets` (array) Asset identifiers that are deactivated and cannot be added. - `validationErrors.duplicatedTracks` (array) - `validationErrors.nonExistingTracks` (array) - `validationErrors.deactivatedTracks` (array) - `proofOfShipmentUrl` (string) URL to the proof-of-shipment document. - `deleted` (boolean) Indicates whether the manifest is soft-deleted. - `shipmentSummaryUrl` (string) Public URL to the Shipment Summary page for this manifest. Present only when manifest status is COMPLETED. Does not expire. - `autoCompleteAt` (string) Server-authoritative deadline when the manifest will auto-complete. Present only while the manifest is in PENDING_COMPLETION; omitted otherwise. Completion may occur later than this time if the system is temporarily holding auto-completion (e.g. gate out of service). - `tracksCount` (integer) ## Response 400 fields (*/*): - `code` (string) Error code - `message` (string) Error message - `timeStamp` (integer) Timestamp - `correlationId` (string) Correlation id ## Response 403 fields (*/*): - `code` (string) Error code - `message` (string) Error message - `timeStamp` (integer) Timestamp - `correlationId` (string) Correlation id ## Response 404 fields (*/*): - `code` (string) Error code - `message` (string) Error message - `timeStamp` (integer) Timestamp - `correlationId` (string) Correlation id ## Response 409 fields (*/*): - `code` (string) Error code - `message` (string) Error message - `timeStamp` (integer) Timestamp - `correlationId` (string) Correlation id ## Response 500 fields (*/*): - `code` (string) Error code - `message` (string) Error message - `timeStamp` (integer) Timestamp - `correlationId` (string) Correlation id