---
title: "List customers"
method: GET
path: "/openmeter/customers"
tags: ["OpenMeter Customers"]
---

# List customers

`GET /openmeter/customers`

## Query parameters

- `page` object
  - `size` integer — The number of items to include per page.
  - `number` integer — The page number.
- `sort` string — The `asc` suffix is optional as the default sort order is ascending. The `desc` suffix is used to specify a descending order. Multiple sort attributes may be provided via a comma separated list. JSONPath notation may be used to specify a sub-attribute (eg: 'foo.bar desc').
- `filter` ListCustomersParamsFilter — Filter options for listing customers.
  - `key` union — Filters on the given string field value by either exact or fuzzy match. All properties are optional; provide exactly one to specify the comparison.
    - string
    - object
      - `eq` string — Value strictly equals the given string value.
      - `neq` string — Value does not equal the given string value.
      - `contains` string — Value contains the given string value (fuzzy match).
      - `ocontains` string — Returns entities that fuzzy-match any of the comma-delimited phrases in the filter string.
      - `oeq` string — Returns entities that exact match any of the comma-delimited phrases in the filter string.
      - `gt` string — Value is greater than the given string value (lexicographic compare).
      - `gte` string — Value is greater than or equal to the given string value (lexicographic compare).
      - `lt` string — Value is less than the given string value (lexicographic compare).
      - `lte` string — Value is less than or equal to the given string value (lexicographic compare).
      - `exists` boolean — When true, the field must be present (non-null); when false, the field must be absent (null).
  - `name` union — Filters on the given string field value by either exact or fuzzy match. All properties are optional; provide exactly one to specify the comparison.
    - string
    - object
      - `eq` string — Value strictly equals the given string value.
      - `neq` string — Value does not equal the given string value.
      - `contains` string — Value contains the given string value (fuzzy match).
      - `ocontains` string — Returns entities that fuzzy-match any of the comma-delimited phrases in the filter string.
      - `oeq` string — Returns entities that exact match any of the comma-delimited phrases in the filter string.
      - `gt` string — Value is greater than the given string value (lexicographic compare).
      - `gte` string — Value is greater than or equal to the given string value (lexicographic compare).
      - `lt` string — Value is less than the given string value (lexicographic compare).
      - `lte` string — Value is less than or equal to the given string value (lexicographic compare).
      - `exists` boolean — When true, the field must be present (non-null); when false, the field must be absent (null).
  - `primary_email` union — Filters on the given string field value by either exact or fuzzy match. All properties are optional; provide exactly one to specify the comparison.
    - string
    - object
      - `eq` string — Value strictly equals the given string value.
      - `neq` string — Value does not equal the given string value.
      - `contains` string — Value contains the given string value (fuzzy match).
      - `ocontains` string — Returns entities that fuzzy-match any of the comma-delimited phrases in the filter string.
      - `oeq` string — Returns entities that exact match any of the comma-delimited phrases in the filter string.
      - `gt` string — Value is greater than the given string value (lexicographic compare).
      - `gte` string — Value is greater than or equal to the given string value (lexicographic compare).
      - `lt` string — Value is less than the given string value (lexicographic compare).
      - `lte` string — Value is less than or equal to the given string value (lexicographic compare).
      - `exists` boolean — When true, the field must be present (non-null); when false, the field must be absent (null).
  - `usage_attribution_subject_key` union — Filters on the given string field value by either exact or fuzzy match. All properties are optional; provide exactly one to specify the comparison.
    - string
    - object
      - `eq` string — Value strictly equals the given string value.
      - `neq` string — Value does not equal the given string value.
      - `contains` string — Value contains the given string value (fuzzy match).
      - `ocontains` string — Returns entities that fuzzy-match any of the comma-delimited phrases in the filter string.
      - `oeq` string — Returns entities that exact match any of the comma-delimited phrases in the filter string.
      - `gt` string — Value is greater than the given string value (lexicographic compare).
      - `gte` string — Value is greater than or equal to the given string value (lexicographic compare).
      - `lt` string — Value is less than the given string value (lexicographic compare).
      - `lte` string — Value is less than or equal to the given string value (lexicographic compare).
      - `exists` boolean — When true, the field must be present (non-null); when false, the field must be absent (null).
  - `plan_key` union — Filters on the given string field value by either exact or fuzzy match. All properties are optional; provide exactly one to specify the comparison.
    - string
    - object
      - `eq` string — Value strictly equals the given string value.
      - `neq` string — Value does not equal the given string value.
      - `contains` string — Value contains the given string value (fuzzy match).
      - `ocontains` string — Returns entities that fuzzy-match any of the comma-delimited phrases in the filter string.
      - `oeq` string — Returns entities that exact match any of the comma-delimited phrases in the filter string.
      - `gt` string — Value is greater than the given string value (lexicographic compare).
      - `gte` string — Value is greater than or equal to the given string value (lexicographic compare).
      - `lt` string — Value is less than the given string value (lexicographic compare).
      - `lte` string — Value is less than or equal to the given string value (lexicographic compare).
      - `exists` boolean — When true, the field must be present (non-null); when false, the field must be absent (null).
  - `billing_profile_id` union — Filters on the given ULID field value by exact match. All properties are optional; provide exactly one to specify the comparison.
    - string — ULID (Universally Unique Lexicographically Sortable Identifier).
    - object
      - `eq` string — ULID (Universally Unique Lexicographically Sortable Identifier).
      - `oeq` string — Returns entities that exact match any of the comma-delimited ULIDs in the filter string.
      - `neq` string — ULID (Universally Unique Lexicographically Sortable Identifier).

## Response `200`

Page paginated response.

- CustomerPagePaginatedResponse — Page paginated response.
  - `data` BillingCustomer[], required
    - `id` string, required — ULID (Universally Unique Lexicographically Sortable Identifier).
    - `name` string, required — Display name of the resource. Between 1 and 256 characters.
    - `description` string — Optional description of the resource. Maximum 1024 characters.
    - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `created_at` string, date-time, required — [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC.
    - `updated_at` string, date-time, required — [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC.
    - `deleted_at` string, date-time — [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC.
    - `key` string, required — ExternalResourceKey is a unique string that is used to identify a resource in an external system.
    - `usage_attribution` BillingCustomerUsageAttribution — Mapping to attribute metered usage to the customer. One customer can have zero or more subjects, but one subject can only belong to one customer.
      - `subject_keys` UsageAttributionSubjectKey[], required — The subjects that are attributed to the customer. Can be empty when no usage event subjects are associated with the customer.
    - `primary_email` string — The primary email address of the customer.
    - `currency` string — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
    - `billing_address` Address — Address
      - `country` string — [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 country code. Custom two-letter country codes are also supported for convenience.
      - `postal_code` string — Postal code.
      - `state` string — State or province.
      - `city` string — City.
      - `line1` string — First line of the address.
      - `line2` string — Second line of the address.
      - `phone_number` string — Phone number.
  - `meta` PaginatedMeta, required — returns the pagination information
    - `page` PageMeta, required — Contains pagination query parameters and the total number of objects returned.
      - `number` number, required
      - `size` number, required
      - `total` number, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/openmeterio/apis/openmeter-and-konnect-metering-billing-api.md) · [All operations](https://skmtc.net/openmeterio/apis/openmeter-and-konnect-metering-billing-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openmeterio/openmeter-and-konnect-metering-billing-api/versions/9bca44e2d61d/schema)
