Create a User - Cognigy Documentation

Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

POST

/management/v2.0/users

Try it

Create a User

cURL

curl --request POST \
  --url https://api-trial.cognigy.ai/new/management/v2.0/users \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "<string>",
  "name": "<string>",
  "password": "<string>",
  "organisation": "<string>",
  "cxoneEmail": "<string>",
  "cxoneId": "<string>",
  "roles": [],
  "acceptedTOS": true,
  "disabled": true
}
'

Python

import requests

url = "https://api-trial.cognigy.ai/new/management/v2.0/users"

payload = {
    "id": "<string>",
    "name": "<string>",
    "password": "<string>",
    "organisation": "<string>",
    "cxoneEmail": "<string>",
    "cxoneId": "<string>",
    "roles": [],
    "acceptedTOS": True,
    "disabled": True
}
headers = {
    "Authorization": "Basic <encoded-value>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)

JavaScript

const options = {
  method: 'POST',
  headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    id: '<string>',
    name: '<string>',
    password: '<string>',
    organisation: '<string>',
    cxoneEmail: '<string>',
    cxoneId: '<string>',
    roles: [],
    acceptedTOS: true,
    disabled: true
  })
};

fetch('https://api-trial.cognigy.ai/new/management/v2.0/users', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api-trial.cognigy.ai/new/management/v2.0/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([
    'id' => '<string>',
    'name' => '<string>',
    'password' => '<string>',
    'organisation' => '<string>',
    'cxoneEmail' => '<string>',
    'cxoneId' => '<string>',
    'roles' => [],
    'acceptedTOS' => true,
    'disabled' => true
]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Basic <encoded-value>",
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
?>

Go

package main

import (
    "fmt"
    "strings"
    "net/http"
    "io"
)

func main() {

url := "https://api-trial.cognigy.ai/new/management/v2.0/users"

payload := strings.NewReader("{\n  \"id\": \"<string>\",\n  \"name\": \"<string>\",\n  \"password\": \"<string>\",\n  \"organisation\": \"<string>\",\n  \"cxoneEmail\": \"<string>\",\n  \"cxoneId\": \"<string>\",\n  \"roles\": [],\n  \"acceptedTOS\": true,\n  \"disabled\": true\}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Basic <encoded-value>")
    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))
}

Java

HttpResponse<String> response = Unirest.post("https://api-trial.cognigy.ai/new/management/v2.0/users")
  .header("Authorization", "Basic <encoded-value>")
  .header("Content-Type", "application/json")
  .body("{\n  \"id\": \"<string>\",\n  \"name\": \"<string>\",\n  \"password\": \"<string>\",\n  \"organisation\": \"<string>\",\n  \"cxoneEmail\": \"<string>\",\n  \"cxoneId\": \"<string>\",\n  \"roles\": [],\n  \"acceptedTOS\": true,\n  \"disabled\": true\}")
  .asString();

Ruby

require 'uri'
require 'net/http'

url = URI("https://api-trial.cognigy.ai/new/management/v2.0/users")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"id\": \"<string>\",\n  \"name\": \"<string>\",\n  \"password\": \"<string>\",\n  \"organisation\": \"<string>\",\n  \"cxoneEmail\": \"<string>\",\n  \"cxoneId\": \"<string>\",\n  \"roles\": [],\n  \"acceptedTOS\": true,\n  \"disabled\": true\}"

response = http.request(request)
puts response.read_body

Response Status Codes

{
  "id": "<string>",
  "name": "<string>",
  "password": "<string>",
  "organisation": "<string>",
  "cxoneEmail": "<string>",
  "cxoneId": "<string>",
  "roles": [],
  "acceptedTOS": true,
  "disabled": true,
  "_id": "<string>",
  "createdAt": 1694518620,
  "lastChanged": 1694518620,
  "createdBy": "<string>",
  "lastChangedBy": "<string>"
}

Error Responses

Common error responses include:

{
  "type": "Bad Request",
  "title": "Bad Request Error",
  "status": 400,
  "detail": "Validation failed. Missing payload.",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
  "type": "Unauthorized",
  "title": "Unauthorized Error",
  "status": 401,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 401,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
  "type": "Payment Required",
  "title": "Payment Required Error",
  "status": 402,
  "detail": "Validation failed. Missing payload.",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 402,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
  "type": "Forbidden",
  "title": "Forbidden Error",
  "status": 403,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
  "type": "Not Found",
  "title": "Not Found Error",
  "status": 404,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {},
  "logLevel": "error"
}
{
  "type": "Method Not Allowed",
  "title": "Method Not Allowed Error",
  "status": 405,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
  "type": "Conflict",
  "title": "Conflict Error",
  "status": 409,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1004,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
  "type": "Payload Too Large",
  "title": "Payload Too Large Error",
  "status": 413,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
  "type": "Internal Server Error",
  "title": "Internal Server Error",
  "status": 500,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
  "type": "Not Implemented",
  "title": "Not Implemented Error",
  "status": 501,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1009,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
  "type": "Bad Gateway",
  "title": "Bad Gateway Error",
  "status": 502,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
  "type": "Service Unavailable",
  "title": "Service Unavailable Error",
  "status": 503,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 503,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
  "type": "Gateway Timeout",
  "title": "Gateway Timeout Error",
  "status": 504,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}

Authorizations

Authorization
string
header
required
Basic Authentication used by routes designed for the Management-UI.

Headers

Accept
enum
The Accept header specifies the media type that the client expects in the response. Available options: application/json, application/hal+json, application/xml, text/xml, text/csv. The default value is application/json.

Body

application/json

Field Type Required Description
id string YES
name string YES
password string YES
organisation string YES Required string length: 24
Pattern: ^[a-z0-9]{24}$
cxoneEmail string NO The email address of the CXOne user, only required for NiCE CXOne users
cxoneId string NO The CXOne ID of the user, only required for NiCE CXOne users
roles enum[] NO Available options: admin, apiKeys, base_role, basicSupportUser, fullSupportUser, liveAgentAdmin, liveAgentAgent, liveAgentSupervisor, odata, projectAssigner, projectManager, userManager, userDetailsViewer, voiceGatewayUser, opsCenterUser
acceptedTOS boolean NO
disabled boolean NO

Response

201
application/json
Returns the created user.