Skip to content

Submit Proof of Delivery

Request

Submits a Proof of Delivery request for a delivered shipment. Only USPS (carrier_code = USPS) is supported today; other carriers are rejected with a business error.

Security
BearerAuth
Bodyapplication/jsonrequired
tracking_numberstringrequired

Carrier tracking number of the shipment the POD is requested for.

Example:"940XXXXXXXXXXXXXXXXX"
carrier_codestringrequired

Carrier code. Only USPS is currently supported; any other value is rejected with shipment.carrier_code_illegal.

Value:"USPS"
Example:"USPS"
recipientsArray of objects, [ 1 .. 3 ] items(PodRecipient)required

Recipients who will receive the POD letter by email. Must contain 1 to 3 recipients.

letter_typestring

Type of POD letter to generate. Passed through to the carrier. PROOF_OF_DELIVERY is the currently used value.

Example:"PROOF_OF_DELIVERY"
POST
/api/shipment/submit_pod
curl -i -X POST \
  https://x-api.shipsaving.com/api/shipment/submit_pod \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "tracking_number": "940XXXXXXXXXXXXXXXXX",
    "carrier_code": "USPS",
    "recipients": [
      {
        "email": "xxxxxxx@gmail.com",
        "first_name": "Lisa",
        "last_name": "Green"
      }
    ],
    "letter_type": "PROOF_OF_DELIVERY"
  }'

Responses

OK

Bodyapplication/json
codestring

Result code. ok indicates success; any other value indicates a business error and data is null.

Example:"ok"
msgstring

Human-readable result message.

Example:"ok"
dataobject(PodSubmitResponse)

Response payload; null when code is not ok.

Response
{ "code": "ok", "msg": "ok", "data": { "transaction_message": "Your Proof of Delivery record is complete and will be processed shortly." } }