Skip to main content
There are five ways to fetch customers:
For TypeScript, the GraphQL SDK gives you a fully typed client for these operations.
These operations require the following permissions:
  • customer:read

Get customers

Our API allows you to fetch customers as a collection using the customers query in GraphQL. This endpoint supports Pagination. This endpoint supports a range of filtering and sorting options, for full details try our API explorer.
Query
Variables

Get customer by ID

If you already have the ID of a customer from within Plain or one of our other endpoints you can fetch more details about them using the customer query in GraphQL.
Query
Variables

Get customer by email

To fetch a customer by email you can use the customerByEmail query in GraphQL.
Query
Variables

Get customer by external ID

If you store a stable identifier from your own system on Plain customers (for example your internal user ID), you can fetch the customer back by that value using the customerByExternalId query. External IDs are unique within a workspace.
Query
Variables

Search for customers

The searchCustomers query lets you do a case-insensitive partial match across a customer’s name, email, short name and external ID. This is the same search behavior as the customer picker in the Plain app and is best suited for human-driven lookups rather than precise programmatic resolution. For exact lookups by email or external ID, prefer customerByEmail or customerByExternalId.
Query
Variables