List members and invitations
GET
/v1/members
const url = 'https://api.overwatch.weareheavy.dev/v1/members';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 https://api.overwatch.weareheavy.dev/v1/members \ --header 'Authorization: Bearer <token>'The organization’s members — with role, per-site access, and crawl grant — plus pending invitations. Session-only, owner/admin.
Authorizations
Section titled “ Authorizations ”Responses
Section titled “ Responses ”Members and pending invitations.
Media typeapplication/json
object
members
required
Array<object>
An organization member with their role and Overwatch grants.
object
id
required
The membership id (use this in member endpoints).
string
userId
required
string
name
required
string
email
required
string format: email
role
required
string
canCrawl
required
Whether a restricted member may trigger manual crawls.
boolean
createdAt
required
When the member joined.
string | integer
siteIds
required
Per-site allowlist; empty for owner/admin (who see all sites).
Array<string>
invitations
required
Array<object>
A not-yet-accepted invitation and its intended grants.
object
id
required
string
email
required
string format: email
role
required
string | null
status
required
string
canCrawl
required
boolean
siteIds
required
Array<string>
expiresAt
required
string | integer
Example
{ "members": [ { "role": "owner" } ]}Missing or invalid credentials.
Media typeapplication/json
object
error
required
A human-readable error message.
string
Example
{ "error": "invalid api key"}A dashboard session is required (API-key callers are rejected), or the session’s role does not allow this action.
Media typeapplication/json
object
error
required
A human-readable error message.
string
Example
{ "error": "a dashboard session is required"}