Documentation
Invite someone
POST
/v1/membersTeamEmails an invite to join the account with a role; it stays open for 7 days. Inviting an address with an open or expired invite sends a fresh one (200 instead of 201). The person accepts it signed in with that address.
Request body
JSON, sent with Content-Type: application/json.
| Field | Type | Required | Description |
|---|---|---|---|
email | string | required | |
role | admin | editor | viewer | required | viewer looks around, editor changes links and files, admin also manages the account: domains, people, keys, webhooks and defaults. |
Example request
Terminal
curl "https://snip.link/v1/members" \
-X POST \
-H "Authorization: Bearer $SNIP_KEY" \
-H "Content-Type: application/json" \
-d '{}'Example response
Response
{
"member": {
"id": "2b7e9c41-5d3a-4f8e-a1c6-7e0d9b2f4a18",
"email": "sam@example.com",
"role": "editor",
"status": "joined",
"invited_at": "2026-10-20T12:00:00.000Z",
"joined_at": "2026-10-20T12:14:09.000Z",
"expires_at": null
}
}Response fields
| Field | Type | Description |
|---|---|---|
member | Member | |
member.id | string | |
member.email | string | |
member.role | admin | editor | viewer | viewer looks around, editor changes links and files, admin also manages the account: domains, people, keys, webhooks and defaults. |
member.status | joined | invited | expired | joined: works in the account. invited: the invite is open. expired: nobody accepted it in time; invite again to renew it. |
member.invited_at | string | |
member.joined_at | string, null | |
member.expires_at | string, null | When an open invite lapses. Null once joined. |
Errors
| Status | Meaning |
|---|---|
| 400 | The body or query is invalid. details names each field. |
| 401 | The API key is missing, malformed or revoked. |
| 403 | The plan does not include this. details.upgrade names the plan that does. |
| 409 | The ending is taken or reserved. Pick another. |
| 429 | Either the key exceeded its requests-per-second limit (honor Retry-After), or a daily or plan quota is used up (details.reason). |