e2open Tracking API

Container and shipment tracking

OpenAPI Specification

e2open-tracking-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: INTTRA Ocean Execution API (e2open) Bookings Tracking API
  description: INTTRA (now part of e2open) provides ocean execution APIs for the world's largest multi-carrier e-commerce platform for global shipping. The RESTful API uses HTTPS with JSON for booking, ocean schedules, rates, and visibility/track and trace products. Authentication requires a bearer token obtained from the identity service before making API requests.
  version: 1.0.0
  contact:
    name: INTTRA / e2open Support
    url: https://knowledge.e2open.com/knowledgecenter/inttra-resources/
  license:
    name: e2open Terms
    url: https://www.inttra.com/legal/
servers:
- url: https://api.inttra.com/v1
  description: INTTRA Ocean Execution API Production
security:
- bearerAuth: []
tags:
- name: Tracking
  description: Container and shipment tracking
paths:
  /tracking/{containerNumber}:
    get:
      operationId: trackContainer
      summary: Track a container by number
      description: Returns current location, status, and event history for a specific container. Provides real-time tracking from all INTTRA carrier partners.
      tags:
      - Tracking
      parameters:
      - name: containerNumber
        in: path
        required: true
        description: ISO 6346 container number (e.g., MSCU1234567)
        schema:
          type: string
          pattern: ^[A-Z]{4}[0-9]{7}$
      responses:
        '200':
          description: Container tracking information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerTracking'
        '404':
          $ref: '#/components/responses/NotFound'
  /tracking/booking/{bookingId}:
    get:
      operationId: trackBooking
      summary: Track shipment by booking reference
      description: Returns tracking events for all containers in a booking.
      tags:
      - Tracking
      parameters:
      - name: bookingId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Booking tracking information
          content:
            application/json:
              schema:
                type: object
                properties:
                  bookingId:
                    type: string
                  containers:
                    type: array
                    items:
                      $ref: '#/components/schemas/ContainerTracking'
components:
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Vessel:
      type: object
      properties:
        vesselName:
          type: string
        imoNumber:
          type: string
          pattern: ^[0-9]{7}$
        callSign:
          type: string
    ContainerTracking:
      type: object
      properties:
        containerNumber:
          type: string
        containerType:
          type: string
        status:
          type: string
          enum:
          - EMPTY
          - GATE_IN
          - LOADED
          - DEPARTED
          - IN_TRANSIT
          - ARRIVED
          - GATE_OUT
          - RETURNED
        currentLocation:
          $ref: '#/components/schemas/Location'
        vessel:
          $ref: '#/components/schemas/Vessel'
        events:
          type: array
          items:
            $ref: '#/components/schemas/TrackingEvent'
    Location:
      type: object
      properties:
        portCode:
          type: string
          description: UN/LOCODE
        portName:
          type: string
        country:
          type: string
    TrackingEvent:
      type: object
      properties:
        eventType:
          type: string
          enum:
          - GATE_IN
          - LOADED
          - DEPARTED
          - IN_TRANSIT
          - ARRIVED
          - GATE_OUT
          - EMPTY_RETURN
          - TRANSSHIPMENT
        eventDescription:
          type: string
        location:
          $ref: '#/components/schemas/Location'
        eventDateTime:
          type: string
          format: date-time
        isActual:
          type: boolean
          description: true if actual event, false if estimated
        vessel:
          $ref: '#/components/schemas/Vessel'
        voyage:
          type: string
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token obtained from the INTTRA identity service