> ## 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.

# Empty equipment

> Mark cars empty, the same way the **Empty** button in ARMS does. For each car, ARMS takes its current loaded waybill and creates the empty waybill from it: shipper and consignee swapped, route reversed, commodity kept as last contained, non-revenue (`NR`), origin at the car's current station. If the carrier has turned off reverse routing for empties, the current waybill is emptied in place instead.

Usage notes:
- Name each car by `initialAndNumber` or by `equipmentId`, not both. Cars are looked up in the `carrierId` carrier's inbound or online inventory only.
- A car that is already empty is left as it is and returned with `changed: false`. Resending is safe.
- A car whose current waybill is not a loaded waybill (for example one with no shipment qualifier) is refused with 412, as is a car that is not at a station or whose station has no FSAC.
- Cars carrying containers are refused with 400; deramp them instead.
- The whole request is one transaction: any error writes nothing.
- `emptyTime` with an offset (for example `-07:00` or `Z`) is used as given. Without an offset it is read as the carrier's local time, and when it is left out it is now. Its date, in that time zone, becomes the empty waybill's date.
- Do not empty cars with `POST /ims/waybills/bill-of-lading`: it ignores `loadStatus` and creates a new waybill with no parties or route.
- A missing permission returns 401.



## OpenAPI

````yaml /user-docs/api-reference/external-openapi.json post /ims/equipment/empty-equipment
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/empty-equipment:
    post:
      summary: Empty equipment
      description: >-
        Mark cars empty, the same way the **Empty** button in ARMS does. For
        each car, ARMS takes its current loaded waybill and creates the empty
        waybill from it: shipper and consignee swapped, route reversed,
        commodity kept as last contained, non-revenue (`NR`), origin at the
        car's current station. If the carrier has turned off reverse routing for
        empties, the current waybill is emptied in place instead.


        Usage notes:

        - Name each car by `initialAndNumber` or by `equipmentId`, not both.
        Cars are looked up in the `carrierId` carrier's inbound or online
        inventory only.

        - A car that is already empty is left as it is and returned with
        `changed: false`. Resending is safe.

        - A car whose current waybill is not a loaded waybill (for example one
        with no shipment qualifier) is refused with 412, as is a car that is not
        at a station or whose station has no FSAC.

        - Cars carrying containers are refused with 400; deramp them instead.

        - The whole request is one transaction: any error writes nothing.

        - `emptyTime` with an offset (for example `-07:00` or `Z`) is used as
        given. Without an offset it is read as the carrier's local time, and
        when it is left out it is now. Its date, in that time zone, becomes the
        empty waybill's date.

        - Do not empty cars with `POST /ims/waybills/bill-of-lading`: it ignores
        `loadStatus` and creates a new waybill with no parties or route.

        - A missing permission returns 401.
      operationId: emptyEquipment
      parameters:
        - $ref: '#/components/parameters/CarrierId'
        - $ref: '#/components/parameters/ViewAsUserGroup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmptyEquipmentExternalInput'
            examples:
              byInitialAndNumber:
                summary: Empty two cars by reporting mark and number
                value:
                  items:
                    - initialAndNumber: MGLX 5493
                    - initialAndNumber: MGLX 5511
                  emptyTime: '2026-10-30T08:05:00-06:00'
              byEquipmentId:
                summary: Empty a car by equipment id, now
                value:
                  items:
                    - equipmentId: 123456
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyEquipmentExternalOutput'
        '400':
          description: >-
            Bad Request (validation failed, a car named twice, or a car carrying
            containers; nothing was written)
        '401':
          description: Unauthorized (bad key, carrier not permitted, or missing permission)
        '404':
          description: >-
            Not Found (a car is not in the carrier's inbound or online
            inventory; nothing was written)
        '412':
          description: >-
            Precondition Failed (a car's current waybill is not loaded, or the
            car is not at a station with an FSAC; nothing was written)
        '500':
          description: Internal Server Error (nothing was written; safe to retry)
        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:
    EmptyEquipmentExternalInput:
      type: object
      description: >-
        Request body for emptying cars. The whole request is applied or rejected
        as one unit.
      required:
        - items
      properties:
        carrierId:
          type: integer
          description: >-
            Carrier identifier. Optional here; the carrierId query parameter is
            required and takes precedence.
        items:
          type: array
          minItems: 1
          maxItems: 500
          description: The cars to empty, each at most once.
          items:
            $ref: '#/components/schemas/EmptyEquipmentExternalItem'
        emptyTime:
          type: string
          format: date-time
          nullable: true
          description: >-
            When the cars were emptied. A time with an offset is used as given;
            a time without one is read as the carrier's local time. Defaults to
            now. Its date becomes the empty waybill's date.
    EmptyEquipmentExternalOutput:
      type: object
      properties:
        items:
          type: array
          description: One entry per requested car, in request order.
          items:
            $ref: '#/components/schemas/EmptyEquipmentExternalResult'
    Error:
      type: object
      properties:
        message:
          type: string
    EmptyEquipmentExternalItem:
      type: object
      description: One car. Give exactly one of initialAndNumber or equipmentId.
      properties:
        initialAndNumber:
          type: string
          nullable: true
          description: >-
            Reporting mark and number, e.g. "MGLX 5493". Case and leading zeros
            don't matter.
        equipmentId:
          type: integer
          nullable: true
          description: ARMS equipment id, as returned by listInventory.
    EmptyEquipmentExternalResult:
      type: object
      description: Outcome for one car, in request order.
      properties:
        equipmentId:
          type: integer
          description: ARMS equipment id.
        initialAndNumber:
          type: string
          description: Reporting mark and number.
        changed:
          type: boolean
          description: false if the car was already empty and nothing was written.
        previousWaybillId:
          type: integer
          nullable: true
          description: >-
            The car's loaded waybill before this call. When the carrier empties
            waybills in place instead of reverse routing, this is the same
            waybill as `waybill`. Left out when changed is false.
        waybill:
          $ref: '#/components/schemas/Waybill'
          description: The car's current waybill after this call.
    Waybill:
      type: object
      properties:
        loadStatus:
          type: string
          description: >-
            Read-only. Ignored when creating or updating a bill of lading; to
            empty a car use POST /ims/equipment/empty-equipment.
        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
        tags:
          type: object
          additionalProperties:
            type: string
          description: >-
            Waybill tags as a map of <Category>: <Tag>, e.g. {"Default
            category": "Dirty"}. Categories and tags are carrier-defined under
            ARMS Settings → Billing tags. On create, each pair must match the
            carrier allowlist (HTTP 412 if invalid). On update, request tags are
            ignored; responses may still include stored tags.
    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: a0656b36-7388-4d88-bc07-739c70a4489a
        ladingQuantity:
          type: number
        unIdCode:
          type: string
        unPageNumber:
          type: string
        commodityCode:
          type: string
        unitCode: 7ee38103-1f53-4c3f-bc63-8f9f4c756c00
        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
    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: b86bc075-cd95-4150-a1a9-faad99f617a5
        flashpointTemperature:
          type: number
        controlUnitCode: 9d7cb132-d2e2-4123-aa3e-914d56ddca61
        controlTemperature:
          type: number
        emergencyUnitCode: 5771cc1a-14f1-4310-974d-52863611ef73
        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: dc43cc37-2c0e-47a3-b564-494a3fa6793a
        hazmatShipmentInfoQualifier:
          type: string
        hazmatQuantity:
          type: number
        hazmatQuantityUnitCode: 89fe3f23-d8f6-40aa-b237-d3071ba9bacf
    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

````

## Related topics

- [API Introduction](https://docs.cedarai.com/user-docs/api-reference/introduction.md)
- [Create bill of lading](https://docs.cedarai.com/api-reference/create-bill-of-lading.md)
- [Haulage Management](https://docs.cedarai.com/user-docs/arms/haulage.md)
- [Update equipment notes](https://docs.cedarai.com/api-reference/update-equipment-notes.md)
- [Update bill of lading](https://docs.cedarai.com/api-reference/update-bill-of-lading.md)
