ShipEngine Tracking API

Track packages across any of our 20+ supported carrier accounts and create tracking events to keep your customers up-to-date. Easily integrate real-time tracking information for shipments into your app, email, or SMS.

GitHub OpenAPI

Operations 3

GET /v1/tracking Get tracking information #
POST /v1/tracking/start Start tracking a package #
POST /v1/tracking/stop Stop tracking a package #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/shipengine:shipengine-tracking-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

shipengine-tracking-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Shipengine Tracking API
  version: 1.1.202604070904
  contact:
    name: ShipEngine Sales & Support
    email: sales@shipengine.com
    url: https://www.shipengine.com/contact/
    x-phone: 1-512-856-5379
  license:
    name: Proprietary
    url: https://www.shipengine.com/terms-of-service/
  termsOfService: https://www.shipengine.com/terms-of-service/
  x-logo:
    url: https://shipengine.github.io/img/shipengine-logo-square.png
    backgroundColor: '#FFFFFF'
    altText: ShipEngine logo
  description: 'Operations tagged tracking across 2 of this provider''s published API definitions: shipengine-openapi-docs-bundle.yaml, shipengine-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.shipengine.com
security:
- api_key: []
tags:
- name: Tracking
  description: Track packages across any of our 20+ supported carrier accounts and create tracking events to keep your customers up-to-date. Easily integrate real-time tracking information for shipments into your app, email, or SMS.
  x-displayName: Tracking
paths:
  /v1/tracking:
    summary: Tracking a package
    description: If you generate your labels through ShipEngine, then you can subscribe to real-time tracking events for free!
    get:
      summary: Get tracking information
      description: Retrieve package tracking information
      tags:
      - Tracking
      operationId: get_tracking_log
      parameters:
      - name: carrier_code
        in: query
        required: false
        schema:
          type: string
          minLength: 1
        example: stamps_com
        description: 'A shipping carrier, such as `fedex`, `dhl_express`, `stamps_com`, etc.

          '
      - name: tracking_number
        in: query
        required: false
        schema:
          type: string
          minLength: 1
        example: '9405511899223197428490'
        description: The tracking number associated with a shipment
      - name: carrier_id
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/se_id'
        description: Carrier ID
      responses:
        '200':
          description: The request was a success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_tracking_log_response_body'
        '400':
          $ref: '#/components/responses/400_error_response'
        '404':
          $ref: '#/components/responses/404_error_response'
        '500':
          $ref: '#/components/responses/500_error_response'
    servers:
    - url: https://api.shipengine.com
  /v1/tracking/start:
    summary: Start tracking a package
    description: 'Allows you to subscribe to tracking updates for a package. You specify the carrier_code and tracking_number of the package,

      and receive notifications via webhooks whenever the shipping status changes.

      '
    post:
      summary: Start tracking a package
      description: 'Allows you to subscribe to tracking updates for a package. You specify the carrier_code and tracking_number of the package,

        and receive notifications via webhooks whenever the shipping status changes.'
      tags:
      - Tracking
      operationId: start_tracking
      parameters:
      - name: carrier_code
        in: query
        required: false
        schema:
          type: string
          minLength: 1
        example: stamps_com
        description: 'A shipping carrier, such as `fedex`, `dhl_express`, `stamps_com`, etc.

          '
      - name: tracking_number
        in: query
        required: false
        schema:
          type: string
          minLength: 1
        example: '9405511899223197428490'
        description: The tracking number associated with a shipment
      - name: carrier_id
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/se_id'
        description: Carrier ID
      responses:
        '204':
          description: The request was successful.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/empty_response_body'
            application/json:
              schema:
                $ref: '#/components/schemas/empty_response_body'
        '400':
          $ref: '#/components/responses/400_error_response'
        '404':
          $ref: '#/components/responses/404_error_response'
        '500':
          $ref: '#/components/responses/500_error_response'
    servers:
    - url: https://api.shipengine.com
  /v1/tracking/stop:
    summary: Stop tracking a package
    description: Unsubscribe from tracking updates for a package.
    post:
      summary: Stop tracking a package
      description: Unsubscribe from tracking updates for a package.
      tags:
      - Tracking
      operationId: stop_tracking
      parameters:
      - name: carrier_code
        in: query
        required: false
        schema:
          type: string
          minLength: 1
        example: stamps_com
        description: 'A shipping carrier, such as `fedex`, `dhl_express`, `stamps_com`, etc.

          '
      - name: tracking_number
        in: query
        required: false
        schema:
          type: string
          minLength: 1
        example: '9405511899223197428490'
        description: The tracking number associated with a shipment
      - name: carrier_id
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/se_id'
        description: Carrier ID
      responses:
        '204':
          description: The request was successful.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/empty_response_body'
            application/json:
              schema:
                $ref: '#/components/schemas/empty_response_body'
        '400':
          $ref: '#/components/responses/400_error_response'
        '404':
          $ref: '#/components/responses/404_error_response'
        '500':
          $ref: '#/components/responses/500_error_response'
    servers:
    - url: https://api.shipengine.com
components:
  schemas:
    error_response_body:
      title: error_response_body
      type: object
      description: An error response body
      required:
      - request_id
      - errors
      additionalProperties: false
      properties:
        request_id:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: 'A UUID that uniquely identifies the request id.

            This can be given to the support team to help debug non-trivial issues that may occur

            '
        errors:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/error'
          description: The errors associated with the failed API call
    status_detail_code:
      readOnly: true
      title: status_detail_code
      enum:
      - CARRIER_STATUS_NOT_MAPPED
      - SHIPMENT_CREATED
      - AWAITING_PICKUP_DROP_OFF
      - DROPPED_OFF
      - ELEC_ADVICE_RECD_BY_CARRIER
      - PICKED_UP
      - CUSTOMS_CLEARED
      - CUSTOMS_PROCESSING
      - DELIVERY_ARRANGED_WITH_RECIPIENT
      - HUB_SCAN_OUT
      - HUB_SCAN_IN
      - IN_TRANSIT
      - INFORMATION
      - PARCEL_OVER_LABELLED
      - PARCEL_UPDATE_NOTIFICATION
      - RECEIVED_BY_CARRIER
      - RECEIVED_LOCAL_DELIVERY_DEPOT
      - SUB_CONTRACTOR_EVENT
      - SUB_CONTRACTOR_RECEIVED
      - PARCEL_REDIRECTED
      - DELIVERY_SCHEDULED
      - HUB_PROCESSING
      - DELIVERY_RESCHEDULED
      - ATTEMPTED_DELIVERY
      - ATTEMPTED_DELIVERY_FINAL
      - COD_AMOUNT_PAID
      - CUSTOMER_CARDED
      - OUT_FOR_DELIVERY
      - AWAITING_COLLECTION_FROM_PICKUP_POINT
      - COLLECT_AT_LOCAL_PO
      - CUSTOMER_TO_COLLECT_FROM_CARRIER
      - DELIVERED_TO_RECEPTION
      - DELIVERED
      - DELIVERED_DAMAGED
      - DELIVERED_IN_PART
      - DELIVERED_SPECIFIED_SAFE_PLACE
      - DELIVERED_TO_ALTERNATIVE_DELIVERY_LOCATION
      - DELIVERED_TO_NEIGHBOUR
      - DELIVERED_TO_PO_BOX
      - PARCEL_COLLECTED_FROM_PICKUP_POINT
      - POST_TRANSIT_STATUS
      - PROOF_OF_DELIVERY
      - PICKUP_FAILED
      - NOT_YET_RECEIVED_BY_CARRIER
      - PARCEL_DAMAGED
      - ADDRESS_QUERY
      - CARRIER_DELAYS
      - DELAYED_NOT_CARRIER
      - HELD_BY_CARRIER
      - HELD_BY_CARRIER_FOR_CLEARANCE_PRE_PROCESSING
      - HELD_BY_CUSTOMS
      - INCORRECT_DECLARATION
      - MISROUTED
      - PARCEL_REPACKED
      - RECD_BY_CARRIER_NO_ELEC_ADVICE
      - COD_AMOUNT_NOT_PAID
      - CUSTOMER_IDENTIFICATION_FAILED
      - NO_ACCESS_TO_RECIPIENTS_ADDRESS
      - CANCELLED
      - CUSTOMER_MOVED
      - HAZARDOUS_PROHIBITED
      - NOT_COLLECTED_FROM_PICKUP_POINT
      - NOT_DELIVERED
      - NOT_DELIVERED_ADDRESSEE_DECEASED
      - PARCEL_DISPOSED
      - PARCEL_LOST
      - PARCEL_OUTSIDE_OF_SERVICE_CAPABILITY
      - REFUSED_BY_CUSTOMER
      - RETURN_TO_SENDER
      - UNSPECIFIED_EXCEPTION
      - TRACKING_EXPIRED
      - DUTY_NOT_PAID
      - PARCEL_REDIRECTED_BY_CARRIER
      - DELIVERED_TO_PICKUP_POINT
      - UNDELIVERABLE_RETURNED_TO_SENDER
      type: string
      description: 'The tracking status detail codes


        |Value       |Description

        |:---------  |:-----------------------------------------------------

        | `CARRIER_STATUS_NOT_MAPPED` | Status not mapped. Please check the carrier''s website for updates.

        | `SHIPMENT_CREATED` | Your tracking number is ready. Your parcel is waiting to be registered in the carrier system and scheduled for pickup.

        | `AWAITING_PICKUP_DROP_OFF` | Your parcel is waiting to be handed over to the carrier.

        | `DROPPED_OFF` | Your parcel has been dropped off and is ready for carrier processing.

        | `ELEC_ADVICE_RECD_BY_CARRIER` | Your shipment is now in the carrier''s system.

        | `PICKED_UP` | Your parcel has been picked up by the carrier.

        | `CUSTOMS_CLEARED` | Your parcel has cleared customs and is continuing its journey.

        | `CUSTOMS_PROCESSING` | Your parcel is currently being processed by customs.

        | `DELIVERY_ARRANGED_WITH_RECIPIENT` | Your parcel''s delivery has been arranged with the carrier.

        | `HUB_SCAN_OUT` | Your parcel has left the carrier''s hub.

        | `HUB_SCAN_IN` | Your parcel has arrived at the carrier''s hub for processing.

        | `IN_TRANSIT` | Your shipment is on its way between the carrier hubs.

        | `INFORMATION` | The carrier has shared additional information about your parcel.

        | `PARCEL_OVER_LABELLED` | Your parcel''s label has been updated by the carrier, which may affect tracking visibility.

        | `PARCEL_UPDATE_NOTIFICATION` | The carrier has sent you an update on your parcel status via SMS or email.

        | `RECEIVED_BY_CARRIER` | Your parcel has been received by the carrier and is beginning its journey.

        | `RECEIVED_LOCAL_DELIVERY_DEPOT` | Your parcel has arrived at the local delivery depot and is almost ready for delivery.

        | `SUB_CONTRACTOR_EVENT` | The carrier has shared additional information about your parcel''s handling by a delivery partner.

        | `SUB_CONTRACTOR_RECEIVED` | Your parcel has been received by the carrier''s local delivery partner.

        | `PARCEL_REDIRECTED` | Your parcel has been redirected to a new delivery address per your request.

        | `DELIVERY_SCHEDULED` | Your parcel''s delivery has been scheduled and will soon be out for delivery.

        | `HUB_PROCESSING` | Your parcel is being processed at a carrier hub.

        | `DELIVERY_RESCHEDULED` | Your parcel''s delivery has been rescheduled due to operational issues.

        | `ATTEMPTED_DELIVERY` | The carrier attempted to deliver your parcel but was unable to complete delivery.

        | `ATTEMPTED_DELIVERY_FINAL` | The carrier made a final attempt to deliver your parcel but was unable to complete delivery. Please check the carrier''s instructions for next steps.

        | `COD_AMOUNT_PAID` | Cash on delivery payment received.

        | `CUSTOMER_CARDED` | Delivery attempt failed. Please follow delivery instructions left by the carrier.

        | `OUT_FOR_DELIVERY` | Your parcel is on its way and will be delivered today.

        | `AWAITING_COLLECTION_FROM_PICKUP_POINT` | Your parcel is ready for collection at the selected pickup point.

        | `COLLECT_AT_LOCAL_PO` | Your parcel is ready for collection at your local post office.

        | `CUSTOMER_TO_COLLECT_FROM_CARRIER` | Your parcel is available for collection from the carrier''s local delivery unit.

        | `DELIVERED_TO_RECEPTION` | Your parcel has been delivered to your building''s reception or designated mail area.

        | `DELIVERED` | Your parcel has been successfully delivered.

        | `DELIVERED_DAMAGED` | Your parcel was delivered but arrived with visible damage.

        | `DELIVERED_IN_PART` | Part of your shipment has been delivered. Check for updates on the rest.

        | `DELIVERED_SPECIFIED_SAFE_PLACE` | Your parcel has been delivered to your specified safe place.

        | `DELIVERED_TO_ALTERNATIVE_DELIVERY_LOCATION` | Your parcel was delivered to an alternative location due to the delivery company being unable to deliver it to the specified address. Check carrier instructions for pickup details.

        | `DELIVERED_TO_NEIGHBOUR` | Your parcel was delivered to your neighbor.

        | `DELIVERED_TO_PO_BOX` | Your parcel has been delivered to your specified PO Box.

        | `PARCEL_COLLECTED_FROM_PICKUP_POINT` | Your package has been picked up from the pick up point.

        | `POST_TRANSIT_STATUS` | The carrier has added more information about your delivery.

        | `PROOF_OF_DELIVERY` | The carrier has confirmed delivery with proof, such as a signature or photo.

        | `PICKUP_FAILED` | Parcel pickup failed. The delivery company will try again soon.

        | `NOT_YET_RECEIVED_BY_CARRIER` | The carrier has not yet received your parcel, which may cause a delay.

        | `PARCEL_DAMAGED` | Your parcel was damaged in transit but will still be delivered.

        | `ADDRESS_QUERY` | There is an issue with the delivery address, which may delay your parcel.

        | `CARRIER_DELAYS` | Your parcel is delayed due to issues within the carrier network.

        | `DELAYED_NOT_CARRIER` | Your parcel is delayed due to circumstances beyond the carrier''s control.

        | `HELD_BY_CARRIER` | Your parcel is being held due to an operational issue. Contact with the carrier for more information.

        | `HELD_BY_CARRIER_FOR_CLEARANCE_PRE_PROCESSING` | Your parcel is being held by the carrier for customs documentation checks. This may occur when the carrier must confirm documentation before the parcel can continue its journey.

        | `HELD_BY_CUSTOMS` | Your parcel is being held at customs, which may delay delivery.

        | `INCORRECT_DECLARATION` | Your parcel has been incorrectly declared but is still moving forward for delivery.

        | `MISROUTED` | Your parcel was sent to the wrong place due to a routing error but is being redirected.

        | `PARCEL_REPACKED` | Your parcel was repackaged by the carrier due to damage and will still be delivered.

        | `RECD_BY_CARRIER_NO_ELEC_ADVICE` | Your parcel has been received by the carrier but may experience delays due to missing pre-advice.

        | `COD_AMOUNT_NOT_PAID` | Delivery failed due to unpaid cash on delivery. Please follow carrier instructions.

        | `CUSTOMER_IDENTIFICATION_FAILED` | Delivery couldn''t be completed as identification requirements were not met.

        | `NO_ACCESS_TO_RECIPIENTS_ADDRESS` | The carrier couldn''t access the delivery location due to restricted entry.

        | `CANCELLED` | Your parcel has been cancelled.

        | `CUSTOMER_MOVED` | Delivery failed as the recipient is no longer at the specified address. Your parcel is being returned.

        | `HAZARDOUS_PROHIBITED` | Your parcel contains restricted items and will not be delivered.

        | `NOT_COLLECTED_FROM_PICKUP_POINT` | Your parcel was not collected from the pickup point within the designated time and will be returned.

        | `NOT_DELIVERED` | All delivery attempts failed. Your parcel is being returned to the sender.

        | `NOT_DELIVERED_ADDRESSEE_DECEASED` | The parcel could not be delivered as the addressee is reported deceased.

        | `PARCEL_DISPOSED` | Your parcel has been disposed of due to its contents or condition and will not be delivered.

        | `PARCEL_LOST` | The carrier has reported that your parcel is lost and will not be delivered.

        | `PARCEL_OUTSIDE_OF_SERVICE_CAPABILITY` | The parcel cannot be delivered as it exceeds the carrier''s service limits.

        | `REFUSED_BY_CUSTOMER` | You have refused the parcel, and it will be returned to the sender.

        | `RETURN_TO_SENDER` | Your parcel is being returned to the sender due to delivery issues.

        | `UNSPECIFIED_EXCEPTION` | The carrier has reported an issue with your parcel, but details are unavailable.

        | `TRACKING_EXPIRED` | Tracking for this parcel has expired. If you are still expecting this delivery, please contact the carrier for assistance.

        | `DUTY_NOT_PAID` | The import taxes or duties for this package havent been paid and it may be subject to disposal by customs authorities if payment is not made.

        | `PARCEL_REDIRECTED_BY_CARRIER` | The carrier has redirected your parcel due to an operational issue. The package is likely being rerouted to a nearby pickup point. You may contact the carrier for more details about the new delivery location.

        | `DELIVERED_TO_PICKUP_POINT` | Your package has been delivered to the pickup point. You will be notified when its ready for collection.

        | `UNDELIVERABLE_RETURNED_TO_SENDER` | The shipment has been returned to the sender. Please contact the sender for further information.

        '
    tracking_number:
      title: tracking_number
      type: string
      minLength: 1
      example: 1Z932R800392060079
      description: A tracking number for a package. The format depends on the carrier.
    se_id:
      title: se_id
      type: string
      minLength: 1
      maxLength: 25
      pattern: ^se(-[a-z0-9]+)+$
      example: se-28529731
      description: A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
    error_source:
      title: error_source
      type: string
      example: shipengine
      enum:
      - carrier
      - order_source
      - shipengine
      description: 'The source of the error, as indicated by the name this informs us if the API call failed because of the

        carrier, the order source, or the ShipEngine API itself.

        '
    tracking_information:
      title: tracking_information
      type: object
      description: A tracking information resource
      additionalProperties: false
      properties:
        tracking_number:
          $ref: '#/components/schemas/tracking_number'
        tracking_url:
          type: string
          readOnly: true
          example: https://www.fedex.com/fedextrack/?action=track&trackingnumber=1234
          description: Carrier Tracking Url, if available
        status_code:
          allOf:
          - $ref: '#/components/schemas/status_code'
          example: DE
        status_detail_code:
          allOf:
          - $ref: '#/components/schemas/status_detail_code'
          example: DELIVERED
        carrier_code:
          $ref: '#/components/schemas/carrier_code'
        carrier_id:
          readOnly: true
          type: integer
          format: int32
          description: 'The unique ID of the carrier account that was used to create this label

            '
        status_description:
          type: string
          readOnly: true
          example: Delivered
          minLength: 0
          description: Status description
        status_detail_description:
          type: string
          readOnly: true
          example: Your parcel has been successfully delivered.
          minLength: 0
          description: Status detail description
        carrier_status_code:
          type: string
          readOnly: true
          minLength: 1
          example: '1'
          description: Carrier status code
        carrier_detail_code:
          type: string
          readOnly: true
          minLength: 1
          example: OT
          description: Carrier detail code
        carrier_status_description:
          type: string
          minLength: 0
          readOnly: true
          example: Your item was delivered in or at the mailbox at 9:10 am on March
          description: carrier status description
        ship_date:
          $ref: '#/components/schemas/date_time'
        estimated_delivery_date:
          $ref: '#/components/schemas/date_time'
        actual_delivery_date:
          $ref: '#/components/schemas/date_time'
        exception_description:
          type: string
          readOnly: true
          minLength: 0
          description: Exception description
        events:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/track_event'
          description: The events that have occured during the lifetime of this tracking number.
    error_code:
      title: error_code
      type: string
      example: invalid_field_value
      enum:
      - auto_fund_not_supported
      - batch_cannot_be_modified
      - bring_your_own_label_not_supported
      - carrier_conflict
      - carrier_disconnected
      - carrier_not_connected
      - carrier_not_supported
      - confirmation_not_supported
      - default_warehouse_cannot_be_deleted
      - field_conflict
      - field_value_required
      - forbidden
      - identifier_conflict
      - identifiers_must_match
      - insufficient_funds
      - invalid_address
      - invalid_billing_plan
      - invalid_field_value
      - invalid_identifier
      - invalid_status
      - invalid_string_length
      - label_images_not_supported
      - meter_failure
      - multiple_sales_orders
      - order_source_not_active
      - rate_limit_exceeded
      - refresh_not_supported
      - request_body_required
      - return_label_not_supported
      - sales_order_link_required
      - settings_not_supported
      - subscription_inactive
      - terms_not_accepted
      - tracking_not_supported
      - trial_expired
      - unauthorized
      - unknown
      - unspecified
      - verification_failure
      - warehouse_conflict
      - webhook_event_type_conflict
      - customs_items_required
      - incompatible_paired_labels
      - invalid_charge_event
      - invalid_object
      - no_rates_returned
      - file_not_found
      - shipping_rule_not_found
      - service_not_determined
      - funding_source_registration_in_progress
      - insurance_failure
      - funding_source_missing_configuration
      - funding_source_error
      - freight_connection_inactive
      - freight_provider_id_required
      - freight_provider_already_connected
      - freight_shipment_not_found
      - freight_tracking_not_available
      - freight_tracking_not_found
      - freight_shipment_not_batchable
      description: The error code specified for the failed API Call
    carrier_code:
      title: carrier_code
      type: string
      pattern: ^[a-z0-9]+(_[a-z0-9]+)*$
      example: dhl_express
      description: 'A shipping carrier, such as `fedex`, `dhl_express`, `stamps_com`, etc.

        '
    uuid:
      title: uuid
      type: string
      format: uuid
      minLength: 36
      maxLength: 36
      pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
      example: aa3d8e8e-462b-4476-9618-72db7f7b7009
      description: A UUID (a.k.a. GUID) that uniquely identifies a resource
    error:
      title: error
      type: object
      description: 'The error structure that gets returned with almost all failed API calls

        '
      required:
      - error_source
      - error_type
      - error_code
      - message
      additionalProperties: false
      properties:
        error_source:
          $ref: '#/components/schemas/error_source'
        error_type:
          $ref: '#/components/schemas/error_type'
        error_code:
          $ref: '#/components/schemas/error_code'
        message:
          type: string
          readOnly: true
          example: Body of request cannot be null.
          minLength: 1
          description: An error message associated with the failed API call
        carrier_id:
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/se_id'
          description: A string that uniquely identifies the carrier that generated the error.
        carrier_code:
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/carrier_code'
          description: 'The name of the shipping carrier that generated the error, such as `fedex`, `dhl_express`, `stamps_com`, etc.

            '
        field_name:
          type: string
          readOnly: true
          example: shipment.ship_to.phone_number
          description: The name of the field that caused the error
    country_code:
      title: country_code
      type: string
      minLength: 2
      maxLength: 2
      example: CA
      description: 'A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)

        '
    status_code:
      readOnly: true
      title: status_code
      enum:
      - UN
      - AC
      - IT
      - DE
      - EX
      - AT
      - NY
      - SP
      example: DE
      type: string
      description: 'The tracking status codes


        |Value       |Description

        |:---------  |:-----------------------------------------------------

        |`UN` | Unknown

        |`AC` | Accepted

        |`IT` | In Transit

        |`DE` | Delivered

        |`EX` | Exception

        |`AT` | Delivery Attempt

        |`NY` | Not Yet In System

        |`SP` | Delivered To Collection Location

        '
    date_time:
      title: date_time
      type: string
      format: date-time
      pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[-+]\d{2}:\d{2})$
      example: '2018-09-23T15:00:00.000Z'
      description: 'An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string that represents a date and time.

        '
    track_event:
      title: track_event
      type: object
      description: A track event
      required:
      - occurred_at
      - city_locality
      - state_province
      - postal_code
      - carrier_detail_code
      - status_code
      - status_description
      - carrier_status_code
      - carrier_status_description
      additionalProperties: false
      properties:
        occurred_at:
          allOf:
          - $ref: '#/components/schemas/date_time'
          description: Timestamp for carrier event
        carrier_occurred_at:
          allOf:
          - $ref: '#/components/schemas/date_time'
          description: Carrier timestamp for the event, it is assumed to be the local time of where the event occurred.
        description:
          type: string
          readOnly: true
          minLength: 0
          example: Delivered, In/At Mailbox
          description: Event description
        city_locality:
          type: string
          readOnly: true
          example: AUSTIN
          minLength: 0
          description: City locality
        state_province:
          type: string
          readOnly: true
          example: TX
          minLength: 2
          description: State province
        postal_code:
          type: string
          readOnly: true
          example: '78756'
          minLength: 0
          description: Postal code
        country_code:
          $ref: '#/components/schemas/country_code'
        company_name:
          type: string
          readOnly: true
          example: Stamps.com
          minLength: 0
          description: Company Name
        signer:
          type: string
          minLength: 0
          readOnly: true
          description: Signer information
        event_code:
          type: string
          minLength: 0
          description: Event Code
        carrier_detail_code:
          type: string
          readOnly: true
          minLength: 1
          example: OT
          description: Carrier detail code
        status_code:
          allOf:
          - $ref: '#/components/schemas/status_code'
          example: IT
        status_detail_code:
          allOf:
          - $ref: '#/components/schemas/status_detail_code'
          example: IN_TRANSIT
        status_description:
          type: string
          readOnly: true
          minLength: 1
          example: In Transit
          description: Event Status Description
        status_detail_description:
          type: string
          readOnly: true
          minLength: 0
          example: Your shipment is on its way between the carrier hubs.
          description: Event Status Detail Description
        carrier_status_code:
          type: string
          readOnly: true
          minLength: 1
          example: '1'
          description: Carrier status code
        carrier_status_description:
          type: string
          minLength: 0
          readOnly: true
          example: Your item was delivered in or at the mailbox at 9:10 am on March
          description: carrier status description
        latitude:
          type: number
          format: double
          minimum: -90
          maximum: 90
          description: Latitude coordinate of tracking event.
        longitude:
          type: number
          format: double
          minimum: -180
          maximum: 180
          description: Longitude coordinate of tracking event.
        proof_of_delivery_url:
          type: string
          readOnly: true
          example: https://tracking-service-prod.s3.amazonaws.com/proof-of-delivery/dummy_module/0000000001/bc6dd17969bd97f24262ca73ac6ff36062aafecba25ef16d4178264bf7c0e72c.png
          description: A URL to an image captured at the time of delivery, serving as evidence that the shipment was successfully delivered to the recipient. It can be used to capture things like recipient's signature, location of delivery, condition of the package upon delivery, etc.
    get_tracking_log_response_body:
      title: get_tracking_log_response_body
      description: A get tracking log response body
      required:
      - tracking_number
      - tracking_url
      - status_code
      - carrier_code
      - carrier_id
      - carrier_detail_code
      - carrier_status_code
      - events
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/tracking_information'
    empty_response_body:
      title: empty_response_body
      type: string
      minLength: 0
      maxLength: 0
    error_type:
      title: error_type
      type: string
      example: validation
      enum:
      - account_status
      - business_rules
      - validation
      - security
      - system
      - integrations
      - funding_sources
      description: 'The type of error

        '
  responses:
    404_error_response:
      description: The specified resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error_response_body'
    400_error_response:
      description: The request contained errors.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error_response_body'
    500_error_response:
      description: 'An error occurred on ShipStation API''s side.


        > This error will automatically be reported to our engineers.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error_response_body'
  securitySchemes:
    api_key:
      type: apiKey
      name: API-Key
      in: header
      description: 'To authenticate yourself to ShipEngine, you need to include an `API-Key` header in each API call. If you don''t include a key when making an API request, or if you use an incorrect or expired key, then ShipEngine will respond with a `401 Unauthorized` error.

        Learn more about API keys in our [authentication guide](https://docs.shipstation.com/apis/shipengine/docs/guides/auth).

        '
x-refined-from:
- shipengine-openapi-docs-bundle.yaml


# --- truncated at 32 KB (32 KB total) ---
# Full source: https://artifacts.apis.io/shipengine/openapi/shipengine-tracking-api-openapi.yml