# Get a sticker waybill

`GET /v2/shipments/sticker-waybill?tracking_references=["UASDRW78"]&type=pdf`

**Base URLs:**

- Sandbox: `https://api.sandbox.bobgo.co.za`
- Production: `https://api.bobgo.co.za`

**Authentication:** Bearer token required (see the Authentication page).

## Example request

```bash
curl -g -X GET 'https://api.sandbox.bobgo.co.za/v2/shipments/sticker-waybill?tracking_references=["UASDRW78"]&type=pdf' \
  -H "Authorization: Bearer <API_KEY>"
```

Produces a label sized for a sticker printer, rather than the A4/A5 waybill
from [`GET /v2/shipments/waybill`](shipment_waybill.md). The `type` parameter
decides both the format **and the shape of the response**.

Sticker labels are a paid feature, per format. An account without it gets
`Upgrade to a higher plan to unlock this feature.` with a `400`, and no label.

## Parameters

| Name | Type | Required | Notes |
| --- | --- | --- | --- |
| `tracking_references` | array of string | yes | The shipments to print. Sent as a JSON array in the query string, with no spaces. Unlike the waybill endpoint, `ids` cannot replace it. |
| `ids` | array of integer | no | Shipment ids. Only narrows `tracking_references`: shipments must match both. |
| `type` | string | no | `zpl` or `pdf`. Defaults to `zpl`. |

```
GET /v2/shipments/sticker-waybill?tracking_references=["UASDRW78"]&type=zpl
```

## Response for `type=zpl`

The ZPL comes back **inline, one label per parcel**, in `sticker_waybill_content`.
Send each string straight to a Zebra printer; there is no file and no
`download_url`.

```json
{
  "pdf_queued": false,
  "waybills_ready": true,
  "download_url": null,
  "file_history_id": null,
  "shipments": [
    {
      "id": 4455123,
      "tracking_reference": "UASDRW78",
      "submission_status": "success",
      "failed_reason": null,
      "parcels": [
        {
          "parcel_reference": "UASDRW78/1",
          "sticker_waybill_content": "^XA^FO..."
        }
      ]
    }
  ]
}
```

A two-parcel shipment gives you two `parcels` entries and two labels to print.
`parcel_reference` is the parcel's own Bob Go tracking reference.

## Response for `type=pdf`

Same envelope as [`GET /v2/shipments/waybill`](shipment_waybill.md#response),
with the same three outcomes: generated inline with a `download_url`, queued for
batch generation with a `file_history_id`, or not generated at all because a
shipment is not printable yet.

In both cases `shipments[]` carries `submission_status` and `failed_reason`, so
check those before assuming a label exists.
