Skip to main content
POST
/
api
/
v1
/
teams
/
members
/
invite
Invite member
curl --request POST \
  --url https://neo.api.projectdiscovery.io/api/v1/teams/members/invite \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "jsmith@example.com",
  "billable": true,
  "project_access": "all",
  "role": "member",
  "spending_cap_usd": 1
}
'
{
  "member": {
    "email": "jsmith@example.com",
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "invited_at": "2023-11-07T05:31:56Z",
    "accepted_at": "2023-11-07T05:31:56Z",
    "billable": true,
    "cap": {
      "limit": 123,
      "remaining": 123,
      "used": 123
    },
    "created_at": "2023-11-07T05:31:56Z",
    "invited_by": "jsmith@example.com",
    "updated_at": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

JWT authentication token

Body

application/json
email
string<email>
required

Email of the member to invite

billable
boolean
default:true

Whether this member consumes a paid subscription seat. false invites a non-premium member (no seat, zero credit access) - bypasses the seat limit but the member cannot run paid tasks until promoted.

project_access
enum<string>
default:all

Project access scope for the member. 'all' (default) grants access to every shared team project. 'restricted' grants access only to projects the member is explicitly added to. Ignored for admins (always 'all').

Available options:
all,
restricted
role
enum<string>
default:member

Role to assign to the member

Available options:
admin,
member,
viewer
spending_cap_usd
number<float> | null

Optional cap to apply at invite time, closing the gap until an admin can PATCH /cap.

Required range: x >= 0

Response

Invitation sent

member
object
required