# ST23 - Update carrier tracking information for shipments

Description

If the carrier is not registered, the complete tracking url can be provided. Limited to 1000 shipments at a time.


Call Frequency

Recommended usage: On each shipment tracking info update
Maximum usage: On each shipment tracking info update

Endpoint: POST /api/shipments/tracking
Security: Shop-API-Key

## Query parameters:

  - `shop_id` (integer)
    Use this parameter when your user has access to several shops. If not specified, the shop_id from your default shop will be used.

## Request fields (application/json):

  - `shipments` (array, required)
    Shipments list

  - `shipments.id` (string, required)
    Shipment id

  - `shipments.tracking` (object, required)
    Shipment tracking details

  - `shipments.tracking.carrier_code` (string)
    The code of a carrier. This information is mandatory for a registered carrier.

  - `shipments.tracking.carrier_name` (string)
    The name of a carrier. This information is mandatory for an unregistered carrier.

  - `shipments.tracking.carrier_standard_code` (string)
    The standard code of a carrier based on mirakl carrier referential

  - `shipments.tracking.tracking_number` (string)
    The carrier tracking number. This information is mandatory for a registered carrier with a URL requiring a tracking number.

  - `shipments.tracking.tracking_url` (string)
    The tracking url of a carrier. This information is unused for registered carriers (because computed automatically). This information is optional for unregistered carriers.

## Response 200 fields (application/json):

  - `shipment_errors` (array)
    Shipment workflow update errors

  - `shipment_errors.id` (string)
    Shipment id

  - `shipment_errors.message` (string)
    Error message

  - `shipment_success` (array)
    Shipment workflow update success

  - `shipment_success.id` (string, required)
    Shipment id


