Create/Add user
curl --request POST \
--url https://api.quiva.ai/accounts/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"first_name": "Jane",
"last_name": "Smith",
"email": "jane.smith@example.com",
"role": "developer"
}
'import requests
url = "https://api.quiva.ai/accounts/users"
payload = {
"first_name": "Jane",
"last_name": "Smith",
"email": "jane.smith@example.com",
"role": "developer"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
first_name: 'Jane',
last_name: 'Smith',
email: 'jane.smith@example.com',
role: 'developer'
})
};
fetch('https://api.quiva.ai/accounts/users', 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://api.quiva.ai/accounts/users",
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([
'first_name' => 'Jane',
'last_name' => 'Smith',
'email' => 'jane.smith@example.com',
'role' => 'developer'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.quiva.ai/accounts/users"
payload := strings.NewReader("{\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"role\": \"developer\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.quiva.ai/accounts/users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"role\": \"developer\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quiva.ai/accounts/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"role\": \"developer\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}User Management
Create/Add user
Creates a new user and sends an invitation email if the user does not exist. Adds the new or existing user to the current account. If the user already exists and is already a member of the account, an error is returned
- If the user already exists but isn’t a member of the account, they are added without creating a new user record
- The user won’t be able to access the account until they complete the activation process by setting their password
- For security, new users must set their own password via the activation link
- The function schedules cleanup tasks to remove unactivated user accounts after a certain period of time (48 hours)
POST
/
accounts
/
users
Create/Add user
curl --request POST \
--url https://api.quiva.ai/accounts/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"first_name": "Jane",
"last_name": "Smith",
"email": "jane.smith@example.com",
"role": "developer"
}
'import requests
url = "https://api.quiva.ai/accounts/users"
payload = {
"first_name": "Jane",
"last_name": "Smith",
"email": "jane.smith@example.com",
"role": "developer"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
first_name: 'Jane',
last_name: 'Smith',
email: 'jane.smith@example.com',
role: 'developer'
})
};
fetch('https://api.quiva.ai/accounts/users', 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://api.quiva.ai/accounts/users",
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([
'first_name' => 'Jane',
'last_name' => 'Smith',
'email' => 'jane.smith@example.com',
'role' => 'developer'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.quiva.ai/accounts/users"
payload := strings.NewReader("{\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"role\": \"developer\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.quiva.ai/accounts/users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"role\": \"developer\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quiva.ai/accounts/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"role\": \"developer\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
bearerAuthapiKeyAuth
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Response
User created successfully