Invite a Member

POST /v1/account/invites

Invite someone to join the active account by email address. The person does not need an existing Ngris account at the time of invitation — they're identified by email and assigned the role you specify.

When the invite is created, Ngris sends the recipient an email containing accept and decline links. Independently of email delivery, the invitee can see the pending invite by calling GET /v1/user/invitations from their own session and act on it from there. On acceptance they become a member of this account and can switch into it.

The active account is taken from your session/API key context — there's no account ID in the path. Requires the members:write permission. Only one pending invite can exist per email per account; inviting an address that already has a pending invite returns 409.

Request body

email string Req
Email address to invite. Normalised to lowercase and trimmed; must contain an @.
role_id int64 Req
ID of the role to grant on acceptance. Must be a role that belongs to the active account.

Response (201 Created)

Returns the created invitation under the invitation key.

id int64
Invitation ID. Use it with DELETE /v1/account/invites/{id} to revoke.
account_id int64
The account the invitee will join.
invited_email string
Email the invite was addressed to.
role_id int64
Role granted on acceptance.
invited_by_user_id int64
User who issued the invite (you).
status string
One of pending, accepted, declined, expired, revoked. Always pending on creation.
expires_at datetime
When the invitation lapses if not acted on. May be omitted if no expiry is set.
created_at, updated_at datetime
RFC 3339 UTC timestamps.

Errors

400 Bad Request
Invalid body, missing/invalid email, missing role_id, or the role does not belong to this account.
401 Unauthorized
Missing or invalid auth.
403 Forbidden
Your role lacks the members:write permission on the active account.
409 Conflict
A pending invitation already exists for that email on this account.
Request
curl -X POST "https://api.ngris.com/v1/account/invites" \ -H "X-API-KEY: <your_api_key>" \ -H "Content-Type: application/json" \ -d '{ "email": "teammate@example.com", "role_id": 7 }'
Python
from ngris import Ngris client = Ngris(api_key="<your_api_key>") invite = client.account.invite_member( email="teammate@example.com", role_id=7, ) print(invite["id"])
Response — 201 Created
{ "invitation": { "id": 42, "account_id": 18, "invited_email": "teammate@example.com", "role_id": 7, "invited_by_user_id": 1024, "status": "pending", "expires_at": "2026-06-06T13:00:00Z", "created_at": "2026-05-30T13:00:00Z", "updated_at": "2026-05-30T13:00:00Z" } }
On this page
Invite a Member
Iris