---
title: "List all tenants"
method: GET
path: "/tenants"
tags: ["Tenants"]
---

# List all tenants

`GET /tenants`

List all tenants with pagination. Filter by `status` if needed.

## Query parameters

- `page` integer
- `perPage` integer
- `status` 'active' | 'suspended' | 'archived'

## Response `200`

List of tenants

- ListTenantsResponse
  - `data` Tenant[], required — List of tenants
    - `id` string, required — Unique identifier for the tenant
    - `name` string, required — Display name for the tenant
    - `metadata` object, required — Custom key-value pairs for storing additional data
    - `status` 'active' | 'suspended' | 'archived', required — Current status of the tenant: - `active` - Normal operation - `suspended` - Temporarily disabled - `archived` - Soft-deleted
    - `createdAt` string, date-time, required — When the tenant was created
    - `updatedAt` string, date-time, required — When the tenant was last updated
  - `page` integer, required — Current page number (1-indexed)
  - `perPage` integer, required — Items per page
  - `total` integer, required — Total number of tenants
  - `totalPages` integer, required — Total number of pages
  - `meta` ApiMeta, required
    - `requestId` string, required — Unique request identifier for debugging and support

## Other responses

- `400` — Invalid request parameters
- `401` — Invalid or missing API key
- `429` — Rate limit exceeded
- `500` — Internal server error

## Changes

- **2026-02-05** `37bce0c9a4d7` — 4 warning, 4 info
  - added the new `infrastructure_error` enum value to the `error/code` response property for the response status `400`
  - added the new `infrastructure_error` enum value to the `error/code` response property for the response status `401`
  - added the new `infrastructure_error` enum value to the `error/code` response property for the response status `429`
  - added the new `infrastructure_error` enum value to the `error/code` response property for the response status `500`
  - …4 more
- **2026-02-04** `4f8eeb0b9933` — 2 breaking, 184 warning, 2 info
  - removed the required property `data/items/created_at` from the response with the `200` status
  - removed the required property `data/items/updated_at` from the response with the `200` status
  - added the new `already_exists` enum value to the `error/code` response property for the response status `400`
  - added the new `already_exists` enum value to the `error/code` response property for the response status `401`
  - …184 more
- **2026-02-03** `628db0b9b7c9` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/arkhq-io/apis/ark-email-api/changes/tenants/get.md)

---

[API](https://skmtc.dev/arkhq-io/apis/ark-email-api.md) · [All operations](https://skmtc.dev/arkhq-io/apis/ark-email-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/arkhq-io/ark-email-api/revisions/98a90852ffca/schema)
