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

# Bulk edit railcar charge history

> Create and delete multiple charged history records in one request (supports dry run).



## OpenAPI

````yaml /user-docs/api-reference/external-openapi.json post /ims/equipment/bulk-edit-charged-history
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/bulk-edit-charged-history:
    post:
      summary: Bulk edit railcar charge history
      description: >-
        Create and delete multiple charged history records in one request
        (supports dry run).
      operationId: bulkEditChargedHistory
      parameters:
        - $ref: '#/components/parameters/CarrierId'
        - $ref: '#/components/parameters/ViewAsUserGroup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkEditChargedHistoryInput'
            examples:
              dryrun:
                summary: Dry run delete and create
                value:
                  carrierId: 1234
                  dryrun: true
                  actions:
                    - action: DELETE
                      historyItemId: 789
                    - action: CREATE
                      equipmentId: 456
                      chargeGroupId: 123
                      timestamp: '2022-04-25T14:30:00Z'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkEditChargedHistoryOutput'
        '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:
    BulkEditChargedHistoryInput:
      type: object
      properties:
        carrierId:
          type: integer
          description: Carrier identifier to scope the bulk edit.
        dryrun:
          type: boolean
          description: If true, validates actions without applying changes.
        actions:
          type: array
          description: List of create/delete actions to apply in order.
          items:
            oneOf:
              - $ref: '#/components/schemas/DeleteChargedHistoryInstance'
              - $ref: '#/components/schemas/CreateChargedHistoryInstance'
            unevaluatedProperties: false
      required:
        - carrierId
        - dryrun
        - actions
    BulkEditChargedHistoryOutput:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/EquipmentHistoryItem'
    Error:
      type: object
      properties:
        message:
          type: string
    DeleteChargedHistoryInstance:
      type: object
      properties:
        historyItemId:
          type: integer
          description: Identifier of the charged history item to delete.
      required:
        - historyItemId
    CreateChargedHistoryInstance:
      type: object
      properties:
        equipmentId:
          type: integer
          description: Equipment resourceId for which to create a charge history record.
        chargeGroupId:
          type: integer
          description: Charge group (e.g., billing category) applied to the record.
        timestamp:
          type: string
          format: date-time
          description: Timestamp of the record (ISO 8601).
      required:
        - equipmentId
        - chargeGroupId
        - timestamp
    EquipmentHistoryItem:
      type: object
      properties:
        resourceId:
          type: integer
        uuid:
          type: string
          description: UUID that complements the legacy numeric resourceId.
        equipment:
          $ref: '#/components/schemas/RelaxedEquipment'
        moveType:
          $ref: '#/components/schemas/HistoryMoveType'
        timestamp:
          type: string
          format: date-time
        waybill:
          $ref: '#/components/schemas/Waybill'
        previousTrack:
          $ref: '#/components/schemas/Grouping'
        previousStation:
          $ref: '#/components/schemas/Grouping'
        currentTrack:
          $ref: '#/components/schemas/Grouping'
        currentStation:
          $ref: '#/components/schemas/Grouping'
        reportingFlag:
          type: string
          enum:
            - ACCEPTED
            - REJECTED
            - IMPUTED
        jobName:
          type: string
        receiveFromCarrierCode:
          type: string
        deliverToCarrierCode:
          type: string
        umlerSnapshot:
          $ref: '#/components/schemas/Umler'
        carrierId:
          type: integer
        numCharges:
          type: integer
        revisionNumber:
          type: integer
        revisionTime:
          type: string
        deletedAt:
          type: string
        mutedAt:
          type: string
    RelaxedEquipment:
      allOf:
        - $ref: '#/components/schemas/Equipment'
    HistoryMoveType:
      type: string
      enum:
        - ABNO
        - AEIE
        - AEIN
        - AEIS
        - AEIW
        - AETA
        - AETI
        - AINV
        - ARIL
        - ARRI
        - BADO
        - BFRM
        - BHVY
        - BLGT
        - BOHR
        - BXNG
        - CGIP
        - CGRD
        - CH80
        - CH81
        - CH82
        - CH83
        - CH84
        - CH85
        - CH86
        - CH89
        - CHARGED
        - CHERRYPICK
        - CPRL
        - DELIVERED
        - DFLC
        - DIGOUTS
        - DIVERT
        - DRMP
        - ECYC
        - EMPTIED
        - EQOR
        - FFBO
        - FLIP
        - FTBO
        - HADR
        - HAND
        - HANR
        - HEMB
        - HEATSTRT
        - HEATSTP
        - HHAR
        - HIGT
        - HMIS
        - HOGT
        - HUMP
        - ICHD
        - ICHR
        - IGTI
        - IGTR
        - INTERPLANT
        - INTRAPLANT
        - LCOM
        - LDCH
        - LOADED
        - LTFR
        - LTTO
        - MAWY
        - MOTR
        - MOVE
        - NOBL
        - NOTP
        - OFFERED
        - OGTI
        - OGTR
        - ORDER
        - OSTH
        - PACT
        - PASL
        - PCON
        - PFLT
        - PFPS
        - PKGD
        - PKGR
        - PLJI
        - PLLF
        - PLLT
        - PUJI
        - RAMP
        - RECEIVED
        - RECONSIGN
        - REBL
        - REJS
        - REMB
        - RFLT
        - RICD
        - RLOD
        - RMTY
        - RRFS
        - RTAA
        - RTOI
        - RTPO
        - SCYC
        - SETBACK
        - SPARGSTRT
        - SPARGSTP
        - SPECIALSWITCH
        - STEA
        - STEX
        - STOP
        - STPD
        - STPE
        - STPL
        - STRD
        - STRE
        - STRT
        - STSE
        - STSU
        - STUN
        - SWAP
        - TRIM
        - TSET
        - TURN
        - ULCH
        - UNKN
        - UNSC
        - WAYB
        - WEIGH
        - WEIGHE
        - WEIGHL
    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
    Grouping:
      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
        colorToken:
          type: string
        attributes:
          $ref: '#/components/schemas/AttributesBase'
        rules:
          $ref: '#/components/schemas/GroupingRule'
        equipmentIndexEnabled:
          type: boolean
          enum:
            - false
        deletedAt:
          type: string
        updatedAt:
          type: string
        objectType:
          type: string
          enum:
            - EQUIPMENT
            - CONTAINER
      required:
        - resourceType
        - resourceId
        - groupingType
        - attributes
        - rules
        - equipmentIndexEnabled
        - objectType
    Umler:
      allOf:
        - $ref: '#/components/schemas/UmlerCommon'
    Equipment:
      type: object
      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/IntermodalUnitResource'
        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'
    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
    AttributesBase:
      type: object
      description: Base attribute payload for grouping resources.
      additionalProperties: true
    GroupingRule:
      type: object
      description: Optional grouping rule configuration.
      additionalProperties: true
    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.
    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
    IntermodalUnitResource:
      type: object
      properties:
        resourceType:
          type: string
          enum:
            - IntermodalUnit
        resourceId:
          type: integer
        uuid:
          type: string
          description: UUID that complements the legacy numeric resourceId.
    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
    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
    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.
    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

````