> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aeoral.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Shiipp Manifest Details, Statistics, and Packages

> GET /api/GetManifest.php?id={manifest_id} — retrieve manifest metadata, all linked packages, and aggregate stats including weight and courier breakdown.

The Get Manifest endpoint returns a complete snapshot of a flight manifest: its metadata (AWB number, flight date, current status), every package linked to it, and pre-computed aggregate statistics broken down by weight and courier. This single call is designed to power both the manifest detail view and the pre-flight package checklist.

## Endpoint

```
GET /api/GetManifest.php
```

## Authentication

All requests must include a valid JWT Bearer token in the `Authorization` header.

```
Authorization: Bearer <your_jwt_token>
```

## Query Parameters

<ParamField query="id" type="string" required>
  The UUID of the manifest to retrieve. This is the `manifest_id` returned by [Create Manifest](/api-reference/manifests/create) or [Manage Manifests](/api-reference/manifests/manage).
</ParamField>

## Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -G https://app.shiipp.com/api/GetManifest.php \
    -H "Authorization: Bearer <your_jwt_token>" \
    --data-urlencode "id=abc123def456"
  ```

  ```
  GET /api/GetManifest.php?id=abc123def456
  ```
</CodeGroup>

## Response

### 200 — Success

The response is structured into three top-level sections under `data`: `info` (manifest metadata), `packages` (the full package list), and `stats` (aggregate totals and per-courier breakdowns).

```json theme={null}
{
  "status": "success",
  "data": {
    "info": {
      "manifest_id": "abc123def456",
      "manifest_number": "MAN-20240115-A3B2",
      "awb_number": "810-12345678",
      "airline_prefix": "810",
      "flight_date": "2024-01-20",
      "status": "draft",
      "notes": "January batch",
      "created_at": "2024-01-15 09:00:00"
    },
    "packages": [
      {
        "package_id": "pkg-uuid",
        "tracking_number": "1Z9999999999999999",
        "house_number": "HN-00142",
        "weight": 3.5,
        "first_name": "Jane",
        "last_name": "Smith",
        "user_code": "CUST001",
        "courier_name": "Express Couriers",
        "courier_code": "EXP",
        "carrier_name": "UPS"
      }
    ],
    "stats": {
      "total_count": 28,
      "total_weight_lb": 97.4,
      "total_weight_kg": 44.18,
      "by_courier": {
        "EXP": { "count": 18, "weight": 62.1, "house_color": "#065ea1" },
        "ACE": { "count": 10, "weight": 35.3, "house_color": "#e85d04" }
      }
    }
  }
}
```

## Response Fields

<ResponseField name="data.info" type="object">
  Manifest-level metadata.

  <Expandable title="info fields">
    <ResponseField name="manifest_id" type="string">
      The unique UUID of the manifest.
    </ResponseField>

    <ResponseField name="manifest_number" type="string">
      Human-readable manifest identifier in `MAN-YYYYMMDD-XXXX` format.
    </ResponseField>

    <ResponseField name="awb_number" type="string">
      Air Waybill number associated with the flight, if set.
    </ResponseField>

    <ResponseField name="airline_prefix" type="string">
      Numeric prefix extracted from the AWB number, used for airline lookup.
    </ResponseField>

    <ResponseField name="flight_date" type="string">
      Scheduled flight date in `YYYY-MM-DD` format.
    </ResponseField>

    <ResponseField name="status" type="string">
      Current lifecycle status: `draft`, `ready`, `shipped`, or `completed`.
    </ResponseField>

    <ResponseField name="notes" type="string">
      Free-text notes stored on the manifest record.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      UTC timestamp of manifest creation in `YYYY-MM-DD HH:MM:SS` format.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="data.packages" type="array">
  Array of package objects linked to this manifest.

  <Expandable title="package fields">
    <ResponseField name="package_id" type="string">
      Unique UUID of the package.
    </ResponseField>

    <ResponseField name="tracking_number" type="string">
      Carrier-assigned tracking number for the package.
    </ResponseField>

    <ResponseField name="house_number" type="string">
      Internal house airway bill number assigned by Shiipp.
    </ResponseField>

    <ResponseField name="weight" type="number">
      Package weight in pounds.
    </ResponseField>

    <ResponseField name="first_name" type="string">
      Recipient's first name.
    </ResponseField>

    <ResponseField name="last_name" type="string">
      Recipient's last name.
    </ResponseField>

    <ResponseField name="user_code" type="string">
      The customer's mailbox or account code within the courier's tenant.
    </ResponseField>

    <ResponseField name="courier_name" type="string">
      Display name of the courier service that owns this package.
    </ResponseField>

    <ResponseField name="courier_code" type="string">
      Short alphanumeric code identifying the courier (e.g., `EXP`).
    </ResponseField>

    <ResponseField name="carrier_name" type="string">
      The physical carrier (e.g., UPS, FedEx) that delivered the package to the warehouse.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="data.stats" type="object">
  Aggregate statistics computed across all linked packages.

  <Expandable title="stats fields">
    <ResponseField name="total_count" type="integer">
      Total number of packages on the manifest.
    </ResponseField>

    <ResponseField name="total_weight_lb" type="number">
      Combined weight of all packages in pounds.
    </ResponseField>

    <ResponseField name="total_weight_kg" type="number">
      Combined weight of all packages in kilograms.
    </ResponseField>

    <ResponseField name="by_courier" type="object">
      Per-courier breakdown keyed by `courier_code`. Each entry contains `count` (integer), `weight` (number, pounds), and `house_color` (hex string used for manifest color-coding in the UI).
    </ResponseField>
  </Expandable>
</ResponseField>

## Error Responses

| HTTP Code | Cause                                |
| --------- | ------------------------------------ |
| `400`     | `id` query parameter is missing      |
| `401`     | Missing or invalid JWT token         |
| `404`     | No manifest found for the given `id` |
