Oracle Transportation Management ShipmentOrders API

Shipment order management

OpenAPI Specification

oracle-transportation-management-shipmentorders-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Oracle Transportation Management Business Object Resources REST Carriers ShipmentOrders API
  description: Oracle Transportation Management (OTM) Business Object Resources REST API provides programmatic access to shipment orders, carriers, lanes, rates, transportation plans, and logistics data in Oracle Fusion Cloud Transportation and Global Trade Management.
  version: 26b.0.0
  contact:
    name: Oracle Support
    url: https://support.oracle.com
  license:
    name: Oracle Technology Network License
    url: https://www.oracle.com/legal/terms/
servers:
- url: https://{host}/GC3/glog.integration.servlet.WMServlet/otm/rest/v1
  description: OTM REST API endpoint
  variables:
    host:
      default: otm.example.com
security:
- oauth2: []
tags:
- name: ShipmentOrders
  description: Shipment order management
paths:
  /shipment-orders:
    get:
      operationId: listShipmentOrders
      summary: List shipment orders
      description: Returns shipment orders (orders to move) with status, routing, and carrier assignments.
      tags:
      - ShipmentOrders
      parameters:
      - name: status
        in: query
        description: Filter by order status
        schema:
          type: string
          enum:
          - I
          - OB
          - PL
          - DP
          - IT
          - DL
          - CL
      - name: startDate
        in: query
        description: Early pickup date filter (ISO 8601)
        schema:
          type: string
          format: date-time
      - name: endDate
        in: query
        schema:
          type: string
          format: date-time
      - name: sourceLocationGid
        in: query
        description: Filter by origin location GID
        schema:
          type: string
      - name: destLocationGid
        in: query
        description: Filter by destination location GID
        schema:
          type: string
      - name: offset
        in: query
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        schema:
          type: integer
          default: 100
          maximum: 1000
      responses:
        '200':
          description: Shipment order list
          content:
            application/json:
              schema:
                type: object
                properties:
                  shipmentOrders:
                    type: array
                    items:
                      $ref: '#/components/schemas/ShipmentOrder'
                  totalCount:
                    type: integer
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createShipmentOrder
      summary: Create a shipment order
      description: Creates a new shipment order (order to move) in OTM.
      tags:
      - ShipmentOrders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShipmentOrderCreate'
      responses:
        '201':
          description: Shipment order created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShipmentOrder'
        '400':
          $ref: '#/components/responses/BadRequest'
  /shipment-orders/{gid}:
    get:
      operationId: getShipmentOrder
      summary: Get a shipment order
      description: Returns full shipment order details including lines, references, and routing.
      tags:
      - ShipmentOrders
      parameters:
      - $ref: '#/components/parameters/GidParam'
      responses:
        '200':
          description: Shipment order details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShipmentOrderDetail'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateShipmentOrder
      summary: Update a shipment order
      description: Updates mutable fields on a shipment order.
      tags:
      - ShipmentOrders
      parameters:
      - $ref: '#/components/parameters/GidParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShipmentOrderUpdate'
      responses:
        '200':
          description: Order updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShipmentOrder'
    delete:
      operationId: deleteShipmentOrder
      summary: Delete a shipment order
      description: Deletes a shipment order in Draft status.
      tags:
      - ShipmentOrders
      parameters:
      - $ref: '#/components/parameters/GidParam'
      responses:
        '204':
          description: Deleted
components:
  schemas:
    ShipmentOrderLine:
      type: object
      properties:
        lineNumber:
          type: integer
        itemGid:
          type: string
        itemDescription:
          type: string
        quantity:
          type: number
          format: double
        quantityUom:
          type: string
        weight:
          type: number
          format: double
        weightUom:
          type: string
        volume:
          type: number
          format: double
        volumeUom:
          type: string
        packageType:
          type: string
    ShipmentOrderCreate:
      type: object
      required:
      - shipmentOrderXid
      - sourceLocationGid
      - destLocationGid
      - earlyPickupDate
      - lateDeliveryDate
      properties:
        shipmentOrderXid:
          type: string
        sourceLocationGid:
          type: string
        destLocationGid:
          type: string
        earlyPickupDate:
          type: string
          format: date-time
        latePickupDate:
          type: string
          format: date-time
        earlyDeliveryDate:
          type: string
          format: date-time
        lateDeliveryDate:
          type: string
          format: date-time
        transportationMode:
          type: string
          enum:
          - LTL
          - TL
          - OCEAN
          - AIR
          - RAIL
          - PARCEL
          - INTERMODAL
        lines:
          type: array
          items:
            $ref: '#/components/schemas/ShipmentOrderLineCreate'
    ShipmentOrder:
      type: object
      description: An OTM shipment order (order to move)
      properties:
        shipmentOrderGid:
          type: string
          description: Global identifier (domain.xid format)
        shipmentOrderXid:
          type: string
          description: User-defined order ID
        status:
          type: string
          enum:
          - I
          - OB
          - PL
          - DP
          - IT
          - DL
          - CL
          description: I=Initial, OB=Open-Booked, PL=Planned, DP=Dispatched, IT=InTransit, DL=Delivered, CL=Closed
        sourceLocationGid:
          type: string
          description: Origin location GID
        destLocationGid:
          type: string
          description: Destination location GID
        earlyPickupDate:
          type: string
          format: date-time
        latePickupDate:
          type: string
          format: date-time
        earlyDeliveryDate:
          type: string
          format: date-time
        lateDeliveryDate:
          type: string
          format: date-time
        transportationMode:
          type: string
          enum:
          - LTL
          - TL
          - OCEAN
          - AIR
          - RAIL
          - PARCEL
          - INTERMODAL
        totalWeight:
          type: number
          format: double
        totalWeightUom:
          type: string
          enum:
          - LB
          - KG
          - T
          - MT
        totalVolume:
          type: number
          format: double
        totalVolumeUom:
          type: string
        insertDate:
          type: string
          format: date-time
        lastUpdateDate:
          type: string
          format: date-time
    ShipmentOrderDetail:
      allOf:
      - $ref: '#/components/schemas/ShipmentOrder'
      - type: object
        properties:
          lines:
            type: array
            items:
              $ref: '#/components/schemas/ShipmentOrderLine'
          references:
            type: array
            items:
              type: object
              properties:
                refType:
                  type: string
                refValue:
                  type: string
    ShipmentOrderLineCreate:
      type: object
      required:
      - lineNumber
      - quantity
      - quantityUom
      properties:
        lineNumber:
          type: integer
        itemGid:
          type: string
        itemDescription:
          type: string
        quantity:
          type: number
          format: double
        quantityUom:
          type: string
        weight:
          type: number
          format: double
        weightUom:
          type: string
    Error:
      type: object
      properties:
        errorCode:
          type: string
        errorMessage:
          type: string
    ShipmentOrderUpdate:
      type: object
      properties:
        earlyPickupDate:
          type: string
          format: date-time
        latePickupDate:
          type: string
          format: date-time
        earlyDeliveryDate:
          type: string
          format: date-time
        lateDeliveryDate:
          type: string
          format: date-time
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    GidParam:
      name: gid
      in: path
      required: true
      description: OTM Global Identifier (domainName.xid format)
      schema:
        type: string
        pattern: ^[A-Z0-9_]+\.[A-Z0-9_-]+$
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://login.oracle.com/oauth2/v1/token
          scopes:
            otm.read: Read OTM data
            otm.write: Write OTM data