# List all customers

To [fetch](https://docs.commercelayer.io/core/fetching-resources) a collection of customers, send a `GET` request to the `/api/customers` endpoint.

## Request

**GET** <https://yourdomain.commercelayer.io/api/customers>

### **Example**

{% tabs %}
{% tab title="Request" %}
The following request fetches a collection of customers:

```shell
curl -g -X GET \
  'https://yourdomain.commercelayer.io/api/customers/' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer your-access-token'
```

{% endtab %}

{% tab title="Response" %}
On success, the API responds with a `200 OK` status code, returning a paginated collection of resource objects:

```json
{
  "data": [
    {
      "id": "XAyRWNUzyN",
      "type": "customers",
      "links": {
        "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN"
      },
      "attributes": {
        "email": "john@example.com",
        "status": "prospect",
        "has_password": false,
        "total_orders_count": 6,
        "shopper_reference": "xxx-yyy-zzz",
        "profile_id": "xxx-yyy-zzz",
        "tax_exemption_code": "xxx-yyy-zzz",
        "created_at": "2018-01-01T12:00:00.000Z",
        "updated_at": "2018-01-01T12:00:00.000Z",
        "reference": "ANY-EXTERNAL-REFEFERNCE",
        "reference_origin": "ANY-EXTERNAL-REFEFERNCE-ORIGIN",
        "jwt_custom_claim": {
        },
        "metadata": {
          "foo": "bar"
        },
        "anonymization_info": {
          "status": "requested",
          "requested_at": "2025-03-15 11:39:21 UTC",
          "requester": {
            "id": "fdgt56hh",
            "first_name": "Travis",
            "last_name": "Muller",
            "email": "test@labadie.test"
          }
        },
        "anonymization_status": "requested"
      },
      "relationships": {
        "customer_group": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/customer_group",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/customer_group"
          }
        },
        "customer_addresses": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/customer_addresses",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/customer_addresses"
          }
        },
        "customer_payment_sources": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/customer_payment_sources",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/customer_payment_sources"
          }
        },
        "customer_subscriptions": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/customer_subscriptions",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/customer_subscriptions"
          }
        },
        "orders": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/orders",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/orders"
          }
        },
        "order_subscriptions": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/order_subscriptions",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/order_subscriptions"
          }
        },
        "returns": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/returns",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/returns"
          }
        },
        "sku_lists": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/sku_lists",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/sku_lists"
          }
        },
        "attachments": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/attachments",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/attachments"
          }
        },
        "events": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/events",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/events"
          }
        },
        "tags": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/tags",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/tags"
          }
        },
        "jwt_customer": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/jwt_customer",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/jwt_customer"
          }
        },
        "jwt_markets": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/jwt_markets",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/jwt_markets"
          }
        },
        "jwt_stock_locations": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/jwt_stock_locations",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/jwt_stock_locations"
          }
        },
        "event_stores": {
          "links": {
            "self": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/relationships/event_stores",
            "related": "https://yourdomain.commercelayer.io/api/customers/XAyRWNUzyN/event_stores"
          }
        }
      },
      "meta": {
        "mode": "test",
        "organization_id": "xRRkjDFafe",
        "trace_id": "69abaa3545913c78132e5578bd26208d44aa9043647d78698fd0021f3958cd74"
      }
    },
    {
      "other": "... 9 customers (first page)"
    }
  ],
  "meta": {
    "record_count": 140,
    "page_count": 14
  },
  "links": {
    "first": "https://yourdomain.commercelayer.io/api/customers?page[number]=1&page[size]=10",
    "next": "https://yourdomain.commercelayer.io/api/customers?page[number]=2&page[size]=10",
    "last": "https://yourdomain.commercelayer.io/api/customers?page[number]=14&page[size]=10"
  }
}
```

{% endtab %}
{% endtabs %}

Remember that when you fetch a list of resources you get [paginated](https://docs.commercelayer.io/core/pagination) result.

### Sortable fields

The list of customers can be [sorted](https://docs.commercelayer.io/core/sorting-results) by the following fields:

#### Attributes

* `email`
* `status`
* `total_orders_count`
* `id`
* `created_at`
* `updated_at`
* `reference`
* `reference_origin`
* `anonymization_status`

#### Relationships

* `customer_group`

### Filterable fields

The list of customers can be [filtered](https://docs.commercelayer.io/core/filtering-data) by the following fields:

#### Attributes

* `email`
* `status`
* `total_orders_count`
* `id`
* `created_at`
* `updated_at`
* `reference`
* `reference_origin`
* `metadata`
* `anonymization_status`

#### Relationships

* `customer_group`
* `customer_addresses`
* `customer_payment_sources`
* `customer_subscriptions`
* `order_subscriptions`
* `returns`
* `sku_lists`
* `attachments`
* `events`
* `tags`
