Skip to main content
Neon Docs

Search documentation

Type to search this documentation.

Create organization invitations

POST/organizations/{org_id}/invitationsCreate organization invitations

Creates invitations for a specific organization. If the invited user has an existing account, they automatically join as a member. If they don't yet have an account, they are invited to create one, after which they become a member. Each invited user receives an email notification.

Parameters

org_idstringpathrequired

The Neon organization ID

pattern ^[a-z0-9-]{1,60}$

Request body

required
application/json
objectOrganizationInvitesCreateRequest
invitationsarray of objectrequired

Invitations to create for the organization.

Show child attributes
Show array items
emailstring · emailrequired

Email address of the person to invite to the organization.

maxLength 256 · minLength 1

rolestringrequired

Organization member's role. `admin`: full administrative access. `editor` (and its legacy alias `member`): standard access governed by project permissions. `viewer` and `collaborator`: additional scoped project roles. Some values may not be available for all organizations.

one of "admin", "member", "editor", "viewer", "collaborator"

Example request
{
  "invitations": [
    {
      "email": "invited-user@email.com",
      "role": "member"
    }
  ]
}

Responses

200The created organization invitationapplication/json
objectOrganizationInvitationsResponse
invitationsarray of objectrequired

List of pending invitations for the organization.

Show child attributes
Show array items
emailstring · emailrequired

Email of the invited user

maxLength 256 · minLength 1

idstring · uuidrequired

The invitation ID.

invited_atstring · date-timerequired

Timestamp when the invitation was created

invited_bystring · uuidrequired

UUID for the user_id who extended the invitation

org_idstringrequired

Organization id as it is stored in Neon

pattern ^[a-z0-9-]{1,60}$

rolestringrequired

Organization member's role. `admin`: full administrative access. `editor` (and its legacy alias `member`): standard access governed by project permissions. `viewer` and `collaborator`: additional scoped project roles. Some values may not be available for all organizations.

one of "admin", "member", "editor", "viewer", "collaborator"

Example response
{
  "invitations": [
    {
      "email": "user@example.com",
      "id": "00000000-0000-0000-0000-000000000000",
      "invited_at": "2026-06-09T00:00:00Z",
      "invited_by": "00000000-0000-0000-0000-000000000000",
      "org_id": "string",
      "role": "admin"
    }
  ]
}
defaultGeneral Error. The request may or may not be safe to retry, depending on the HTTP method, response status code, and whether a response was received. - If no response is returned from the API, a network error or timeout likely occurred. - In some cases, the request may have reached the server and been successfully processed, but the response failed to reach the client. As a result, retrying non-idempotent requests can lead to unintended results. The following HTTP methods are considered non-idempotent: `POST`, `PATCH`, `DELETE`, and `PUT`. Retrying these methods is generally **not safe**. The following methods are considered idempotent: `GET`, `HEAD`, and `OPTIONS`. Retrying these methods is **safe** in the event of a network error or timeout. Any request that returns a `503 Service Unavailable` response is always safe to retry. Any request that returns a `423 Locked` response is safe to retry. `423 Locked` indicates that the resource is temporarily locked, for example, due to another operation in progress. application/json
objectGeneralError
codestringrequired

default ""

messagestringrequired

Error message

request_idstring

Unique identifier for the request, useful for debugging. You can set this value manually by including an `X-Request-ID` header in the request. If not provided, the value will be generated automatically.

Example response
{
  "code": "",
  "message": "string",
  "request_id": "string"
}
Documentation menu