Skip to main content
Look up carriers and available labels, create an asset, and add notes as shipments progress. All requests use your AccessKey header. Examples use fictional values. Carrier and label assignments are optional when creating an asset. Skip the corresponding lookup when you do not need that assignment.

1. Look up a carrier

Call GET /Carriers/GetCarriers. The response is a direct array:
By default, this endpoint returns four carriers: UPS, USPS, FedEx, and DHL. Use the returned CarrierID when creating or editing an asset. To retrieve a single carrier, supply its CarrierID; the response remains an array and is empty when nothing matches. Results are returned in a single response. Look up carriers when you configure your integration and reuse the result instead of requesting the list before every asset operation.

2. Find an available label

Call GET /Labels/GetLabels. The response is an object with two separate properties:
This example shows only a subset of the row fields; the endpoint page lists all of them.
  • Labels contains only available labels: state 0 (Healthy) and state 8 (Near expiration).
  • Summary also counts assigned labels (state 2). Assigned labels are counted but not returned as rows, so the number of rows is not Total.
  • Label states are a different set of values from asset statuses.
  • Each label includes its AccountID. Choose a label whose AccountID matches the asset’s AccountID.
  • Results are returned in one response. Retrieve the list when you need to choose a label.

3. Create the asset

Send the chosen identifiers to POST /Assets/NewAssets. Send LabelID as a string:
Use a CarrierID returned by List carriers. Choose a label whose AccountID matches the asset’s AccountID. You can also assign a label later, while the asset is Created. Assigning a label moves the asset to Ready, after which LabelID cannot be changed.

4. Add a note

Call POST /Assets/UserComment with the asset and the note text:
A successful request returns:
The response does not include a note identifier or the stored entry. Each successful request creates a separate note, and there is no idempotency key, so do not automatically retry a request whose result is uncertain. Adding a note generates a User comment event, and configured email notifications for that event can be sent. Rejected requests return HTTP 400, with a body such as {"Code":400,"Message":"Asset not found."}. Invalid input, such as a missing required field, returns HTTP 422.