API Reference
Invitations
Team invitation management
Team invitation management
GET /api/v1/teams/{teamId}/invitations
Returns pending invitations for a team
Operation ID: listTeamInvitations · Authentication: Authorization: Bearer <token>
| Name | Type | Required | Description |
|---|
teamId | string (uuid) | yes | Team UUID |
| Status | Description | Body |
|---|
200 | List of invitations | object[] |
401 | Authentication required | Error |
403 | Insufficient permissions | Error |
| Field | Type | Description |
|---|
id | string (uuid) | |
team_id | string (uuid) | |
email | string (email) | |
role | enum (admin, member) | |
invited_by | string (uuid) | |
expires_at | string (date-time) | |
created_at | string (date-time) | |
curl -X GET "https://api.keyenv.dev/api/v1/teams/{teamId}/invitations" \
-H "Authorization: Bearer $KEYENV_TOKEN"
DELETE /api/v1/teams/{teamId}/invitations/{invitationId}
Revokes a pending team invitation
Operation ID: revokeInvitation · Authentication: Authorization: Bearer <token>
| Name | Type | Required | Description |
|---|
teamId | string (uuid) | yes | Team UUID |
invitationId | string (uuid) | yes | |
| Status | Description | Body |
|---|
204 | Invitation revoked | |
401 | Authentication required | Error |
403 | Insufficient permissions | Error |
404 | Resource not found | Error |
curl -X DELETE "https://api.keyenv.dev/api/v1/teams/{teamId}/invitations/{invitationId}" \
-H "Authorization: Bearer $KEYENV_TOKEN"
POST /api/v1/teams/{teamId}/invitations/{invitationId}/resend
Resends a pending team invitation email
Operation ID: resendInvitation · Authentication: Authorization: Bearer <token>
| Name | Type | Required | Description |
|---|
teamId | string (uuid) | yes | Team UUID |
invitationId | string (uuid) | yes | |
| Status | Description | Body |
|---|
200 | Invitation resent | |
401 | Authentication required | Error |
403 | Insufficient permissions | Error |
404 | Resource not found | Error |
curl -X POST "https://api.keyenv.dev/api/v1/teams/{teamId}/invitations/{invitationId}/resend" \
-H "Authorization: Bearer $KEYENV_TOKEN"
Returns pending invitations for the current user
Operation ID: listMyInvitations · Authentication: Authorization: Bearer <token>
| Status | Description | Body |
|---|
200 | List of invitations | object[] |
401 | Authentication required | Error |
| Field | Type | Description |
|---|
team_name | string | |
invited_by_email | string (email) | |
role | enum (admin, member) | |
email | string (email) | |
expires_at | string (date-time) | |
token | string | |
curl -X GET "https://api.keyenv.dev/api/v1/invitations" \
-H "Authorization: Bearer $KEYENV_TOKEN"
GET /api/v1/invitations/{token}
Returns public information about an invitation
Operation ID: getInvitationByToken · Authentication: Authorization: Bearer <token>
| Name | Type | Required | Description |
|---|
token | string | yes | |
| Status | Description | Body |
|---|
200 | Invitation details | InvitationPublicInfo |
401 | Authentication required | Error |
404 | Resource not found | Error |
| Field | Type | Description |
|---|
team_name | string | |
invited_by_email | string (email) | |
role | enum (admin, member) | |
email | string (email) | |
expires_at | string (date-time) | |
token | string | |
curl -X GET "https://api.keyenv.dev/api/v1/invitations/{token}" \
-H "Authorization: Bearer $KEYENV_TOKEN"
POST /api/v1/invitations/{token}/accept
Accepts a team invitation and joins the team
Operation ID: acceptInvitation · Authentication: Authorization: Bearer <token>
| Name | Type | Required | Description |
|---|
token | string | yes | |
| Status | Description | Body |
|---|
200 | Invitation accepted | Team |
401 | Authentication required | Error |
404 | Resource not found | Error |
| Field | Type | Description |
|---|
id | string (uuid) | |
name | string | |
slug | string | |
plan | enum (free, team, enterprise) | |
is_personal | boolean | |
created_at | string (date-time) | |
curl -X POST "https://api.keyenv.dev/api/v1/invitations/{token}/accept" \
-H "Authorization: Bearer $KEYENV_TOKEN"