---
title: "Get a parcel by ID."
method: GET
path: "/v1/parcels/{parcel_id}"
tags: ["parcels"]
---

# Get a parcel by ID.

`GET /v1/parcels/{parcel_id}`

## Request

- Base URL: `https://logistics.api.cabify-sandbox.com`
- URL: `https://logistics.api.cabify-sandbox.com/v1/parcels/{parcel_id}`
- Auth: HTTP bearer

Returns the full details of a parcel identified by its UUID.

## Path parameters

- `parcel_id` string, uuid, required

## Response `200`

Parcel found and returned successfully.

- Parcel
  - `id` string, uuid: System-generated UUID for this parcel.
  - `external_id` string: Your own identifier for this parcel, as provided when the parcel was created.
  - `client_id` string: The account that owns the parcel.
  - `state` string: The current lifecycle state of the parcel. See [parcel states](https://developers.cabify.com/reference/logistics-introduction#parcel) for a full description of each value.
  - `failure_reason` string: If present, why the shipment request was rejected. Same values as `failure_reason` in the status endpoint.
  - `pickup_info` ParcelPointPickupInfo: Information about the pickup point. You must provide at least one of the following location fields: `loc` (coordinates), `addr` (address string), or `hub_external_id` (reference to a registered hub). They may be combined; when `loc` is present the coordinates are used and `addr` is kept as informational only.
    - `addr` string: Full address where the parcel should be picked up.
    - `contact` NewParcelPickupContact, required
      - `name` string, nullable: Name of the contact person at the pickup location.
      - `phone` string, nullable: Phone number of the contact person at the pickup location.
    - `instr` string, nullable: Additional instructions for the driver at the pickup location.
    - `loc` Point: A geographic coordinate expressed as latitude and longitude.
      - `lat` number, float, required: Latitude in decimal degrees.
      - `lon` number, float, required: Longitude in decimal degrees.
    - `code` string, nullable: Alphanumeric code (typically 4–6 characters) shown to the driver to confirm the pickup. Only one code is shown per delivery, so only use this field when the delivery consists of a single parcel.
    - `hub_external_id` string: External ID of a client hub to use as the pickup location.
  - `dropoff_info` ParcelPointDropoffInfo: Information about the drop-off (destination) point. You must provide at least one of the following location fields: `loc` (coordinates), `addr` (address string), or `hub_external_id` (reference to a registered hub). They may be combined; when `loc` is present the coordinates are used and `addr` is kept as informational only.
    - `addr` string: Full address where the parcel should be delivered.
    - `contact` NewParcelDropoffContact, required
      - `name` string: Name of the recipient at the drop-off location.
      - `phone` string, nullable: Phone number of the recipient at the drop-off location.
    - `instr` string, nullable: Additional instructions for the driver at the drop-off location.
    - `loc` Point: A geographic coordinate expressed as latitude and longitude.
      - `lat` number, float, required: Latitude in decimal degrees.
      - `lon` number, float, required: Longitude in decimal degrees.
    - `hub_external_id` string: External ID of a client hub to use as the drop-off location.
  - `dimensions` ParcelDimensions: Physical dimensions of the parcel.
    - `height` integer
    - `length` integer
    - `width` integer
    - `unit` 'cm': Unit of measure for the dimensions. Defaults to `cm` if omitted or set to an invalid value.
  - `weight` ParcelWeight: Weight of the parcel.
    - `value` integer
    - `unit` 'g': Unit of weight. Defaults to `g` (grams) if omitted or set to an invalid value.
  - `price` Price: Price information for the parcel, used in cash-on-delivery scenarios.
    - `declared_value` integer: Declared value of the parcel's contents, in the smallest currency unit following the ISO 4217 standard (e.g. €6.30 → `630`).
    - `collected_value` integer: Amount to be collected from the recipient upon delivery, in the smallest currency unit following the ISO 4217 standard (e.g. €6.30 → `630`).
    - `currency` string: ISO 4217 currency code.
  - `delivery_from` string, date-time: Start of the delivery window, if the parcel has one, formatted according to RFC 3339, section 5.6.
  - `delivery_to` string, date-time: End of the delivery window, if the parcel has one, formatted according to RFC 3339, section 5.6.

## Other responses

- `401`: Unauthorized. Missing or invalid authentication token.
- `404`: No parcel found with the given ID.
- `429`: Too many requests. This API is rate limited per account and per endpoint. A 429 is an expected condition rather than a failed request: back off and retry it. The limits are not the same for every endpoint and can change, so handle the status instead of hard-coding a rate. See the Limits and reliability guide.

---

[API](https://skmtc.dev/cabify/apis/cabify-logistics-api.md) - [All operations](https://skmtc.dev/cabify/apis/cabify-logistics-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cabify/apis/cabify-logistics-api/revisions/dff49457aac9?raw)
