Create group
curl --request POST \
--url https://staging.api.us.aptlydone.com/settings/v1/groups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tenantId": "0df117f3-1e5c-4900-b9a7-8995e8d860d2",
"tenantGroupTypeId": "b0130fa8-5302-4bb1-a7f2-599d7b2c84b7",
"baseCurrency": "2204796d-3e46-4a10-b6e3-9fef1b55e019",
"groupName": "Engineering Team",
"displayName": "Engineering Team",
"status": "ACTIVE",
"parentGroupIds": [
"7ecc3521-2aff-4065-bcf6-b4e53b0bfb26",
"ff681bd6-844d-4c16-9273-b44c85fc2c97"
],
"isSynced": true,
"legalName": "Engineering Department LLC",
"externalId": "EXT-GROUP-12345",
"instanceId": "c6781d17-e64d-4493-b94e-07156a5eb374"
}
'import requests
url = "https://staging.api.us.aptlydone.com/settings/v1/groups"
payload = {
"tenantId": "0df117f3-1e5c-4900-b9a7-8995e8d860d2",
"tenantGroupTypeId": "b0130fa8-5302-4bb1-a7f2-599d7b2c84b7",
"baseCurrency": "2204796d-3e46-4a10-b6e3-9fef1b55e019",
"groupName": "Engineering Team",
"displayName": "Engineering Team",
"status": "ACTIVE",
"parentGroupIds": ["7ecc3521-2aff-4065-bcf6-b4e53b0bfb26", "ff681bd6-844d-4c16-9273-b44c85fc2c97"],
"isSynced": True,
"legalName": "Engineering Department LLC",
"externalId": "EXT-GROUP-12345",
"instanceId": "c6781d17-e64d-4493-b94e-07156a5eb374"
}
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({
tenantId: '0df117f3-1e5c-4900-b9a7-8995e8d860d2',
tenantGroupTypeId: 'b0130fa8-5302-4bb1-a7f2-599d7b2c84b7',
baseCurrency: '2204796d-3e46-4a10-b6e3-9fef1b55e019',
groupName: 'Engineering Team',
displayName: 'Engineering Team',
status: 'ACTIVE',
parentGroupIds: ['7ecc3521-2aff-4065-bcf6-b4e53b0bfb26', 'ff681bd6-844d-4c16-9273-b44c85fc2c97'],
isSynced: true,
legalName: 'Engineering Department LLC',
externalId: 'EXT-GROUP-12345',
instanceId: 'c6781d17-e64d-4493-b94e-07156a5eb374'
})
};
fetch('https://staging.api.us.aptlydone.com/settings/v1/groups', 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://staging.api.us.aptlydone.com/settings/v1/groups",
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([
'tenantId' => '0df117f3-1e5c-4900-b9a7-8995e8d860d2',
'tenantGroupTypeId' => 'b0130fa8-5302-4bb1-a7f2-599d7b2c84b7',
'baseCurrency' => '2204796d-3e46-4a10-b6e3-9fef1b55e019',
'groupName' => 'Engineering Team',
'displayName' => 'Engineering Team',
'status' => 'ACTIVE',
'parentGroupIds' => [
'7ecc3521-2aff-4065-bcf6-b4e53b0bfb26',
'ff681bd6-844d-4c16-9273-b44c85fc2c97'
],
'isSynced' => true,
'legalName' => 'Engineering Department LLC',
'externalId' => 'EXT-GROUP-12345',
'instanceId' => 'c6781d17-e64d-4493-b94e-07156a5eb374'
]),
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://staging.api.us.aptlydone.com/settings/v1/groups"
payload := strings.NewReader("{\n \"tenantId\": \"0df117f3-1e5c-4900-b9a7-8995e8d860d2\",\n \"tenantGroupTypeId\": \"b0130fa8-5302-4bb1-a7f2-599d7b2c84b7\",\n \"baseCurrency\": \"2204796d-3e46-4a10-b6e3-9fef1b55e019\",\n \"groupName\": \"Engineering Team\",\n \"displayName\": \"Engineering Team\",\n \"status\": \"ACTIVE\",\n \"parentGroupIds\": [\n \"7ecc3521-2aff-4065-bcf6-b4e53b0bfb26\",\n \"ff681bd6-844d-4c16-9273-b44c85fc2c97\"\n ],\n \"isSynced\": true,\n \"legalName\": \"Engineering Department LLC\",\n \"externalId\": \"EXT-GROUP-12345\",\n \"instanceId\": \"c6781d17-e64d-4493-b94e-07156a5eb374\"\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://staging.api.us.aptlydone.com/settings/v1/groups")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tenantId\": \"0df117f3-1e5c-4900-b9a7-8995e8d860d2\",\n \"tenantGroupTypeId\": \"b0130fa8-5302-4bb1-a7f2-599d7b2c84b7\",\n \"baseCurrency\": \"2204796d-3e46-4a10-b6e3-9fef1b55e019\",\n \"groupName\": \"Engineering Team\",\n \"displayName\": \"Engineering Team\",\n \"status\": \"ACTIVE\",\n \"parentGroupIds\": [\n \"7ecc3521-2aff-4065-bcf6-b4e53b0bfb26\",\n \"ff681bd6-844d-4c16-9273-b44c85fc2c97\"\n ],\n \"isSynced\": true,\n \"legalName\": \"Engineering Department LLC\",\n \"externalId\": \"EXT-GROUP-12345\",\n \"instanceId\": \"c6781d17-e64d-4493-b94e-07156a5eb374\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.api.us.aptlydone.com/settings/v1/groups")
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 \"tenantId\": \"0df117f3-1e5c-4900-b9a7-8995e8d860d2\",\n \"tenantGroupTypeId\": \"b0130fa8-5302-4bb1-a7f2-599d7b2c84b7\",\n \"baseCurrency\": \"2204796d-3e46-4a10-b6e3-9fef1b55e019\",\n \"groupName\": \"Engineering Team\",\n \"displayName\": \"Engineering Team\",\n \"status\": \"ACTIVE\",\n \"parentGroupIds\": [\n \"7ecc3521-2aff-4065-bcf6-b4e53b0bfb26\",\n \"ff681bd6-844d-4c16-9273-b44c85fc2c97\"\n ],\n \"isSynced\": true,\n \"legalName\": \"Engineering Department LLC\",\n \"externalId\": \"EXT-GROUP-12345\",\n \"instanceId\": \"c6781d17-e64d-4493-b94e-07156a5eb374\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"timestamp": "2026-01-08T06:33:20.711Z",
"message": "Success",
"data": {
"id": "3de3ba12-fe6e-4242-b2c2-57aa17d2b959",
"tenantId": "9409925f-e386-428d-b82d-bc96fc7d785e",
"groupId": "drDwrQ",
"groupName": "Engineering Team",
"createdOn": "2023-01-01T12:00:00Z",
"updatedOn": "2023-01-15T12:00:00Z",
"isSynced": false,
"tenantGroupType": {
"id": "6e606506-4c84-49a9-8abe-ce46d5b44e70",
"groupTypeName": "Department",
"shouldAllowEnableDisable": true,
"isDefault": false
},
"isDeleted": false,
"disableOption": "NA",
"baseCurrency": "",
"displayName": "Engineering Department",
"legalName": "Engineering Department LLC",
"externalId": "EXT-GROUP-12345",
"instanceId": "02198055-706d-417d-9573-d376ced5c6f6",
"address": {
"id": "f2dfca59-4d8d-4636-a73b-41e97b3ba548",
"groupId": "1cbaa43f-c81c-45e9-a0c4-31b632d0502b",
"street1": "123 Main Street",
"city": "New York",
"state": "New York",
"zipCode": "10001",
"country": "United States",
"createdOn": "2023-01-01T12:00:00Z",
"updatedOn": "2023-01-15T12:00:00Z",
"street2": "Suite 100",
"stateCode": "NY",
"countryCode": "US"
},
"parentGroups": [
{
"id": "f8e83c38-c408-46d0-8e10-a3bc01073a28",
"parentId": "f3babb40-7bfa-4fc0-9942-4af717f25701",
"createdAt": "2024-01-01T00:00:00.000Z",
"parentGroup": {
"id": "e9db3b7c-e5cd-4ff4-9d6d-a6528ec04aa1",
"tenantId": "56cdb45f-cd19-4be3-963c-2b4b4eb4529e",
"groupId": "10000",
"groupName": "Engineering Team",
"displayName": "Engineering Team",
"legalName": "Engineering Team",
"tenantGroupType": {
"id": "6414c9b4-72f9-4788-99da-976747a10992",
"groupTypeName": "Department"
}
}
}
],
"decisionsCount": 25,
"delegationsCount": 25
}
}Groups
Create group
POST
/
v1
/
groups
Create group
curl --request POST \
--url https://staging.api.us.aptlydone.com/settings/v1/groups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tenantId": "0df117f3-1e5c-4900-b9a7-8995e8d860d2",
"tenantGroupTypeId": "b0130fa8-5302-4bb1-a7f2-599d7b2c84b7",
"baseCurrency": "2204796d-3e46-4a10-b6e3-9fef1b55e019",
"groupName": "Engineering Team",
"displayName": "Engineering Team",
"status": "ACTIVE",
"parentGroupIds": [
"7ecc3521-2aff-4065-bcf6-b4e53b0bfb26",
"ff681bd6-844d-4c16-9273-b44c85fc2c97"
],
"isSynced": true,
"legalName": "Engineering Department LLC",
"externalId": "EXT-GROUP-12345",
"instanceId": "c6781d17-e64d-4493-b94e-07156a5eb374"
}
'import requests
url = "https://staging.api.us.aptlydone.com/settings/v1/groups"
payload = {
"tenantId": "0df117f3-1e5c-4900-b9a7-8995e8d860d2",
"tenantGroupTypeId": "b0130fa8-5302-4bb1-a7f2-599d7b2c84b7",
"baseCurrency": "2204796d-3e46-4a10-b6e3-9fef1b55e019",
"groupName": "Engineering Team",
"displayName": "Engineering Team",
"status": "ACTIVE",
"parentGroupIds": ["7ecc3521-2aff-4065-bcf6-b4e53b0bfb26", "ff681bd6-844d-4c16-9273-b44c85fc2c97"],
"isSynced": True,
"legalName": "Engineering Department LLC",
"externalId": "EXT-GROUP-12345",
"instanceId": "c6781d17-e64d-4493-b94e-07156a5eb374"
}
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({
tenantId: '0df117f3-1e5c-4900-b9a7-8995e8d860d2',
tenantGroupTypeId: 'b0130fa8-5302-4bb1-a7f2-599d7b2c84b7',
baseCurrency: '2204796d-3e46-4a10-b6e3-9fef1b55e019',
groupName: 'Engineering Team',
displayName: 'Engineering Team',
status: 'ACTIVE',
parentGroupIds: ['7ecc3521-2aff-4065-bcf6-b4e53b0bfb26', 'ff681bd6-844d-4c16-9273-b44c85fc2c97'],
isSynced: true,
legalName: 'Engineering Department LLC',
externalId: 'EXT-GROUP-12345',
instanceId: 'c6781d17-e64d-4493-b94e-07156a5eb374'
})
};
fetch('https://staging.api.us.aptlydone.com/settings/v1/groups', 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://staging.api.us.aptlydone.com/settings/v1/groups",
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([
'tenantId' => '0df117f3-1e5c-4900-b9a7-8995e8d860d2',
'tenantGroupTypeId' => 'b0130fa8-5302-4bb1-a7f2-599d7b2c84b7',
'baseCurrency' => '2204796d-3e46-4a10-b6e3-9fef1b55e019',
'groupName' => 'Engineering Team',
'displayName' => 'Engineering Team',
'status' => 'ACTIVE',
'parentGroupIds' => [
'7ecc3521-2aff-4065-bcf6-b4e53b0bfb26',
'ff681bd6-844d-4c16-9273-b44c85fc2c97'
],
'isSynced' => true,
'legalName' => 'Engineering Department LLC',
'externalId' => 'EXT-GROUP-12345',
'instanceId' => 'c6781d17-e64d-4493-b94e-07156a5eb374'
]),
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://staging.api.us.aptlydone.com/settings/v1/groups"
payload := strings.NewReader("{\n \"tenantId\": \"0df117f3-1e5c-4900-b9a7-8995e8d860d2\",\n \"tenantGroupTypeId\": \"b0130fa8-5302-4bb1-a7f2-599d7b2c84b7\",\n \"baseCurrency\": \"2204796d-3e46-4a10-b6e3-9fef1b55e019\",\n \"groupName\": \"Engineering Team\",\n \"displayName\": \"Engineering Team\",\n \"status\": \"ACTIVE\",\n \"parentGroupIds\": [\n \"7ecc3521-2aff-4065-bcf6-b4e53b0bfb26\",\n \"ff681bd6-844d-4c16-9273-b44c85fc2c97\"\n ],\n \"isSynced\": true,\n \"legalName\": \"Engineering Department LLC\",\n \"externalId\": \"EXT-GROUP-12345\",\n \"instanceId\": \"c6781d17-e64d-4493-b94e-07156a5eb374\"\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://staging.api.us.aptlydone.com/settings/v1/groups")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tenantId\": \"0df117f3-1e5c-4900-b9a7-8995e8d860d2\",\n \"tenantGroupTypeId\": \"b0130fa8-5302-4bb1-a7f2-599d7b2c84b7\",\n \"baseCurrency\": \"2204796d-3e46-4a10-b6e3-9fef1b55e019\",\n \"groupName\": \"Engineering Team\",\n \"displayName\": \"Engineering Team\",\n \"status\": \"ACTIVE\",\n \"parentGroupIds\": [\n \"7ecc3521-2aff-4065-bcf6-b4e53b0bfb26\",\n \"ff681bd6-844d-4c16-9273-b44c85fc2c97\"\n ],\n \"isSynced\": true,\n \"legalName\": \"Engineering Department LLC\",\n \"externalId\": \"EXT-GROUP-12345\",\n \"instanceId\": \"c6781d17-e64d-4493-b94e-07156a5eb374\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.api.us.aptlydone.com/settings/v1/groups")
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 \"tenantId\": \"0df117f3-1e5c-4900-b9a7-8995e8d860d2\",\n \"tenantGroupTypeId\": \"b0130fa8-5302-4bb1-a7f2-599d7b2c84b7\",\n \"baseCurrency\": \"2204796d-3e46-4a10-b6e3-9fef1b55e019\",\n \"groupName\": \"Engineering Team\",\n \"displayName\": \"Engineering Team\",\n \"status\": \"ACTIVE\",\n \"parentGroupIds\": [\n \"7ecc3521-2aff-4065-bcf6-b4e53b0bfb26\",\n \"ff681bd6-844d-4c16-9273-b44c85fc2c97\"\n ],\n \"isSynced\": true,\n \"legalName\": \"Engineering Department LLC\",\n \"externalId\": \"EXT-GROUP-12345\",\n \"instanceId\": \"c6781d17-e64d-4493-b94e-07156a5eb374\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"timestamp": "2026-01-08T06:33:20.711Z",
"message": "Success",
"data": {
"id": "3de3ba12-fe6e-4242-b2c2-57aa17d2b959",
"tenantId": "9409925f-e386-428d-b82d-bc96fc7d785e",
"groupId": "drDwrQ",
"groupName": "Engineering Team",
"createdOn": "2023-01-01T12:00:00Z",
"updatedOn": "2023-01-15T12:00:00Z",
"isSynced": false,
"tenantGroupType": {
"id": "6e606506-4c84-49a9-8abe-ce46d5b44e70",
"groupTypeName": "Department",
"shouldAllowEnableDisable": true,
"isDefault": false
},
"isDeleted": false,
"disableOption": "NA",
"baseCurrency": "",
"displayName": "Engineering Department",
"legalName": "Engineering Department LLC",
"externalId": "EXT-GROUP-12345",
"instanceId": "02198055-706d-417d-9573-d376ced5c6f6",
"address": {
"id": "f2dfca59-4d8d-4636-a73b-41e97b3ba548",
"groupId": "1cbaa43f-c81c-45e9-a0c4-31b632d0502b",
"street1": "123 Main Street",
"city": "New York",
"state": "New York",
"zipCode": "10001",
"country": "United States",
"createdOn": "2023-01-01T12:00:00Z",
"updatedOn": "2023-01-15T12:00:00Z",
"street2": "Suite 100",
"stateCode": "NY",
"countryCode": "US"
},
"parentGroups": [
{
"id": "f8e83c38-c408-46d0-8e10-a3bc01073a28",
"parentId": "f3babb40-7bfa-4fc0-9942-4af717f25701",
"createdAt": "2024-01-01T00:00:00.000Z",
"parentGroup": {
"id": "e9db3b7c-e5cd-4ff4-9d6d-a6528ec04aa1",
"tenantId": "56cdb45f-cd19-4be3-963c-2b4b4eb4529e",
"groupId": "10000",
"groupName": "Engineering Team",
"displayName": "Engineering Team",
"legalName": "Engineering Team",
"tenantGroupType": {
"id": "6414c9b4-72f9-4788-99da-976747a10992",
"groupTypeName": "Department"
}
}
}
],
"decisionsCount": 25,
"delegationsCount": 25
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Tenant ID
Example:
"0df117f3-1e5c-4900-b9a7-8995e8d860d2"
Group Type ID
Example:
"b0130fa8-5302-4bb1-a7f2-599d7b2c84b7"
Base Currency
Example:
"2204796d-3e46-4a10-b6e3-9fef1b55e019"
Group Name
Maximum string length:
100Example:
"Engineering Team"
Display Name
Maximum string length:
100Example:
"Engineering Team"
Status
Available options:
ACTIVE, INACTIVE Parent group ids
Example:
[
"7ecc3521-2aff-4065-bcf6-b4e53b0bfb26",
"ff681bd6-844d-4c16-9273-b44c85fc2c97"
]
isSynced
Legal Name
Maximum string length:
100Example:
"Engineering Department LLC"
External ID
Maximum string length:
100Example:
"EXT-GROUP-12345"
Instance ID
Example:
"c6781d17-e64d-4493-b94e-07156a5eb374"
Group Address
Show child attributes
Show child attributes
Response
201 - application/json
Group created successfully
Was this page helpful?
āI