Skydropx Tracking API

Track shipments and report tracking events.

OpenAPI Specification

skydropx-tracking-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Skydropx Pro Address Templates Tracking API
  description: 'The Skydropx Pro API is a REST interface for the Skydropx multi-carrier shipping and logistics platform (Mexico and Latin America). It lets you request multi-carrier rate quotations, create shipments and purchase labels, schedule carrier pickups, manage saved address templates, track parcels, and read the prepaid account credit balance. All requests are authenticated with an OAuth2 client-credentials Bearer token obtained from POST /oauth/token using your client_id and client_secret. Tokens are valid for about two hours and requests are rate limited to roughly two per second.


    Grounding note: base URLs, the OAuth2 client-credentials flow, the token endpoint, the rate limit, and the resource paths below are grounded in Skydropx''s public API documentation (docs.skydropx.com and pro.skydropx.com/es-MX/api-docs). Request and response SCHEMAS are MODELED from documented fields and common shipping-API conventions and should be reconciled against the live reference before production use. A separate classic Skydropx API (https://api.skydropx.com/v1, authenticated with an `Authorization: Token token=API_KEY` header) and a Radar tracking API (https://radar-api.skydropx.com/v1) also exist and are not modeled here.'
  version: '1.0'
  contact:
    name: Skydropx
    url: https://www.skydropx.com/
servers:
- url: https://pro.skydropx.com/api/v1
  description: Skydropx Pro production
- url: https://sb-pro.skydropx.com/api/v1
  description: Skydropx Pro sandbox
security:
- oauth2ClientCredentials: []
tags:
- name: Tracking
  description: Track shipments and report tracking events.
paths:
  /shipments/tracking/{tracking_number}:
    parameters:
    - name: tracking_number
      in: path
      required: true
      description: The carrier tracking number.
      schema:
        type: string
    get:
      operationId: trackShipment
      tags:
      - Tracking
      summary: Track a shipment
      description: Retrieves the current tracking status and event history for a tracking number.
      responses:
        '200':
          description: Tracking status and events.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tracking'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /shipments/tracking:
    post:
      operationId: reportTrackingEvent
      tags:
      - Tracking
      summary: Report a tracking event
      description: Reports a tracking event for a fleet or externally fulfilled shipment.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '201':
          description: The recorded tracking event.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
components:
  schemas:
    Tracking:
      type: object
      properties:
        tracking_number:
          type: string
        status:
          type: string
          description: Current status, e.g. created, picked_up, in_transit, delivered, exception.
        events:
          type: array
          items:
            type: object
            properties:
              status:
                type: string
              description:
                type: string
              occurred_at:
                type: string
                format: date-time
            additionalProperties: true
      additionalProperties: true
    Error:
      type: object
      properties:
        message:
          type: string
        errors:
          type: object
          additionalProperties: true
  responses:
    ValidationError:
      description: The request payload failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid access token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2ClientCredentials:
      type: oauth2
      description: 'OAuth2 client-credentials flow. Exchange client_id and client_secret at POST /oauth/token for a Bearer access token, sent as `Authorization: Bearer ACCESS_TOKEN`. Tokens last about two hours.'
      flows:
        clientCredentials:
          tokenUrl: https://pro.skydropx.com/api/v1/oauth/token
          scopes: {}