Invite user. To avoid spamming, invitation emails are not sent. Invitee will see invitation notification in-app after logging in.
curl --request POST \
--url https://statsigapi.net/console/v1/users/invite \
--header 'Content-Type: application/json' \
--header 'STATSIG-API-KEY: <api-key>' \
--data '
{
"role": "<string>",
"emails": [
"jsmith@example.com"
],
"teams": [
"<string>"
]
}
'import requests
url = "https://statsigapi.net/console/v1/users/invite"
payload = {
"role": "<string>",
"emails": ["jsmith@example.com"],
"teams": ["<string>"]
}
headers = {
"STATSIG-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'STATSIG-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({role: '<string>', emails: ['jsmith@example.com'], teams: ['<string>']})
};
fetch('https://statsigapi.net/console/v1/users/invite', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://statsigapi.net/console/v1/users/invite",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'role' => '<string>',
'emails' => [
'jsmith@example.com'
],
'teams' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"STATSIG-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://statsigapi.net/console/v1/users/invite"
payload := strings.NewReader("{\n \"role\": \"<string>\",\n \"emails\": [\n \"jsmith@example.com\"\n ],\n \"teams\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("STATSIG-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://statsigapi.net/console/v1/users/invite")
.header("STATSIG-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"role\": \"<string>\",\n \"emails\": [\n \"jsmith@example.com\"\n ],\n \"teams\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://statsigapi.net/console/v1/users/invite")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["STATSIG-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"role\": \"<string>\",\n \"emails\": [\n \"jsmith@example.com\"\n ],\n \"teams\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "User(s) Invited successfully"
}{
"status": 400,
"message": "Invalid request. Please check the request input and try again."
}{
"status": 401,
"message": "This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx"
}Users
Invite user. To avoid spamming, invitation emails are not sent. Invitee will see invitation notification in-app after logging in.
POST
/
console
/
v1
/
users
/
invite
Invite user. To avoid spamming, invitation emails are not sent. Invitee will see invitation notification in-app after logging in.
curl --request POST \
--url https://statsigapi.net/console/v1/users/invite \
--header 'Content-Type: application/json' \
--header 'STATSIG-API-KEY: <api-key>' \
--data '
{
"role": "<string>",
"emails": [
"jsmith@example.com"
],
"teams": [
"<string>"
]
}
'import requests
url = "https://statsigapi.net/console/v1/users/invite"
payload = {
"role": "<string>",
"emails": ["jsmith@example.com"],
"teams": ["<string>"]
}
headers = {
"STATSIG-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'STATSIG-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({role: '<string>', emails: ['jsmith@example.com'], teams: ['<string>']})
};
fetch('https://statsigapi.net/console/v1/users/invite', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://statsigapi.net/console/v1/users/invite",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'role' => '<string>',
'emails' => [
'jsmith@example.com'
],
'teams' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"STATSIG-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://statsigapi.net/console/v1/users/invite"
payload := strings.NewReader("{\n \"role\": \"<string>\",\n \"emails\": [\n \"jsmith@example.com\"\n ],\n \"teams\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("STATSIG-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://statsigapi.net/console/v1/users/invite")
.header("STATSIG-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"role\": \"<string>\",\n \"emails\": [\n \"jsmith@example.com\"\n ],\n \"teams\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://statsigapi.net/console/v1/users/invite")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["STATSIG-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"role\": \"<string>\",\n \"emails\": [\n \"jsmith@example.com\"\n ],\n \"teams\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "User(s) Invited successfully"
}{
"status": 400,
"message": "Invalid request. Please check the request input and try again."
}{
"status": 401,
"message": "This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx"
}Authorizations
Headers
Optional header to respect review settings for mutation endpoints.
Body
application/json
Role assigned to the invited users. Can be 'Admin', 'Read Only', 'Member', or any custom role name.
List of email addresses to send invitations to. Invitee Emails must have the same domain to your company email domain.
Optional list of teams that the invited users will be associated with.
Response
Invite user response
⌘I

