Carrier API

Confirm shipment delivery

Changed on

Confirm that the shipment has been delivered. Transitions the order to DELIVERED status and initiates carrier payout.

Required fields: deliveryTime is required. Proof of delivery fields (signedBy, signatureImageUrl, proofOfDeliveryUrl) are optional but recommended.

State requirement: The shipment must be in ACCEPTED or PICKED_UP status.

put/v1/carrier/shipments/{identifier}/deliver

Request

  • Base URL
    https://api.oway.io
  • URL
    https://api.oway.io/v1/carrier/shipments/{identifier}/deliver
  • Auth
    HTTP bearer and API key in header x-oway-api-key

Path parameters

identifierstring required

Shipment identifier (offerId, orderNumber, or carrierReference)

Request body

delivery_timestring date-time required

Time the shipment was delivered

signed_bystring

Name of the person who signed for the delivery

signature_image_urlstring

URL to the signature image

proof_of_delivery_urlstring

URL to the proof of delivery document

notesstring

Additional notes about the delivery

Example request

{
  "location": {
    "address1": "1531 Junipero Avenue",
    "address2": "Dock 5",
    "city": "Long Beach",
    "state": "CA",
    "zip_code": "90804",
    "country": "US"
  },
  "coordinates": {
    "latitude": 33.7701,
    "longitude": -118.1937
  }
}

Response

Delivery confirmed, order status updated to DELIVERED

idstring

Unique offer identifier

status'PENDING' | 'ACCEPTED' | 'PICKED_UP' | 'DELIVERED' | 'REJECTED' | 'EXPIRED' | 'CANCELLED'

Current offer/shipment status

carrier_referencestring

Carrier's own tracking reference number

rejection_reasonstring

Reason for rejection (populated when status is REJECTED)

rejection_reason_textstring

Free-text explanation for rejection

currencystring

ISO 4217 currency code for payout amounts

pickup_pinstring

PIN code for pickup verification

delivery_pinstring

PIN code for delivery verification

deadlinestring date-time

Offer expiration time — must accept or reject before this time

created_atstring date-time

When this offer was created

updated_atstring date-time

When this offer was last updated

Example response

{
  "id": "507f1f77bcf86cd799439012",
  "carrier_reference": "CARRIER-TRK-789",
  "order": {
    "order_number": "Y73Q0",
    "order_status": "CONFIRMED",
    "description": "Electronics - 2 pallets shrink-wrapped",
    "total_pallet_count": 2,
    "total_pounds_weight": 1200,
    "po_number": "PO-2026-4521",
    "ref_number": "REF-8834",
    "components": [
      {
        "pallet_count": 1,
        "pounds_weight": 600,
        "pallet_dimensions": [
          48,
          40,
          60
        ],
        "freight_class": "70"
      }
    ],
    "created_at": "2026-01-15T08:00:00Z",
    "updated_at": "2026-01-15T10:30:00Z"
  },
  "pickup": {
    "name": "Fairgrounds Distribution Center",
    "address1": "1531 Junipero Avenue",
    "address2": "Dock 5",
    "city": "Long Beach",
    "state": "CA",
    "zip_code": "90804",
    "country": "US",
    "phone_number": "+18087857650",
    "contact_person": "Mike Johnson",
    "open_time": "10:00",
    "close_time": "16:00",
    "notes": "Dock 3, enter from back of building",
    "appointment_required": true
  },
  "delivery": {
    "name": "Fairgrounds Distribution Center",
    "address1": "1531 Junipero Avenue",
    "address2": "Dock 5",
    "city": "Long Beach",
    "state": "CA",
    "zip_code": "90804",
    "country": "US",
    "phone_number": "+18087857650",
    "contact_person": "Mike Johnson",
    "open_time": "10:00",
    "close_time": "16:00",
    "notes": "Dock 3, enter from back of building",
    "appointment_required": true
  },
  "tracking": {
    "order_number": "ZKYQ5",
    "order_status": "PICKED_UP",
    "actual_pickup_date": "2024-12-23T10:30:00Z",
    "actual_delivery_date": "2024-12-25T14:00:00Z",
    "estimated_pickup_date": "2024-12-23T09:00:00Z",
    "estimated_delivery_date": "2024-12-25T12:00:00Z"
  },
  "payout": {
    "total_in_cents": 125000
  },
  "currency": "USD",
  "assigned_driver": {
    "name": "John Smith",
    "phone": "+15551234567",
    "vehicle_id": "TRUCK-42"
  },
  "pickup_confirmation": {
    "pickup_time": "2026-01-15T10:30:00Z",
    "address": "123 Main St, San Francisco, CA 94102",
    "latitude": 37.7749,
    "longitude": -122.4194,
    "driver_name": "John Smith",
    "signed_by": "Jane Doe",
    "notes": "Picked up from dock 3",
    "recorded_at": "2026-01-15T10:35:00Z"
  },
  "delivery_confirmation": {
    "delivery_time": "2026-01-15T14:30:00Z",
    "address": "456 Market St, Oakland, CA 94607",
    "latitude": 37.7749,
    "longitude": -122.4194,
    "signed_by": "Recipient Name",
    "signature_image_url": "https://storage.oway.io/signatures/sig-12345.png",
    "proof_of_delivery_url": "https://storage.oway.io/pod/pod-12345.pdf",
    "notes": "Delivered to front desk",
    "recorded_at": "2026-01-15T14:35:00Z"
  },
  "pickup_pin": "1234",
  "delivery_pin": "5678",
  "deadline": "2026-01-15T12:00:00Z",
  "created_at": "2026-01-15T08:00:00Z",
  "updated_at": "2026-01-15T10:30:00Z"
}

Changes