curl -X GET "https://api.60db.ai/60db/license/LICENSE_ID/seats?workspace_id=WORKSPACE_ID" \
-H "Authorization: Bearer USER_JWT" \
-H "X-60db-Client: flow/1.5.0"
{
"success": true,
"data": [
{ "user_id": 61, "email": "[email protected]", "full_name": "Kapil", "status": "active",
"invited_at": "2026-10-07T10:00:00Z", "accepted_at": "2026-10-07T10:00:00Z" },
{ "user_id": 88, "email": "[email protected]", "full_name": "ravi", "status": "pending",
"invited_at": "2026-10-07T11:00:00Z", "accepted_at": null }
]
}
60db Flow
List seats
Owner: list the seats and pending invites on a Flow Team licence
GET
/
60db
/
license
/
:license_id
/
seats
curl -X GET "https://api.60db.ai/60db/license/LICENSE_ID/seats?workspace_id=WORKSPACE_ID" \
-H "Authorization: Bearer USER_JWT" \
-H "X-60db-Client: flow/1.5.0"
{
"success": true,
"data": [
{ "user_id": 61, "email": "[email protected]", "full_name": "Kapil", "status": "active",
"invited_at": "2026-10-07T10:00:00Z", "accepted_at": "2026-10-07T10:00:00Z" },
{ "user_id": 88, "email": "[email protected]", "full_name": "ravi", "status": "pending",
"invited_at": "2026-10-07T11:00:00Z", "accepted_at": null }
]
}
Returns every seat on the licence.
pending = invited, not accepted yet (shown as Invited); active = in use. Seats used = number of rows; seats available = seats − rows.
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)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
Seat holder
string
Seat holder email
string
Seat holder name (may be null)
string
pending | activestring
When the seat was assigned
string
When the invite was accepted (
null while pending)Errors
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 | LICENSE_NOT_FOUND | Unknown licence id |
Example
curl -X GET "https://api.60db.ai/60db/license/LICENSE_ID/seats?workspace_id=WORKSPACE_ID" \
-H "Authorization: Bearer USER_JWT" \
-H "X-60db-Client: flow/1.5.0"
{
"success": true,
"data": [
{ "user_id": 61, "email": "[email protected]", "full_name": "Kapil", "status": "active",
"invited_at": "2026-10-07T10:00:00Z", "accepted_at": "2026-10-07T10:00:00Z" },
{ "user_id": 88, "email": "[email protected]", "full_name": "ravi", "status": "pending",
"invited_at": "2026-10-07T11:00:00Z", "accepted_at": null }
]
}