Documentation
List people
GET
/v1/membersTeamThe account's members and open invites, with the plan's room for people. Free has room for 2 besides the owner; Pro has room for 10 besides the owner; past that, an invite answers 429 quota_exceeded (details.reason member_limit).
Example request
Terminal
curl "https://snip.link/v1/members" \
-H "Authorization: Bearer $SNIP_KEY"Example response
Response
{
"owner": {
"email": "owner@example.com"
},
"you": "owner",
"limit": 10,
"used": 1,
"members": [
{
"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 |
|---|---|---|
owner | object | |
owner.email | string | |
you | owner | admin | editor | viewer | A key acts as the owner. |
limit | integer | People the plan has room for besides the owner. |
used | integer | Members plus open invites. |
members | Member[] | |
members[].id | string | |
members[].email | string | |
members[].role | admin | editor | viewer | viewer looks around, editor changes links and files, admin also manages the account: domains, people, keys, webhooks and defaults. |
members[].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. |
members[].invited_at | string | |
members[].joined_at | string, null | |
members[].expires_at | string, null | When an open invite lapses. Null once joined. |
Errors
| Status | Meaning |
|---|---|
| 401 | The API key is missing, malformed or revoked. |
| 429 | Either the key exceeded its requests-per-second limit (honor Retry-After), or a daily or plan quota is used up (details.reason). |