> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cedarai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List railcar inventory

> Retrieves a list of railcar inventory items based on specified criteria (pagination, filters like loadStatus, station, track, etc.).

Usage notes:
- Pagination: Use pageSize, pageNextToken, and pagePrevToken to navigate paginated results.
- Filtering: Combine multiple criteria (e.g., loadStatus, aarCarType, station, track, tag) to narrow results.
- IDs: Station, track, and tag identifiers should come from the listStationTracks endpoint.



## OpenAPI

````yaml /user-docs/api-reference/external-openapi.json post /ims/equipment/inventory
openapi: 3.1.0
info:
  title: ARMS External API
  version: 1.0.0
  description: >-
    OpenAPI specification generated from external API schemas. Endpoints require
    query parameter carrierId and headers x-arms-api-key and x-arms-assume-user.
  license:
    name: Proprietary
    url: https://cedarai.com
servers:
  - url: https://api-lg.arms.cedarai.com
    description: Production (US)
  - url: https://api-lg.arms.cedarai.se
    description: Production (EU)
security:
  - ApiKeyAuth: []
    AssumeUser: []
paths:
  /ims/equipment/inventory:
    post:
      summary: List railcar inventory
      description: >-
        Retrieves a list of railcar inventory items based on specified criteria
        (pagination, filters like loadStatus, station, track, etc.).


        Usage notes:

        - Pagination: Use pageSize, pageNextToken, and pagePrevToken to navigate
        paginated results.

        - Filtering: Combine multiple criteria (e.g., loadStatus, aarCarType,
        station, track, tag) to narrow results.

        - IDs: Station, track, and tag identifiers should come from the
        listStationTracks endpoint.
      operationId: listInventory
      parameters:
        - $ref: '#/components/parameters/CarrierId'
        - $ref: '#/components/parameters/ViewAsUserGroup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListInventoryInput'
            examples:
              basic:
                summary: Basic pagination and filters
                value:
                  pageSize: 20
                  loadStatus: LOAD
                  station: 1001
              filterLoadStatusAndCarType:
                summary: Filter by load status and AAR car type
                value:
                  loadStatus: LOAD
                  aarCarType: GONDOLA
              stationTrackTag:
                summary: Filter by station, track, and tag
                value:
                  station: 1001
                  track: 2001
                  tag: 3001
              shipperConsignee:
                summary: Filter by shipper and consignee
                value:
                  shipper: Company A
                  consignee: Company B
              equipmentFilters:
                summary: Filter by equipment information
                value:
                  equipmentId: 12345
                  equipmentIds:
                    - 12345
                    - 67890
                  equipmentInitial: ABC
                  equipmentInitialsAndNumbers:
                    - - ABC
                      - 123
                    - - DEF
                      - 456
                  equipmentNumber: 789
              complex:
                summary: Complex query with multiple filters
                value:
                  pageSize: 50
                  loadStatus: EMPTY
                  station: 1002
                  track: 2002
                  shipper: Company C
                  carrierId: 555
                  equipmentIds:
                    - 98765
                    - 43210
                  equipmentInitial: XYZ
              groupingFilters:
                summary: Filter using intersected grouping filters
                value:
                  pageSize: 25
                  intersectedGroupFilters:
                    - groupingType: station
                      groupingIds:
                        - 1001
                        - 1002
                    - groupingType: track
                      names:
                        - Track A
                        - Track B
                  includeTrain: true
                  includeSwitchRequest: false
              consistAndTrain:
                summary: Filter by consist and train information
                value:
                  consistUuid: 123e4567-e89b-12d3-a456-426614174000
                  trainId: TRAIN123
                  includeTrain: true
                  includeSwitchRequest: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListInventoryOutput'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    CarrierId:
      name: carrierId
      in: query
      required: true
      schema:
        type: integer
      description: Carrier identifier; required for all endpoints
    ViewAsUserGroup:
      name: viewAsUserGroup
      in: query
      required: false
      schema:
        type: string
      description: Optional user group context
  schemas:
    ListInventoryInput:
      type: object
      properties:
        pageSize:
          type: integer
          minimum: 1
          description: >-
            Number of items per page. Use with pageNextToken/pagePrevToken for
            pagination.
        pageNextToken:
          type: string
          description: >-
            Token to fetch the next page of results returned from a previous
            call.
        pagePrevToken:
          type: string
          description: >-
            Token to fetch the previous page of results returned from a previous
            call.
        initialAndNumber:
          type: string
          description: Filter by equipment initial and number (e.g., 'XYZ 123456').
        loadStatus:
          type: string
          description: Filter by derived load status.
          enum:
            - LOAD
            - EMPTY
            - UNKNOWN
        aarCarType:
          type: string
          description: Filter by AAR car type (e.g., GONDOLA).
        station:
          type: integer
          description: >-
            Filter by station ID. Obtain IDs from the listStationTracks
            endpoint.
        track:
          type: integer
          description: Filter by track ID. Obtain IDs from the listStationTracks endpoint.
        tag:
          type: integer
          description: Filter by tag ID. Obtain IDs from the listStationTracks endpoint.
        shipper:
          type: string
          description: Filter by shipper name.
        consignee:
          type: string
          description: Filter by consignee name.
        arrivalState:
          type: array
          description: Filter by arrival state of equipment.
          items:
            type: string
            description: Arrival state value.
            enum:
              - INBOUND
              - ONLINE
              - OUTBOUND
        carrierId:
          type: integer
          description: Carrier identifier. May also be supplied via query parameter.
        equipmentId:
          type: integer
          description: Filter by a single equipment resourceId.
        equipmentIds:
          type: array
          description: Filter by multiple equipment resourceIds.
          items:
            type: integer
        equipmentInitial:
          type: string
          description: Filter by equipment initial prefix (e.g., 'ABC').
        equipmentInitialsAndNumbers:
          type: array
          description: >-
            Filter by explicit tuples of equipment initial and number (e.g.,
            [["ABC", 123], ["DEF", 456]]).
          items:
            $ref: '#/components/schemas/InitialAndNumber'
        equipmentNumber:
          type: integer
          description: Filter by equipment number.
        trainId:
          type: string
          description: Filter by train ID.
        includeTrain:
          type: boolean
          description: Whether to include train information in the response.
        intersectedGroupFilters:
          type: array
          description: >-
            Intersect all grouping filters to get grouping IDs. For example, can
            specify multiple filters at once, such as zone, station, track. In
            this case, it expands zone and station to track level and intersects
            them with each other.


            This field is mutually exclusive with the legacy grouping fields
            (station, track, tag).
          items:
            anyOf:
              - $ref: '#/components/schemas/GroupingIdFilter'
              - $ref: '#/components/schemas/GroupingNameFilter'
        consistUuid:
          type: string
          description: >-
            Filter by consist UUID. This is used with includeSwitchRequest to
            get all of the equipment on a consist.
        includeSwitchRequest:
          type: boolean
          description: Whether to include switch request information.
        includeTripPlan:
          type: boolean
          description: >-
            Whether to include trip-plan-derived priorities (currentStopPriority
            and nextStopPriority) in the response, matching the priorities shown
            on the Inventory page. Requires the carrier to have trip plans
            enabled.
    ListInventoryOutput:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            description: Inventory item snapshot
            properties:
              resourceType:
                type: string
                enum:
                  - Equipment
              resourceId:
                type: integer
              uuid:
                type: string
                description: UUID that complements the legacy numeric resourceId.
              equipmentInitial:
                type: string
              equipmentNumber:
                type: integer
              aarCarType:
                type: string
              equipmentType:
                type: string
                enum:
                  - CAR
                  - LOCOMOTIVE
                  - CABOOSE
                  - TRAIN_DEVICE
              descriptionCode:
                type: string
              arrivalState:
                type: string
                enum:
                  - INBOUND
                  - ONLINE
                  - OUTBOUND
              parentGroupings:
                type: array
                items:
                  $ref: '#/components/schemas/EquipmentParentGrouping'
              waybill:
                $ref: '#/components/schemas/Waybill'
              umler:
                $ref: '#/components/schemas/UmlerCommon'
              notes:
                type: string
              intermodalUnits:
                type: array
                items:
                  $ref: '#/components/schemas/ExpandedIntermodalUnit'
              loadStatus:
                type: string
                enum:
                  - LOAD
                  - EMPTY
                  - UNKNOWN
              ichrTime:
                type: string
                format: date-time
              workOrder:
                $ref: '#/components/schemas/WorkOrderResource'
              workOrders:
                type: array
                items:
                  $ref: '#/components/schemas/WorkOrderResource'
              currentStopPriority:
                type: integer
                description: >-
                  Trip-plan priority of the equipment's current stop (days until
                  that stop's end time, in the carrier's timezone), matching the
                  Inventory 'Priority' column. Present only when includeTripPlan
                  is set and the carrier has trip plans enabled; omitted for
                  in-transit equipment with no current stop.
              nextStopPriority:
                type: integer
                description: >-
                  Trip-plan priority of the equipment's next stop, matching the
                  Inventory 'Next Priority' column. For in-transit equipment
                  this is the first expected stop. Present only when
                  includeTripPlan is set and the carrier has trip plans enabled;
                  omitted when there is no next stop.
            additionalProperties: false
        statusCode:
          type: integer
        nextToken:
          type: string
        prevToken:
          type: string
    Error:
      type: object
      properties:
        message:
          type: string
    InitialAndNumber:
      type: array
      prefixItems:
        - type: string
        - type: integer
      items: false
      minItems: 2
      maxItems: 2
    GroupingIdFilter:
      type: object
      properties:
        leafGroupingType:
          type: string
          description: >-
            When querying nested groups, such as yard config, the grouping type
            of leaf nodes need to be specified as a target to locate the right
            grouping equipment association. Leave it None, if equipment are
            directly associated with the groups that you are searching for.
        groupingType:
          type: string
          description: The type of grouping to filter by.
        groupingIds:
          type: array
          items:
            type: integer
          description: List of grouping IDs to filter by.
      required:
        - groupingType
        - groupingIds
      additionalProperties: false
    GroupingNameFilter:
      type: object
      properties:
        leafGroupingType:
          type: string
          description: >-
            When querying nested groups such as yard config, the grouping type
            of leaf nodes need to be specified as a target to locate the right
            grouping equipment association. Leave it None if equipment are
            directly associated with the groups that you are searching for.
        groupingType:
          type: string
          description: The type of grouping to filter by.
        names:
          type: array
          items:
            type: string
          description: List of grouping names to filter by.
      required:
        - groupingType
        - names
      additionalProperties: false
    EquipmentParentGrouping:
      type: object
      properties:
        resourceType:
          type: string
          enum:
            - Grouping
        resourceId:
          type: integer
        uuid:
          type: string
          description: UUID that complements the legacy numeric resourceId.
        name:
          type: string
        groupingType:
          type: string
        sortOrder:
          type: integer
        colorToken:
          type: string
        groupingIndex:
          type: integer
    Waybill:
      type: object
      properties:
        loadStatus:
          type: string
        commodityCode:
          type: string
        netWeightTons:
          type: number
        originCityName:
          type: string
        originStateOrProvince:
          type: string
        originFsac:
          type: string
        destinationCityName:
          type: string
        destinationStateOrProvince:
          type: string
        destinationFsac:
          type: string
        consignorCustomerName:
          type: string
        consigneeCustomerName:
          type: string
        originScac:
          type: string
        trafficType:
          type: string
          enum:
            - LOCAL
            - ORIGINATING
            - TERMINATING
            - STORAGE
            - BRIDGE
            - UNKNOWN
        shipmentPaymentMethod:
          type: string
          enum:
            - '11'
            - CC
            - MX
            - NC
            - NR
            - PP
        transportationMethod:
          type: string
          enum:
            - R
            - X
        shipmentId:
          type: string
        weightUnitCode:
          type: string
          enum:
            - E
            - K
            - L
            - S
            - T
        shipmentQualifier:
          type: string
          enum:
            - '1'
            - '6'
            - '7'
            - '8'
            - B
            - C
            - E
            - F
            - G
            - H
            - I
            - M
            - 'N'
            - S
            - W
            - X
        capacityLoadCode:
          type: string
          enum:
            - C
            - F
            - G
            - M
            - V
        customsDocumentationHandlingCode:
          type: string
        confidentialBillingRequestCode:
          type: string
          enum:
            - C
            - M
            - 'N'
            - R
        taxReasonCode:
          type: string
        shipmentWeightCode:
          type: string
          enum:
            - A3
            - B
            - C
            - E
            - G
            - J
            - K
            - M
            - 'N'
            - O
            - S
            - X
        referencedPatternIdentifier:
          type: string
        billingCode:
          type: string
          enum:
            - A
            - D
            - E
            - G
            - H
            - M
            - P
            - S
            - U
            - V
            - W
            - X
            - 'Y'
        repetitivePatternNumber:
          type: integer
        extendedReferenceInfo:
          type: array
          items:
            $ref: '#/components/schemas/ExtendedReferenceInformation'
        crossReferenceEquipment:
          type: array
          items:
            $ref: '#/components/schemas/CrossReferenceEquipment'
        equipmentDetails:
          type: array
          items:
            $ref: '#/components/schemas/EquipmentDetails'
        intermodalStatusDetails:
          $ref: '#/components/schemas/IntermodalStatusDetails'
        specialHandlingCodes:
          type: array
          items:
            type: string
        protectiveService:
          type: array
          items:
            $ref: '#/components/schemas/ProtectiveService'
        originStation:
          $ref: '#/components/schemas/Station'
        originJunction:
          $ref: '#/components/schemas/Station'
        destinationStation:
          $ref: '#/components/schemas/Station'
        destinationJunction:
          $ref: '#/components/schemas/Station'
        parties:
          type: array
          items:
            $ref: '#/components/schemas/Party'
        route:
          type: array
          items:
            $ref: '#/components/schemas/RouteEntry'
        emptyCarDispositions:
          type: array
          items:
            $ref: '#/components/schemas/EmptyCarDisposition'
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/LineItem'
        hazardousInfo:
          type: array
          items:
            $ref: '#/components/schemas/HazardousInformation'
        hazardousCertifications:
          type: array
          items:
            $ref: '#/components/schemas/HazardousCertification'
        release:
          $ref: '#/components/schemas/Release'
        defaultReceiver:
          type: string
        waybillTemplateId:
          type: integer
        waybillTemplateName:
          type: string
        waybillNumberSuffix:
          type: string
        originCarrierCode:
          type: string
        consigneeLocationId:
          type: integer
        shipperLocationId:
          type: integer
        inCareOfLocationId:
          type: integer
        freightBillPartyLocationId:
          type: integer
        pickupPartyLocationId:
          type: integer
        waybillNumber:
          type: integer
        waybillDate:
          type: string
        billOfLadingNumber:
          type: string
        originSystem:
          type: string
          enum:
            - ARMS
            - EDI
            - BRAVO
        preparationDate:
          type: string
        preparationTime:
          type: string
        revisionNumber:
          type: integer
        revisionTime:
          type: string
        revisionSourceType:
          type: string
          enum:
            - WAYBILL
            - CONSIST
            - BILL_OF_LADING
            - ADVANCE_CAR_DISPOSITION
            - LOAD
            - EMPTY
            - REBILL
            - CLM
        armsTrackingId:
          type: string
        resourceType:
          type: string
          enum:
            - Waybill
        resourceId:
          type: integer
        uuid:
          type: string
          description: UUID that complements the legacy numeric resourceId.
        waybillStatus:
          type: string
          enum:
            - PENDING
            - ACTIVE
            - ARCHIVED
        createdAt:
          type: string
    UmlerCommon:
      type: object
      description: Shared UMLER attributes for equipment records.
      additionalProperties: false
      properties:
        equipmentInitial:
          type: string
        equipmentNumber:
          type: integer
        car:
          type: string
        mechanicalDesignation:
          type: string
        owner:
          type: string
        elementEquipmentGroup:
          type: string
        lessee:
          type: string
        markOwnerCategory:
          type: string
        outsideLength:
          type: number
          description: Outside length in inches
        outsideLengthFt:
          type: number
          description: Outside length in feet (standardized)
        isIntl:
          type: boolean
          description: Whether this is international equipment
        grossRailWeight:
          type: number
        grossRailWeightUnit:
          type: string
          description: Unit of measure for gross rail weight
          enum:
            - IN
            - LB
            - CM
            - KG
            - FT
            - M
            - G
            - T
            - MT
        grossRailWeightLb:
          type: number
          description: Gross rail weight in pounds (standardized)
        loadLimit:
          type: number
        cubicFeetCapacity:
          type: number
        tareWeight:
          type: number
          description: Tare weight in pounds
        tareWeightUnit:
          type: string
          description: Unit of measure for tare weight
          enum:
            - IN
            - LB
            - CM
            - KG
            - FT
            - M
            - G
            - T
            - MT
        tareWeightLb:
          type: number
          description: Tare weight in pounds (standardized)
        plateCode:
          type: string
        insideLength:
          type: number
        insideLengthUnit:
          type: string
          description: Unit of measure for inside length
          enum:
            - IN
            - LB
            - CM
            - KG
            - FT
            - M
            - G
            - T
            - MT
        insideLengthFt:
          type: number
          description: Inside length in feet (standardized)
        insideHeight:
          type: number
        insideHeightUnit:
          type: string
          description: Unit of measure for inside height
          enum:
            - IN
            - LB
            - CM
            - KG
            - FT
            - M
            - G
            - T
            - MT
        insideHeightFt:
          type: number
          description: Inside height in feet (standardized)
        outsideExtremeWidth:
          type: number
        outsideExtremeWidthUnit:
          type: string
          description: Unit of measure for outside extreme width
          enum:
            - IN
            - LB
            - CM
            - KG
            - FT
            - M
            - G
            - T
            - MT
        outsideExtremeWidthFt:
          type: number
          description: Outside extreme width in feet (standardized)
        outerExtremeHeight:
          type: number
        outerExtremeHeightUnit:
          type: string
          description: Unit of measure for outer extreme height
          enum:
            - IN
            - LB
            - CM
            - KG
            - FT
            - M
            - G
            - T
            - MT
        outerExtremeHeightFt:
          type: number
          description: Outer extreme height in feet (standardized)
        outsideHeightExtremeWidth:
          type: number
        outsideHeightExtremeWidthUnit:
          type: string
          description: Unit of measure for outside height extreme width
          enum:
            - IN
            - LB
            - CM
            - KG
            - FT
            - M
            - G
            - T
            - MT
        outsideHeightExtremeWidthFt:
          type: number
          description: Outside height at extreme width in feet (standardized)
        sideDoorType:
          type: string
        sideDoorHeight:
          type: number
        sideDoorHeightUnit:
          type: string
          description: Unit of measure for side door height
          enum:
            - IN
            - LB
            - CM
            - KG
            - FT
            - M
            - G
            - T
            - MT
        sideDoorHeightFt:
          type: number
          description: Side door height in feet (standardized)
        sideDoorWidth:
          type: number
        sideDoorWidthUnit:
          type: string
          description: Unit of measure for side door width
          enum:
            - IN
            - LB
            - CM
            - KG
            - FT
            - M
            - G
            - T
            - MT
        sideDoorWidthFt:
          type: number
          description: Side door width in feet (standardized)
        boxSideDoorOrientation:
          type: string
        axleCount:
          type: integer
        brakeShoeType:
          type: string
        bodyMaterial:
          type: string
        operatingBrakes:
          type: number
        floorStrengthClassification:
          type: string
        poolNumber:
          type: string
        endOfTrainOnly:
          type: string
        shoveCarToRest:
          type: string
        shoveAdjCarToRest:
          type: string
        trainPositionSensitive:
          type: string
        couplerStyle:
          type: string
        unitEquipmentGroup:
          type: string
        abtDueDate:
          type: string
        carGrade:
          type: string
        lengthFt:
          type: number
          description: Length in feet (standardized, EU-specific)
        brakeWeightLb:
          type: number
          description: Brake weight in pounds (standardized)
        netWeightLb:
          type: number
          description: Net weight in pounds (standardized)
        allowedSpeed:
          type: string
          description: Allowed speed when taking commodity into account
        regionCode:
          type: string
          description: Source region code (US or SE)
        vkm:
          type: string
          description: Vehicle keeper code (KEEPER section)
        vkmValidTo:
          type: string
          format: date
          description: Keeper validity date (KEEPER section, ISO string)
        resp:
          type: string
          description: Responsible entity code (RESPONSIBLE section)
        responsibleValidTo:
          type: string
          format: date
          description: Responsible entity validity date (RESPONSIBLE section, ISO string)
        damages:
          type: array
          items:
            $ref: '#/components/schemas/WagonDamage'
          description: List of damage objects associated with the equipment.
    ExpandedIntermodalUnit:
      type: object
      properties:
        resourceType:
          type: string
          enum:
            - IntermodalUnit
        resourceId:
          type: integer
        uuid:
          type: string
          description: UUID that complements the legacy numeric resourceId.
        unitInitial:
          type: string
        unitNumber:
          type: integer
        waybill:
          $ref: '#/components/schemas/Waybill'
        descriptionCode:
          type: string
    WorkOrderResource:
      type: object
      properties:
        resourceId:
          type: integer
        uuid:
          type: string
          description: UUID that complements the legacy numeric resourceId.
        workOrderId:
          type: string
        status:
          type: string
          enum:
            - PENDING
            - ACTIVE
            - CLOSED
        trainId:
          type: string
        inTransit:
          type: boolean
        lastEventId:
          type: integer
        hasBeenDeparted:
          type: boolean
    ExtendedReferenceInformation:
      type: object
      description: >-
        Extended reference information from the waybill. Production notes are
        entries where referenceIdQualifier is "ZZ" and description is
        "TrpNotes"; the note text is in referenceId.
      properties:
        referenceIdQualifier:
          type: string
          description: >-
            Reference identification qualifier (e.g. "ZZ" for mutually defined
            references).
        referenceId:
          type: string
          description: >-
            Reference value. For production notes (ZZ/TrpNotes), this contains
            the note text.
        description:
          type: string
          description: Description of the reference (e.g. "TrpNotes" for production notes).
        date:
          type: string
        timestamp:
          type: string
    CrossReferenceEquipment:
      type: object
      properties:
        referenceIdQualifier:
          type: string
        referenceId:
          type: string
        equipmentInitial:
          type: string
        equipmentNumber:
          type: integer
        crossReferenceTypeCode:
          type: string
          enum:
            - A
            - B
            - C
            - F
            - G
            - K
            - L
            - M
            - T
        equipmentOwnerScac:
          type: string
        equipmentLength:
          type: string
        equipmentOperatorScac:
          type: string
        equipmentIsDamaged:
          type: boolean
        checkDigit:
          type: integer
    EquipmentDetails:
      type: object
      properties:
        equipmentInitial:
          type: string
        equipmentNumber:
          type: integer
        netWeightLbs:
          type: number
        grossWeightLbs:
          type: number
        weightType:
          type: string
          enum:
            - ESTIMATED
            - ACTUAL
        tareWeightLbs:
          type: number
        weightAllowance:
          type: number
        dunnage:
          type: number
        ownershipCode:
          type: string
          enum:
            - L
            - R
            - T
        descriptionCode:
          type: string
        owningCarrierCode:
          type: string
        position:
          type: string
        lengthIn:
          type: number
        tareQualifierCode:
          type: string
          enum:
            - A
            - M
        checkDigit:
          type: integer
        heightIn:
          type: number
        widthIn:
          type: number
        isoContainerCode:
          type: string
        carrierCode:
          type: string
        aarCarType:
          type: string
        sealNumbers:
          type: array
          description: Seal numbers on equipment (X12 M7).
          items:
            type: string
        chassisInitial:
          type: string
        chassisNumber:
          type: integer
        terminals:
          type: array
          items:
            $ref: '#/components/schemas/Terminal'
        interchangeMoveAuthorities:
          type: array
          items:
            $ref: '#/components/schemas/InterchangeMoveAuthority'
        shipmentInfo:
          type: array
          description: >-
            Per-equipment Carta Porte data for cross-border waybills. See
            Cross-border (Mexico) waybills in the API docs.
          items:
            $ref: '#/components/schemas/EquipmentShipmentInformation'
    IntermodalStatusDetails:
      type: object
      properties:
        shipmentStatusCode:
          type: string
          enum:
            - A
            - AE
            - AI
            - AL
            - AO
            - AR
            - B
            - BO
            - CA
            - CB
            - CC
            - CS
            - CT
            - D
            - DA
            - DC
            - DP
            - DR
            - DS
            - DT
            - EA
            - ER
            - G
            - GI
            - I
            - J
            - K
            - L
            - LE
            - MA
            - MD
            - ME
            - MI
            - MO
            - MR
            - MT
            - 'N'
            - NC
            - ND
            - NF
            - NG
            - NH
            - 'NO'
            - NP
            - NS
            - NT
            - O
            - OA
            - OH
            - P
            - PA
            - PB
            - PC
            - PD
            - PE
            - PF
            - PG
            - PH
            - PI
            - PJ
            - PK
            - PL
            - PM
            - PN
            - PO
            - PP
            - R
            - RF
            - RL
            - RN
            - RY
            - SA
            - SC
            - SF
            - SO
            - T
            - TE
            - UR
            - UV
            - WH
            - WR
            - YR
        shipmentStatusTime:
          type: string
    ProtectiveService:
      type: object
      properties:
        ruleCode:
          type: string
        serviceCode:
          type: string
          enum:
            - D
            - HDN
            - HDNC
            - HSC
            - M
            - MN
            - MNU
        temperatureUnit:
          type: string
          enum:
            - CE
            - FA
        optimalTemperature:
          type: number
        scac:
          type: string
        fsac:
          type: string
        cityName:
          type: string
        stateOrProvince:
          type: string
        precooled:
          type: boolean
        heaterLocation:
          type: string
          enum:
            - 'Y'
            - 'N'
        commodityType:
          type: string
          enum:
            - 'Y'
            - 'N'
        doorwaySpace:
          type: string
          enum:
            - 'Y'
            - 'N'
        originTemperature:
          type: number
    Station:
      type: object
      properties:
        fsac:
          type: string
        cityName:
          type: string
        stateOrProvince:
          type: string
        postalCode:
          type: string
        countryCode:
          type: string
        splc:
          type: string
    Party:
      type: object
      properties:
        partyType:
          type: string
          enum:
            - '11'
            - AO
            - AP
            - AQ
            - BN
            - BT
            - C1
            - CB
            - CD
            - CE
            - CH
            - CN
            - CV
            - DH
            - DM
            - FW
            - HW
            - HX
            - HZ
            - IM
            - MC
            - N1
            - OH
            - OM
            - PF
            - PU
            - PV
            - RP
            - SF
            - SH
            - SS
            - ST
            - SU
            - TR
            - UC
            - XB
            - XQ
            - XR
            - XU
            - ZS
        name:
          type: string
        idCodeQualifier:
          type: string
          enum:
            - '1'
            - '2'
            - '9'
            - '12'
            - '17'
            - '20'
            - AB
            - AI
            - BF
            - BN
            - C5
            - FI
            - IN
            - M5
            - '93'
        idCode:
          type: string
        entitySubIdentifierRelationshipCode:
          type: string
        entitySubIdentifierCode:
          type: string
        additionalNames:
          type: array
          items:
            type: string
        address:
          type: array
          items:
            type: string
        cityName:
          type: string
        stateOrProvince:
          type: string
        postalCode:
          type: string
        countryCode:
          type: string
        locationQualifier:
          type: string
        locationIdentifier:
          type: string
        countrySubdivisionCode:
          type: string
        administrativeContacts:
          type: array
          items:
            $ref: '#/components/schemas/AdministrativeContact'
        billingInfo:
          type: array
          items:
            $ref: '#/components/schemas/BillingInformation'
        referenceInfo:
          type: array
          items:
            $ref: '#/components/schemas/ReferenceInfo'
    RouteEntry:
      type: object
      properties:
        carrierCode:
          type: string
        junctionCode:
          type: string
        routingSequenceCode:
          type: string
          enum:
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
            - '9'
            - '10'
            - '11'
            - '12'
            - '13'
            - '14'
            - '15'
            - '16'
            - '17'
            - '18'
            - '19'
            - '20'
            - A
            - D
            - H
            - I
            - JD
            - JI
            - JO
            - M
            - R
            - S
            - V
        splc:
          type: string
        intermodalServiceCode:
          type: string
        additionalSwitchCarrierCodes:
          type: array
          items:
            type: string
    EmptyCarDisposition:
      type: object
      properties:
        destinationConsigneeName:
          type: string
        destinationConsigneeIdQualifier:
          type: string
        destinationConsigneeId:
          type: string
        destinationCityName:
          type: string
        destinationStateOrProvince:
          type: string
        destinationPostalCode:
          type: string
        destinationCountryCode:
          type: string
        destinationAddress:
          type: string
        destinationRoute:
          type: array
          items:
            $ref: '#/components/schemas/RouteEntry'
    LineItem:
      type: object
      properties:
        number:
          type: integer
        descriptions:
          type: array
          items:
            $ref: '#/components/schemas/LineItemDescription'
        quantity:
          $ref: '#/components/schemas/LineItemQuantity'
        measurements:
          type: array
          items:
            $ref: '#/components/schemas/Measurement'
        priceAuthorities:
          type: array
          items:
            $ref: '#/components/schemas/PriceAuthority'
    HazardousInformation:
      type: object
      properties:
        ladingUnitCode: 1611c4dc-8c6a-4ff8-a955-6b81774cba80
        ladingQuantity:
          type: number
        unIdCode:
          type: string
        unPageNumber:
          type: string
        commodityCode:
          type: string
        unitCode: a65fa42f-21ce-4451-a3fc-a1ce43de5090
        quantity:
          type: number
        compartmentIdCode:
          type: string
        residueIndicatorCode:
          type: string
        packagingGroupCode:
          type: string
        interimHazmatRegulatoryNumber:
          type: string
        industryCode:
          type: string
        classificationInfo:
          type: array
          items:
            $ref: '#/components/schemas/HazardousClassificationInformation'
        hazmatShippingNameInfo:
          type: array
          items:
            $ref: '#/components/schemas/HazmatShippingNameInformation'
        hazmatAdditionalInfo:
          type: array
          items:
            $ref: '#/components/schemas/HazmatFreeFormInformation'
        epaRequiredData:
          type: array
          items:
            $ref: '#/components/schemas/EPARequiredData'
        canadianDangerousRequirements:
          type: array
          items:
            $ref: '#/components/schemas/CanadianDangerousRequirements'
        transborderHazardousRequirements:
          type: array
          items:
            $ref: '#/components/schemas/TransborderHazardousRequirements'
        hazmatReferenceNumbers:
          type: array
          items:
            $ref: '#/components/schemas/HazmatReferenceNumber'
        administrativeContacts:
          type: array
          items:
            $ref: '#/components/schemas/AdministrativeContact'
        parties:
          type: array
          items:
            $ref: '#/components/schemas/Party'
    HazardousCertification:
      type: object
      properties:
        name:
          type: string
    Release:
      type: object
      properties:
        releaseCode:
          type: string
          enum:
            - B
            - R
        releaseDate:
          type: string
        releaseTime:
          type: string
    WagonDamage:
      type: object
      properties:
        reportId:
          type: string
          description: Report identifier for the damage.
        damageStatus:
          type: integer
          description: Status code for the damage.
        damageCode:
          type: string
          description: Damage code.
        damageDescription:
          type: string
          description: Description of the damage.
        damageIsNew:
          type: boolean
          description: Whether the damage is new.
        eventTimestamp:
          type: string
          format: date-time
          description: Timestamp of the damage event.
    Terminal:
      type: object
      description: Port or terminal location on equipment (X12 R4).
      properties:
        terminalFunctionCode:
          type: string
          enum:
            - '1'
            - '5'
            - '6'
            - '7'
            - D
            - E
            - I
            - L
            - M
            - P
            - R
        locationQualifier:
          type: string
          enum:
            - CS
            - D
            - K
            - OL
            - SL
            - UN
            - ZZ
        locationIdentifier:
          type: string
        portName:
          type: string
    InterchangeMoveAuthority:
      type: object
      description: Interchange move authority on equipment (X12 IMA).
      properties:
        movementAuthorityCode:
          type: string
          enum:
            - A
            - B
            - C
            - D
            - DS
            - E
            - G
            - HM
            - I
            - L
            - 'N'
            - NC
            - NU
            - O
            - OA
            - OS
            - P
            - R
            - RB
            - S
            - W
            - X
        carrierCode:
          type: string
        terminalTariffApplicationCode:
          type: string
          enum:
            - D
            - E
            - F
        stateTariffApplicationCode:
          type: string
          enum:
            - 'N'
            - S
        rejectReasonCode:
          type: string
          enum:
            - AD
            - BA
            - BC
            - BD
            - BG
            - BL
            - BO
            - BV
            - BW
            - CN
            - CR
            - CW
            - DD
            - DR
            - DS
            - DV
            - ER
            - FD
            - FR
            - HB
            - HH
            - HX
            - LK
            - OG
            - OV
            - RF
            - RH
            - SU
            - ZZ
    EquipmentShipmentInformation:
      type: object
      description: >-
        Per-equipment customs and tariff block (Carta Porte). Required on
        cross-border US–Mexico waybills; attach under
        waybill.equipmentDetails[], not waybill.lineItems[].
      properties:
        referenceIdQualifier:
          type: string
          description: >-
            Reference identification qualifier (X12 REF01). Use "UNC" for
            UNSPSC-classified Carta Porte commodities.
        referenceId:
          type: string
          description: >-
            Reference value (X12 REF02). For Carta Porte, the UNSPSC code when
            referenceIdQualifier is UNC.
        description:
          type: string
        extendedReferenceInfo:
          type: array
          description: >-
            Extended references on this shipment-info block. Carta Porte
            requires MTC (Mexico tariff) entries; hazardous shipments also
            require MHC.
          items:
            $ref: '#/components/schemas/ExtendedReferenceInformation'
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/EquipmentLineItem'
    AdministrativeContact:
      type: object
      properties:
        contactFunctionCode:
          type: string
        name:
          type: string
        communicationNumbers:
          type: array
          items:
            $ref: '#/components/schemas/CommunicationNumber'
        contactInquiryReference:
          type: string
    BillingInformation:
      type: object
      properties:
        rebillReasonCode:
          type: string
          enum:
            - RC
            - RD
        origin:
          $ref: '#/components/schemas/Station'
        destination:
          $ref: '#/components/schemas/Station'
        carrierCodes:
          type: array
          items:
            type: string
    ReferenceInfo:
      type: object
      properties:
        referenceIdQualifier:
          type: string
        referenceId:
          type: string
        description:
          type: string
    LineItemDescription:
      type: object
      properties:
        ladingDescription:
          type: string
        commodityCode:
          type: string
        commodityCodeQualifier:
          type: string
          enum:
            - '3'
            - J
            - L
            - T
        packagingCode:
          type: string
        marksAndNumbers:
          type: string
        marksAndNumbersQualifier:
          type: string
        hazmatRatingCommodityCodeQualifier:
          type: string
        hazmatRatingCommodityCode:
          type: string
        compartmentIdCode:
          type: string
    LineItemQuantity:
      type: object
      properties:
        billedAsQuantity:
          type: number
        billedAsQualifier:
          type: string
          enum:
            - DM
            - GL
            - NC
            - ND
            - NP
            - NU
            - NV
        weight:
          type: number
        weightQualifier:
          type: string
          enum:
            - A3
            - B
            - C
            - E
            - G
            - J
            - K
            - M
            - 'N'
            - O
            - S
            - X
        volume:
          type: number
        volumeUnitQualifier:
          type: string
          enum:
            - B
            - C
            - D
            - E
            - F
            - G
            - H
            - L
            - M
            - 'N'
            - R
            - S
            - T
            - U
            - V
            - X
        ladingQuantity:
          type: number
        packagingFormCode:
          type: string
        dunnageDescription:
          type: string
        weightUnitCode:
          type: string
        typeOfServiceCode:
          type: string
    Measurement:
      type: object
      properties:
        measurementReferenceIdCode:
          type: string
        measurementQualifier:
          type: string
        measurementValue:
          type: number
        unitCode:
          type: string
          enum:
            - 1E
            - 1F
            - 1H
            - 1J
            - 1K
            - 1L
            - '20'
            - '21'
            - AB
            - B4
            - B5
            - BA
            - BD
            - BE
            - BF
            - BG
            - BI
            - BN
            - BO
            - BR
            - BU
            - BV
            - BX
            - C4
            - CA
            - CC
            - CE
            - CF
            - CH
            - CI
            - CL
            - CM
            - CN
            - CP
            - CR
            - CT
            - CU
            - CX
            - CY
            - DF
            - DG
            - DH
            - DJ
            - DK
            - DL
            - DR
            - DT
            - DZ
            - FA
            - FO
            - FT
            - GA
            - GH
            - GI
            - GR
            - HA
            - HG
            - HJ
            - HM
            - IN
            - JE
            - JR
            - JU
            - KE
            - KG
            - KT
            - LB
            - LG
            - LP
            - LT
            - M5
            - M8
            - ME
            - ML
            - MM
            - MP
            - MR
            - MS
            - MT
            - MU
            - NC
            - NS
            - NT
            - NW
            - OZ
            - PA
            - PC
            - PH
            - PK
            - PL
            - PT
            - PV
            - PX
            - PY
            - PZ
            - QR
            - QS
            - QT
            - QU
            - RL
            - RM
            - SC
            - SF
            - SH
            - SI
            - SJ
            - SM
            - SV
            - SW
            - SY
            - TB
            - TE
            - TK
            - TO
            - TX
            - TY
            - UN
            - VI
            - WH
            - YD
            - ZZ
        rangeMinimum:
          type: number
        rangeMaximum:
          type: number
        measurementSignificanceCode:
          type: string
        measurementAttributeCode:
          type: string
        surfaceLayerPositionCode:
          type: string
        measurementMethodOrDevice:
          type: string
        codeListQualifier:
          type: string
        industryCode:
          type: string
    PriceAuthority:
      type: object
      properties:
        referenceIdQualifier:
          type: string
        referenceId:
          type: string
        primaryPublicationAuthority:
          type: string
        regulatoryAgencyCode:
          type: string
        tariffAgencyCode:
          type: string
        issuingCarrierIdentifier:
          type: string
        suffix:
          type: string
        itemNumber:
          type: string
        supplementIdentifier:
          type: string
        sectionNumber:
          type: string
        itemNumberSuffix:
          type: string
        effectiveDate:
          type: string
        expirationDate:
          type: string
    HazardousClassificationInformation:
      type: object
      properties:
        hazardousClass:
          type: string
        hazardousClassQualifier:
          type: string
          enum:
            - P
            - S
        hazardousPlacardNotation:
          type: string
        hazardousEndorsement:
          type: string
        reportableQuantityCode:
          type: string
          enum:
            - RQ
        flashpointUnitCode: e1b9ccbf-b135-456d-8988-455fac05a079
        flashpointTemperature:
          type: number
        controlUnitCode: 620a33a5-50fd-4265-8d7f-9aa59db91f83
        controlTemperature:
          type: number
        emergencyUnitCode: f17fbcec-e527-410b-ab7e-818e2c2b3cc7
        emergencyTemperature:
          type: number
        netExplosiveWeightUnitCode:
          type: string
        netExplosiveWeight:
          type: number
    HazmatShippingNameInformation:
      type: object
      properties:
        hazmatShippingName:
          type: string
        hazmatShippingNameQualifier:
          type: string
          enum:
            - C
            - D
            - I
        nosIndicatorCode:
          type: string
        railSafetySensitiveMaterial:
          type: boolean
    HazmatFreeFormInformation:
      type: object
      properties:
        hazmatShippingInfoQualifier:
          type: string
          enum:
            - ADI
            - CER
            - D13
            - D20
            - DRC
            - DWW
            - EQP
            - FUM
            - HOT
            - HZC
            - INH
            - LQY
            - MOS
            - MPI
            - NOD
            - PIH
            - POI
            - RAM
            - TEC
            - TNM
            - WST
        hazmatShippingInfo:
          type: string
        hazmatShippingInfoOverflow:
          type: string
        hazardZoneCode:
          type: string
        radioactiveActivityUnitCode:
          type: string
          enum:
            - 1T
            - 4N
            - G4
            - R2
        radioactiveActivity:
          type: number
        radioactiveTransportIndex:
          type: number
        fumigationDate:
          type: string
    EPARequiredData:
      type: object
      properties:
        epaWasteStreamNumberCode:
          type: string
        wasteCharacteristicsCode:
          type: string
        hazardousWasteNumberStateOrProvince:
          type: string
        hazardousWasteNumber:
          type: string
    CanadianDangerousRequirements:
      type: object
      properties:
        emergencyResponsePlanNumber:
          type: string
        communicationNumber:
          type: string
        packagingGroupCode:
          type: string
        firstSubsidiaryClassification:
          type: string
        secondSubsidiaryClassification:
          type: string
        thirdSubsidiaryClassification:
          type: string
        subsidiaryRiskIndicator:
          type: string
        netExplosiveQuantity:
          type: number
        canadianHazardousNotation:
          type: string
        specialCommodityIndicatorCode:
          type: string
        additionalCommunicationNumber:
          type: string
        netExplosiveQuantityUnitCode: b14476a9-aad2-42c4-91b0-37ec66241609
        hazmatShipmentInfoQualifier:
          type: string
        hazmatQuantity:
          type: number
        hazmatQuantityUnitCode: 9839b5bd-3d67-44b3-b4e9-3a588a369797
    TransborderHazardousRequirements:
      type: object
      properties:
        hazardousClassification:
          type: string
        hazardousPlacardNotation:
          type: string
        hazardousEndorsement:
          type: string
    HazmatReferenceNumber:
      type: object
      properties:
        referenceIdQualifier:
          type: string
        referenceId:
          type: string
        date:
          type: string
    EquipmentLineItem:
      type: object
      description: >-
        Per-commodity line on equipment shipment information (X12 417 N1 loop).
        Used for Carta Porte on cross-border waybills; quantity is a flat
        number, not the nested LineItemQuantity on waybill.lineItems[].
      properties:
        quantity:
          type: number
          description: Commodity quantity (X12 N1001).
        commodityDescription:
          type: string
        marksAndNumbers:
          type: string
        commodityCodeQualifier:
          type: string
          enum:
            - '3'
            - J
            - L
            - T
        commodityCode:
          type: string
        customsShipmentValue:
          type: integer
        weightUnitCode:
          type: string
          enum:
            - E
            - K
            - L
            - S
            - T
        weight:
          type: number
          description: Commodity weight (X12 N1008).
        cbpBarcodeNumber:
          type: string
        smallestExteriorPackageType:
          type: string
          description: Required for Carta Porte shipmentInfo line items (X12 N1010).
        originCountryCode:
          type: string
        destinationCountryCode:
          type: string
        currencyCode:
          type: string
    CommunicationNumber:
      type: object
      properties:
        qualifier:
          type: string
        number:
          type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-arms-api-key
      description: Your ARMS API key
    AssumeUser:
      type: apiKey
      in: header
      name: x-arms-assume-user
      description: Email of a user assigned to the appropriate user group

````