Norfolk Southern Shipment Status API

Pinpoint the current location and ETA for shipments and access details such as commodity, origin, and destination to proactively plan and staff delivery.

OpenAPI Specification

norfolk-southern-shipment-status-api.yml Raw ↑
openapi: 3.1.0
info:
  title: Norfolk Southern Shipment Status API
  description: >-
    The Norfolk Southern Shipment Status API provides real-time visibility into
    rail shipment status, including current location, ETA, commodity details,
    origin, and destination. Part of the Norfolk Southern API Resource Platform
    (ApiHub).
  version: 1.0.0
  contact:
    name: Norfolk Southern CS Help Desk
    email: [email protected]
    url: https://developer.nscorp.com/
  license:
    name: Proprietary
    url: https://www.norfolksouthern.com/
servers:
  - url: https://api.nscorp.com
    description: Production
paths:
  /shipments/status:
    get:
      operationId: getShipmentStatus
      summary: Get Shipment Status
      description: >-
        Retrieve the current status of a rail shipment including location, ETA,
        commodity, origin, and destination details.
      tags:
        - Shipment Status
      parameters:
        - name: shipmentId
          in: query
          required: true
          description: The unique identifier for the shipment.
          schema:
            type: string
      responses:
        '200':
          description: Shipment status returned successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  shipmentId:
                    type: string
                  status:
                    type: string
                  currentLocation:
                    type: string
                  eta:
                    type: string
                    format: date-time
                  origin:
                    type: string
                  destination:
                    type: string
                  commodity:
                    type: string
        '401':
          description: Unauthorized.
        '404':
          description: Shipment not found.
  /shipments/tripplan:
    get:
      operationId: getTripPlan
      summary: Get Trip Plan
      description: >-
        Track a shipment's progress on its planned route with current ETA,
        future movements, and completed movements.
      tags:
        - Trip Plan
      parameters:
        - name: shipmentId
          in: query
          required: true
          description: The unique identifier for the shipment.
          schema:
            type: string
      responses:
        '200':
          description: Trip plan returned successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  shipmentId:
                    type: string
                  eta:
                    type: string
                    format: date-time
                  completedMovements:
                    type: array
                    items:
                      type: object
                      properties:
                        location:
                          type: string
                        timestamp:
                          type: string
                          format: date-time
                        event:
                          type: string
                  futureMovements:
                    type: array
                    items:
                      type: object
                      properties:
                        location:
                          type: string
                        estimatedTime:
                          type: string
                          format: date-time
                        event:
                          type: string
        '401':
          description: Unauthorized.
        '404':
          description: Shipment not found.
  /gatereceipts:
    get:
      operationId: getGateReceipts
      summary: Get Gate Receipts
      description: >-
        Access gate receipt data, terminal and driver information, and pickup
        numbers for equipment.
      tags:
        - Gate Receipts
      parameters:
        - name: terminalId
          in: query
          required: false
          description: The terminal identifier.
          schema:
            type: string
        - name: equipmentId
          in: query
          required: false
          description: The equipment identifier.
          schema:
            type: string
      responses:
        '200':
          description: Gate receipts returned successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  gateReceipts:
                    type: array
                    items:
                      type: object
                      properties:
                        receiptId:
                          type: string
                        terminal:
                          type: string
                        driverInfo:
                          type: object
                          properties:
                            name:
                              type: string
                            id:
                              type: string
                        pickupNumber:
                          type: string
                        equipmentId:
                          type: string
                        timestamp:
                          type: string
                          format: date-time
        '401':
          description: Unauthorized.
tags:
  - name: Shipment Status
    description: Real-time shipment location and status tracking.
  - name: Trip Plan
    description: Shipment route progress and ETA tracking.
  - name: Gate Receipts
    description: Terminal gate receipt data and equipment information.