Cedarai WorkOrderService API

The WorkOrderService API from Cedarai — 10 operation(s) for workorderservice.

Operations 10

POST /t/v1/list-train-reason-codes List Train Reason Codes #
POST /t/v1/resequence-train Resequence a train #
POST /t/v1/setout-cars Setout Cars #
POST /t/v1/pickup-cars Pickup cars #
POST /t/v1/list-work-orders List Work Orders #
POST /t/v1/depart-train Depart train #
POST /t/v1/update-work-order Update a Work Order #
POST /t/v1/list-work-order-tasks List Work Order Tasks #
POST /t/v1/arrive-train Arrive train #
POST /t/v1/record-train-event Record Train Event #

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/cedarai-workorderservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

cedarai-workorderservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: protobuf/arms/work_order.proto Work Order Service API
  version: version not set
servers:
- description: Production (US)
  url: https://api-lg-k-h1.arms.cedarai.com
- description: Production (EU)
  url: https://api-lg-k-h1.arms.cedarai.se
security:
- ApiKeyAuth: []
  AssumeUserAuth: []
tags:
- name: WorkOrderService
paths:
  /t/v1/list-train-reason-codes:
    post:
      tags:
      - WorkOrderService
      summary: List Train Reason Codes
      description: Returns the carrier's train reason codes grouped by category.
      operationId: ListTrainReasonCodes
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsListTrainReasonCodesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/armsListTrainReasonCodesResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/resequence-train:
    post:
      tags:
      - WorkOrderService
      summary: Resequence a train
      description: Used for resequence of active trains. For editing the consist of Pending trains, use UpdateWorkOrder.
      operationId: ReSequenceTrain
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsReSequenceTrainRequest'
        description: Request message for resequencing a train's consist order. Used when the actual train consist order differs from the planned order, such as after an EDI scanner detects changes.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/setout-cars:
    post:
      tags:
      - WorkOrderService
      summary: Setout Cars
      description: Setout cars. On success, completes the Setout tasks.
      operationId: SetoutCars
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsSetoutCarsRequest'
        description: Request message for completing setout tasks.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/pickup-cars:
    post:
      tags:
      - WorkOrderService
      summary: Pickup cars
      description: Pickup cars. On success, completes the Pickup tasks.
      operationId: PickupCars
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsPickupCarsRequest'
        description: Request message for completing Pickup tasks.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/list-work-orders:
    post:
      tags:
      - WorkOrderService
      summary: List Work Orders
      description: Returns list of Work Orders
      operationId: ListWorkOrders
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsListWorkOrdersRequest'
        description: Request message for listing work orders with optional filtering and pagination. Used to search and retrieve work orders based on various criteria such as status, equipment, locations, and dates.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/armsListWorkOrdersResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/depart-train:
    post:
      tags:
      - WorkOrderService
      summary: Depart train
      description: Depart a train from a station.
      operationId: DepartTrain
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsDepartTrainRequest'
        description: Request message for recording a train departure from a station or location. Used when a train leaves to begin its journey or move to the next location.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/update-work-order:
    post:
      tags:
      - WorkOrderService
      summary: Update a Work Order
      description: Update a Work Order. Used for editing consist of a pending train.
      operationId: UpdateWorkOrder
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsUpdateWorkOrderRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/armsWorkOrder'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/list-work-order-tasks:
    post:
      tags:
      - WorkOrderService
      summary: List Work Order Tasks
      description: Returns a list of tasks for a given work order.
      operationId: ListWorkOrderTasks
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsListWorkOrderTasksRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/armsListWorkOrderTasksResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/arrive-train:
    post:
      tags:
      - WorkOrderService
      summary: Arrive train
      description: Arrive a train to a customer or serving location.
      operationId: ArriveTrain
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsArriveTrainRequest'
        description: Request message for recording a train arrival at a specific track. Used when a train arrives at a station or location to begin operations.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
  /t/v1/record-train-event:
    post:
      tags:
      - WorkOrderService
      summary: Record Train Event
      description: Record a train event.
      operationId: RecordTrainEvent
      parameters:
      - description: Carrier ID
        in: header
        name: Carrier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsRecordTrainEventRequest'
        description: Request message for recording a train event.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
components:
  schemas:
    armsShipmentQualifier:
      default: SHIPMENT_QUALIFIER_UNSPECIFIED
      enum:
      - SHIPMENT_QUALIFIER_UNSPECIFIED
      - MASTER_BILL_EMPTY_NON_REVENUE
      - SPLIT_FIRST_BILL
      - SPLIT_SUBORDINATE_BILL
      - MASTER_BILL_REVENUE_EMPTY
      - SINGLE_BILL_OF_LADING
      - CONSOLIDATED
      - EMPTY_EQUIPMENT
      - STOP_OFF
      - SWITCH_WAYBILL
      - COMPANY_BUSINESS
      - MASTER_BILL_OF_LADING
      - BLIND_MEMO
      - SUBMASTER_BILL_OF_LADING
      - REVENUE_EMPTY
      - EMPTY_SWITCH_WAYBILL
      type: string
    armsRRJob:
      properties:
        attributesDefault:
          properties: {}
          type: object
        autoCompleteTasks:
          type: boolean
        isAvailableToAdvance:
          type: boolean
        isAvailableToClassify:
          type: boolean
        isAvailableToDeliver:
          type: boolean
        isAvailableToInterchange:
          type: boolean
        isAvailableToMove:
          type: boolean
        jobId:
          type: string
        minNumOfEots:
          format: int32
          type: integer
        minNumOfLocos:
          format: int32
          type: integer
        name:
          type: string
        requireLocoSetoutBeforeComplete:
          type: boolean
        templatizedName:
          type: string
        trainSetDisabled:
          type: boolean
        type:
          type: string
      type: object
    HistoryMoveTypeMessageHistoryMoveType:
      default: UNSPECIFIED
      enum:
      - UNSPECIFIED
      - ABNO
      - AEIE
      - AEIN
      - AEIS
      - AEIW
      - AETA
      - AETI
      - AINV
      - ARIL
      - ARRI
      - BADO
      - BFRM
      - BHVY
      - BLGT
      - BOHR
      - BXNG
      - CGIP
      - CGRD
      - CH80
      - CH81
      - CH82
      - CH83
      - CH84
      - CH85
      - CH86
      - CH89
      - CHARGED
      - CHERRYPICK
      - CLEAN
      - CORRECTION
      - CPRL
      - DELIVERED
      - DFLC
      - DIGOUTS
      - DIVERT
      - DRMP
      - ECYC
      - EMPTIED
      - EQOR
      - FFBO
      - FLIP
      - FTBO
      - HADR
      - HAND
      - HANR
      - HEATSTP
      - HEATSTRT
      - HEMB
      - HHAR
      - HIGT
      - HMIS
      - HOGT
      - HUMP
      - ICHD
      - ICHR
      - IGTI
      - IGTR
      - INSPECTION
      - INTERPLANT
      - INTRAPLANT
      - LCOM
      - LDCH
      - LOADED
      - LTFR
      - LTTO
      - MAWY
      - MOTR
      - MOVE
      - NOBL
      - NOTP
      - OFFERED
      - OGTI
      - OGTR
      - ORDER
      - OSTH
      - PACT
      - PASL
      - PCON
      - PFLT
      - PFPS
      - PICKUP
      - PKGD
      - PKGR
      - PLJI
      - PLLF
      - PLLT
      - PUJI
      - RAMP
      - REBL
      - RECEIVED
      - RECONSIGN
      - REJS
      - RELEASED
      - REMB
      - RFLT
      - RICD
      - RLOD
      - RMTY
      - RRFS
      - RTAA
      - RTOI
      - RTPO
      - SCYC
      - SETBACK
      - SETOUT
      - SPARGSTP
      - SPARGSTRT
      - SPECIALSWITCH
      - STEA
      - STEX
      - STOP
      - STPD
      - STPE
      - STPL
      - STRD
      - STRE
      - STRT
      - STSE
      - STSU
      - STUN
      - SWAP
      - TRIM
      - TSET
      - TURN
      - ULCH
      - UNKN
      - UNSC
      - WASH
      - WAYB
      - WEIGH
      - WEIGHE
      - WEIGHL
      type: string
    cedaraiIntLengthMeasurement:
      properties:
        unit:
          type: string
        value:
          format: int32
          type: integer
      type: object
    EquipmentFilterRelativeTimeFilter:
      properties:
        derivedTimeAttribute:
          type: string
        historyMoveType:
          $ref: '#/components/schemas/HistoryMoveTypeMessageHistoryMoveType'
        moveType:
          $ref: '#/components/schemas/HistoryMoveTypeMessageHistoryMoveType'
        offset:
          format: int64
          type: string
        timeAttribute:
          type: string
      type: object
    armsExternalSystemEvent:
      description: Event that originated from an external system.
      properties:
        eventId:
          description: A unique id for the event in the origin system, if any.
          type: string
        eventTimestamp:
          description: The timestamp of the event. If not provided, ARMS will use the API request time.
          format: date-time
          type: string
        eventTypeKey:
          description: A unique key for the event in the origin system.
          type: string
        systemName:
          description: The name of the system that originated the event.
          type: string
        user:
          $ref: '#/components/schemas/ExternalSystemEventExternalUser'
      title: External System Event
      type: object
    armsGroupFilter:
      properties:
        groupingIdFilter:
          $ref: '#/components/schemas/armsGroupingIdFilter'
        groupingNameFilter:
          $ref: '#/components/schemas/armsGroupingNameFilter'
      type: object
    armsTransportationMethod:
      default: TRANSPORTATION_METHOD_UNSPECIFIED
      enum:
      - TRANSPORTATION_METHOD_UNSPECIFIED
      - TM_RAIL
      - TM_INTERMODAL
      type: string
    rpcStatus:
      properties:
        code:
          format: int32
          type: integer
        details:
          items:
            $ref: '#/components/schemas/protobufAny'
          type: array
        message:
          type: string
      type: object
    armsWorkOrderTaskType:
      default: PICKUP
      enum:
      - PICKUP
      - SETOUT
      type: string
    armsAdministrativeContact:
      properties:
        communicationNumbers:
          items:
            $ref: '#/components/schemas/armsCommunicationNumber'
          type: array
        contactFunctionCode:
          type: string
        contactInquiryReference:
          type: string
        name:
          type: string
      type: object
    EquipmentFilterDwellFilter:
      properties:
        derivedTimeAttribute:
          type: string
        dwellTime:
          format: int64
          type: string
        historyMoveType:
          $ref: '#/components/schemas/HistoryMoveTypeMessageHistoryMoveType'
        isGreaterThan:
          type: boolean
      type: object
    armsMeasurement:
      properties:
        codeListQualifier:
          type: string
        industryCode:
          type: string
        measurementAttributeCode:
          type: string
        measurementMethodOrDevice:
          type: string
        measurementQualifier:
          type: string
        measurementSignificanceCode:
          type: string
        measurementValue:
          format: double
          type: number
        rangeMaximum:
          format: double
          type: number
        rangeMinimum:
          format: double
          type: number
        referenceIdCode:
          type: string
        surfaceLayerPositionCode:
          type: string
        unitCode:
          type: string
      type: object
    armsBillingInformation:
      properties:
        carrierCodes:
          items:
            type: string
          type: array
        destination:
          $ref: '#/components/schemas/armsWaybillStation'
        origin:
          $ref: '#/components/schemas/armsWaybillStation'
        rebillReasonCode:
          $ref: '#/components/schemas/armsRebillReasonCode'
      type: object
    protobufAny:
      additionalProperties:
        type: object
      properties:
        '@type':
          type: string
      type: object
    armsCommunicationNumber:
      properties:
        number:
          type: string
        qualifier:
          type: string
      type: object
    armsWorkOrderStatus:
      default: PENDING
      enum:
      - PENDING
      - ACTIVE
      - CLOSED
      - CANCELLED
      type: string
    armsVerificationKey:
      properties:
        compartment:
          format: int64
          type: integer
        key:
          type: string
      type: object
    armsArrivalState:
      default: AS_INBOUND
      enum:
      - AS_INBOUND
      - AS_ONLINE
      - AS_OUTBOUND
      type: string
    armsWeightType:
      default: WT_ESTIMATED
      enum:
      - WT_ESTIMATED
      - WT_ACTUAL
      type: string
    armsPickupCarsRequest:
      description: Request message for completing Pickup tasks.
      example:
        exceptions: []
        items:
        - pickup_task_id: task_003
        - equipment_id: 66666
        train_consist_equipment_uuids:
        - uuid_car1
        - uuid_car2
        - uuid_car3
        - uuid_car4
        work_order_id: '12345'
      properties:
        exceptions:
          items:
            $ref: '#/components/schemas/armsPickupCarsRequestException'
          type: array
        items:
          description: List of the items to Pickup. The associated Pickup tasks will be closed on success.
          items:
            $ref: '#/components/schemas/armsPickupCarsRequestItem'
          type: array
        taskIds:
          description: Deprecated. Use items instead.
          items:
            type: string
          type: array
        timestamp:
          format: date-time
          type: string
        trainConsistEquipmentUuids:
          description: Ordered list of equipment UUIDs representing the new consist sequence of the train after Pickup.
          items:
            type: string
          type: array
        workOrderId:
          type: string
      required:
      - items
      - trainConsistEquipmentUuids
      - workOrderId
      title: Pickup Cars Request
      type: object
    armsPickupCarsRequestItem:
      properties:
        equipmentId:
          description: Reference by equipment ID. Provide either pickup_task_id or equipment_id, but not both.
          format: uint64
          type: string
        pickupTaskId:
          description: Reference by pickup task ID. Provide either pickup_task_id or equipment_id, but not both.
          type: string
      type: object
    armsEquipmentDetails:
      properties:
        aarCarType:
          type: string
        carrierCode:
          type: string
        chassisInitial:
          type: string
        chassisNumber:
          format: uint64
          type: string
        checkDigit:
          format: int64
          type: integer
        descriptionCode:
          type: string
        dunnage:
          format: int64
          type: integer
        dunnageMeasure:
          $ref: '#/components/schemas/cedaraiIntWeightMeasurement'
        equipmentInitial:
          type: string
        equipmentName:
          type: string
        equipmentNumber:
          format: uint64
          type: string
        equipmentOrdered:
          $ref: '#/components/schemas/armsEquipmentOrdered'
        grossWeightLbs:
          format: int64
          type: integer
        grossWeightMeasure:
          $ref: '#/components/schemas/cedaraiIntWeightMeasurement'
        heightIn:
          format: int64
          type: integer
        heightMeasure:
          $ref: '#/components/schemas/cedaraiIntLengthMeasurement'
        interchangeMoveAuthorities:
          items:
            $ref: '#/components/schemas/armsInterchangeMoveAuthority'
          type: array
        isoContainerCode:
          type: string
        lengthIn:
          format: int64
          type: integer
        lengthMeasure:
          $ref: '#/components/schemas/cedaraiIntLengthMeasurement'
        netWeightLbs:
          format: int64
          type: integer
        netWeightMeasure:
          $ref: '#/components/schemas/cedaraiIntWeightMeasurement'
        ownershipCode:
          type: string
        owningCarrierCode:
          type: string
        position:
          type: string
        sealNumbers:
          items:
            type: string
          type: array
        shipmentInfo:
          items:
            $ref: '#/components/schemas/armsEquipmentShipmentInformation'
          type: array
        tareQualifierCode:
          type: string
        tareWeightLbs:
          format: int64
          type: integer
        tareWeightMeasure:
          $ref: '#/components/schemas/cedaraiIntWeightMeasurement'
        terminals:
          items:
            $ref: '#/components/schemas/armsTerminal'
          type: array
        weightAllowance:
          format: int64
          type: integer
        weightAllowanceMeasure:
          $ref: '#/components/schemas/cedaraiIntWeightMeasurement'
        weightType:
          $ref: '#/components/schemas/armsWeightType'
        widthIn:
          format: int64
          type: integer
        widthMeasure:
          $ref: '#/components/schemas/cedaraiIntLengthMeasurement'
      type: object
    armsReferenceInfo:
      properties:
        description:
          type: string
        referenceId:
          type: string
        referenceIdQualifier:
          type: string
      type: object
    armsWorkOrderTask:
      properties:
        assignedLocation:
          $ref: '#/components/schemas/armsAssignedLocation'
        closedAt:
          format: date-time
          type: string
        createdAt:
          format: date-time
          type: string
        customerLocationId:
          format: int64
          type: string
        equipmentId:
          format: uint64
          type: string
        exception:
          type: string
        isForInitialConsist:
          type: boolean
        pairedTaskId:
          type: string
        servingLocationId:
          format: int64
          type: string
        sortBy:
          format: int64
          type: string
        status:
          $ref: '#/components/schemas/armsWorkOrderTaskStatus'
        switchRequest:
          $ref: '#/components/schemas/armsSwitchRequest'
        taskDataSource:
          type: string
        taskId:
          type: string
        taskIndex:
          format: int64
          type: integer
        taskType:
          $ref: '#/components/schemas/armsWorkOrderTaskType'
        touchedBy:
          properties: {}
          type: object
        updatedAt:
          format: date-time
          type: string
        workDefinitionId:
          type: string
        workOrderId:
          type: string
      type: object
    cedaraiarmsTimeRange:
      properties:
        endTime:
          format: date-time
          type: string
        startTime:
          format: date-time
          type: string
      type: object
    EquipmentFilterAbsoluteTimeFilter:
      properties:
        cutoffTime:
          type: string
        derivedTimeAttribute:
          type: string
        historyMoveType:
          $ref: '#/components/schemas/HistoryMoveTypeMessageHistoryMoveType'
        isAfter:
          type: boolean
        moveType:
          $ref: '#/components/schemas/HistoryMoveTypeMessageHistoryMoveType'
      type: object
    armsWeightQualifier:
      default: WQ_UNKNOWN
      enum:
      - WQ_UNKNOWN
      - WQ_MAXIMUM_WEIGHT
      - WQ_SHIPPER_WEIGHT
      - WQ_BILLED_WEIGHT
      - WQ_ACTUAL_NET_WEIGHT_FOR_COMBINATION
      - WQ_ESTIMATED_NET_WEIGHT
      - WQ_GROSS_WEIGHT
      - WQ_LIGHT_WEIGHT
      - WQ_CLEAN_OUT
      - WQ_LEGAL_WEIGHT
      - WQ_MINIMUM_WEIGHT
      - WQ_ACTUAL_NET_WEIGHT
      - WQ_EXCESS_WEIGHT
      - WQ_STATE_WEIGHT
      type: string
    armsGrouping:
      properties:
        attributes:
          properties: {}
          type: object
        customerLocation:
          $ref: '#/components/schemas/armsCustomerLocation'
        equipmentIndexEnabled:
          type: boolean
        frozen:
          type: boolean
        groupingId:
          format: int64
          type: string
        groupingType:
          type: string
        name:
          type: string
        sortOrder:
          format: int32
          type: integer
        status:
          $ref: '#/components/schemas/GroupingGroupingStatus'
      type: object
    armsDepartTrainRequest:
      description: Request message for recording a train departure from a station or location. Used when a train leaves to begin its journey or move to the next location.
      example:
        auto_uncomplete_tasks: true
        exception: Departure delayed due to equipment issue
        station_id: 11111
        timestamp: '2024-01-15T14:30:00Z'
        work_order_id: '12345'
      properties:
        autoCloseTasks:
          description: Automatically close open tasks as INCOMPLETE.
          type: boolean
        exception:
          type: string
        stationId:
          format: int64
          type: string
        timestamp:
          format: date-time
          type: string
        workOrderId:
          type: string
      required:
      - workOrderId
      title: Depart Train Request
      type: object
    UpdateWorkOrderRequestWorkOrderTaskUpdateInstance:
      properties:
        assignedLocation:
          $ref: '#/components/schemas/armsAssignedLocation'
        customerLocationId:
          format: int64
          type: string
        equipmentId:
          format: uint64
          type: string
        servingLocationId:
          format: int64
          type: string
        taskId:
          type: string
        taskType:
          $ref: '#/components/schemas/armsWorkOrderTaskType'
        workDefinitionId:
          type: string
      type: object
    armsCustomerLocation:
      properties:
        abbreviatedName:
          type: string
        address:
          $ref: '#/components/schemas/cedaraiarmsAddress'
        addressName:
          type: string
        blockCode:
          type: string
        currencyCode:
          type: string
        customer:
          $ref: '#/components/schemas/armsCustomer'
        customerIdentificationNumbers:
          items:
            type: string
          type: array
        customerLocationId:
          format: int64
          type: string
        customerLocationUuid:
          type: string
        email:
          type: string
        freightBillEdiReceiver:
          type: string
        generalLedgerNumber:
          type: string
        isDefault:
          type: boolean
        isReportingLocation:
          type: boolean
        name:
          type: string
        phoneNumber:
          type: string
        serviceTypeIds:
          items:
            type: string
          type: array
        usedForBilling:
          type: boolean
      type: object
    armsTrainReasonCode:
      properties:
        category:
          type: string
        code:
          type: string
      type: object
    armsUmlerUnitOfMeasurement:
      default: UOM_UNSPECIFIED
      enum:
      - UOM_UNSPECIFIED
      - IN
      - LB
      - CM
      - KG
      - FT
      - M
      - G
      - T
      - MT
      type: string
    armsInventoryLocation:
      properties:
        index:
          format: int32
          type: integer
        track:
          $ref: '#/components/schemas/armsTrack'
      type: object
    cedaraiarmsParty:
      properties:
        additionalNames:
          items:
            type: string
          type: array
        address:
          items:
            type: string
          type: array
        administrativeContacts:
          items:
            $ref: '#/components/schemas/armsAdministrativeContact'
          type: array
        billingInfo:
          items:
            $ref: '#/components/schemas/armsBillingInformation'
          type: array
        cityName:
          type: string
        countryCode:
          type: string
        countrySubdivisionCode:
          type: string
        entitySubIdentifierCode:
          type: string
        entitySubIdentifierRelationshipCode:
          type: string
        idCode:
          type: string
        idCodeQualifier:
          $ref: '#/components/schemas/armsPartyIdentificationCodeQualifier'
        locationIdentifier:
          type: string
        locationQualifier:
          type: string
        locationUuid:
          type: string
        name:
          type: string
        partyType:
          $ref: '#/components/schemas/armsPartyEntityIdentifierCode'
        postalCode:
          type: string
        referenceInfo:
          items:
            $ref: '#/components/schemas/armsReferenceInfo'
          type: array
        stateOrProvince:
          type: string
      type: object
    RecordTrainEventRequestOtherEventDetails:
      description: Empty message - just serves as a discriminator
      title: Other Event Details
      type: object
    armsExtendedReferenceInformation:
      properties:
        description:
          type: string
        referenceId:
          type: string
        referenceIdQualifier:
          type: string
        referenceTimestamp:
          format: date-time
          type: string
      type: object
    armsArriveTrainRequest:
      description: Request message for recording a train arrival at a specific track. Used when a train arrives at a station or location to begin operations.
      example:
        exception: Delayed arrival due to weather
        is_front: true
        serving_location_id: 11111
        timestamp: '2024-01-15T10:30:00Z'
        track_id: 67890
        work_order_id: '12345'
      properties:
        customerLocationId:
          format: int64
          type: string
        exception:
          type: string
        isFront:
          type: boolean
        servingLocationId:
          format: int64
          type: string
        timestamp:
          format: date-time
          type: string
        trackId:
          format: int64
          type: string
        workOrderId:
          type: string
      required:
      - isFront
      - trackId
      - workOrderId
      title: Arrive Train Request
      type: object
    armsGroupingNameFilter:
      properties:
        groupingType:
          type: string
        leafGroupingType:
          type: string
        names:
          items:
            type: string
          type: array
      type: object
    armsAddressType:
      default: AT_UNKNOWN
      enum:
      - AT_UNKNOWN
      - AT_CARRIER
      - AT_CUSTOMER
      - AT_PORT
      - AT_CONTRACTUAL_PORT
      - AT_PARTIAL
      type: string
    armsWaybill:
      propert

# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cedarai/refs/heads/main/openapi/cedarai-workorderservice-api-openapi.yml