v1

latestOpenAPI 3.1.02026-07-2451827.5 KB
Carrier API

Request upload URL for signature or proof of delivery

Returns a pre-signed URL for uploading a file directly to storage. Use HTTP PUT to upload the file to the returned URL with the specified content type.

Document types: SIGNATURE (signature image), PROOF_OF_DELIVERY (POD document)

Content types: image/png, image/jpeg, application/pdf

Upload flow:

  1. Call this endpoint to get a pre-signed URL
  2. PUT your file to the returned uploadUrl with Content-Type header matching contentType
  3. URL expires in 15 minutes
post/v1/carrier/shipments/{identifier}/upload

Path parameters

identifierstring required

Shipment identifier (offerId, orderNumber, or carrierReference)

Request body

document_type'SIGNATURE' | 'PROOF_OF_DELIVERY' required

Type of document being uploaded

content_type'image/png' | 'image/jpeg' | 'application/pdf' required

Content type of the file

file_namestring

Original filename

Example request

{
  "document_type": "SIGNATURE",
  "content_type": "image/png",
  "file_name": "signature-Y73Q0.png"
}

Response

Upload URL generated

document_idstring

Document ID — use this to reference the uploaded file

upload_urlstring

Pre-signed PUT URL — upload your file directly to this URL using HTTP PUT with the specified content type

content_typestring

Content type to use in the PUT request

expires_atstring date-time

URL expires at this time — upload before then

Example response

{
  "document_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "upload_url": "https://s3.amazonaws.com/oway-docs/...",
  "content_type": "image/png",
  "expires_at": "2026-01-15T11:00:00Z"
}