---
title: "List Seats"
method: GET
path: "/v1/customer-portal/seats"
tags: ["customer_portal", "seats", "public"]
---

# List Seats

`GET /v1/customer-portal/seats`

## Request

- Base URL: `https://api.polar.sh`
- URL: `https://api.polar.sh/v1/customer-portal/seats`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

**Scopes**: `customer_portal:read` `customer_portal:write`

## Query parameters

- `subscription_id` string, uuid4, nullable: Subscription ID
- `order_id` string, uuid4, nullable: Order ID

## Response `200`

Successful Response

- SeatsList
  - `seats` CustomerSeat[], required: List of seats
    - `created_at` string, date-time, required: Creation timestamp of the object.
    - `modified_at` string, date-time, nullable, required: Last modification timestamp of the object.
    - `id` string, uuid, required: The seat ID
    - `subscription_id` string, uuid, nullable, required: The subscription ID (for recurring seats)
    - `order_id` string, uuid, nullable, required: The order ID (for one-time purchase seats)
    - `status` 'pending' | 'claimed' | 'revoked', required
    - `customer_id` string, uuid, nullable, required: The customer ID. When member_model_enabled is true, this is the billing customer (purchaser). When false, this is the seat member customer.
    - `member_id` string, uuid, nullable, required: The member ID of the seat occupant
    - `member` Member, required: A member of a customer.
      - `id` string, uuid4, required: The ID of the member.
      - `created_at` string, date-time, required: Creation timestamp of the object.
      - `modified_at` string, date-time, nullable, required: Last modification timestamp of the object.
      - `customer_id` string, uuid4, required: The ID of the customer this member belongs to.
      - `email` string, required: The email address of the member.
      - `name` string, nullable, required: The name of the member.
      - `external_id` string, nullable, required: The ID of the member in your system. This must be unique within the customer.
      - `role` 'owner' | 'billing_manager' | 'member', required
    - `email` string, nullable, required: Email of the seat member (set when member_model_enabled is true)
    - `customer_email` string, nullable, required: The assigned customer email
    - `invitation_token_expires_at` string, date-time, nullable, required: When the invitation token expires
    - `claimed_at` string, date-time, nullable, required: When the seat was claimed
    - `revoked_at` string, date-time, nullable, required: When the seat was revoked
    - `seat_metadata` object, nullable, required: Additional metadata for the seat
  - `available_seats` integer, required: Number of available seats
  - `total_seats` integer, required: Total number of seats for the subscription

## Other responses

- `401`: Authentication required
- `403`: Not permitted or seat-based pricing not enabled
- `404`: Subscription or order not found
- `422`: Validation Error

---

[API](https://skmtc.dev/polar/apis/polar-api.md) - [All operations](https://skmtc.dev/polar/apis/polar-api/llms.txt) - [OpenAPI document](https://skmtc.dev/polar/apis/polar-api/revisions/77e4ef94fcc3?raw)
