Skip to main content
GET
/
reporting
/
parcels
/
{report_id}
Retrieve a parcels report
curl --request GET \
  --url https://panel.sendcloud.sc/api/v3/reporting/parcels/{report_id} \
  --header 'Authorization: Basic <encoded-value>'
{
  "id": "419f3be0-2f49-434b-bee4-d8cff9cf7d01",
  "organization_id": 12345,
  "status": "ready",
  "status_message": "The report is ready",
  "fields": [
    "parcel_id",
    "tracking_number",
    "shipping_option_code",
    "status",
    "announced_at",
    "delivered_at"
  ],
  "filters": {
    "announced_after": "2025-04-01T00:00:00Z",
    "announced_before": "2025-04-30T23:59:59Z",
    "direction": "outgoing"
  },
  "url": "https://reporting-service.s3.eu-central-1.amazonaws.com/reports/parcels_v3/2025-05-01/419f3be0-2f49-434b-bee4-d8cff9cf7d01.csv",
  "expires_at": "2025-05-01T08:38:10.226217Z",
  "updated_at": "2025-05-01T08:24:10.226265Z",
  "created_at": "2025-05-01T08:23:10.226265Z"
}

Documentation Index

Fetch the complete documentation index at: https://sendcloud.dev/llms.txt

Use this file to discover all available pages before exploring further.

Use the id returned by Create a parcels report. The report is generated asynchronously, so poll this endpoint until status is ready; the CSV is then available at the url field. Reports expire after a fixed period (see expires_at). Once expired, the download URL is no longer valid and the report must be regenerated.

Authorizations

Authorization
string
header
required

Basic Authentication using API key and secrets is currently the main authentication mechanism.

Path Parameters

report_id
string<uuid>
required

Unique identifier of the report.

Example:

"419f3be0-2f49-434b-bee4-d8cff9cf7d01"

Response

OK

Represents a parcels report and its processing state.

id
string<uuid>
required

Unique identifier of the report.

Example:

"419f3be0-2f49-434b-bee4-d8cff9cf7d01"

organization_id
integer
required

Identifier of the organization the report belongs to.

Required range: x >= 1
Example:

12345

status
enum<string>
required

Current processing status of the report.

Available options:
queued,
generating,
ready,
failed,
expired
Example:

"ready"

status_message
string
required

Human-readable description of the current status.

Example:

"The report is ready"

fields
enum<string>[]
required

Columns included in the report.

A column that can be included in a parcels report.

Available options:
parcel_id,
direction,
carrier_code,
carrier_name,
from_address_company_name,
contract_id,
contract_type,
from_address_city,
from_address_postal_code,
from_address_country_code,
from_address_country_name,
to_address_city,
to_address_postal_code,
to_address_country_code,
to_address_country_name,
order_number,
tracking_number,
announced_at,
shipped_at,
first_offer_at,
delivered_at,
shipping_option_code,
total_cost,
status,
sub_status,
integration_id,
integration_type,
weight,
brand_id,
brand_name
filters
ParcelsReportFilter · object
required

Filters that determine which parcels are included in the report.

url
string<uri> | null

URL to download the CSV. null until the report status is ready, and again after expiry.

Example:

"https://reporting-service.s3.eu-central-1.amazonaws.com/reports/parcels_v3/2025-05-01/419f3be0-2f49-434b-bee4-d8cff9cf7d01.csv"

expires_at
string<date-time> | null

When the report (and its download URL) will expire. null until the report is ready.

Example:

"2025-05-01T08:38:10.226217Z"

updated_at
string<date-time>

When the report was last updated.

Example:

"2025-05-01T08:24:10.226265Z"

created_at
string<date-time>

When the report was created.

Example:

"2025-05-01T08:23:10.226265Z"