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

# List Shipper Quotes



## OpenAPI

````yaml /user-docs/api-reference/quotes.swagger.json post /shipper/quotes
openapi: 3.0.1
info:
  title: protobuf/shipping/v1/quotes.proto
  version: version not set
servers:
  - description: Production (US)
    url: https://api-lg-k.arms.cedarai.com
  - description: Production (EU)
    url: https://api-lg-k.arms.cedarai.se
security:
  - ApiKeyAuth: []
    AssumeUserAuth: []
tags:
  - name: QuotesService
paths:
  /shipper/quotes:
    post:
      tags:
        - QuotesService
      summary: List Shipper Quotes
      operationId: ListQuotes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1ListQuotesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1ListQuotesResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
components:
  schemas:
    v1ListQuotesRequest:
      properties:
        aar_car_type_pattern:
          description: >-
            Optional exact AAR/UMET car type pattern (for example "A-4" for plug
            doors)

            used for quote equipment assumptions and ARCT condition evaluation.
          type: string
        car_types:
          description: >-
            Optional car type overrides used for rating/equipment assumptions.

            Deprecated for new clients in favor of equipment_profiles, which
            also supports

            special quote-only types and additional measurement ranges.

            When provided, quote search matches rates for any selected car type.
          items:
            $ref: '#/components/schemas/v1CarType'
          type: array
        contents:
          $ref: '#/components/schemas/v1Contents'
        contract_cifs:
          description: >-
            Contract CIF filters. If provided, matching contract quotes are
            included

            in addition to tariff results.
          items:
            type: string
          type: array
        destination:
          $ref: '#/components/schemas/v1Geography'
        destination_cifs:
          description: >-
            Customer CIFs at the destination; SCRS counterpart of origin_cifs
            for destinations.
          items:
            type: string
          type: array
        destination_unknown:
          description: >-
            Rule 11 segment pricing counterpart of origin_unknown: continuation
            beyond the

            destination gateway is unknown and unpriced. Same geography handling
            and

            junction-narrowing as origin_unknown. Requires method_of_payment =
            RULE_11.
          type: boolean
        destinations:
          description: >-
            List of candidate destination locations. Prefer this over the single
            destination input.
          items:
            $ref: '#/components/schemas/v1Geography'
          type: array
        equipment_ownership_statuses:
          description: >-
            Optional equipment ownership status filters. When provided, quote
            search

            matches rates whose EQOS conditions include any of the selected
            statuses.
          items:
            $ref: '#/components/schemas/v1EquipmentOwnershipStatus'
          type: array
        equipment_profiles:
          description: >-
            Optional equipment profile filters. When provided, quote search
            matches

            rates for any selected profile.
          items:
            $ref: '#/components/schemas/v1EquipmentProfile'
          type: array
        exclude_carriers:
          description: >-
            Carriers (reporting marks / SCAC, for example "BNSF", "UP") to
            exclude from routing. Any

            candidate route that involves one of these carriers on any leg is
            dropped from the results.

            Empty means no carrier exclusion is applied. Compared
            case-insensitively.
          items:
            type: string
          type: array
        exclude_junctions:
          description: >-
            Junction / gateway codes (for example "DIANN") to exclude from
            routing. Any candidate route

            that interchanges through one of these junctions is dropped from the
            results. Empty means no

            junction exclusion is applied. Compared case-insensitively.
          items:
            type: string
          type: array
        method_of_payment:
          $ref: '#/components/schemas/v1ShipmentMethodOfPayment'
        number_of_cars:
          description: Number of cars requested for the movement. Omitted/0 defaults to 1.
          format: int32
          type: integer
        origin:
          $ref: '#/components/schemas/v1Geography'
        origin_cifs:
          description: >-
            Customer CIFs at the origin. When provided, candidate origin
            stations are filtered to those

            onto which at least one of these customers may switch traffic under
            SCRS (Serving Carrier

            Reciprocal Switch) rules. Empty means no SCRS origin restriction is
            applied.
          items:
            type: string
          type: array
        origin_unknown:
          description: >-
            Rule 11 segment pricing: the true origin of the movement is unknown;
            the origin

            geographies (any supported form — city/state, FSAC, SPLC, or
            junction) locate the KNOWN

            gateway where the movement enters the priced portion. The location
            is narrowed to its

            stations at an interchange junction; a location with no junction
            station fails with

            INVALID_ARGUMENT (LOCATION_HAS_NO_GATEWAY). The priced portion is
            rated as part of a

            larger Rule 11 move arriving via that gateway (prior movement
            unpriced). Requires

            method_of_payment = RULE_11. May be combined with
            destination_unknown to price a bridge

            segment between two gateways.
          type: boolean
        origins:
          description: >-
            List of candidate origin locations. This should be at most a
            handful, preferably fewer than 10.

            Prefer this over the single origin input.
          items:
            $ref: '#/components/schemas/v1Geography'
          type: array
        route:
          $ref: '#/components/schemas/v1Route'
        ship_date:
          description: >-
            Desired shipment date used for applicability/rating in ISO8601
            format.

            Use YYYY-MM-DD (for example: "2026-03-03").
          type: string
      type: object
    v1ListQuotesResponse:
      properties:
        quotes:
          description: Candidate quotes returned for the request.
          items:
            $ref: '#/components/schemas/v1Quote'
          type: array
      type: object
    rpcStatus:
      properties:
        code:
          format: int32
          type: integer
        details:
          items:
            $ref: '#/components/schemas/protobufAny'
          type: array
        message:
          type: string
      type: object
    v1CarType:
      enum:
        - ALL_CAR_TYPES
        - BI_LEVEL
        - BOX_CAR
        - BULKHEAD
        - CLOSED
        - CLOSED_BI_LEVEL
        - CLOSED_TRI_LEVEL
        - COIL
        - COVERED_COIL
        - COVERED_GONDOLA
        - CUSHIONED_BOX_CAR
        - FLAT_PEDESTAL
        - GONDOLA
        - GRAVITY_FLOW
        - INSULATED_BOX_CAR
        - MECHANICAL_REFRIGERATOR
        - OPEN
        - OPEN_COIL_CARS
        - OPEN_GONDOLA
        - OPEN_HOPPER
        - PLUG_DOORS
        - TRI_LEVEL
        - TRIPLE_CROSS_HOPPER
      type: string
    v1Contents:
      properties:
        quantity:
          $ref: '#/components/schemas/v1Quantity'
        stccs_or_prefixes:
          description: List of candidate STCCs / STCC prefixes for the shipment commodity.
          items:
            type: string
          type: array
      type: object
    v1Geography:
      properties:
        carrier_fsac:
          $ref: '#/components/schemas/v1CarrierFsac'
        city_state:
          $ref: '#/components/schemas/v1CityState'
        junction:
          $ref: '#/components/schemas/v1Junction'
        splc:
          $ref: '#/components/schemas/v1Splc'
      type: object
    v1EquipmentOwnershipStatus:
      description: |-
        Equipment ownership status categories used in EQOS shipment conditions.

         - HIGHWAY_CARRIER: H - Highway carrier
         - SHIPPER_OWNED_OR_LEASED: S - Shipper owned or leased
         - STEAMSHIP_LINES: O - Steamship lines
         - RAILROAD_OWNED_OR_LEASED: R - Railroad owned or leased
      enum:
        - HIGHWAY_CARRIER
        - SHIPPER_OWNED_OR_LEASED
        - STEAMSHIP_LINES
        - RAILROAD_OWNED_OR_LEASED
      type: string
    v1EquipmentProfile:
      properties:
        car_type:
          $ref: '#/components/schemas/v1CarType'
        measurements:
          description: |-
            Dimension filters applied to the profile. At most one entry per
            MeasurementDimension.
          items:
            $ref: '#/components/schemas/v1MeasurementFilter'
          type: array
        name:
          description: >-
            Optional friendly label such as "60BC". Carrier-specific
            abbreviations.
          type: string
        special_car_type:
          $ref: '#/components/schemas/v1QuoteSpecialCarType'
      type: object
    v1ShipmentMethodOfPayment:
      enum:
        - PREPAID
        - COLLECT
        - RULE_11
      type: string
    v1Route:
      properties:
        entries:
          description: Structured route entries in movement order.
          items:
            $ref: '#/components/schemas/v1RouteEntry'
          type: array
        val:
          description: >-
            Canonical route string representation (for example:
            "AA-DIANN-GTW-CHGO-BNSF").
          type: string
      type: object
    v1Quote:
      properties:
        created_at:
          description: >-
            When this quote was first generated. Populated by GetQuote (from the
            persisted reconstruction

            mapping) so callers can tell when an id was minted; unset on live
            ListQuotes responses.
          format: date-time
          type: string
        distance:
          $ref: '#/components/schemas/v1QuoteDistance'
        furtherance_beyond_destination:
          description: >-
            Rule 11 segment pricing counterpart
            (ListQuotesRequest.destination_unknown): continuation

            beyond the last leg's destination gateway junction is unknown and
            NOT included in the quoted

            total. Omitted otherwise.
          type: boolean
        legs:
          description: Quote legs, each with its own route, distance, and itemized charges.
          items:
            $ref: '#/components/schemas/v1QuoteLeg'
          type: array
        name:
          description: Stable quote identifier.
          type: string
        number_of_cars:
          description: Number of cars used to scale per-car and aggregate quote amounts.
          format: int32
          type: integer
        prior_movement_before_origin:
          description: >-
            Rule 11 segment pricing (ListQuotesRequest.origin_unknown): the
            movement's true origin is

            unknown — it enters the priced portion at the first leg's origin
            gateway junction, and the

            prior movement is NOT included in the quoted total. Omitted
            otherwise.
          type: boolean
        route:
          $ref: '#/components/schemas/v1Route'
        total:
          $ref: '#/components/schemas/v1Money'
      type: object
    protobufAny:
      additionalProperties:
        type: object
      properties:
        '@type':
          type: string
      type: object
    v1Quantity:
      properties:
        amount:
          $ref: '#/components/schemas/typeDecimal'
        units:
          $ref: '#/components/schemas/v1Units'
      type: object
    v1CarrierFsac:
      properties:
        carrier:
          description: Reporting marks / railroad code (for example, BNSF, UP, CSXT).
          type: string
        fsac:
          description: >-
            FSAC (Freight Station Accounting Code) for the location on the
            carrier.
          type: string
      type: object
    v1CityState:
      properties:
        city:
          description: City name for the location.
          type: string
        state_or_province:
          description: State or province code (for example, TX, ON).
          type: string
      type: object
    v1Junction:
      properties:
        junction_code:
          description: >-
            Industry junction code used when identifying a location by
            interchange.
          type: string
      type: object
    v1Splc:
      properties:
        splc:
          description: SPLC identifier for the location.
          type: string
      type: object
    v1MeasurementFilter:
      description: |-
        A single dimension constraint on an EquipmentProfile.
        A profile may carry at most one filter per dimension.
      properties:
        dimension:
          $ref: '#/components/schemas/v1MeasurementDimension'
        range:
          $ref: '#/components/schemas/v1Range'
      type: object
    v1QuoteSpecialCarType:
      enum:
        - FLAT
        - CENTER_BEAM
      type: string
    v1RouteEntry:
      properties:
        carrier:
          description: Reporting marks / railroad code (for example, BNSF, UP, CSXT).
          type: string
        outbound_junction:
          description: Outbound junction for each leg except the final leg.
          type: string
        sequence_code:
          title: |-
            Route sequence code aligned with X12 R202.
            Supported values:
            - "1": CARRIER_AFTER_ORIGIN_1
            - "2": CARRIER_AFTER_ORIGIN_2
            - "3": CARRIER_AFTER_ORIGIN_3
            - "4": CARRIER_AFTER_ORIGIN_4
            - "5": CARRIER_AFTER_ORIGIN_5
            - "6": CARRIER_AFTER_ORIGIN_6
            - "7": CARRIER_AFTER_ORIGIN_7
            - "8": CARRIER_AFTER_ORIGIN_8
            - "9": CARRIER_AFTER_ORIGIN_9
            - "A": ORIGIN_CARRIER_AGENTS_ROUTING
            - "D": DELIVERY_SWITCH_CARRIER
            - "H": HAULAGE_RIGHTS_CARRIER_JUNCTION
            - "I": ORIGIN_SWITCH_CARRIER
            - "JD": JUNCTION_SETTLEMENT_CARRIER_FOLLOWING
            - "JI": JUNCTION_SETTLEMENT_CARRIER_INTERMEDIATE
            - "JO": JUNCTION_SETTLEMENT_CARRIER_PREDECESSOR
            - "M": HAULAGE_MOVEMENT_CARRIER_AND_JUNCTION
            - "O": ORIGIN_CARRIER_AIR_MOTOR_OCEAN
            - "R": ORIGIN_CARRIER_RULE_11
            - "S": ORIGIN_CARRIER_SHIPPERS_ROUTING
            - "V": INTERMEDIATE_SWITCH_CARRIER
          type: string
      type: object
    v1QuoteDistance:
      properties:
        source:
          $ref: '#/components/schemas/v1QuoteDistanceSource'
        value:
          $ref: '#/components/schemas/typeDecimal'
      type: object
    v1QuoteLeg:
      properties:
        billing_carrier:
          description: Billing carrier for this leg.
          type: string
        charges:
          description: Itemized charges for this leg.
          items:
            $ref: '#/components/schemas/v1Charge'
          type: array
        destination:
          $ref: '#/components/schemas/v1QuoteStation'
        distance:
          $ref: '#/components/schemas/v1QuoteDistance'
        origin:
          $ref: '#/components/schemas/v1QuoteStation'
        route:
          $ref: '#/components/schemas/v1Route'
        total:
          $ref: '#/components/schemas/v1Money'
      type: object
    v1Money:
      properties:
        cents:
          format: int32
          type: integer
        currency:
          type: string
        dollars:
          format: int64
          type: string
      type: object
    typeDecimal:
      properties:
        value:
          type: string
      type: object
    v1Units:
      enum:
        - BOARD_FEET
        - CARLOAD
        - CONTAINER
        - CORD_VOLUME
        - CUBIC_FEET
        - GALLONS
        - INTERMODAL_UNITS
        - KILOGRAMS
        - LITER
        - MILES
        - ONE_HUNDRED_BOARD_FEET
        - POUNDS
        - THOUSAND_BOARD_FEET
        - TRAILER
        - TRAIN
        - UNITS
        - VEHICLE
        - VOLUMETRIC_UNIT
      type: string
    v1MeasurementDimension:
      description: >-
        Equipment measurement dimensions used to filter quote searches.

        Units are baked into each value so a single Range can describe any
        dimension.

         - CUBIC_FEET_CAPACITY: Cubic-feet capacity, evaluated against EQCM "PF" conditions.
         - GALLONS_CAPACITY: Gallon capacity, evaluated against EQCM "PG" conditions.
         - LOAD_LIMIT_POUNDS: Load limit in pounds, evaluated against EQCM "LB" conditions.
         - NET_WEIGHT_POUNDS: Net weight in pounds, evaluated against EQCW (equipment gross weight) conditions.
      enum:
        - OUTSIDE_LENGTH_INCHES
        - INSIDE_LENGTH_INCHES
        - INSIDE_HEIGHT_INCHES
        - CUBIC_FEET_CAPACITY
        - GALLONS_CAPACITY
        - LOAD_LIMIT_POUNDS
        - NET_WEIGHT_POUNDS
      type: string
    v1Range:
      description: Inclusive integer range. Units are determined by the consuming field.
      properties:
        from:
          format: int32
          type: integer
        to:
          format: int32
          type: integer
      type: object
    v1QuoteDistanceSource:
      enum:
        - PC_MILER
        - ESTIMATED
      type: string
    v1Charge:
      properties:
        amount:
          $ref: '#/components/schemas/v1Money'
        method_of_payment:
          $ref: '#/components/schemas/v1ShipmentMethodOfPayment'
        per_car_amount:
          $ref: '#/components/schemas/v1Money'
        rate:
          $ref: '#/components/schemas/v1Rate'
        rated_quantity:
          $ref: '#/components/schemas/v1Quantity'
        special_charge_description:
          description: Raw X12/Rail 426 special charge description/L112 when present.
          type: string
        special_charge_or_allowance_code:
          description: >-
            Raw X12/Rail 426 special charge or allowance code (for example, ENS,
            HAZ, SUR).
          type: string
        type:
          $ref: '#/components/schemas/v1ChargeType'
      type: object
    v1QuoteStation:
      properties:
        carrier:
          type: string
        city:
          type: string
        fsac:
          type: string
        junction_code:
          type: string
        latitude:
          description: >-
            Resolved geographic coordinates (decimal degrees), when the station
            can be

            geocoded from the station master record. Unset when no coordinates
            are known.
          format: double
          type: number
        longitude:
          format: double
          type: number
        splc:
          type: string
        state:
          type: string
      type: object
    v1Rate:
      properties:
        amount:
          $ref: '#/components/schemas/v1Money'
        car_type_conditions:
          description: >-
            Simplified UI-oriented summary of applicable car-type conditions on
            this rate.
          items:
            $ref: '#/components/schemas/v1CarTypeCondition'
          type: array
        docket_column:
          description: Docket column number used to evaluate column-specific conditions.
          format: int64
          type: integer
        docket_level:
          description: Docket level number.
          format: int64
          type: integer
        docket_line:
          description: Docket line number.
          format: int64
          type: integer
        docket_sub_level:
          description: Docket sub-level number.
          format: int64
          type: integer
        equipment_ownership_conditions:
          description: Positive EQOS (Equipment Ownership Status) conditions on this rate.
          items:
            $ref: '#/components/schemas/v1EquipmentOwnershipStatus'
          type: array
        matching_equipment_profile_names:
          description: >-
            Names of the requesting carrier's saved equipment profiles whose
            constraints are

            compatible with this rate's equipment conditions. Multiple profiles
            may apply (for

            example, a rate that only restricts to box car matches every saved
            box car profile).

            Empty when the carrier has no matching named profiles; clients fall
            back to

            car_type_conditions for display in that case.
          items:
            type: string
          type: array
        pndr:
          $ref: '#/components/schemas/v1Pndr'
        publication:
          $ref: '#/components/schemas/v1Publication'
        qualifier:
          $ref: '#/components/schemas/v1RateQualifier'
      type: object
    v1ChargeType:
      enum:
        - FREIGHT
        - MILEAGE
        - ACCESSORIAL
      title: |-
        - MILEAGE: any fuel, even if it's not mileage based
         - ACCESSORIAL: all non-fuel misc charges
      type: string
    v1CarTypeCondition:
      properties:
        car_type:
          $ref: '#/components/schemas/v1CarType'
        sign:
          $ref: '#/components/schemas/v1ConditionSign'
      type: object
    v1Pndr:
      properties:
        docket_identifier:
          description: 'DK03: docket identifier.'
          format: int64
          type: string
        number:
          description: 'DK02: docket control number.'
          type: string
        producer:
          description: 'DK01: producing/publishing carrier mark.'
          type: string
        revision:
          description: 'DK04: docket revision (optional in many contexts).'
          format: int32
          type: integer
      type: object
    v1Publication:
      properties:
        effective_date:
          description: Effective date of this rate in ISO8601 format (YYYY-MM-DD).
          type: string
        expiration_date:
          description: |-
            Expiration date of this rate in ISO8601 format (YYYY-MM-DD).
            Omitted when there is no end date.
          type: string
        issuer:
          description: Issuing carrier or publishing authority.
          type: string
        number:
          description: Publication identifier/number.
          type: string
        suffix:
          description: Optional publication suffix.
          type: string
        type:
          $ref: '#/components/schemas/v1PublicationType'
      type: object
    v1RateQualifier:
      enum:
        - PER_BOARD_FOOT
        - PER_100_BOARD_FOOT
        - PER_1000_BOARD_FOOT
        - PER_GROSS_TON
        - PER_KILOGRAM
        - PER_KILOLITER
        - PER_KILOMETER
        - PER_POUND
        - PER_LITER
        - PER_METRIC_TON
        - PER_CONTAINER
        - PER_CAR
        - PER_CUBIC_FOOT
        - PER_GALLON
        - PER_HUNDRED_POUNDS
        - PER_INTERMODAL_UNIT
        - PER_CORD
        - PER_MILE
        - PER_NET_TON
        - PER_UNIT
        - PER_VEHICLE
        - PERCENTAGE_OF_CHARGES
        - PER_TRAIN_RATE
        - PER_TRAILER
      type: string
    v1ConditionSign:
      enum:
        - PLUS
        - MINUS
      type: string
    v1PublicationType:
      enum:
        - CONTRACT
        - TARIFF
        - QUOTE
      type: string
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-arms-api-key
      type: apiKey
    AssumeUserAuth:
      in: header
      name: x-arms-assume-user
      type: apiKey

````