Invites
From the Workspaces & Projects API reference. Requests use the base URL https://app.warmerly.com/api/v1 and an API key, see Authentication.
#List pending invites
GET /workspaces/{id}/invitesRequires owner or admin.
{
"invites": [
{
"id": "b2f9...",
"email": "new.hire@acme.com",
"role": "member",
"status": "pending",
"createdAt": "2026-06-01T09:00:00.000Z",
"expiresAt": "2026-06-08T09:00:00.000Z"
}
]
}#Invite a member
POST /workspaces/{id}/invitesRequires owner or admin.
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Invitee's email address. |
role | "admin" \| "member" | Yes | Role granted on acceptance. You cannot invite someone directly as owner. |
curl https://app.warmerly.com/api/v1/workspaces/8f14e45f-ceea-4c6a-8c8d-6b1a5b5c9c1a/invites \
-X POST \
-H "X-Api-Key: wmv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{ "email": "new.hire@acme.com", "role": "member" }'{
"invite": {
"id": "b2f9...",
"email": "new.hire@acme.com",
"role": "member",
"status": "pending",
"createdAt": "2026-06-01T09:00:00.000Z",
"expiresAt": "2026-06-08T09:00:00.000Z"
}
}201 Created on success. The email is lowercased. If the email already belongs to a member, returns 409 conflict. A new invite replaces any existing pending invite for the same email. Invites expire after 7 days. If email sending is configured, an invite email is sent automatically; the invite is still created if sending fails.
Your own email address must be verified, otherwise this returns 403 with error.code email_not_verified. Invites are also rate limited: 20 per hour and 50 per day per person, 30 per hour and 100 per day per workspace, and 3 per day to any one recipient address. Going over returns 429 too_many_requests with a Retry-After header.