---
updatedAt: 2026-09-08T10:41:24.000Z
agentTools:
  projectIndex: https://developers.gophr.com/llms.txt
---

# List Parcels

Returns a collection of parcels for the given delivery.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Commercial API V2",
    "version": "2.0",
    "summary": "Commercial API V2",
    "contact": {
      "name": "Adam Hutchison",
      "email": "integrations@gophr.it"
    },
    "description": "Gophr Commercial API V2\n\n# Introduction \nThe following document provides guidance on how to interact with the Gophr V2 Commercial API.\n\n## Entities\n### Overview\nThe Gophr V2 Commercial API is based around REST. The following resources are defined within the API:\n* Jobs - A job contains many deliveries, each delivery consists of a pickup, dropoff and many parcels.\n* Pickups - Currently a job can have a single pickup, a pickup is a destination from which parcels will be collected. We plan on adding the ability to have mulitple pickups in the near future.\n* Dropoffs - A job can have many dropoffs. A dropoff is a destination to which parcels are delivered.\n* Parcels - Parcels are individual packages belonging to a pickup and delivery\n* Deliveries - A delivery represents a pickup / dropoff combination. A delivery can have many parcels.\n\n### Validation Rules Relating to Entity Relations\n* A job must have at least one pickup and one dropoff\n* A pickup must have at least one parcel\n* A dropoff must have at least one parcel\n* All parcels must have a single pickup and a single dropoff\n\n### Relating a picked up parcel to a dropoff location\nWithin our API, parcels are defined within the `pickup.parcels` resource. In order to link a picked up parcel with a dropoff location we require you to assign a unique (within the job) identifier (`parcel_external_id`) to every parcel. You can then use this identifier to state the droppoff location of the parcel.\n\n## Authorisation\nPartner is authorised by API key that needs to be sent in the `Api-Key` header.\n\n## DateTime\nAll datetime values should be passed in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601) (e.g. '2016-01-31T09:15:00+1:00')."
  },
  "servers": [
    {
      "url": "https://api-sandbox.gophr.com/v2-commercial-api",
      "description": "Sandbox"
    },
    {
      "url": "https://api.gophr.com/v2-commercial-api",
      "description": "Production"
    }
  ],
  "tags": [
    {
      "name": "Parcels"
    }
  ],
  "paths": {
    "/jobs/{job_id}/deliveries/{delivery_id}/parcels": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "job_id",
          "in": "path",
          "required": true
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "delivery_id",
          "in": "path",
          "required": true
        }
      ],
      "get": {
        "summary": "List Parcels",
        "tags": [
          "Parcels"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "parcels": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Response-Parcel"
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {}
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          }
        },
        "operationId": "get-jobs-job_id-deliveries-delivery_id-parcels",
        "description": "Returns a collection of parcels for the given delivery."
      }
    }
  },
  "components": {
    "schemas": {
      "Field-Parcel-Insurance-Value-Response": {
        "title": "Field-Parcel-Insurance-Value-Response",
        "type": "object",
        "x-examples": {},
        "properties": {
          "parcel_insurance_value": {
            "$ref": "#/components/schemas/Field-Collection-Money"
          }
        }
      },
      "Field-Parcel-Id": {
        "title": "Field-Parcel-Id",
        "type": "object",
        "properties": {
          "parcel_id": {
            "type": "string",
            "description": "Your own ID. A unique order/reference number.",
            "example": "12345"
          }
        },
        "required": [
          "parcel_id"
        ]
      },
      "Field-Parcel-External-Id": {
        "title": "Field-Parcel-External-Id",
        "type": "object",
        "properties": {
          "parcel_external_id": {
            "type": "string",
            "description": "Your own ID. A unique order/reference code for the parcel.",
            "example": "12345"
          }
        }
      },
      "Field-Collection-Job-Contents": {
        "title": "Field-Collection-Job-Contents",
        "x-examples": {},
        "type": "object",
        "properties": {
          "is_food": {
            "type": "integer",
            "description": "If parcel contains food items or not.",
            "example": 0,
            "enum": [
              0,
              1
            ]
          },
          "is_fragile": {
            "type": "integer",
            "description": "If parcel is fragile or not.",
            "example": 0,
            "enum": [
              0,
              1
            ]
          },
          "is_liquid": {
            "type": "integer",
            "description": "If parcel contains liquid or not.",
            "example": 0,
            "enum": [
              0,
              1
            ]
          },
          "is_not_rotatable": {
            "type": "integer",
            "description": "If parcel can be rotated or not.",
            "example": 0,
            "enum": [
              0,
              1
            ]
          },
          "is_glass": {
            "type": "integer",
            "description": "If parcel contains glass items or not.",
            "example": 0,
            "enum": [
              0,
              1
            ]
          },
          "is_baked": {
            "type": "integer",
            "description": "If parcel contains items which are baked or not.",
            "example": 0,
            "enum": [
              0,
              1
            ]
          },
          "is_flower": {
            "type": "integer",
            "description": "If parcel contains flowers or not.",
            "example": 0,
            "enum": [
              0,
              1
            ]
          },
          "is_alcohol": {
            "type": "integer",
            "description": "If parcel contains alcohol or not.",
            "example": 0,
            "enum": [
              0,
              1
            ]
          },
          "is_beef": {
            "type": "integer",
            "description": "If parcel contains beef or not.",
            "example": 0,
            "enum": [
              0,
              1
            ]
          },
          "is_pork": {
            "type": "integer",
            "description": "If parcel contains pork or not.",
            "example": 0,
            "enum": [
              0,
              1
            ]
          }
        }
      },
      "Field-Collection-Package-Dimensions": {
        "title": "Field-Collection-Package-Dimensions",
        "type": "object",
        "examples": [],
        "properties": {
          "width": {
            "type": "number",
            "description": "Width of parcel in centimeters.",
            "format": "float",
            "example": 15
          },
          "length": {
            "type": "number",
            "description": "Length of parcel in centimeters.",
            "example": 20,
            "format": "float"
          },
          "height": {
            "type": "number",
            "description": "Height of parcel in centimeters.",
            "format": "float",
            "example": 25
          },
          "weight": {
            "type": "number",
            "description": "Weight of pacel in kilograms.",
            "format": "float",
            "example": 1.2
          }
        },
        "required": [
          "width",
          "length",
          "height",
          "weight"
        ]
      },
      "Field-Delivery-Id": {
        "title": "Field-Delivery-Id",
        "type": "object",
        "x-examples": {},
        "properties": {
          "delivery_id": {
            "type": "string",
            "description": "ID of Sub Job.",
            "example": "74afea12-24aa-44c7-a55b-b2dc2a9a02d3"
          }
        },
        "required": [
          "delivery_id"
        ]
      },
      "Field-Parcel-Description": {
        "title": "Field-Parcel-Description",
        "type": "object",
        "description": "",
        "x-examples": {},
        "properties": {
          "parcel_description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 36,
            "description": "Description of parcel being delivered.",
            "example": "Contents in the parcel are fragile."
          }
        }
      },
      "Field-Parcel-Reference-Number": {
        "title": "Field-Parcel-Reference-Number",
        "type": "object",
        "description": "",
        "properties": {
          "parcel_reference_number": {
            "type": "string",
            "example": "7fc35278-60a1-4fb3-9791-4f45c492e120",
            "minLength": 1,
            "maxLength": 36,
            "description": "Number or text visible for the courier related to the parcel."
          }
        }
      },
      "Field-Parcel-Barcode-Number": {
        "title": "Field-Parcel-Barcode-Number",
        "type": "object",
        "description": "",
        "properties": {
          "barcode_reference": {
            "type": "string",
            "example": "7fc35278-60a1-4fb3-9791-4f45c492e120",
            "minLength": 1,
            "maxLength": 36,
            "description": "A barcode reference number for the parcel, generated by us and can be used by our couriers to identify a given parcel."
          }
        }
      },
      "Field-Id-Check": {
        "title": "Field-Id-Check",
        "type": "object",
        "properties": {
          "id_check": {
            "type": "integer",
            "example": 0,
            "enum": [
              0,
              1
            ],
            "description": "Is it required to check the recipient's ID or not.\n"
          }
        }
      },
      "Response-Error-404": {
        "title": "Response-Error-404",
        "type": "object",
        "examples": [],
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/Field-Error-Object"
                },
                {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "example": "NOT_FOUND",
                      "description": "Code associated with the given error."
                    },
                    "message": {
                      "type": "string",
                      "description": "Human readable message explaining the nature of the error.",
                      "example": "Resource could not be found"
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "Response-Error-401": {
        "title": "Response-Error-401",
        "type": "object",
        "examples": [],
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/Field-Error-Object"
                },
                {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Code associated with the given error.",
                      "example": "UNAUTHORIZED"
                    },
                    "message": {
                      "type": "string",
                      "description": "Human readable message explaining the nature of the error.",
                      "example": "You are not authorized to make this request."
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "Response-Error-403": {
        "title": "Response-Error-403",
        "type": "object",
        "examples": [],
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/Field-Error-Object"
                },
                {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Code associated with the given error.",
                      "example": "UNAUTHORIZED"
                    },
                    "message": {
                      "type": "string",
                      "description": "Human readable message explaining the nature of the error.",
                      "example": "You are not authorized to make this request."
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "Field-Error-Object": {
        "title": "Field-Error-Object",
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "The item that the error relates to e.g. the field failing validation or the invalid url parameter.",
            "example": "job_id",
            "default": "''"
          }
        }
      },
      "Response-Parcel": {
        "title": "Response-Parcel",
        "allOf": [
          {
            "$ref": "#/components/schemas/Field-Parcel-Id"
          },
          {
            "$ref": "#/components/schemas/Field-Delivery-Id"
          },
          {
            "$ref": "#/components/schemas/Field-Parcel-External-Id"
          },
          {
            "$ref": "#/components/schemas/Field-Parcel-Reference-Number"
          },
          {
            "$ref": "#/components/schemas/Field-Parcel-Description"
          },
          {
            "$ref": "#/components/schemas/Field-Dangerous-Goods",
            "x-stoplight": {
              "id": "g4udu2x7281o1"
            }
          },
          {
            "$ref": "#/components/schemas/Field-Parcel-Insurance-Value-Response"
          },
          {
            "$ref": "#/components/schemas/Field-Parcel-Barcode-Number"
          },
          {
            "$ref": "#/components/schemas/Field-Collection-Package-Dimensions"
          },
          {
            "$ref": "#/components/schemas/Field-Id-Check"
          },
          {
            "$ref": "#/components/schemas/Field-Collection-Job-Contents"
          }
        ],
        "examples": [
          {
            "parcel_id": "12345",
            "delivery_id": "74afea12-24aa-44c7-a55b-b2dc2a9a02d3",
            "parcel_external_id": "12345",
            "parcel_reference_number": "7fc35278-60a1-4fb3-9791-4f45c492e120",
            "parcel_description": "Contents in the parcel are fragile.",
            "dangerous_goods": "ADR_LIMITED_QUANTITY",
            "parcel_insurance_value": {
              "amount": 1.99,
              "currency": "GBP"
            },
            "barcode_reference": "7fc35278-60a1-4fb3-9791-4f45c492e120",
            "width": 15,
            "length": 20,
            "height": 25,
            "weight": 1.2,
            "id_check": 0,
            "is_food": 0,
            "is_fragile": 0,
            "is_liquid": 0,
            "is_not_rotatable": 0,
            "is_glass": 0,
            "is_baked": 0,
            "is_flower": 0,
            "is_alcohol": 0,
            "is_beef": 0,
            "is_pork": 0
          }
        ]
      },
      "Field-Collection-Money": {
        "title": "Field-Collection-Money",
        "x-stoplight": {
          "id": "x72mmm004mfto"
        },
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "example": 1.99
          },
          "currency": {
            "type": "string",
            "example": "GBP",
            "description": "Currency of the value given in the amount field."
          }
        }
      },
      "Field-Dangerous-Goods": {
        "title": "Field-Dangerous-Goods",
        "x-stoplight": {
          "id": "z1ya7w5ioc704"
        },
        "type": "object",
        "properties": {
          "dangerous_goods": {
            "x-stoplight": {
              "id": "7mwbdghus95be"
            },
            "enum": [
              "ADR_LIMITED_QUANTITY",
              "BATTERY_LITHIUM_METAL_STANDALONE",
              "BATTERY_LITHIUM_METAL_IN_EQUIPMENT",
              "BATTERY_LITHIUM_ION_STANDALONE",
              "BATTERY_LITHIUM_ION_IN_EQUIPMENT",
              "BATTERY_LEAD_ACID",
              "BATTERY_NIMH",
              "BATTERY_NICD_DRY_SEALED"
            ],
            "description": "Declares that the parcel contains ADR-regulated dangerous goods, and which class.\nOmit or send null for no dangerous goods (the default). One value per parcel; book\neach class of goods as a separate parcel. Only accepted for customers enabled for\ndangerous goods transport.\n\nThe value sets the hazard symbol on the Gophr label, the handling rules shown at\nbooking, whether the job is restricted to ADR-trained couriers, and the quantity\nlimits applied.\n\n- ADR_LIMITED_QUANTITY: non-battery dangerous goods in limited-quantity retail\n  packaging (ADR 3.4 / Road Derogation 4), e.g. solvents, aerosols, flammable liquids.\n  Max 30kg/30l per type of good, 333kg/333l per job.\n- BATTERY_LITHIUM_METAL_STANDALONE: single-use lithium metal batteries shipped alone\n  (UN 3090). Below 100Wh each. Lithium label symbol.\n- BATTERY_LITHIUM_METAL_IN_EQUIPMENT: single-use lithium metal batteries in or packed\n  with equipment (UN 3091). Below 100Wh each. Lithium label symbol.\n- BATTERY_LITHIUM_ION_STANDALONE: rechargeable lithium ion batteries shipped alone\n  (UN 3480). Below 100Wh each. Lithium label symbol.\n- BATTERY_LITHIUM_ION_IN_EQUIPMENT: rechargeable lithium ion batteries in or packed\n  with equipment (UN 3481). Below 100Wh each. Lithium label symbol.\n- BATTERY_LEAD_ACID: new wet lead acid batteries (UN 2794), secured and short-circuit\n  protected. Max 1000kg per job. Lead acid label symbol.\n- BATTERY_NIMH: sealed nickel-metal hydride batteries (UN 3496). Exempt from ADR\n  handling; tagged for visibility only.\n- BATTERY_NICD_DRY_SEALED: sealed dry nickel-cadmium batteries (no UN number). Exempt\n  from ADR handling; tagged for visibility only."
          }
        }
      }
    },
    "securitySchemes": {
      "API-Key": {
        "name": "API-KEY",
        "type": "apiKey",
        "in": "header",
        "description": ""
      }
    },
    "responses": {
      "401": {
        "description": "Example response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Response-Error-401"
            }
          }
        }
      },
      "403": {
        "description": "Example response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Response-Error-403"
            }
          }
        }
      },
      "404": {
        "description": "Example response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Response-Error-404"
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "API-Key": []
    }
  ]
}
```