Show examples in:
Javascript HTTP
Endpoint info
Available examples
Content Management API > Invitation

Invite a new user

Sends an invitation email to the given address. Invitation emails are capped per day for each project owner: the cap is shared by all the projects of the owner and by all the API tokens, and it counts both new and resent invitations. Past the cap the API answers 429 RATE_LIMIT_EXCEEDED, and the X-RateLimit-Reset header tells how many seconds are left before new invitations can be sent.

Body parameters

type string Required

Must be exactly "site_invitation".

attributes.email string Required

Email

Example: "mark.smith@example.com"
relationships.role.data Required

Role

Returns

Returns a resource object of type site_invitation.

Examples

POST https://site-api.datocms.com/site-invitations HTTP/1.1
Authorization: Bearer YOUR-API-TOKEN
Accept: application/json
X-Api-Version: 3
Content-Type: application/vnd.api+json
{
"data": {
"type": "site_invitation",
"attributes": {
"email": "mark.smith@example.com"
},
"relationships": {
"role": {
"data": {
"type": "role",
"id": "34"
}
}
}
}
}
Terminal window
curl -g 'https://site-api.datocms.com/site-invitations' \
-X POST \
-H "Authorization: Bearer YOUR-API-TOKEN" \
-H "Accept: application/json" \
-H "X-Api-Version: 3" \
-H "Content-Type: application/vnd.api+json" \
--data-binary '{"data":{"type":"site_invitation","attributes":{"email":"mark.smith@example.com"},"relationships":{"role":{"data":{"type":"role","id":"34"}}}}}'
await fetch("https://site-api.datocms.com/site-invitations", {
method: "POST",
headers: {
Authorization: "Bearer YOUR-API-TOKEN",
Accept: "application/json",
"X-Api-Version": "3",
"Content-Type": "application/vnd.api+json",
},
body: JSON.stringify({
data: {
type: "site_invitation",
attributes: { email: "mark.smith@example.com" },
relationships: { role: { data: { type: "role", id: "34" } } },
},
}),
});
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: cache-control: max-age=0, private, must-revalidate
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 28
{
"data": {
"type": "site_invitation",
"id": "312",
"attributes": {
"email": "mark.smith@example.com",
"expired": "mark.smith@example.com"
},
"relationships": {
"role": {
"data": {
"type": "role",
"id": "34"
}
}
}
}
}