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

# Get Label – Retrieve a Shipping Label

> Retrieve OpenBorder shipping labels for full-order or split-shipment fulfillment in PDF or ZPL format.

The Get Label endpoint returns one or more shipping labels associated with an OpenBorder order. For full-order fulfillment, provide the order number to retrieve the existing label. For split shipments, include the required SKU, parcel, and address information to generate a label for the specified items.

## Endpoints

| Environment | URL                                                  |
| ----------- | ---------------------------------------------------- |
| Production  | `POST https://api.openborder.com/api/post/fc/labels` |

## Authentication

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

```http theme={null} theme={null}
Authorization: Bearer TOKEN
```

## Request Body

<ParamField body="orderNumber" type="string" required>
  The order number to retrieve or generate a label for.
</ParamField>

<ParamField body="weight" type="number">
  Parcel weight. When provided, `weightUnit` is also required.
</ParamField>

<ParamField body="weightUnit" type="string">
  Unit for the `weight` field. Required when `weight` is set. Accepted values: `"grams"` or `"pounds"`.
</ParamField>

<ParamField body="length" type="number">
  Parcel length. When any dimension is provided, `dimensionsUnit` is also required.
</ParamField>

<ParamField body="width" type="number">
  Parcel width. When any dimension is provided, `dimensionsUnit` is also required.
</ParamField>

<ParamField body="height" type="number">
  Parcel height. When any dimension is provided, `dimensionsUnit` is also required.
</ParamField>

<ParamField body="dimensionsUnit" type="string">
  Unit for `length`, `width`, and `height`. Required when any dimension is set. Accepted values: `"cm"` or `"in"`.
</ParamField>

<ParamField body="base64" type="boolean">
  When `true`, the label is returned as a base64-encoded string in addition to the PDF URL.
</ParamField>

<ParamField body="skus" type="array">
  Required for partial label generation. An array of SKU objects describing the items in this parcel.

  <Expandable title="SKU object fields">
    <ParamField body="skuName" type="string" required>
      The SKU identifier.
    </ParamField>

    <ParamField body="asn" type="string" required>
      The Advanced Shipment Notice (ASN) reference associated with the SKU.
    </ParamField>

    <ParamField body="quantity" type="number" required>
      Quantity of this SKU included in the parcel.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="fromAddress" type="object">
  The origin address. Required when `skus` is provided.

  <Expandable title="Address fields">
    <ParamField body="firstName" type="string" required>
      First name on the address.
    </ParamField>

    <ParamField body="lastName" type="string" required>
      Last name on the address.
    </ParamField>

    <ParamField body="phoneNumber" type="string" required>
      Phone number including country code (e.g. `+12125551234`).
    </ParamField>

    <ParamField body="line1" type="string" required>
      Primary street address line.
    </ParamField>

    <ParamField body="line2" type="string">
      Secondary address line (apartment, suite, unit, etc.).
    </ParamField>

    <ParamField body="city" type="string" required>
      City name.
    </ParamField>

    <ParamField body="province" type="string" required>
      State or province code.
    </ParamField>

    <ParamField body="country" type="string" required>
      Two-letter ISO 3166-1 alpha-2 country code (e.g. `"US"`, `"DE"`).
    </ParamField>

    <ParamField body="zipcode" type="string" required>
      Postal or ZIP code.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="toAddress" type="object">
  The destination address. Required when `skus` is provided.

  <Expandable title="Address fields">
    <ParamField body="firstName" type="string" required>
      First name on the address.
    </ParamField>

    <ParamField body="lastName" type="string" required>
      Last name on the address.
    </ParamField>

    <ParamField body="phoneNumber" type="string" required>
      Phone number including country code.
    </ParamField>

    <ParamField body="line1" type="string" required>
      Primary street address line.
    </ParamField>

    <ParamField body="line2" type="string">
      Secondary address line (apartment, suite, unit, etc.).
    </ParamField>

    <ParamField body="city" type="string" required>
      City name.
    </ParamField>

    <ParamField body="province" type="string" required>
      State or province code.
    </ParamField>

    <ParamField body="country" type="string" required>
      Two-letter ISO 3166-1 alpha-2 country code.
    </ParamField>

    <ParamField body="zipcode" type="string" required>
      Postal or ZIP code.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="trackReference" type="string">
  A reference string printed directly on the label. Required when `skus` is provided.
</ParamField>

<ParamField body="parcelWeight" type="string">
  Parcel weight in grams. Required when `skus` is provided.
</ParamField>

<ParamField body="brandCode" type="string">
  Your brand code as provided by OpenBorder. Required when `skus` is provided.
</ParamField>

<ParamField body="locationCode" type="string">
  An optional location code used for partial label consolidation across fulfillment centers.
</ParamField>

<ParamField body="zpl" type="boolean">
  When `true`, the response includes a URL to the label in ZPL format (for thermal printers).
</ParamField>

## Request Examples

<CodeGroup>
  ```json Full Order Fulfillment theme={null} theme={null}
  {
    "orderNumber": "#12345"
  }
  ```

  ```json Split Shipment Fulfillment theme={null} theme={null}
  {
    "orderNumber": "#12345",
    "skus": [
      { "skuName": "TSHIRT-L-BLK", "asn": "ASN001", "quantity": 2 }
    ],
    "fromAddress": {
      "firstName": "Warehouse",
      "lastName": "Team",
      "phoneNumber": "+12125551234",
      "line1": "123 Warehouse St",
      "city": "New York",
      "province": "NY",
      "country": "US",
      "zipcode": "10001"
    },
    "toAddress": {
      "firstName": "Jane",
      "lastName": "Doe",
      "phoneNumber": "+493012345678",
      "line1": "Unter den Linden 1",
      "city": "Berlin",
      "province": "Berlin",
      "country": "DE",
      "zipcode": "10115"
    },
    "trackReference": "REF-12345",
    "parcelWeight": "500",
    "brandCode": "MYBRAND"
  }
  ```
</CodeGroup>

## Response

When the label is available, the endpoint returns a structured result object.

<ResponseField name="isError" type="boolean">
  `false` when the request was processed successfully.
</ResponseField>

<ResponseField name="result" type="object">
  The label result data.

  <Expandable title="result fields">
    <ResponseField name="orderNumber" type="string">
      The order number associated with the label.
    </ResponseField>

    <ResponseField name="labelUrls" type="string[]">
      An array of URLs pointing to the generated label PDFs.
    </ResponseField>

    <ResponseField name="status" type="string">
      Label generation status. One of `"success"`, `"pending"`, or `"error"`.
    </ResponseField>

    <ResponseField name="trackingCode" type="string">
      The shipment tracking code. Returns an empty string if not yet available.
    </ResponseField>

    <ResponseField name="trackingUrl" type="string">
      A direct link to the shipment tracking page. Returns an empty string if not yet available.
    </ResponseField>

    <ResponseField name="base64" type="string">
      Base64-encoded label string. Only present when `base64: true` was included in the request.
    </ResponseField>

    <ResponseField name="zpl" type="string">
      URL to the ZPL format label. Only present when `zpl: true` was included in the request.
    </ResponseField>

    <ResponseField name="shippingService" type="string">
      The name of the shipping service selected for this shipment. Only present when the service has been determined.
    </ResponseField>
  </Expandable>
</ResponseField>

```json Label Ready Response theme={null} theme={null}
{
  "isError": false,
  "result": {
    "orderNumber": "#12345",
    "labelUrls": ["https://labelurl.com", "https://labelurl2.com"],
    "status": "success",
    "trackingCode": "123456789",
    "trackingUrl": "https://trackingurl.com"
  }
}
```

<ParamField body="orderNumber" type="string" required>
  The order number to retrieve or generate a label for.
</ParamField>

<ParamField body="weight" type="number">
  Parcel weight. When provided, `weightUnit` is also required.
</ParamField>

<ParamField body="weightUnit" type="string">
  Unit for the `weight` field. Required when `weight` is set. Accepted values: `"grams"` or `"pounds"`.
</ParamField>

<ParamField body="length" type="number">
  Parcel length. When any dimension is provided, `dimensionsUnit` is also required.
</ParamField>

<ParamField body="width" type="number">
  Parcel width. When any dimension is provided, `dimensionsUnit` is also required.
</ParamField>

<ParamField body="height" type="number">
  Parcel height. When any dimension is provided, `dimensionsUnit` is also required.
</ParamField>

<ParamField body="dimensionsUnit" type="string">
  Unit for `length`, `width`, and `height`. Required when any dimension is set. Accepted values: `"cm"` or `"in"`.
</ParamField>

<ParamField body="base64" type="boolean">
  When `true`, the label is returned as a base64-encoded string in addition to the PDF URL.
</ParamField>

<ParamField body="skus" type="array">
  Required for partial label generation. An array of SKU objects describing the items in this parcel.

  <Expandable title="SKU object fields">
    <ParamField body="skuName" type="string" required>
      The SKU identifier.
    </ParamField>

    <ParamField body="asn" type="string" required>
      The Advanced Shipment Notice (ASN) reference associated with the SKU.
    </ParamField>

    <ParamField body="quantity" type="number" required>
      Quantity of this SKU included in the parcel.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="fromAddress" type="object">
  The origin address. Required when `skus` is provided.

  <Expandable title="Address fields">
    <ParamField body="firstName" type="string" required>
      First name on the address.
    </ParamField>

    <ParamField body="lastName" type="string" required>
      Last name on the address.
    </ParamField>

    <ParamField body="phoneNumber" type="string" required>
      Phone number including country code (e.g. `+12125551234`).
    </ParamField>

    <ParamField body="line1" type="string" required>
      Primary street address line.
    </ParamField>

    <ParamField body="line2" type="string">
      Secondary address line (apartment, suite, unit, etc.).
    </ParamField>

    <ParamField body="city" type="string" required>
      City name.
    </ParamField>

    <ParamField body="province" type="string" required>
      State or province code.
    </ParamField>

    <ParamField body="country" type="string" required>
      Two-letter ISO 3166-1 alpha-2 country code (e.g. `"US"`, `"DE"`).
    </ParamField>

    <ParamField body="zipcode" type="string" required>
      Postal or ZIP code.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="toAddress" type="object">
  The destination address. Required when `skus` is provided.

  <Expandable title="Address fields">
    <ParamField body="firstName" type="string" required>
      First name on the address.
    </ParamField>

    <ParamField body="lastName" type="string" required>
      Last name on the address.
    </ParamField>

    <ParamField body="phoneNumber" type="string" required>
      Phone number including country code.
    </ParamField>

    <ParamField body="line1" type="string" required>
      Primary street address line.
    </ParamField>

    <ParamField body="line2" type="string">
      Secondary address line (apartment, suite, unit, etc.).
    </ParamField>

    <ParamField body="city" type="string" required>
      City name.
    </ParamField>

    <ParamField body="province" type="string" required>
      State or province code.
    </ParamField>

    <ParamField body="country" type="string" required>
      Two-letter ISO 3166-1 alpha-2 country code.
    </ParamField>

    <ParamField body="zipcode" type="string" required>
      Postal or ZIP code.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="trackReference" type="string">
  A reference string printed directly on the label. Required when `skus` is provided.
</ParamField>

<ParamField body="parcelWeight" type="string">
  Parcel weight in grams. Required when `skus` is provided.
</ParamField>

<ParamField body="brandCode" type="string">
  Your brand code as provided by OpenBorder. Required when `skus` is provided.
</ParamField>

<ParamField body="locationCode" type="string">
  An optional location code used for partial label consolidation across fulfillment centers.
</ParamField>

<ParamField body="zpl" type="boolean">
  When `true`, the response includes a URL to the label in ZPL format (for thermal printers).
</ParamField>

## Request Examples

<CodeGroup>
  ```json Full Order Fulfillment theme={null} theme={null}
  {
    "orderNumber": "#12345"
  }
  ```

  ```json Split Shipment Fulfillment theme={null} theme={null}
  {
    "orderNumber": "#12345",
    "skus": [
      { "skuName": "TSHIRT-L-BLK", "asn": "ASN001", "quantity": 2 }
    ],
    "fromAddress": {
      "firstName": "Warehouse",
      "lastName": "Team",
      "phoneNumber": "+12125551234",
      "line1": "123 Warehouse St",
      "city": "New York",
      "province": "NY",
      "country": "US",
      "zipcode": "10001"
    },
    "toAddress": {
      "firstName": "Jane",
      "lastName": "Doe",
      "phoneNumber": "+493012345678",
      "line1": "Unter den Linden 1",
      "city": "Berlin",
      "province": "Berlin",
      "country": "DE",
      "zipcode": "10115"
    },
    "trackReference": "REF-12345",
    "parcelWeight": "500",
    "brandCode": "MYBRAND"
  }
  ```
</CodeGroup>

When the label is available, the endpoint returns a structured result object.

<ParamField body="orderNumber" type="string" required>
  The order number to retrieve or generate a label for.
</ParamField>

<ParamField body="weight" type="number">
  Parcel weight. When provided, `weightUnit` is also required.
</ParamField>

<ParamField body="weightUnit" type="string">
  Unit for the `weight` field. Required when `weight` is set. Accepted values: `"grams"` or `"pounds"`.
</ParamField>

<ParamField body="length" type="number">
  Parcel length. When any dimension is provided, `dimensionsUnit` is also required.
</ParamField>

<ParamField body="width" type="number">
  Parcel width. When any dimension is provided, `dimensionsUnit` is also required.
</ParamField>

<ParamField body="height" type="number">
  Parcel height. When any dimension is provided, `dimensionsUnit` is also required.
</ParamField>

<ParamField body="dimensionsUnit" type="string">
  Unit for `length`, `width`, and `height`. Required when any dimension is set. Accepted values: `"cm"` or `"in"`.
</ParamField>

<ParamField body="base64" type="boolean">
  When `true`, the label is returned as a base64-encoded string in addition to the PDF URL.
</ParamField>

<ParamField body="skus" type="array">
  Required for partial label generation. An array of SKU objects describing the items in this parcel.

  <Expandable title="SKU object fields">
    <ParamField body="skuName" type="string" required>
      The SKU identifier.
    </ParamField>

    <ParamField body="asn" type="string" required>
      The Advanced Shipment Notice (ASN) reference associated with the SKU.
    </ParamField>

    <ParamField body="quantity" type="number" required>
      Quantity of this SKU included in the parcel.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="fromAddress" type="object">
  The origin address. Required when `skus` is provided.

  <Expandable title="Address fields">
    <ParamField body="firstName" type="string" required>
      First name on the address.
    </ParamField>

    <ParamField body="lastName" type="string" required>
      Last name on the address.
    </ParamField>

    <ParamField body="phoneNumber" type="string" required>
      Phone number including country code (e.g. `+12125551234`).
    </ParamField>

    <ParamField body="line1" type="string" required>
      Primary street address line.
    </ParamField>

    <ParamField body="line2" type="string">
      Secondary address line (apartment, suite, unit, etc.).
    </ParamField>

    <ParamField body="city" type="string" required>
      City name.
    </ParamField>

    <ParamField body="province" type="string" required>
      State or province code.
    </ParamField>

    <ParamField body="country" type="string" required>
      Two-letter ISO 3166-1 alpha-2 country code (e.g. `"US"`, `"DE"`).
    </ParamField>

    <ParamField body="zipcode" type="string" required>
      Postal or ZIP code.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="toAddress" type="object">
  The destination address. Required when `skus` is provided.

  <Expandable title="Address fields">
    <ParamField body="firstName" type="string" required>
      First name on the address.
    </ParamField>

    <ParamField body="lastName" type="string" required>
      Last name on the address.
    </ParamField>

    <ParamField body="phoneNumber" type="string" required>
      Phone number including country code.
    </ParamField>

    <ParamField body="line1" type="string" required>
      Primary street address line.
    </ParamField>

    <ParamField body="line2" type="string">
      Secondary address line (apartment, suite, unit, etc.).
    </ParamField>

    <ParamField body="city" type="string" required>
      City name.
    </ParamField>

    <ParamField body="province" type="string" required>
      State or province code.
    </ParamField>

    <ParamField body="country" type="string" required>
      Two-letter ISO 3166-1 alpha-2 country code.
    </ParamField>

    <ParamField body="zipcode" type="string" required>
      Postal or ZIP code.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="trackReference" type="string">
  A reference string printed directly on the label. Required when `skus` is provided.
</ParamField>

<ParamField body="parcelWeight" type="string">
  Parcel weight in grams. Required when `skus` is provided.
</ParamField>

<ParamField body="brandCode" type="string">
  Your brand code as provided by OpenBorder. Required when `skus` is provided.
</ParamField>

<ParamField body="locationCode" type="string">
  An optional location code used for partial label consolidation across fulfillment centers.
</ParamField>

<ParamField body="zpl" type="boolean">
  When `true`, the response includes a URL to the label in ZPL format (for thermal printers).
</ParamField>

## Request Examples

<CodeGroup>
  ```json Full Order Fulfillment theme={null} theme={null}
  {
    "orderNumber": "#12345"
  }
  ```

  ```json Split Shipment Fulfillment theme={null} theme={null}
  {
    "orderNumber": "#12345",
    "skus": [
      { "skuName": "TSHIRT-L-BLK", "asn": "ASN001", "quantity": 2 }
    ],
    "fromAddress": {
      "firstName": "Warehouse",
      "lastName": "Team",
      "phoneNumber": "+12125551234",
      "line1": "123 Warehouse St",
      "city": "New York",
      "province": "NY",
      "country": "US",
      "zipcode": "10001"
    },
    "toAddress": {
      "firstName": "Jane",
      "lastName": "Doe",
      "phoneNumber": "+493012345678",
      "line1": "Unter den Linden 1",
      "city": "Berlin",
      "province": "Berlin",
      "country": "DE",
      "zipcode": "10115"
    },
    "trackReference": "REF-12345",
    "parcelWeight": "500",
    "brandCode": "MYBRAND"
  }
  ```
</CodeGroup>

When the label is available, the endpoint returns a structured result object.
