Skip to main content
Using TypeScript? Check out our GraphQL SDK for a fully typed client.
We provide a number of methods for fetching customers:
  1. Get customers (To fetch more than one customer at a time)
  2. Get customer by ID
  3. Get customer by email
  4. Get customer by external ID
  5. Search for customers
All of these endpoints 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 is a very flexible endpoint which supports a variety of options for filtering and sorting, 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 behaviour 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