Admin
Public Admin options
Operations
We expose the following operations listed below:
Delete and blacklist user
Deletes the user and if the request applies will put the user as blacklist.
-
Blacklist is an optional parameter. Default is false.
-
Identification is mandatory path parameter.
Resource URL
DELETE: /os-api/public-api/v1/users/{identification}/?blacklist={blacklist}
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
URL Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
String value with the user that need to be deleted. It’s the same identification you use to provision the user. |
|
Optional |
Default value is false. It defines if users need to be marked as blacklist. |
Response
HTTP/1.1 200 OK
Example:
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found
Example:
{
"timestamp": "2019-06-26",
"message": "Internal Server Error",
"details": "The user wasn’t found",
"type": "uri=/os-api/public-api/v1/posts",
"title": "Internal Server Error",
"detail": "An unexpected or uncontrolled error has occurred in the application."
}
Create a user
Creates a new user.
-
identification, firstName and lastName are all mandatory fields. All other fields are optional. For now, we are supporting a limit of 30 custom fields. Below you will find an example payload.
-
Once created, if successful, the endpoint will answer using the http code 201, and the userId assigned to the new user, meaning that the user was created successfully. Otherwise, one of the errors listed below could be returned.
Resource URL
POST: /os-api/public-api/v1/users/
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
Request Body
Example:
{
"firstName": "initial_firstName",
"lastName": "initial_lastName",
"identification": "random_user_identification",
"email": "initial_email@email.com",
"birthDate": "1990-01-01",
"orgEntryDate": "2009-01-01",
"area": "initial_area",
"account": "initial_account",
"job": "initial_job",
"phoneNumber": "initial123",
"project": "initial_project",
"seniority": "initial_seniority",
"customFields": {
"customField1": "custom1",
"customField2": "custom2",
"customField3": "custom3",
"customField4": "custom4",
"customField5": "custom5",
"customField6": "custom6",
"customField7": "custom7",
"customField8": "custom8",
"customField9": "custom9",
"customField10": "custom10",
"customField11": "custom11",
"customField12": "custom12",
"customField13": "custom13",
"customField14": "custom14",
"customField15": "custom15",
"customField16": "custom16",
"customField17": "custom17",
"customField18": "custom18",
"customField19": "custom19",
"customField20": "custom20",
"customField21": "custom21",
"customField22": "custom22",
"customField23": "custom23",
"customField24": "custom24",
"customField25": "custom25",
"customField26": "custom26",
"customField27": "custom27",
"customField28": "custom28",
"customField29": "custom29",
"customField30": "custom30",
"customField31": "custom31",
"customField32": "custom32",
"customField33": "custom33",
"customField34": "custom34",
"customField35": "custom35",
"customField36": "custom36",
"customField37": "custom37",
"customField38": "custom38",
"customField39": "custom39",
"customField40": "custom40",
"customField41": "custom41",
"customField42": "custom42",
"customField43": "custom43",
"customField44": "custom44",
"customField45": "custom45",
"customField46": "custom46",
"customField47": "custom47",
"customField48": "custom48",
"customField49": "custom49",
"customField50": "custom50",
"customField51": "custom51",
"customField52": "custom52",
"customField53": "custom53",
"customField54": "custom54",
"customField55": "custom55",
"customField56": "custom56",
"customField57": "custom57",
"customField58": "custom58",
"customField59": "custom59",
"customField60": "custom60"
}
}
Response
HTTP/1.1 201 CREATED
Example:
{
"userId": "123456"
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 500 Internal Server Error
Update a user
Updates data for an existing user.
-
identification, firstName and lastName are all mandatory fields. All other fields are optional. For now, we are supporting a limit of 30 custom fields. Below you will find an example of the payload.
-
Once updated, if successful, the endpoint will answer using the http code 202, and a json representation of the user (see example below), meaning that the user was updated successfully. Otherwise, one of the errors listed below could be returned.
Resource URL
PUT: /os-api/public-api/v1/users/
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
Request Body
Example:
{
"userId": "123456",
"firstName": "updated_firstName",
"lastName": "updated_lastName",
"identification": "random_user_identification",
"email": "updated_email@email.com",
"birthDate": "1990-01-01",
"orgEntryDate": "2009-01-01",
"area": "updated_area",
"account": "updated_account",
"job": "updated_job",
"phoneNumber": "updated123",
"project": "updated_project",
"seniority": "updated_seniority",
"customFields": {
"customField1": "ucustom1",
"customField2": "ucustom2",
"customField3": "ucustom3",
"customField4": "ucustom4",
"customField5": "ucustom5",
"customField6": "ucustom6",
"customField7": "ucustom7",
"customField8": "ucustom8",
"customField9": "ucustom9",
"customField10": "ucustom10",
"customField11": "ucustom11",
"customField12": "ucustom12",
"customField13": "ucustom13",
"customField14": "ucustom14",
"customField15": "ucustom15",
"customField16": "ucustom16",
"customField17": "ucustom17",
"customField18": "ucustom18",
"customField19": "ucustom19",
"customField20": "ucustom20",
"customField21": "ucustom21",
"customField22": "ucustom22",
"customField23": "ucustom23",
"customField24": "ucustom24",
"customField25": "ucustom25",
"customField26": "ucustom26",
"customField27": "ucustom27",
"customField28": "ucustom28",
"customField29": "ucustom29",
"customField30": "ucustom30"
}
}
Response
HTTP/1.1 202 ACCEPTED
Example:
{
"result": {
"userId": "123456",
"firstName": "updated_firstName",
"lastName": "updated_lastName",
"identification": "random_user_identification",
"email": "updated_email@email.com",
"birthDate": "1990-01-01",
"orgEntryDate": "2009-01-01",
"area": "updated_area",
"account": "updated_account",
"job": "updated_job",
"phoneNumber": "updated123",
"project": "updated_project",
"seniority": "updated_seniority",
"customFields": {
"customField1": "custom1",
"customField2": "custom2",
"customField3": "custom3",
"customField4": "custom4",
"customField5": "custom5",
"customField6": "custom6",
"customField7": "custom7",
"customField8": "custom8",
"customField9": "custom9",
"customField10": "custom10",
"customField11": "custom11",
"customField12": "custom12",
"customField13": "custom13",
"customField14": "custom14",
"customField15": "custom15",
"customField16": "custom16",
"customField17": "custom17",
"customField18": "custom18",
"customField19": "custom19",
"customField20": "custom20",
"customField21": "custom21",
"customField22": "custom22",
"customField23": "custom23",
"customField24": "custom24",
"customField25": "custom25",
"customField26": "custom26",
"customField27": "custom27",
"customField28": "custom28",
"customField29": "custom29",
"customField30": "custom30",
"customField31": "custom31",
"customField32": "custom32",
"customField33": "custom33",
"customField34": "custom34",
"customField35": "custom35",
"customField36": "custom36",
"customField37": "custom37",
"customField38": "custom38",
"customField39": "custom39",
"customField40": "custom40",
"customField41": "custom41",
"customField42": "custom42",
"customField43": "custom43",
"customField44": "custom44",
"customField45": "custom45",
"customField46": "custom46",
"customField47": "custom47",
"customField48": "custom48",
"customField49": "custom49",
"customField50": "custom50",
"customField51": "custom51",
"customField52": "custom52",
"customField53": "custom53",
"customField54": "custom54",
"customField55": "custom55",
"customField56": "custom56",
"customField57": "custom57",
"customField58": "custom58",
"customField59": "custom59",
"customField60": "custom60"
}
}
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 500 Internal Server Error
Get a User
Gets a user by identification.
Resource URL
GET /os-api/public-api/v1/users/{identification}
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
Response
HTTP/1.1 200 OK
Example:
{
"result": {
"id": 1274616,
"locale": "es",
"office": {
"name": "San Francisco"
},
"firstName": "Estefania",
"lastName": "Rodriguez",
"email": "estefania.rodriguez@acme.com",
"profileImageId": "1",
"profileImageCode": "avatar1",
"enabled": true,
"area": "Development",
"account": "Test",
"project": "SMU",
"birthDate": "1996-09-12",
"orgEntryDate": "Jul 17, 2018 12:00:00 AM",
"identification": "estefania.rodriguez@acme.com",
"customFields": {},
"externalId": "estefania.rodriguez@acme.com",
"uid": "6bb331fa85581c6d64263b2a7782d78c",
"loginId": "estefania.rodriguez@acme.com",
"createdDate": "2023-06-09T22:45:19",
"lastUpdate": "2023-11-27T12:44:48"
}
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 500 Internal Server Error
Get Users
Get users by criteria
Resource URL
GET /os-api/public-api/v1/users
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
Body Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Optional |
Refers to user’s information like name, identification or email. |
|
Optional |
Find only enabled or disabled users. By default true. When value is false will find enabled and disabled users. |
|
Optional |
Refers to page to be found. As default is 0. |
|
Optional |
Refers to page size. As default is 10. |
|
Optional |
Refers to sort field. As default is firstName. Allowed values: firstName, lastname, id, email |
|
Optional |
Refers to sort directions. Allowed values: ASC, DESC |
Response
HTTP/1.1 200 OK
Example:
{
"result": [
{
"id": 1069781,
"locale": "es",
"office": {},
"firstName": "Ash",
"lastName": "ketchum",
"email": "ash.ketchum@acme.com",
"profileImageId": "1",
"profileImageCode": "hlX2GTaXzr_png",
"enabled": true,
"account": "SMU",
"project": "SMU",
"birthDate": "2000-10-23",
"orgEntryDate": "Aug 30, 2018 12:00:00 AM",
"organizationName": "SMU1",
"identification": "ash.ketchum@acme.com",
"customFields": {
"customField1": "Colombia"
},
"externalId": "ash1",
"uid": "b319b1ce09024d4024bdaf02e95e94fc",
"loginId": "ash.ketchum@acme.com",
"createdDate": "2021-08-18T18:58:50",
"lastUpdate": "2023-12-11T11:38:21"
},
{
"id": 1133351,
"locale": "pt",
"office": {},
"firstName": "Ava",
"lastName": "Gardner",
"email": "ava.gardner@acme.com",
"profileImageId": "1",
"profileImageCode": "iILGlBHjSY_png",
"enabled": true,
"birthDate": "2000-09-05",
"orgEntryDate": "Jun 09, 2019 12:00:00 AM",
"organizationName": "SMU1",
"identification": "ava.gardner@acme.com",
"customFields": {},
"externalId": "Ava1",
"uid": "3b5351b5a05790bd32eb8e076eae65b4",
"loginId": "ava.gardner@acme.com",
"createdDate": "2022-05-29T18:00:17",
"lastUpdate": "2024-01-10T18:51:59"
},
{
"id": 1274616,
"locale": "es",
"office": {
"name": "San Francisco"
},
"firstName": "Estefania",
"lastName": "Rodriguez",
"email": "estefania.rodriguez@acme.com",
"profileImageId": "1",
"profileImageCode": "avatar1",
"enabled": true,
"area": "Development",
"account": "Test",
"project": "SMU",
"birthDate": "1996-09-12",
"orgEntryDate": "Jul 17, 2018 12:00:00 AM",
"identification": "estefania.rodriguez@acme.com",
"customFields": {},
"externalId": "estefania.rodriguez@acme.com",
"uid": "6bb331fa85581c6d64263b2a7782d78c",
"loginId": "estefania.rodriguez@acme.com",
"createdDate": "2023-06-09T22:45:19",
"lastUpdate": "2023-11-27T12:44:48"
}
],
"page": {
"totalElements": 84
}
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 500 Internal Server Error
Bulk provisioning
Allows provisioning users in a massive way through a .csv file. There are two ways of doing so, full provisioning and partial provisioning.
Full provisioning is intended to be used when you want to affect all users of your community. Users present in the file are going to be updated if already exists or created if not, while users that are not present in the file are going to be disabled. (See an example below).
Partial provisioning, differently that full, is intended to be used when you want to affect some specific set of users. In order to do that you should provide for each row the command to be used (I = Insertion, U = Update, D = Disable). (See an example below).
Resource URL
POST: /os-api/public-api/v1/admin/userFiles/
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
URL Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Optional |
Default value is false. Performs a fields mapping if previously configured. |
Request Body
You must provide the path of the csv file, and also the name using the keys file and fileName respectively.
Full file example:
Partial file example:
Response
HTTP/1.1 200 OK
Example:
{
"result": {
"id": 1948,
"fileName": "bulk.csv",
"communityId": 3512,
"uploaderId": 0,
"fileDate": "2023-07-11 14:38:02",
"fileStatus": "Processing",
"blocked": true
}
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 500 Internal Server Error
Sync users process
Allows provisioning users getting data from defined source
Resource URL
PATCH: /os-api/public-api/v1/admin/import-users-job
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
Response
HTTP/1.1 202 Accepted: accepted for processing, but the processing has not been finished yet.
Example:
{
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 500 Internal Server Error
Modify leadership to Users
This api provides the way to manage the leader relationships in the platform. This api can manage the following operations:
-
Add and delete main leaders relationships with a collaborator
-
Add and delete secondary leaders relationships with a collaborator
POST
/public-api/v1/leaders
RequestBody
{
"collaboratorIdentification": "collaboratorIdentification",
"mainLeaderIdentification":"leader1identification",
"secondaryLeadersIdentifications": ["leader2identification", "leader3identification"]
}
-
collaboratorIdentification: The identification of the collaborator, Mandatory.
-
mainLeaderIdentification: The identification of the main leader, if you don’t want to set a main leader, you can let the field in null or not send it.
-
secondaryLeadersIdentifications: The identifications of the secondary leaders, as an array e.g. ["secondaryLeaderIdentification1", "secondaryLeaderIdentification2", …]. If you don’t want to set a secondary leaders, you can let the field in null or not send it.
Example Curl:
curl --request POST \
--url {qa-path}/os-api/public-api/v1/leaders \
--header 'Authorization: Bearer xxxxx' \
--header 'Content-Type: application/json' \
--header 'User-Agent: insomnia/2023.5.8' \
--data '{
"collaboratorIdentification": "CollaboratorIdentification",
"mainLeaderIdentification":"mainLeaderIdentification",
"secondaryLeadersIdentifications": ["secondaryLeaderIdentification1",
"secondaryLeaderIdentification2"]
}'
Responses
HTTP/1.1 201 Created
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 406 Not Acceptable
DELETE
/public-api/v1/leaders
RequestBody
{
"collaboratorIdentification": "collaboratorIdentification",
"mainLeaderIdentification":"leader1identification",
"secondaryLeadersIdentifications": ["leader2identification", "leader3identification"]
}
-
collaboratorIdentification: The identification of the collaborator, Mandatory.
-
mainLeaderIdentification: The identification of the main leader, if you don’t want to delete a main leader relationship, you can let the field in null or not send it.
-
secondaryLeadersIdentifications: The identifications of the secondary leaders, as an array e.g. ["secondaryLeaderIdentification1", "secondaryLeaderIdentification2", …]. If you don’t want to delete secondary leader relationships, you can let the field in null or not send it.
Example Curl:
curl --request DELETE \
--url {qa-path}/os-api/public-api/v1/leaders \
--header 'Authorization: Bearer xxxxxxxxx' \
--header 'Content-Type: application/json' \
--header 'User-Agent: insomnia/2023.5.8' \
--data '{
"collaboratorIdentification": "CollaboratorIdentification",
"mainLeaderIdentification":"mainLeaderIdentification",
"secondaryLeadersIdentifications": ["secondaryLeaderIdentification1",
"secondaryLeaderIdentification2"]
}'
Responses
HTTP/1.1 200 OK
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 406 Not Acceptable
Get community roles
Returns all roles available in the community (both standard and custom), with their permissions and translations.
The community is taken from the OS_APP token.
Resource URL
GET: /os-api/public-api/v1/community/roles
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
Response
HTTP/1.1 200 OK
Example:
[
{
"id": 0,
"name": "ROLE_OS_SUPER_ADMIN",
"enabled": true,
"users": 3,
"nameTranslations": [],
"descriptionTranslations": [],
"permissions": [
{ "id": 0, "name": "PERMISSION_OS:ROLES:ALL" },
{ "id": 0, "name": "PERMISSION_OS:REPORTS:ALL" }
]
},
{
"id": 145,
"name": "CUSTOM_HR_ADMIN",
"enabled": true,
"users": 12,
"nameTranslations": [
{ "id": 9011, "languageCode": "en", "value": "HR Admin" },
{ "id": 9012, "languageCode": "es", "value": "Administrador RR.HH." }
],
"descriptionTranslations": [
{ "id": 9013, "languageCode": "en", "value": "Manage HR settings" }
],
"permissions": [
{ "id": 421, "name": "PERMISSION_OS:ORGANIZATIONAL_STRUCTURES:ALL" },
{ "id": 422, "name": "PERMISSION_OS:REPORTS:ALL" }
]
}
]
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 500 Internal Server Error
Get custom role by code
Returns a role, with their permissions and translations.
The community is taken from the OS_APP token.
Resource URL
GET: /os-api/public-api/v1/roles/{customAclCode}
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
Response
HTTP/1.1 200 OK
Example:
{
"id": 1031,
"name": "ROLE_CUSTOM_ACL_4553_005",
"enabled": true,
"users": 1,
"nameTranslations": [
{
"id": 72703,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "en",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72704,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "es",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72705,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72706,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt-pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72707,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "hi",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72708,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "it",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72709,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "de",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72710,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "fr",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72711,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pl",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72712,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "he",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76632,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "en",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76633,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "es",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76634,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76635,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt-pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76636,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "hi",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76637,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "it",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76638,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "de",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76639,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "fr",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76640,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pl",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76641,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "he",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77143,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "en",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77144,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "es",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77145,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77146,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt-pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77147,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "hi",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77148,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "it",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77149,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "de",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77150,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "fr",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77151,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pl",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77152,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "he",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77654,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "en",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77655,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "es",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77656,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77657,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt-pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77658,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "hi",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77659,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "it",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77660,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "de",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77661,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "fr",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77662,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pl",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77663,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "he",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78165,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "en",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78166,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "es",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78167,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78168,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt-pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78169,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "hi",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78170,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "it",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78171,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "de",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78172,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "fr",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78173,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pl",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78174,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "he",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005",
"resourceValue": "PBP aprobador promoción"
}
],
"descriptionTranslations": [
{
"id": 72713,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72714,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "en",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72715,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "es",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72716,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt-pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72717,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "hi",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72718,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "it",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72719,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "de",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72720,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "fr",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72721,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pl",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 72722,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "he",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76642,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76643,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "en",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76644,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "es",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76645,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt-pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76646,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "hi",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76647,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "it",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76648,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "de",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76649,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "fr",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76650,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pl",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 76651,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "he",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77153,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77154,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "en",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77155,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "es",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77156,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt-pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77157,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "hi",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77158,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "it",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77159,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "de",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77160,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "fr",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77161,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pl",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77162,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "he",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77664,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77665,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "en",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77666,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "es",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77667,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt-pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77668,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "hi",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77669,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "it",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77670,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "de",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77671,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "fr",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77672,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pl",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 77673,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "he",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78175,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78176,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "en",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78177,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "es",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78178,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pt-pt",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78179,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "hi",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78180,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "it",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78181,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "de",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78182,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "fr",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78183,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "pl",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
},
{
"id": 78184,
"templateName": "customRoles",
"resourceType": "CUSTOM_ROLE",
"languageCode": "he",
"organizationId": 4553,
"origin": null,
"resourceName": "ROLE_CUSTOM_ACL_4553_005_DESC",
"resourceValue": "PBP aprobador promoción"
}
],
"permissions": [
{
"id": 1305,
"name": "PERMISSION_OS:SALARY_LETTER:VIEWER"
},
{
"id": 347,
"name": "PERMISSION_OS:DASHBOARD:READONLY"
},
{
"id": 1019,
"name": "PERMISSION_OS:PROMOTIONS_APPROVALS_SEGMENTED:WRITE"
},
{
"id": 1021,
"name": "PERMISSION_OS:TD_SEGMENTED_PROMOTIONS:ALL"
}
]
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 500 Internal Server Error
Update role
Updates an existing custom role. The role identifier is taken from the path (it overrides any value in the body, if present).
The community is taken from the OS_APP token.
Resource URL
PATCH: /os-api/public-api/v1/roles/{role-code}
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
|
Required |
|
URL Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Identifier of the custom role to update. |
Request Body
| Field | Optional/Required | Description |
|---|---|---|
|
Required |
Internal key/name of the role. |
|
Optional |
Whether the role is active. |
|
Required |
Set of permissions assigned to the role. Each item is |
|
Optional |
List of localized labels for the role name. |
|
Optional |
List of localized descriptions for the role. |
Example:
{
"enabled": true,
"permissions": [
{ "name": "PERMISSION_OS:ORGANIZATIONAL_STRUCTURES:ALL" },
{ "name": "PERMISSION_OS:REPORTS:ALL" }
]
}
Response
HTTP/1.1 200 OK
Example:
{
"id": 145,
"name": "CUSTOM_HR_ADMIN",
"enabled": true,
"users": 12,
"nameTranslations": [
{ "id": 9011, "languageCode": "en", "value": "HR Admin" },
{ "id": 9012, "languageCode": "es", "value": "Administrador RR.HH." }
],
"descriptionTranslations": [
{ "id": 9013, "languageCode": "en", "value": "Manage HR settings" }
],
"permissions": [
{ "id": 421, "name": "PERMISSION_OS:ORGANIZATIONAL_STRUCTURES:ALL" },
{ "id": 422, "name": "PERMISSION_OS:REPORTS:ALL" }
]
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Internal Server Error
Delete user roles
Clears every role, permission and segmented permission of a user in the community resolved from the OS_APP token.
Internally this delegates to the same logic as the v2 update endpoint with the payload {"roles":[],"permissions":[],"segmentedPermissions":{}}, which the service treats as a "set to nothing" — i.e. the user is left with no role, no direct permission and no segmented permission in any product.
Resource URL
DELETE: /os-api/public-api/v1/community/users/{identification}/roles
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
URL Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
String value identifying the user whose roles will be cleared. This is the same |
Response
HTTP/1.1 204 No Content
The response body is empty. A subsequent call to Get community roles for the same user will show no role assignments.
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Internal Server Error
A 404 Not Found is returned when no user with the given identification exists in the caller’s community.
Get permissions
Returns the catalog of permissions enabled for the community, each item with its raw code and an internationalized name resolved from the language requested through Accept-Language (defaults to en). When no translation exists for a permission, name falls back to the same value of code.
Resource URL
GET: /os-api/public-api/v1/permissions
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
|
Optional |
Two-letter language code (e.g. |
Response
HTTP/1.1 200 OK
Example (Accept-Language: es):
[
{ "code": "PERMISSION_OS:REPORTS:ALL", "name": "Reportes" },
{ "code": "PERMISSION_OS:ROLES:ALL", "name": "Roles" },
{ "code": "PERMISSION_OS:TD:PERFORMANCE", "name": "Desempeño" },
{ "code": "PERMISSION_OS:UNTRANSLATED:X", "name": "PERMISSION_OS:UNTRANSLATED:X" }
]
Errors
HTTP/1.1 401 Unauthorized, 403 Forbidden, 500 Internal Server Error
Get permission by code
Returns the detail of a single custom ACL role of the community by its internal name (key), including the localized translations of its name and description and the full set of assigned permissions.
The community is taken from the caller’s token. Unlike the rest of the public-api/v1 operations, this endpoint requires the caller to hold the OS:ROLES:ALL permission rather than the generic OS_APP role.
Resource URL
GET: /os-api/public-api/v1/roles/{customAclCode}
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Bearer token with |
URL Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Internal key/name of the custom role (e.g. |
Response
HTTP/1.1 200 OK
Example:
{
"id": 145,
"name": "CUSTOM_HR_ADMIN",
"enabled": true,
"users": 12,
"nameTranslations": [
{ "id": 9011, "languageCode": "en", "value": "HR Admin" },
{ "id": 9012, "languageCode": "es", "value": "Administrador RR.HH." },
{ "id": 9013, "languageCode": "pt", "value": "Administrador de RH" }
],
"descriptionTranslations": [
{ "id": 9021, "languageCode": "en", "value": "Manage HR settings" },
{ "id": 9022, "languageCode": "es", "value": "Gestionar configuración de RR.HH." }
],
"permissions": [
{ "id": 421, "name": "PERMISSION_OS:ORGANIZATIONAL_STRUCTURES:ALL" },
{ "id": 422, "name": "PERMISSION_OS:REPORTS:ALL" }
]
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Internal Server Error
A 404 Not Found is returned when no custom role matches the given customAclName for the caller’s community.
Get segments
Returns the segments configured for the community. Supports pagination, filtering and member inclusion.
The community is taken from the OS_APP token.
Resource URL
GET: /os-api/public-api/v1/community/segments
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
Query Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Optional |
Origin / scope for the segments query (e.g. |
|
Optional |
Schema version of the response. Use |
|
Optional |
When |
|
Optional |
Zero-based page index. Defaults to |
|
Optional |
Page size. Defaults to |
|
Optional |
Filter segments whose title contains the given text. |
Response
HTTP/1.1 200 OK
Example:
{
"result": [
{
"id": 3025,
"code": "ENG-AR",
"title": "Engineering Argentina",
"description": "All engineering members in Argentina",
"membersCount": 184,
"members": [],
"createdDate": "2024-04-12T10:42:11",
"lastUpdate": "2026-04-30T08:11:56"
},
{
"id": 3133,
"code": "HR-LATAM",
"title": "HR LATAM",
"description": "HR team across LATAM",
"membersCount": 27,
"members": [],
"createdDate": "2024-09-02T09:15:00",
"lastUpdate": "2026-03-18T17:24:09"
}
],
"page": {
"totalElements": 42,
"totalPages": 5,
"number": 0,
"size": 10
}
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 500 Internal Server Error
Get segment by id
Returns the detail of a single segment of the community, identified by its numeric id.
The community is taken from the OS_APP token.
Resource URL
GET: /os-api/public-api/v1/community/segments/{segment-id}
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token (You can get information on Authentication). |
URL Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Numeric identifier of the segment. |
Response
HTTP/1.1 200 OK
Example:
{
"result": {
"id": 3133,
"code": "HR-LATAM",
"title": "HR LATAM",
"description": "HR team across LATAM",
"membersCount": 27,
"members": [
{ "id": 1133351, "identification": "ava.gardner@acme.com", "firstName": "Ava", "lastName": "Gardner" },
{ "id": 1274616, "identification": "estefania.rodriguez@acme.com", "firstName": "Estefania", "lastName": "Rodriguez" }
],
"createdDate": "2024-09-02T09:15:00",
"lastUpdate": "2026-03-18T17:24:09"
}
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Internal Server Error
Bulk role assignment
Assigns one or more custom ACL roles, default segment permissions, and specific segmented permissions to a list of community users in a single call.
The operation is non-atomic: a failure for one user does not affect the others.
The community is taken from the OS_APP token.
Resource URL
POST: /os-api/public-api/v1/community/users/roles
Header Parameters
| Parameter | Optional/Required | Description |
|---|---|---|
|
Required |
Community Token with the |
|
Required |
|
Request Body
| Field | Optional/Required | Description |
|---|---|---|
|
Optional |
Custom ACL role tokens to assign. Every value must start with |
|
Optional |
Segment codes to assign as default ACL permissions (e.g. |
|
Optional |
Map of segmentable-permission code → list of segment codes. Keys must be valid segmentable permissions for the community as returned by |
|
Required |
External identification values of the target users (same identifications used when provisioning). Must not be empty. |
Example:
{
"roles": ["ROLE_CUSTOM_ACL_4553_005"],
"permissions": ["community.4553.segment.producto", "community.4553.segment.fintech"],
"segmentedPermissions": {
"PERMISSION_OS:PROMOTIONS_APPROVALS_SEGMENTED:WRITE": [
"community.4553.segment.masivos_mexico"
]
},
"users": ["300123", "300876", "3002256"]
}
Response
HTTP/1.1 207 Multi-Status
The endpoint always returns 207 because each user may have a different individual outcome.
summary object
| Field | Type | Description |
|---|---|---|
|
integer |
Total number of identifications processed. |
|
integer |
Number of users that received the assignment successfully (status < 300). |
|
integer |
Number of users that could not be assigned. |
results[] object
| Field | Type | Description |
|---|---|---|
|
string |
The identification value sent in the request. |
|
integer |
HTTP-style individual outcome: |
|
string |
Human-readable outcome description. |
Example:
{
"summary": {
"total": 3,
"succeeded": 2,
"failed": 1
},
"results": [
{
"email": "300123",
"status": 201,
"message": "Role assigned successfully"
},
{
"email": "300876",
"status": 201,
"message": "Role assigned successfully"
},
{
"email": "3002256",
"status": 404,
"message": "User not found"
}
]
}
Errors
HTTP/1.1 400 Bad Request, 401 Unauthorized
| HTTP Status | Scenario |
|---|---|
|
|
|
Any value in |
|
Any key in |
|
Bearer token is missing, expired, or does not carry the |
Business Rules
-
Custom roles only — the
rolesfield accepts exclusively custom ACL tokens (ROLE_CUSTOM_ACL_*). Attempting to assign a standard platform role (e.g.ROLE_BME_USER) results in a400rejection for the entire request. -
Segment prefix handling — callers send raw segment codes (e.g.
community.4553.segment.producto). The API automatically prepends the internaladmin.segments.storage prefix. If the caller already includes the prefix it will not be doubled. -
Partial success — if some identifications are not found in the community, those users are reported with status
404inresultswhile the remaining users still receive their assignment. The overall HTTP response is always207. -
Identification resolution — user resolution (identification → internal user ID) is performed against the identity table scoped to the community. Only users that are active and belong to the community are matched.
-
Segmented-permission key validation — the keys of
segmentedPermissionsmust be valid segmentable permissions for the community. Invalid keys cause a400before any assignment is attempted.
