curl --request POST \
--url 'https://YOURSITE.konstant.ly/openapi/v1/users/1234567890/groups' \
--header 'X-API-KEY: 1qaz2wsx3edc4rfv1qaz2wsx3edc4rfv' \
--header 'Content-Type: application/json' \
--data '{
"groups": [1, 2, 3]
}'
import requests
def add_user_to_groups(api_key: str, user_id: str, group_ids: list) -> dict:
url = f"https://YOURSITE.konstant.ly/openapi/v1/users/{user_id}/groups"
headers = {
"X-API-KEY": api_key,
"Content-Type": "application/json"
}
data = {"groups": group_ids}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 400:
error_data = response.json()
print("Validation errors:")
for field, errors in error_data.get('errors', {}).items():
print(f"{field}: {', '.join(errors)}")
raise ValueError(error_data.get('message', 'Invalid request'))
if response.status_code == 404:
raise ValueError(f"User {user_id} not found")
response.raise_for_status()
return response.json()
# Example usage
try:
result = add_user_to_groups(
"1qaz2wsx3edc4rfv1qaz2wsx3edc4rfv",
"1234567890",
[1, 2, 3]
)
print(f"Added user to {len(result['groups'])} groups")
for group in result['groups']:
print(f"Group: {group['name']}")
except Exception as e:
print(f"Failed to add user to groups: {str(e)}")
const axios = require('axios');
async function addUserToGroups(apiKey, userId, groupIds) {
try {
const response = await axios.post(
`https://YOURSITE.konstant.ly/openapi/v1/users/${userId}/groups`,
{ groups: groupIds },
{
headers: {
'X-API-KEY': apiKey,
'Content-Type': 'application/json'
}
}
);
return response.data;
} catch (error) {
if (error.response?.status === 400) {
console.error('Validation errors:');
const errors = error.response.data.errors || {};
Object.entries(errors).forEach(([field, messages]) => {
console.error(`${field}: ${messages.join(', ')}`);
});
throw new Error(error.response.data.message || 'Invalid request');
}
if (error.response?.status === 404) {
throw new Error(`User ${userId} not found`);
}
throw error;
}
}
// Example usage
addUserToGroups('1qaz2wsx3edc4rfv1qaz2wsx3edc4rfv', '1234567890', [1, 2, 3])
.then(result => {
console.log(`Added user to ${result.groups.length} groups`);
result.groups.forEach(group => {
console.log(`Group: ${group.name}`);
});
})
.catch(error => console.error('Failed to add user to groups:', error.message));
{
"groups": [
{
"id": 1,
"parentId": null,
"name": "Sales Team",
"usersCount": 15,
"coursesCount": 5,
"image": null,
"attributes": {}
},
{
"id": 2,
"parentId": 1,
"name": "Regional Sales",
"usersCount": 8,
"coursesCount": 3,
"image": null,
"attributes": {}
}
]
}
{
"status": 400,
"message": "Validation failed",
"errors": {
"groups": ["Groups array cannot be empty"]
}
}
{
"status": 404,
"message": "Not found"
}
Users
User Groups
Add user to groups
POST
/
users
/
{userId}
/
groups
curl --request POST \
--url 'https://YOURSITE.konstant.ly/openapi/v1/users/1234567890/groups' \
--header 'X-API-KEY: 1qaz2wsx3edc4rfv1qaz2wsx3edc4rfv' \
--header 'Content-Type: application/json' \
--data '{
"groups": [1, 2, 3]
}'
import requests
def add_user_to_groups(api_key: str, user_id: str, group_ids: list) -> dict:
url = f"https://YOURSITE.konstant.ly/openapi/v1/users/{user_id}/groups"
headers = {
"X-API-KEY": api_key,
"Content-Type": "application/json"
}
data = {"groups": group_ids}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 400:
error_data = response.json()
print("Validation errors:")
for field, errors in error_data.get('errors', {}).items():
print(f"{field}: {', '.join(errors)}")
raise ValueError(error_data.get('message', 'Invalid request'))
if response.status_code == 404:
raise ValueError(f"User {user_id} not found")
response.raise_for_status()
return response.json()
# Example usage
try:
result = add_user_to_groups(
"1qaz2wsx3edc4rfv1qaz2wsx3edc4rfv",
"1234567890",
[1, 2, 3]
)
print(f"Added user to {len(result['groups'])} groups")
for group in result['groups']:
print(f"Group: {group['name']}")
except Exception as e:
print(f"Failed to add user to groups: {str(e)}")
const axios = require('axios');
async function addUserToGroups(apiKey, userId, groupIds) {
try {
const response = await axios.post(
`https://YOURSITE.konstant.ly/openapi/v1/users/${userId}/groups`,
{ groups: groupIds },
{
headers: {
'X-API-KEY': apiKey,
'Content-Type': 'application/json'
}
}
);
return response.data;
} catch (error) {
if (error.response?.status === 400) {
console.error('Validation errors:');
const errors = error.response.data.errors || {};
Object.entries(errors).forEach(([field, messages]) => {
console.error(`${field}: ${messages.join(', ')}`);
});
throw new Error(error.response.data.message || 'Invalid request');
}
if (error.response?.status === 404) {
throw new Error(`User ${userId} not found`);
}
throw error;
}
}
// Example usage
addUserToGroups('1qaz2wsx3edc4rfv1qaz2wsx3edc4rfv', '1234567890', [1, 2, 3])
.then(result => {
console.log(`Added user to ${result.groups.length} groups`);
result.groups.forEach(group => {
console.log(`Group: ${group.name}`);
});
})
.catch(error => console.error('Failed to add user to groups:', error.message));
{
"groups": [
{
"id": 1,
"parentId": null,
"name": "Sales Team",
"usersCount": 15,
"coursesCount": 5,
"image": null,
"attributes": {}
},
{
"id": 2,
"parentId": 1,
"name": "Regional Sales",
"usersCount": 8,
"coursesCount": 3,
"image": null,
"attributes": {}
}
]
}
{
"status": 400,
"message": "Validation failed",
"errors": {
"groups": ["Groups array cannot be empty"]
}
}
{
"status": 404,
"message": "Not found"
}
Add a user to one or more groups.
Request Headers
API Key. Go to your Konstantly site > Settings > API and copy the value from there.
URL Parameters
User API ID
Request Body
Array of group IDs to add the user to
Response
Array of groups the user was added to
Show Group properties
Show Group properties
Group ID
Parent group ID
Group name
Number of users in group
Number of assigned courses
Custom group attributes
Error Responses
curl --request POST \
--url 'https://YOURSITE.konstant.ly/openapi/v1/users/1234567890/groups' \
--header 'X-API-KEY: 1qaz2wsx3edc4rfv1qaz2wsx3edc4rfv' \
--header 'Content-Type: application/json' \
--data '{
"groups": [1, 2, 3]
}'
import requests
def add_user_to_groups(api_key: str, user_id: str, group_ids: list) -> dict:
url = f"https://YOURSITE.konstant.ly/openapi/v1/users/{user_id}/groups"
headers = {
"X-API-KEY": api_key,
"Content-Type": "application/json"
}
data = {"groups": group_ids}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 400:
error_data = response.json()
print("Validation errors:")
for field, errors in error_data.get('errors', {}).items():
print(f"{field}: {', '.join(errors)}")
raise ValueError(error_data.get('message', 'Invalid request'))
if response.status_code == 404:
raise ValueError(f"User {user_id} not found")
response.raise_for_status()
return response.json()
# Example usage
try:
result = add_user_to_groups(
"1qaz2wsx3edc4rfv1qaz2wsx3edc4rfv",
"1234567890",
[1, 2, 3]
)
print(f"Added user to {len(result['groups'])} groups")
for group in result['groups']:
print(f"Group: {group['name']}")
except Exception as e:
print(f"Failed to add user to groups: {str(e)}")
const axios = require('axios');
async function addUserToGroups(apiKey, userId, groupIds) {
try {
const response = await axios.post(
`https://YOURSITE.konstant.ly/openapi/v1/users/${userId}/groups`,
{ groups: groupIds },
{
headers: {
'X-API-KEY': apiKey,
'Content-Type': 'application/json'
}
}
);
return response.data;
} catch (error) {
if (error.response?.status === 400) {
console.error('Validation errors:');
const errors = error.response.data.errors || {};
Object.entries(errors).forEach(([field, messages]) => {
console.error(`${field}: ${messages.join(', ')}`);
});
throw new Error(error.response.data.message || 'Invalid request');
}
if (error.response?.status === 404) {
throw new Error(`User ${userId} not found`);
}
throw error;
}
}
// Example usage
addUserToGroups('1qaz2wsx3edc4rfv1qaz2wsx3edc4rfv', '1234567890', [1, 2, 3])
.then(result => {
console.log(`Added user to ${result.groups.length} groups`);
result.groups.forEach(group => {
console.log(`Group: ${group.name}`);
});
})
.catch(error => console.error('Failed to add user to groups:', error.message));
{
"groups": [
{
"id": 1,
"parentId": null,
"name": "Sales Team",
"usersCount": 15,
"coursesCount": 5,
"image": null,
"attributes": {}
},
{
"id": 2,
"parentId": 1,
"name": "Regional Sales",
"usersCount": 8,
"coursesCount": 3,
"image": null,
"attributes": {}
}
]
}
{
"status": 400,
"message": "Validation failed",
"errors": {
"groups": ["Groups array cannot be empty"]
}
}
{
"status": 404,
"message": "Not found"
}
Was this page helpful?
⌘I