Skip to content
API console (try a request with your own key)Get early access

List the workspace's open invitations

GET
/v1/workspace/invitations
#!/usr/bin/env bash
set -euo pipefail
API=https://api.speccapture.com
AUTH="Authorization: Bearer $SPECCAPTURE_API_KEY"
page=$(curl -sS --fail-with-body "$API/v1/workspace/invitations?status=pending" \
-H "$AUTH") || { echo "$page" >&2; exit 1; }
jq -r '.data[] as $invitation | "\($invitation.email) as \($invitation.role), invited by \($invitation.invitedBy // "someone"): its link works until \($invitation.expiresAt)"' <<<"$page"

Every invitation to join the workspace that is neither accepted nor withdrawn, newest first: who is invited (email), as what (role: admin or member), its status (pending, or expired: it can be sent again in the dashboard), who invited them, when it was made, when its current link was sent and emailed, and when that link expires. Never the link. An accepted invitation’s person is in GET /v1/workspace/members. Page with limit and cursor (the previous page’s nextCursor), narrow with createdAfter, createdBefore and status. A key acting as the workspace’s owner or an admin; invitations are made and withdrawn in the dashboard.

limit
integer format: int32

How many items the page holds: 1 to 200, 50 when left out.

cursor
string

The previous page’s nextCursor, exactly as it came: the list continues just after that page’s last item, so items made or removed meanwhile never shift a page. Leave it out for the first page.

createdAfter
string format: date-time

Only items made strictly after this date and time (ISO 8601, such as 2026-10-14T09:30:00Z; without an offset it is UTC).

createdBefore
string format: date-time

Only items made strictly before this date and time (ISO 8601, such as 2026-10-14T09:30:00Z; without an offset it is UTC).

status
Allowed values: pending expired

Only items with this status.

OK

Media typeapplication/json
object
data
required
Array<object>
object
invitationId
required
string format: uuid
email
required
string
role
required
Allowed values: owner admin member
status
required
Allowed values: pending expired
invitedBy
required
null | string
createdAt
required
string format: date-time
sentAt
required
string format: date-time
expiresAt
required
string format: date-time
emailedAt
required
null | string format: date-time
hasMore
required
boolean
nextCursor
required
null | string

Bad Request: a problem with a stable code. See Errors for every code and what to do about it.

Media typeapplication/problem+json

Every error: a problem with a stable code. https://speccapture.com/docs/api/errors lists every code.

object
type

A link to the code’s entry in the docs.

null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
code

What went wrong, as a stable code to branch on: a published code never changes meaning.

string
traceId

This request’s trace: quote it when asking for help.

string

Forbidden: a problem with a stable code. See Errors for every code and what to do about it.

Media typeapplication/problem+json

Every error: a problem with a stable code. https://speccapture.com/docs/api/errors lists every code.

object
type

A link to the code’s entry in the docs.

null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
code

What went wrong, as a stable code to branch on: a published code never changes meaning.

string
traceId

This request’s trace: quote it when asking for help.

string