curl -X DELETE "https://api.60db.ai/60db/license/LICENSE_ID/seats/88?workspace_id=WORKSPACE_ID" \
-H "Authorization: Bearer USER_JWT" \
-H "X-60db-Client: flow/1.5.0"
{
"success": true,
"data": { "license_id": "2f1c9a4e-6b7d-4c1e-9f0a-1d2e3f4a5b6c", "user_id": 88, "was_pending": true }
}
60db Flow
Remove seat
Owner: cancel a pending invite or remove an active seat
DELETE
/
60db
/
license
/
:license_id
/
seats
/
:user_id
curl -X DELETE "https://api.60db.ai/60db/license/LICENSE_ID/seats/88?workspace_id=WORKSPACE_ID" \
-H "Authorization: Bearer USER_JWT" \
-H "X-60db-Client: flow/1.5.0"
{
"success": true,
"data": { "license_id": "2f1c9a4e-6b7d-4c1e-9f0a-1d2e3f4a5b6c", "user_id": 88, "was_pending": true }
}
Frees the seat. The person stays a member of the workspace but loses Flow access.
Request
Headers
string
required
Bearer <login token> of the signed-in 60db user. API keys (sk_...) are not accepted for Flow.string
flow/<app-version>, e.g. flow/1.5.0 (send it from the 60db Flow app)Path Parameters
string
required
Licence id (
license_id from Get Flow plan)integer
required
Seat holder (
user_id from List seats)Query Parameters
integer
The licence’s workspace. Seat management is checked against it: send it when the user’s current workspace is a different one.
Response
integer
Removed seat holder
boolean
true = an invite was cancelled, false = an active seat was removedErrors
Errors use{ "success": false, "message": "...", "error_code": "..." }. Show message to the user.
| Status | error_code | Meaning |
|---|---|---|
| 403 | NOT_LICENSE_OWNER | Only the buyer can manage seats |
| 404 | SEAT_NOT_FOUND | No such seat on this licence |
Example
curl -X DELETE "https://api.60db.ai/60db/license/LICENSE_ID/seats/88?workspace_id=WORKSPACE_ID" \
-H "Authorization: Bearer USER_JWT" \
-H "X-60db-Client: flow/1.5.0"
{
"success": true,
"data": { "license_id": "2f1c9a4e-6b7d-4c1e-9f0a-1d2e3f4a5b6c", "user_id": 88, "was_pending": true }
}