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

# List Customers

> List and filter customers.



## OpenAPI

````yaml /spec/oas.yaml get /customers
openapi: 3.0.3
info:
  title: CRO Software API
  version: 2.x
  description: >-
    REST API for the CRO Software waste management and logistics platform.
    Authenticate via OAuth2 (client_credentials or authorization_code). All
    requests require a Bearer token and an X-Tenant-Id header.
servers:
  - url: https://api.crosoftware.com/v0
    description: Production
security: []
paths:
  /customers:
    get:
      tags:
        - Customers
      summary: List Customers
      description: List and filter customers.
      operationId: customers_list_customers
      parameters:
        - name: x-api-version
          in: header
          required: false
          schema:
            type: string
            description: Version identifier (date format).
        - name: x-tenant-id
          in: header
          required: true
          schema:
            type: integer
            format: int64
            description: >-
              Tenant identifier. Contact [CRO
              Software](https://crosoftwaresolutions.com/) for more info if you
              don't already have this id. See [list tenant
              ids](/docs/requests/tenants_list_tenants) for info on listing the
              tenants you have access to.
        - name: active
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              If true, return only active records. If false, return only
              inactive records. If unspecified, return all.
        - name: created_on_gte
          in: query
          required: false
          schema:
            type: string
            format: date-time
            description: >-
              Return records created on or after the specified date. If
              unspecified, return all.
        - name: is_parent
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              If true, return accounts with no parent. If false, return accounts
              with a parent. If null, all records returned.
        - name: last_updated_gte
          in: query
          required: false
          schema:
            type: string
            format: date-time
            description: >-
              Return only records updated after (must be in past). If
              unspecified, return all.
        - name: location_id
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: >-
              If specified, return only records matching this location. If
              unspecified, return all location records.
        - name: name
          in: query
          required: false
          schema:
            type: string
            description: Name (free text).
        - name: page_index
          in: query
          required: false
          schema:
            type: integer
            description: Paged results page index (starting from 1).
        - name: page_limit
          in: query
          required: false
          schema:
            type: integer
            description: Maximun number of results per page.
        - name: parent_id
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: If specified, return only children of the specified parent_id.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerListModel'
      security:
        - oauth2:
            - api
components:
  schemas:
    CustomerListModel:
      type: object
      description: Customer list (paged).
      properties:
        current_limit:
          type: integer
          description: Maximun number of results per page.
        current_page:
          type: integer
          description: Paged results page index (starting from 1).
        results:
          $ref: '#/components/schemas/CustomerModelArray'
        total_count:
          type: integer
          description: Paged results total viewable records.
        total_pages:
          type: integer
          description: Paged results total pages.
      required:
        - current_limit
        - current_page
        - results
        - total_count
        - total_pages
    CustomerModelArray:
      type: array
      items:
        $ref: '#/components/schemas/CustomerModel'
    CustomerModel:
      type: object
      description: Customer profile.
      properties:
        addresses:
          $ref: '#/components/schemas/CustomerAddressModelArray'
        contacts:
          $ref: '#/components/schemas/CustomerContactModelArray'
        created_on:
          type: string
          format: date-time
          description: Timestamp of creation (must be in past).
        id:
          type: integer
          format: int64
          description: Customer identifier.
        last_updated_on:
          type: string
          format: date-time
        locations:
          $ref: '#/components/schemas/DispatchCustomerSettingsModelArray'
        name:
          type: string
          description: Name (free text).
        parent_id:
          type: integer
          format: int64
          description: Parent record identifier.
      required:
        - addresses
        - contacts
        - created_on
        - id
        - last_updated_on
        - locations
        - name
        - parent_id
    CustomerAddressModelArray:
      type: array
      items:
        $ref: '#/components/schemas/CustomerAddressModel'
    CustomerContactModelArray:
      type: array
      items:
        $ref: '#/components/schemas/CustomerContactModel'
    DispatchCustomerSettingsModelArray:
      type: array
      items:
        $ref: '#/components/schemas/DispatchCustomerSettingsModel'
    CustomerAddressModel:
      type: object
      description: Customer address.
      properties:
        country:
          type: string
          description: >-
            Country code [(ISO 3166-1 alpha
            2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
        id:
          type: integer
          format: int64
          description: Customer address identifier.
        is_active:
          type: boolean
          description: Records marked inactive are treated as deleted (soft delete).
        is_billing:
          type: boolean
          description: If true, this is the customer's billing address.
        is_physical:
          type: boolean
          description: Physical address if true.
        is_shipping:
          type: boolean
          description: Customer's shipping address if true.
        latitude:
          type: string
          description: Latitude.
        line_1:
          type: string
          description: Street address.
        line_2:
          type: string
          description: Street address line 2.
        line_3:
          type: string
          description: Street address line 3.
        line_4:
          type: string
          description: Street address line 4 (doubles as county).
        locality:
          type: string
          description: Address locality (e.g. city).
        longitude:
          type: string
          description: longitude.
        postcode:
          type: string
          description: Postal code (may include letters and symbols).
        region:
          type: string
          description: Address region (e.g. state).
      required:
        - country
        - id
        - is_active
        - is_billing
        - is_physical
        - is_shipping
        - latitude
        - line_1
        - line_2
        - line_3
        - line_4
        - locality
        - longitude
        - postcode
        - region
    CustomerContactModel:
      type: object
      description: Customer contact.
      properties:
        email:
          type: string
          format: email
          description: Email address comma-separated list.
        fax:
          type: string
          description: Fax number (free text).
        id:
          type: integer
          format: int64
          description: Customer contact identifier.
        name:
          type: string
          description: Name (free text).
        notify_on_acknowledged_request:
          type: boolean
          description: Notify on acknowledge request.
        notify_on_completed_request:
          type: boolean
          description: Notify on completed request.
        notify_on_dispatched_request:
          type: boolean
          description: Notify on dispatched request.
        notify_on_failed_request:
          type: boolean
          description: Notify on failed request.
        notify_on_new_request:
          type: boolean
          description: Notify on new request.
        number:
          type: string
          description: Phone number (free text).
      required:
        - email
        - fax
        - id
        - name
        - notify_on_acknowledged_request
        - notify_on_completed_request
        - notify_on_dispatched_request
        - notify_on_failed_request
        - notify_on_new_request
        - number
    DispatchCustomerSettingsModel:
      type: object
      description: Customer location profile.
      properties:
        created_on:
          type: string
          format: date-time
          description: Timestamp of creation (must be in past).
        id:
          type: integer
          format: int64
          description: Customer identifier.
        is_active:
          type: boolean
          description: Records marked inactive are treated as deleted (soft delete).
        is_commercial:
          type: boolean
          description: Commercial address if true, private if false.
        last_updated_on:
          type: string
          format: date-time
        location_id:
          type: integer
          format: int64
          description: Location identifier.
        note:
          type: string
          description: Notes (free text).
        reference_number:
          type: string
          description: Reference number (free text).
        renewal_date:
          type: string
          format: date-time
          description: Renewal date.
        sales_rep:
          type: string
          description: Name of sales representative.
        sales_rep_id:
          type: string
          description: Sales rep identifier.
        suspension_id:
          type: integer
          format: int64
          description: Suspension identifier.
      required:
        - created_on
        - id
        - is_active
        - last_updated_on
        - location_id
        - renewal_date
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: REPLACE_WITH_AUTH_BASE_URL/oauth2/token
          scopes:
            api: General API access
            webhook: Webhook management
        authorizationCode:
          authorizationUrl: REPLACE_WITH_AUTH_BASE_URL/oauth2/auth
          tokenUrl: REPLACE_WITH_AUTH_BASE_URL/oauth2/token
          scopes:
            api: General API access
            webhook: Webhook management

````