curl --request POST \
--url https://api.fanvue.com/v1/agencies/invites \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Fanvue-API-Version: <x-fanvue-api-version>' \
--data '
{
"email": "jsmith@example.com"
}
'import requests
url = "https://api.fanvue.com/v1/agencies/invites"
payload = { "email": "jsmith@example.com" }
headers = {
"X-Fanvue-API-Version": "<x-fanvue-api-version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Fanvue-API-Version': '<x-fanvue-api-version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({email: 'jsmith@example.com'})
};
fetch('https://api.fanvue.com/v1/agencies/invites', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"message": "Invitation sent successfully.",
"inviteUuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>",
"message": "<string>",
"nextVersion": "<string>"
}{
"error": "<string>"
}Invite a team member
Invite a new team member to the authenticated user’s agency by email.
The invitee must already have a Fanvue account. This endpoint invites an existing
account onto an agency seat; it does not create an account and does not send a signup
email. Invite an address with no account and the request is refused with
manager-invite-creator.team-member-account-not-found — ask the person to sign up at
fanvue.com first, then invite the address they signed up with.
A malformed address is rejected by request validation (HTTP 400, { "errors": [...] }).
Every other rejection returns HTTP 400 with a stable code in error:
error | Precondition that failed |
|---|---|
USER_NOT_ALLOWED | The address is banned, or it belongs to a creator account (creators join an agency through a creator invite, not a team seat), or the caller holds no team-management permission in the agency the invite would go into. |
manager-invite-creator.invitation-already-sent | The address already holds a seat or a pending invite in this agency. |
manager-invite-creator.team-member-already-agency-manager | The address already manages another agency, and has to leave it first. |
manager-invite-creator.team-member-account-not-found | No Fanvue account exists for the address. |
curl --request POST \
--url https://api.fanvue.com/v1/agencies/invites \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Fanvue-API-Version: <x-fanvue-api-version>' \
--data '
{
"email": "jsmith@example.com"
}
'import requests
url = "https://api.fanvue.com/v1/agencies/invites"
payload = { "email": "jsmith@example.com" }
headers = {
"X-Fanvue-API-Version": "<x-fanvue-api-version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Fanvue-API-Version': '<x-fanvue-api-version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({email: 'jsmith@example.com'})
};
fetch('https://api.fanvue.com/v1/agencies/invites', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"message": "Invitation sent successfully.",
"inviteUuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>",
"message": "<string>",
"nextVersion": "<string>"
}{
"error": "<string>"
}write:agency— Manage agency team members and invites, including inviting new team members and creators.
Authorizations
OAuth 2.0 access token, presented as a JWT bearer token in the Authorization header. Obtain a token via the authorization-code flow; the scopes granted to the token determine which operations it may call.
Headers
API version to use for the request
"2025-06-26"
Body
Email address of the user to invite
Was this page helpful?