Invite users to the organization
post
https://api.expiryedge.com/v1/inviteadmin30/15 minIdempotency-Key
Request
curl -X POST 'https://api.expiryedge.com/v1/invite' \
-H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"emails": [
"maria@northwinddental.com"
],
"role": "viewer"
}'Response
{
"message": "1 invitation(s) sent successfully",
"invitations": [
{
"id": "inv_5Rt2kWq",
"email": "maria@northwinddental.com",
"organization_id": "org_northwind",
"invited_by": "u_71bXq",
"inviter_name": "Dana Brooks",
"status": "pending",
"role": "viewer",
"created_at": "2026-09-27T14:05:00.000Z",
"expires_at": "2026-10-04T14:05:00.000Z"
}
]
}Up to 50 emails per request. Emails already in the organization or with a pending invitation are skipped. Pending invitations count toward the plan's user limit. Invitations expire after 7 days.
Idempotency-KeystringOptional client-generated key (1-255 characters of letters, digits,- _ : .).pattern: ^[A-Za-z0-9_\-:.]{1,255}$
emailsarray of stringrequiredformat: email · min items: 1 · max items: 50rolestringAllowedadmineditorviewerDefaulteditor
201
Invitations created and emailed.
messagestringrequiredinvitationsarray of objectsrequired
400 | Invalid emails or role, not enough user seats, or every email was skipped. |
401 | Missing, expired or invalid bearer token. |
403 | Authenticated, but your role or organization does not allow this action. |
404 | The record does not exist or is not in your organization. |
405 | The endpoint does not accept this HTTP method. |
409 | A request with the same Idempotency-Key is still being processed. Retry after Retry-After seconds. |
422 | The Idempotency-Key was already used with a different request body. |
429 | Too many requests for this endpoint from your IP. Wait Retry-After seconds. |
500 | Unexpected server error. Retry later; quote requestId to support. |
