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

> Searches customers (CIFs) by free text and returns each match together with the SCRS entries
in force for it today: the carriers serving each of the customer's rail stations and
their reciprocal-switching status. Your own SCRS custom entries replace the file's rows for the
same facility, exactly as ListQuotes sees them, unless exclude_custom_entries is set. Use the
returned CIFs as ListQuotesRequest.origin_cifs / destination_cifs.

Example: GET /shipper/customers?search_text=home%20depot%20austin&page_size=25



## OpenAPI

````yaml /user-docs/api-reference/quotes.swagger.json get /shipper/customers
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/customers:
    get:
      tags:
        - QuotesService
      summary: List Customers
      description: >-
        Searches customers (CIFs) by free text and returns each match together
        with the SCRS entries

        in force for it today: the carriers serving each of the customer's rail
        stations and

        their reciprocal-switching status. Your own SCRS custom entries replace
        the file's rows for the

        same facility, exactly as ListQuotes sees them, unless
        exclude_custom_entries is set. Use the

        returned CIFs as ListQuotesRequest.origin_cifs / destination_cifs.


        Example: GET
        /shipper/customers?search_text=home%20depot%20austin&page_size=25
      operationId: ListCustomers
      parameters:
        - description: >-
            Required. Free-text search: every whitespace-separated token must
            prefix-match a word of the

            customer's name, physical city, state/province, or CIF.
            Case-insensitive.

            Examples: "home depot austin tx", "006123".
          in: query
          name: search_text
          schema:
            type: string
        - description: >-
            Maximum customers to return. Defaults to 25; values above 100 are
            treated as 100.
          in: query
          name: page_size
          schema:
            format: int64
            type: integer
        - description: >-
            next_page_token from a previous response, to fetch the following
            page.
          in: query
          name: page_token
          schema:
            type: string
        - description: >-
            When true, return the SCRS file's rows only, ignoring your SCRS
            custom entries (overrides).

            Defaults to false: your custom entries replace the file's rows for
            their facility, as they do

            for ListQuotes.
          in: query
          name: exclude_custom_entries
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1ListCustomersResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
components:
  schemas:
    v1ListCustomersResponse:
      properties:
        customers:
          description: Matching customers, ordered by name, then city, state, and CIF.
          items:
            $ref: '#/components/schemas/v1QuoteCustomer'
          type: array
        next_page_token:
          description: Present when more customers match; pass it back as page_token.
          type: string
      type: object
    rpcStatus:
      properties:
        code:
          format: int32
          type: integer
        details:
          items:
            $ref: '#/components/schemas/protobufAny'
          type: array
        message:
          type: string
      type: object
    v1QuoteCustomer:
      properties:
        address:
          $ref: '#/components/schemas/v1QuoteCustomerAddress'
        cif:
          description: Nine-digit CIF (Customer Identification File number).
          type: string
        customer_location_suffix:
          description: >-
            Four-character customer location (sub-location) suffix; empty or
            "0000" for the main location.
          type: string
        name:
          description: Full customer name.
          type: string
        scrs_entries:
          description: >-
            SCRS entries for this customer in force today, one per station and
            carrier,

            ordered by station SPLC then carrier. Empty when SCRS has no row for
            the customer.
          items:
            $ref: '#/components/schemas/v1ScrsServingCarrier'
          type: array
      type: object
    protobufAny:
      additionalProperties:
        type: object
      properties:
        '@type':
          type: string
      type: object
    v1QuoteCustomerAddress:
      properties:
        city:
          type: string
        country:
          type: string
        lines:
          items:
            type: string
          type: array
        state:
          type: string
        zip:
          type: string
      type: object
    v1ScrsServingCarrier:
      description: A carrier serving the customer at one station, per SCRS.
      properties:
        carrier:
          description: Serving carrier reporting mark / SCAC (for example, BNSF, UP).
          type: string
        conditions:
          items:
            $ref: '#/components/schemas/v1ScrsCondition'
          type: array
        effective_date:
          description: Validity window (YYYY-MM-DD); unset when open-ended.
          type: string
        expiration_date:
          type: string
        fsac:
          type: string
        station_name:
          type: string
        station_splc:
          description: Station SPLC as recorded in SCRS.
          type: string
        station_state:
          type: string
        switching_status:
          $ref: '#/components/schemas/v1ScrsSwitchingStatus'
      type: object
    v1ScrsCondition:
      description: >-
        One SCRS condition row. A restricted entry permits switching only when
        its conditions hold.
      properties:
        cond_cd:
          type: string
        cond_val:
          type: string
        cond_val_from:
          type: string
        cond_val_to:
          type: string
        connection:
          type: string
        group_number:
          type: string
        relationship:
          type: string
      type: object
    v1ScrsSwitchingStatus:
      description: |2-
         - SCRS_SWITCHING_STATUS_OPEN: Reciprocal switching is open to other carriers.
         - SCRS_SWITCHING_STATUS_CLOSED: Closed: only the serving carrier may place/pull cars.
         - SCRS_SWITCHING_STATUS_LOCAL: Local-only service by the serving carrier.
         - SCRS_SWITCHING_STATUS_RESTRICTED: Reciprocal switching is open subject to the entry's conditions.
      enum:
        - SCRS_SWITCHING_STATUS_OPEN
        - SCRS_SWITCHING_STATUS_CLOSED
        - SCRS_SWITCHING_STATUS_LOCAL
        - SCRS_SWITCHING_STATUS_RESTRICTED
      type: string
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-arms-api-key
      type: apiKey
    AssumeUserAuth:
      in: header
      name: x-arms-assume-user
      type: apiKey

````

## Related topics

- [List customers](/api-reference/list-customers.md)
- [List class lists](/api-reference/list-class-lists.md)
- [List class list tasks](/api-reference/list-class-list-tasks.md)
- [Customer Portal and IAM](/user-docs/iam/customer-portal.md)
- [List notes](/api-reference/lindaservice/list-notes.md)
