---
title: "Revoke Seat"
method: DELETE
path: "/v1/customer-seats/{seat_id}"
tags: ["customer-seats", "public"]
---

# Revoke Seat

`DELETE /v1/customer-seats/{seat_id}`

**Scopes**: `customer_seats:write`

## Path parameters

- `seat_id` string, uuid4, required

## Response `200`

Successful Response

- CustomerSeat
  - `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

## Other responses

- `401` — Authentication required
- `403` — Not permitted or seat-based pricing not enabled
- `404` — Seat not found
- `422` — Validation Error

---

[API](https://skmtc.net/polar/apis/polar-api.md) · [All operations](https://skmtc.net/polar/apis/polar-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/polar/polar-api/revisions/77e4ef94fcc3/schema)
