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

# List customers

> Returns a paginated list of customers. Supports filtering by sales owner, customer success manager, tag IDs, active-subscription status, integration IDs, alias, and contact email.



## OpenAPI

````yaml /api-reference/v2/specs/2026-04-01.json get /customers
openapi: 3.1.0
info:
  title: Alguna Public API
  version: '2026-04-01'
servers:
  - url: https://api.alguna.io
security:
  - bearerAuth: []
tags:
  - name: Billing Events and Metrics
  - name: Credit Notes
  - name: Credits
  - name: Customer Portal Sessions
  - name: Customers
  - name: Insights
  - name: Invoices
  - name: Payments
  - name: Plans
  - name: Product Bundles
  - name: Products
  - name: Refunds
  - name: Revenue Schedules
  - name: Subscription Changes
  - name: Subscription Versions
  - name: Subscriptions
  - name: Wallet Grants
  - name: Wallets
paths:
  /customers:
    get:
      tags:
        - Customers
      summary: List customers
      description: >-
        Returns a paginated list of customers. Supports filtering by sales
        owner, customer success manager, tag IDs, active-subscription status,
        integration IDs, alias, and contact email.
      operationId: list-customers
      parameters:
        - in: header
          name: Alguna-Version
          required: true
          schema:
            enum:
              - '2026-04-01'
            type: string
        - in: query
          name: alias
          schema:
            description: Filter by customer alias (external ID)
            example: ext_customer_1
            type: string
        - explode: false
          in: query
          name: csm_id
          schema:
            description: >-
              Filter by customer success manager user ID (comma-separated to
              match any)
            example: usr_abc123
            items:
              type: string
            type: array
        - in: query
          name: email
          schema:
            description: Filter by contact email address
            example: john@example.com
            type: string
        - in: query
          name: has_active_subscriptions
          schema:
            description: Filter by whether the customer has active subscriptions
            type: boolean
        - explode: false
          in: query
          name: integration_ids
          schema:
            description: Filter by external integration IDs (comma-separated to match any)
            example: intg_abc123
            items:
              type: string
            type: array
        - in: query
          name: limit
          required: true
          schema:
            description: Number of items to return per page
            example: 20
            format: int64
            type: integer
        - in: query
          name: offset
          required: true
          schema:
            description: Number of items to skip
            example: 0
            format: int64
            type: integer
        - explode: false
          in: query
          name: sales_owner_id
          schema:
            description: Filter by sales owner user ID (comma-separated to match any)
            example: usr_abc123
            items:
              type: string
            type: array
        - in: query
          name: sort
          required: true
          schema:
            description: Sort field and direction in format field:order
            example: name:asc
            type: string
        - explode: false
          in: query
          name: tag_ids
          schema:
            description: Filter by tag IDs (comma-separated to match any)
            example: tag_abc123
            items:
              type: string
            type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerListResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
components:
  schemas:
    CustomerListResponse:
      properties:
        data:
          description: List of customers
          items:
            $ref: '#/components/schemas/CustomerResponse'
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/PaginationMeta'
          description: Pagination metadata
      required:
        - data
        - pagination
      type: object
    ErrorResponse:
      properties:
        detail:
          type: string
        status:
          format: int64
          type: integer
      required:
        - status
        - detail
      type: object
    CustomerResponse:
      properties:
        aliases:
          description: Alternative identifiers for the customer
          items:
            type: string
          type: array
        billing_address:
          allOf:
            - $ref: '#/components/schemas/AddressResponse'
          description: Customer billing address
          nullable: true
        contacts:
          description: Customer contacts
          items:
            $ref: '#/components/schemas/ContactResponse'
          type: array
        created_at:
          description: Timestamp when the customer was created
          example: '2026-04-01T10:00:00Z'
          format: date-time
          type: string
        currency:
          description: ISO 4217 currency code
          example: USD
          type: string
        id:
          description: Unique identifier for the customer
          example: cust_abc123
          type: string
        name:
          description: Customer name
          example: Acme Corp
          type: string
        tax_country:
          description: ISO 3166-1 alpha-2 country code used for tax determination
          example: DE
          nullable: true
          type: string
        tax_id:
          description: Customer tax identification number
          example: DE123456789
          nullable: true
          type: string
        tax_rate:
          description: >-
            Tax rate applied to the customer, expressed as a decimal fraction
            (0.20 = 20%)
          example: '0.20'
          nullable: true
          type: string
        tax_reason:
          description: Reason determining how tax is applied to the customer
          enum:
            - standard_rated
            - reverse_charge
            - not_collecting
            - customer_exempt
            - zero_rated
            - other
          example: standard_rated
          nullable: true
          type: string
        tax_status:
          description: Customer tax status
          example: taxable
          nullable: true
          type: string
        tax_type:
          description: Type of tax applied to the customer
          enum:
            - gst
            - hst
            - igst
            - jct
            - lease_tax
            - pst
            - qst
            - sales_tax
            - service_tax
            - vat
          example: vat
          nullable: true
          type: string
        updated_at:
          description: Timestamp when the customer was last updated
          example: '2026-04-01T12:30:00Z'
          format: date-time
          type: string
      required:
        - created_at
        - currency
        - id
        - name
        - updated_at
      type: object
    PaginationMeta:
      properties:
        per_page:
          description: Number of items returned per page
          example: 20
          format: int64
          type: integer
        total_pages:
          description: Total number of pages available
          example: 5
          format: int64
          type: integer
      required:
        - per_page
        - total_pages
      type: object
    AddressResponse:
      properties:
        city:
          description: City
          example: San Francisco
          type: string
        country:
          description: ISO 3166-1 alpha-3 country code
          example: USA
          type: string
        line1:
          description: Street address line 1
          example: 123 Main St
          type: string
        line2:
          description: Street address line 2
          example: Suite 100
          type: string
        postal_code:
          description: Postal or ZIP code
          example: '94105'
          type: string
        state:
          description: State or province
          example: CA
          type: string
      required:
        - city
        - country
        - line1
        - postal_code
        - state
      type: object
    ContactResponse:
      properties:
        email:
          description: Contact email address
          example: john@example.com
          type: string
        email_preferences:
          description: Email notification preferences
          items:
            type: string
          nullable: true
          type: array
        first_name:
          description: Contact first name
          example: John
          nullable: true
          type: string
        id:
          description: Unique identifier for the contact
          example: cont_abc123
          type: string
        is_primary:
          description: Whether this is the primary contact
          example: true
          type: boolean
        last_name:
          description: Contact last name
          example: Doe
          nullable: true
          type: string
      required:
        - email
        - id
        - is_primary
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: API Key
      description: API key authentication. Pass your API key as a Bearer token.
      scheme: bearer
      type: http

````