Create a group.
ROLES: USER_ADMIN,USER_WRITE USER: true SERVICE ACCOUNT: true
curl --request POST \
--url https://api.revoengine.com/api/v1/groups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Operations",
"ownerId": "22222222-2222-4222-8222-222222222222",
"ownerType": "USER"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Operations',
ownerId: '22222222-2222-4222-8222-222222222222',
ownerType: 'USER'
})
};
fetch('https://api.revoengine.com/api/v1/groups', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.revoengine.com/api/v1/groups"
payload = {
"name": "Operations",
"ownerId": "22222222-2222-4222-8222-222222222222",
"ownerType": "USER"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Authorizations
Bearer JWT token or API Key (sk-*).
Body
Globally unique group name within the instance, including soft-deleted groups, whose names remain reserved. It cannot be a UUID; check for an existing group with this exact name before creation.
"Operations"
Owning user or group id that governs this group. Must identify an existing owner of the type given by ownerType; provide both fields together.
"22222222-2222-4222-8222-222222222222"
Owner principal type for the governing ownerId. Provide a matching existing ownerId.
USER, GROUP "USER"
Optional presentation category used to group similar teams.
"Operations"
Operator-visible description shown in group details.
"Primary operations on-call rotation."
Optional resource metadata. Values may use any JSON type. Maximum 16 KiB and 64 top-level keys. Top-level keys starting with "__" are reserved for backend use.
{ "costCenter": "ops" }
Optional user ids to attach as group members during creation.
[
"33333333-3333-4333-8333-333333333333",
"44444444-4444-4444-8444-444444444444"
]
Response
Created.
curl --request POST \
--url https://api.revoengine.com/api/v1/groups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Operations",
"ownerId": "22222222-2222-4222-8222-222222222222",
"ownerType": "USER"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Operations',
ownerId: '22222222-2222-4222-8222-222222222222',
ownerType: 'USER'
})
};
fetch('https://api.revoengine.com/api/v1/groups', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.revoengine.com/api/v1/groups"
payload = {
"name": "Operations",
"ownerId": "22222222-2222-4222-8222-222222222222",
"ownerType": "USER"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
