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

# Customers

> List organization customers via Public API v1

# Customers

Read-only access to the organization **customer directory**.

## List customers

```http theme={null}
GET /api/public/v1/customers
```

**Auth:** Bearer API key\
**OpenAPI operationId:** `listCustomers`

### Query parameters

| Name     | Type    | Default | Description       |
| -------- | ------- | ------- | ----------------- |
| `limit`  | integer | `50`    | Page size (1–100) |
| `offset` | integer | `0`     | Rows to skip      |

Validated by `publicCustomersQuerySchema`.

### Response

```json theme={null}
{
  "data": [
    {
      "id": "clxcustomer…",
      "supportId": "…",
      "firstName": "Ada",
      "lastName": "Lovelace",
      "displayName": "Ada Lovelace",
      "email": "ada@example.com",
      "phone": "+1…",
      "primaryPhone": "+1…",
      "secondaryPhone": null,
      "preferredContactMethod": "email",
      "dateOfBirth": "…",
      "gender": "…",
      "notes": "…",
      "marketingConsent": true,
      "addressLine1": "…",
      "city": "…",
      "region": "…",
      "postalCode": "…",
      "country": "CA",
      "preferredStaffId": "…",
      "isActive": true,
      "createdAt": "2026-01-15T12:00:00.000Z",
      "updatedAt": "2026-01-15T12:00:00.000Z"
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "total": 1,
    "hasMore": false
  }
}
```

Field set mirrors the public projection of the customer mapper (optional fields may be omitted when empty). Schema reference: `publicCustomerSchema`.

### Filters and scope

| Behavior    | Detail                                                 |
| ----------- | ------------------------------------------------------ |
| Org scope   | Key’s organization only                                |
| Soft-delete | Only `isActive: true` customers                        |
| Order       | Newest `createdAt` first                               |
| Search      | **No** public search query today — page through `data` |

### Example

```bash theme={null}
curl -sS \
  -H "Authorization: Bearer $CICINI_API_KEY" \
  "https://cicini.com/api/public/v1/customers?limit=25&offset=0" | jq .
```

### Errors

| Status | When                       |
| ------ | -------------------------- |
| `400`  | Bad `limit` / `offset`     |
| `401`  | Missing or invalid API key |
| `500`  | Server error               |

See [Errors](/guides/errors).

## Not available on public v1

* `GET /customers/:id`
* `POST` / `PATCH` / `DELETE` customers
* Import/export CSV via API key
