Loading

DFS Service Layer API (v1)

Download OpenAPI specification:Download

AuditContext

Audit Context API

Generate audit context Deprecated

Generates a new audit context identifier which tracks the changes from database for a specific tenant. It serves as key when editing or adding records in tenant database.

Authorizations:
Request Body schema:

The audit context request containing the list of the persons involved in changes under audit, the app name creating the audit context (e.g. backoffice, services, migrating) and the authorized appId. The list of persons can be null if no person is involved in changes, e.g. registering contact.

Createdby
string Nullable
AuthorizedAppId
string Nullable
PersonIds
Array of integers <int32> Nullable

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

UnprocessableEntity

500

Server Error

post/v1.0/auditcontext/generate
https://example-host/v1.0/auditcontext/generate

Request samples

Content type
Copy
Expand all Collapse all
{
  • "Createdby": "BackOffice",
  • "AuthorizedAppId": "jGER285mdgZuDq50PadB1ITWv3tM9Y",
  • "PersonIds":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
0

Generate audit context

Generates a new audit context identifier which tracks the changes from database for a specific tenant. It serves as key when editing or adding records in tenant database.

Authorizations:
Request Body schema:

The audit context request containing the list of the persons involved in changes under audit, the app name creating the audit context (e.g. backoffice, services, migrating) and the authorized appId. The list of persons can be null if no person is involved in changes, e.g. registering contact.

Createdby
string Nullable
AuthorizedAppId
string Nullable
PersonIds
Array of integers <int32> Nullable

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

UnprocessableEntity

500

Server Error

post/v1.1/auditcontext/generate
https://example-host/v1.1/auditcontext/generate

Request samples

Content type
Copy
Expand all Collapse all
{
  • "Createdby": "BackOffice",
  • "AuthorizedAppId": "jGER285mdgZuDq50PadB1ITWv3tM9Y",
  • "PersonIds":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "AuditContextId": 1001,
  • "TenantId": 2,
  • "TenantKey": "Additiv",
  • "MemberIds":
    [
    ]
}

Generate audit context for a specific tenant

Generates a new audit context identifier which tracks the changes from database for a specific tenant. It serves as key when editing or adding records in tenant database.

Authorizations:
path Parameters
tenantKey
required
string Nullable

The tenant key

Request Body schema:

The audit context request containing the list of the persons involved in changes under audit, the app name creating the audit context (e.g. backoffice, services, migrating) and the authorized appId. The list of persons can be null if no person is involved in changes, e.g. registering contact.

Createdby
string Nullable
AuthorizedAppId
string Nullable
InternalIds
Array of strings <uuid> Nullable

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

UnprocessableEntity

500

Server Error

post/v2.0/tenants/{tenantKey}/auditcontext/generate
https://example-host/v2.0/tenants/{tenantKey}/auditcontext/generate

Request samples

Content type
Copy
Expand all Collapse all
{
  • "Createdby": "BackOffice",
  • "AuthorizedAppId": "jGER285mdgZuDq50PadB1ITWv3tM9Y",
  • "InternalIds":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "AuditContextId": 1001,
  • "TenantId": 2,
  • "TenantKey": "Additiv",
  • "MemberIds":
    [
    ]
}

BackOfficeManagement

Back-Office Management API

Get a list of (B/O) menus accessible by specific identity in a specific tenant

Authorizations:
path Parameters
tenantId
required
integer <int32>

The Tenant ID

identityId
required
string <uuid>

The Internal User ID of an identity

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

get/v1.0/tenants/{tenantId}/identities/{identityId}/menus
https://example-host/v1.0/tenants/{tenantId}/identities/{identityId}/menus

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "DefaultMenuId": 12,
  • "MenuItems":
    [
    ]
}

Set a list of (B/O) menus accessible by specific identity in a specific tenant

Authorizations:
path Parameters
tenantId
required
integer <int32>

The Tenant ID

identityId
required
string <uuid>

The Internal User ID of an identity

Request Body schema:

The set identity tenant access menus payload

DefaultMenuIds
Array of integers <int32> Nullable
MenuIds
Array of integers <int32> Nullable

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

UnprocessableEntity

500

Server Error

patch/v1.0/tenants/{tenantId}/identities/{identityId}/menus
https://example-host/v1.0/tenants/{tenantId}/identities/{identityId}/menus

Request samples

Content type
Copy
Expand all Collapse all
{
  • "DefaultMenuIds":
    [
    ],
  • "MenuIds":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Code": "BadRequest",
  • "Message": "The request was not in the required format",
  • "CorrelationId": "30d3ebc0b5cb47b0889850bbdfe4aec6"
}

Get a list of (B/O) access policies for specific identity in a specific tenant

Authorizations:
path Parameters
tenantId
required
integer <int32>

The Tenant ID

identityId
required
string <uuid>

The Internal User ID of an identity

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

get/v1.0/tenants/{tenantId}/identities/{identityId}/access-policies
https://example-host/v1.0/tenants/{tenantId}/identities/{identityId}/access-policies

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "AccessPolicyIds":
    [
    ]
}

Set a list of (B/O) access policies for specific identity in a specific tenant

Authorizations:
path Parameters
tenantId
required
integer <int32>

The Tenant ID

identityId
required
string <uuid>

The Internal User ID of an identity

Request Body schema:

The set identity tenant access policies payload

AccessPolicyIds
Array of integers <int32> Nullable

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

UnprocessableEntity

500

Server Error

patch/v1.0/tenants/{tenantId}/identities/{identityId}/access-policies
https://example-host/v1.0/tenants/{tenantId}/identities/{identityId}/access-policies

Request samples

Content type
Copy
Expand all Collapse all
{
  • "AccessPolicyIds":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Code": "BadRequest",
  • "Message": "The request was not in the required format",
  • "CorrelationId": "30d3ebc0b5cb47b0889850bbdfe4aec6"
}

Get a list of (B/O) access policies available for a specific tenant

Authorizations:
path Parameters
tenantId
required
integer <int32>

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

get/v1.0/tenants/{tenantId}/access-policies
https://example-host/v1.0/tenants/{tenantId}/access-policies

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "AccessPolicyGroups":
    [
    ]
}

Get a list of (B/O) menus available for a specific tenant

Authorizations:
path Parameters
tenantId
required
integer <int32>

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

get/v1.0/tenants/{tenantId}/menus
https://example-host/v1.0/tenants/{tenantId}/menus

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Menus":
    [
    ]
}

IdentityManagement

Identity Management API

Delete identity picture

Authorizations:
path Parameters
identityId
required
string <uuid>

The Internal User ID of an identity

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

delete/v1.0/identities/{identityId}/profilepicture
https://example-host/v1.0/identities/{identityId}/profilepicture

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Code": "BadRequest",
  • "Message": "The request was not in the required format",
  • "CorrelationId": "30d3ebc0b5cb47b0889850bbdfe4aec6"
}

Upload identity picture

Authorizations:
path Parameters
identityId
required
string <uuid>

The Internal User ID of an identity

Request Body schema:

The picture represented as base64 string

ImageContentBase64
string Nullable

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

put/v1.0/identities/{identityId}/profilepicture
https://example-host/v1.0/identities/{identityId}/profilepicture

Request samples

Content type
Copy
Expand all Collapse all
{
  • "ImageContentBase64": "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"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Code": "BadRequest",
  • "Message": "The request was not in the required format",
  • "CorrelationId": "30d3ebc0b5cb47b0889850bbdfe4aec6"
}

Get the identity by Internal User ID

Authorizations:
path Parameters
identityId
required
string <uuid>

The Internal User ID of an identity

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

get/v1.0/identities/{identityId}
https://example-host/v1.0/identities/{identityId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "MemberId": 1,
  • "IdentityId": "01000000-0000-0000-0000-000000000000",
  • "UserName": "additiv",
  • "FirstName": "Admin",
  • "LastName": "Admin",
  • "SalutationId": 2,
  • "Email": "admin@additiv.com",
  • "Description": "Admin account description",
  • "Phone": "41|522672742",
  • "Fax": "41|522672742",
  • "Mobile": "41|797353960",
  • "IdentityProviderSettingId": 1,
  • "ExternalId": "EX001245",
  • "IdentityRole":
    {
    },
  • "IdentityProvider":
    {
    },
  • "BankBranch":
    {
    },
  • "IsSignInEnabled": true,
  • "IsTenantAccessEnabled": true,
  • "AssignedContactsCount": 2
}

Update the identity with specified Internal User ID

Authorizations:
path Parameters
identityId
required
string <uuid>

The Internal User ID of an identity

Request Body schema:

The update identity payload

AuditContextId
integer <int64>
FirstName
string Nullable
LastName
string Nullable
SalutationId
integer <int32> Nullable
Email
string Nullable
Description
string Nullable
Phone
string Nullable
Fax
string Nullable
Mobile
string Nullable
Url
string Nullable
BankBranchId
integer <int32> Nullable
IdentityRoleId
integer <int32>
ExternalId
string Nullable
UserName
string Nullable
OldPassword
string Nullable
Password
string Nullable
ConfirmPassword
string Nullable
IsSignInEnabled
boolean
IsTenantAccessEnabled
boolean
UpdateFirstName
boolean
UpdateLastName
boolean
UpdateSalutationId
boolean
UpdateEmail
boolean
UpdateDescription
boolean
UpdatePhone
boolean
UpdateFax
boolean
UpdateMobile
boolean
UpdateUrl
boolean
UpdateBankBranchId
boolean
UpdateIdentityRoleId
boolean
UpdateExternalId
boolean
UpdateUserName
boolean
SetNewPassword
boolean
ChangePassword
boolean
UpdateIsSignInEnabled
boolean
UpdateIsTenantAccessEnabled
boolean

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

UnprocessableEntity

500

Server Error

patch/v1.0/identities/{identityId}
https://example-host/v1.0/identities/{identityId}

Request samples

Content type
Copy
Expand all Collapse all
{
  • "AuditContextId": 1024,
  • "FirstName": "Sarah",
  • "LastName": "Connor",
  • "SalutationId": 1,
  • "Email": "sconnor@additiv.com",
  • "Phone": "41|9379992",
  • "BankBranchId": 2,
  • "IdentityRoleId": 0,
  • "ExternalId": "0001EXT-F",
  • "UserName": "sconn",
  • "IsSignInEnabled": true,
  • "IsTenantAccessEnabled": false,
  • "UpdateFirstName": true,
  • "UpdateLastName": true,
  • "UpdateSalutationId": true,
  • "UpdateEmail": true,
  • "UpdateDescription": false,
  • "UpdatePhone": true,
  • "UpdateFax": false,
  • "UpdateMobile": false,
  • "UpdateUrl": true,
  • "UpdateBankBranchId": true,
  • "UpdateIdentityRoleId": false,
  • "UpdateExternalId": true,
  • "UpdateUserName": true,
  • "SetNewPassword": false,
  • "ChangePassword": false,
  • "UpdateIsSignInEnabled": true,
  • "UpdateIsTenantAccessEnabled": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Code": "BadRequest",
  • "Message": "The request was not in the required format",
  • "CorrelationId": "30d3ebc0b5cb47b0889850bbdfe4aec6"
}

Get identity picture

Authorizations:
path Parameters
identityId
required
string <uuid>

The Internal User ID of an identity

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

get/v1.0/identities​/{identityId}​/profilepicture
https://example-host/v1.0/identities​/{identityId}​/profilepicture

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ImageContentBase64": "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",
  • "IsDefaultImage": false
}

Get all the identities and their roles (including hierarchy level)

Authorizations:

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

500

Server Error

get/v1.0/identities/roles/hierarchy-level
https://example-host/v1.0/identities/roles/hierarchy-level

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

Get member-role hierarchy by Member ID

Authorizations:
path Parameters
identityId
required
string <uuid>

The Internal ID of an identity of the Base element of the Member Role Hierarchy

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

get/v1.0/identities/{identityId}/hierarchy
https://example-host/v1.0/identities/{identityId}/hierarchy

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Superiors":
    [
    ],
  • "Base":
    {
    },
  • "HierarchyItems":
    [
    ]
}

Check whether a person (contact or member) is accessible / in the hierarchy of an identity

Authorizations:
path Parameters
identityId
required
string <uuid>

The Identity ID of the user that is trying to access Person ID

personId
required
integer <int32>

The accessed Person ID

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

get/v1.0/identities/{identityId}/hierarchy/{personId}/exists
https://example-host/v1.0/identities/{identityId}/hierarchy/{personId}/exists

Response samples

Content type
application/json
Copy
Expand all Collapse all
true

Set the access to the tenant (including role)

Authorizations:
path Parameters
tenantId
required
integer <int32>

The Tenant ID

identityId
required
string <uuid>

The Internal User ID of an identity

Request Body schema:

The set identity tenant access payload

TenantId
integer <int32>
IdentityRoleId
integer <int32> Nullable
IsEnabled
boolean

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

UnprocessableEntity

500

Server Error

patch/v1.0/tenants/{tenantId}/identities/{identityId}/access
https://example-host/v1.0/tenants/{tenantId}/identities/{identityId}/access

Request samples

Content type
Copy
Expand all Collapse all
{
  • "TenantId": 12,
  • "IdentityRoleId": 1,
  • "IsEnabled": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Code": "BadRequest",
  • "Message": "The request was not in the required format",
  • "CorrelationId": "30d3ebc0b5cb47b0889850bbdfe4aec6"
}

Search the identities by given search criteria.

Authorizations:
Request Body schema:

The search criteria

RoleIds
Array of integers <int32> Nullable
IdentityIds
Array of strings <uuid> Nullable
FirstName
string Nullable
LastName
string Nullable
SearchTerm
string Nullable
SearchIdentityBy
string (SearchIdentityBy)
Enum: "FirstName" "LastName" "UserName" "Email" "IdentityProviderName" "RoleName" "FullName" "All"
SearchByAllTenants
boolean
SearchByInactive
boolean
SearchBySystemAccounts
boolean
SortBy
string Nullable
SortOrder
string (SortOrder)
Enum: "Ascending" "Descending"
Page
integer <int32>
PageSize
integer <int32>

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

UnprocessableEntity

500

Server Error

post/v1.0/identities/search
https://example-host/v1.0/identities/search

Request samples

Content type
Copy
Expand all Collapse all
{
  • "RoleIds":
    [
    ],
  • "IdentityIds":
    [
    ],
  • "FirstName": "Admin",
  • "LastName": "Admin",
  • "SearchTerm": "ad",
  • "SearchIdentityBy": "All",
  • "SearchByAllTenants": true,
  • "SearchByInactive": true,
  • "SearchBySystemAccounts": false,
  • "SortBy": "LastName",
  • "SortOrder": "Descending",
  • "Page": 1,
  • "PageSize": 10
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Results":
    [
    ],
  • "Page": 1,
  • "PageSize": 10,
  • "PageCount": 1,
  • "TotalCount": 2
}

Create a new identity

Authorizations:
Request Body schema:

The create/add identity payload

FirstName
string Nullable
LastName
string Nullable
SalutationId
integer <int32> Nullable
Email
string Nullable
Description
string Nullable
Phone
string Nullable
Fax
string Nullable
Mobile
string Nullable
Url
string Nullable
BankBranchId
integer <int32> Nullable
IdentityRoleId
integer <int32>
ExternalId
string Nullable
AuditContextId
integer <int64>
Username
string Nullable
Password
string Nullable

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

UnprocessableEntity

500

Server Error

post/v1.0/identities
https://example-host/v1.0/identities

Request samples

Content type
Copy
Expand all Collapse all
{
  • "FirstName": "John",
  • "LastName": "Connor",
  • "SalutationId": 2,
  • "Email": "jct@additiv.com",
  • "Description": "John Connor account description",
  • "Phone": "41|522672742",
  • "Fax": "41|32112335",
  • "BankBranchId": 1,
  • "IdentityRoleId": 1,
  • "ExternalId": "EX006D34-9",
  • "AuditContextId": 1024,
  • "Username": "jconnor",
  • "Password": "superseretPassword.123"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "IdentityId": "3aaa5f64-5717-4562-b3fc-2c963f66af11"
}

Exclude the identities from identity hierarchy

Authorizations:
path Parameters
identityId
required
string <uuid>

The Internal User ID of an Identity

Request Body schema:

The list of restricted sub-users

Array
string <uuid>

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

put/v1.0/identities/{identityId}/hierarchy/exclude
https://example-host/v1.0/identities/{identityId}/hierarchy/exclude

Request samples

Content type
Copy
Expand all Collapse all
[
  • "string"
]

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Code": "BadRequest",
  • "Message": "The request was not in the required format",
  • "CorrelationId": "30d3ebc0b5cb47b0889850bbdfe4aec6"
}

IdentityMemberSync

Identity Member Sync API

Syncs member data in the tenant database based of the information of the identity.

Authorizations:
path Parameters
tenantKey
required
string Nullable

The tenant key

identityId
required
string <uuid>

The global unique identifier of the identity which will map the member.

Request Body schema:

The synch member request

Member
object (SyncMemberRequestItem)
Context
object (SyncMemberRequestAuditContextItem)

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

UnprocessableEntity

500

Server Error

post/v2.0/tenants/{tenantKey}/identities/{identityId}/sync-member
https://example-host/v2.0/tenants/{tenantKey}/identities/{identityId}/sync-member

Request samples

Content type
Copy
Expand all Collapse all
{
  • "Member":
    {
    },
  • "Context":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "IdentityId": "01000000-0000-0000-0000-000000000000",
  • "MemberId": 1,
  • "AuditContextId": 1024
}

MemberManagement

Member Management API

Get the member by Member ID

Authorizations:
path Parameters
memberId
required
integer <int32>

The Member ID

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

get/v1.0/members/{memberId}
https://example-host/v1.0/members/{memberId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "MemberId": 1,
  • "IdentityId": "01000000-0000-0000-0000-000000000000",
  • "FirstName": "Admin",
  • "LastName": "Admin",
  • "SalutationId": 2,
  • "Email": "admin@additiv.com",
  • "Description": "Admin account description",
  • "Phone": "41|522672742",
  • "Fax": "41|522672742",
  • "Mobile": "41|797353960",
  • "ExternalId": "EX001245",
  • "BankBranch":
    {
    },
  • "AssignedContactsCount": 2
}

Search the members by given search criteria.

Authorizations:
Request Body schema:

The search criteria

MemberIds
Array of integers <int32> Nullable
SearchTerm
string Nullable
SortBy
string Nullable
SortOrder
string (SortOrder)
Enum: "Ascending" "Descending"
Page
integer <int32>
PageSize
integer <int32>

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

UnprocessableEntity

500

Server Error

post/v1.0/members/search
https://example-host/v1.0/members/search

Request samples

Content type
Copy
Expand all Collapse all
{
  • "MemberIds":
    [
    ],
  • "SearchTerm": "adm",
  • "SortBy": "LastName",
  • "SortOrder": "Descending",
  • "Page": 1,
  • "PageSize": 10
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Results":
    [
    ],
  • "Page": 1,
  • "PageSize": 10,
  • "PageCount": 1,
  • "TotalCount": 2
}

RoleManagement

Role Management API

Get all roles

Authorizations:

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

500

Server Error

get/v2.0/roles
https://example-host/v2.0/roles

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    },
  • {
    }
]

Get role hierarchy by Role ID

Authorizations:
path Parameters
roleId
required
integer <int32>

The role ID of Base element of the Role Hierarchy

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

get/v2.0/roles/{roleId}/hierarchy
https://example-host/v2.0/roles/{roleId}/hierarchy

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Base":
    {
    },
  • "HierarchyItems":
    [
    ]
}

Change the hierarchy level of specified role

Authorizations:
path Parameters
roleId
required
integer <int32>

The role ID

operation
required
string (RoleHierarchyRankOperation)
Enum: "Up" "Down"

The role hierarchy rank change operation (up or down)

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

patch/v2.0/roles/{roleId}/hierarchy-level/{operation}
https://example-host/v2.0/roles/{roleId}/hierarchy-level/{operation}

Response samples

Content type
application/json
Copy
Expand all Collapse all
true

Set the role hierarchy restrictions

Set the role hierarchy restrictions (forbidden sub-role(s) access) for specified Role ID

Authorizations:
path Parameters
roleId
required
integer <int32>

The Role ID

Request Body schema:

The list of role IDs to exclude from the hierarchy

Array
integer <int32>

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Error

put/v2.0/roles/{roleId}/hierarchy/exclude
https://example-host/v2.0/roles/{roleId}/hierarchy/exclude

Request samples

Content type
Copy
Expand all Collapse all
[
  • 0
]

Response samples

Content type
application/json
Copy
Expand all Collapse all
true