The operators on the caller's own tenant
GET
/operator/team
const url = 'http://localhost:3000/operator/team';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:3000/operator/team \ --header 'Authorization: Bearer <token>'Takes no tenant id. The tenant comes from the operator row the guard loaded, the
same property that makes IDOR impossible on GET /operator/tenant. Both owner
and member may read — a member can see who their colleagues are but cannot
change anything. Platform staff have no tenant and get 403.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Every operator on the tenant, newest first. No password material.
Media typeapplication/json
Array<object>
An operator on the caller’s own tenant. invite_pending is true until they accept their invite and set a password. No password material is ever returned.
object
id
required
string
email
required
string format: email
name
required
string
role
required
string
status
required
string
created_at
required
string format: date-time
invite_pending
required
boolean
Example
[ { "role": "owner", "status": "active" }]Invalid, expired, revoked, or absent token.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
fields
Present only for VALIDATION_FAILED.
Array<object>
object
path
string
message
string
Example
{ "error": { "code": "VALIDATION_FAILED" }}Authenticated but not permitted.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
fields
Present only for VALIDATION_FAILED.
Array<object>
object
path
string
message
string
Example
{ "error": { "code": "VALIDATION_FAILED" }}