API reference
Invitations
Workspace invitations.
Workspace invitations.
This page is GENERATED from the OpenAPI spec (openapi.yaml) — it can never
drift from the served API. Set UR_BASE_URL (required: your gateway’s URL)
and UR_API_KEY (an ur_sk_* key); secrets are always the $UR_API_KEY placeholder.
List invitations
GET /v1/workspaces/{id}/invitationsAuth: Session cookie + workspace RBAC.
curl -sS -X GET "$UR_BASE_URL/v1/workspaces/req_0000000000000000/invitations" \
-H "Cookie: better-auth.session_token=$UR_SESSION"Invite a member
POST /v1/workspaces/{id}/invitationsAuth: Session cookie + workspace RBAC.
curl -sS -X POST "$UR_BASE_URL/v1/workspaces/req_0000000000000000/invitations" \
-H "Cookie: better-auth.session_token=$UR_SESSION" \
-H "Content-Type: application/json" \
-d '{
"email": "string",
"role": "string"
}'Revoke a pending invitation
DELETE /v1/workspaces/{id}/invitations/{invitationId}Deletes a pending (unaccepted) invitation so its mailed token stops working; a later accept fails as invitation_invalid. Owner/admin only.
Auth: Session cookie + workspace RBAC.
curl -sS -X DELETE "$UR_BASE_URL/v1/workspaces/req_0000000000000000/invitations/{invitationId}" \
-H "Cookie: better-auth.session_token=$UR_SESSION"Accept an invitation
POST /v1/invitations/acceptAccepts the raw token from the JSON body or the ?token= query (the mailed link).
Auth: Session cookie + workspace RBAC.
curl -sS -X POST "$UR_BASE_URL/v1/invitations/accept" \
-H "Cookie: better-auth.session_token=$UR_SESSION" \
-H "Content-Type: application/json" \
-d '{
"token": "string"
}'