GET /v1/console/orgs/{org_id}/members
| Call | GET /v1/console/orgs/{org_id}/members |
| Price | free |
| Scope | console session cookie (not an API key) |
| Operation id | listMembers |
What it does
Section titled “What it does”The organization’s members with their roles and TOTP state, and the pending invitations. A user who is not a member gets 404. Roles: owner, admin, developer, billing, read_only (checked server-side). When the user has TOTP on, the session must have passed POST /v1/console/totp/verify; an owner of an organization with more than one member must have TOTP on (spec 9.1), otherwise 403.
Example request
Section titled “Example request”Copy it as curl. Set VERDICT_API_KEY first; uuidgen makes a fresh Idempotency-Key.
curl -X GET 'https://api.askverdict.io/v1/console/orgs/org_01JC3Z4Y8R9K2M5N7P1Q3S5T7V/members' \ --cookie "verdict_session=$VERDICT_SESSION"Example response
Section titled “Example response”200: Members and invitations.
{ "members": [ { "user_id": "usr_01JC3Z4Y8R9K2M5N7P1Q3S5T7V", "role": "owner", "totp_enabled": true, "joined_at": "2026-11-01T09:00:00Z" } ], "invites": [ { "id": "0b8f6c1e-3d2a-4f5b-9c7d-1e2f3a4b5c6d", "role": "developer", "invited_by": "usr_01JC3Z4Y8R9K2M5N7P1Q3S5T7V", "expires_at": "2026-11-14T14:00:00Z", "created_at": "2026-11-07T14:00:00Z" } ]}Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
org_id |
path | string | yes | The organization. |
x-verdict-version |
header | string | no | API version to use, a date. Defaults to the version current when the key was created. The current version is 2026-11-01. |
Response fields (200)
Section titled “Response fields (200)”Schema MembersResponse.
| Field | Type | Required | Description |
|---|---|---|---|
members |
array of Member | yes | Current members, oldest first. |
members[].user_id |
string | yes | The member’s user id. |
members[].email |
string (email) | yes | The member’s email. |
members[].role |
enum: “owner”, “admin”, “developer”, “billing”, “read_only” | yes | The member’s role. |
members[].totp_enabled |
boolean | yes | Whether the member has TOTP on. |
members[].joined_at |
string (date-time) | yes | When the member joined. |
invites |
array of Invite | yes | Pending invitations, newest first. |
invites[].id |
string (uuid) | yes | The invitation id. |
invites[].email |
string (email) | yes | Who was invited. |
invites[].role |
enum: “owner”, “admin”, “developer”, “billing”, “read_only” | yes | The role the invitee gets on accepting. |
invites[].invited_by |
string | yes | Who sent the invitation. |
invites[].expires_at |
string (date-time) | yes | When the invitation expires. |
invites[].created_at |
string (date-time) | yes | When it was sent. |
Errors
Section titled “Errors”Errors are RFC 9457 problem details and are never billed. Branch on type. See Errors.
| Status | Meaning |
|---|---|
400 |
Invalid request: malformed JSON, an unknown field, a failed constraint or a size limit (invalid_request). |
401 |
Missing, malformed, revoked or expired API key, or a bad webhook signature (unauthorized). |
403 |
The key lacks the scope this operation needs (forbidden_scope). |
404 |
The resource does not exist in this organization (not_found). |
429 |
Rate limited (rate_limited). Wait Retry-After seconds. |
500 |
Unexpected server error (internal). Not billed; retry with the same Idempotency-Key. |
Try it
Section titled “Try it”Open the interactive reference to send this request from the browser. The full document is at /openapi.json.