Management API Endpoints

This section provides details about the Management API endpoints that allow you to manipulate resource endpoints such as policies, roles, permissions and assignments. In addition there are endpoints available for querying resources.

See detailed descriptions for exact payloads.

Graph Navigation Endpoints

The Management API is a REST-based API that uses hypermedia links for navigation. When you deploy PolicyServer, the Management API is available at the /management path. This returns the URL reference to the endpoints listed in the table below.

The following table lists the top level Management API endpoints and describes how the Management API determines if the endpoint is available or not.

Resource

Availability

License

Always enabled.

Policies

Enabled if the access token presented has authorization.

Tenants

Enabled if the access token presented has authorization, if the license supports Tenants AND if the feature is not explicitly disabled by configuration setting.

User Search

Enabled if the access token presented has authorization, if the license supports User Search AND if the feature is not explicitly disabled by configuration setting.

Role Search

Enabled if the access token presented has authorization, if the license supports Role Search AND if the feature is not explicitly disabled by configuration setting.

Policy Definition Endpoints

The following table lists the Policy resources available, and associated operations available for Policy resources.

Operation

Resource URL (example only)

Get Policies

GET /management/policies

Add Policy

POST /management/policies

Get Policy

GET /management/policies/{policyId}

Update Policy

PUT /management/policies/{policyId}

Delete Policy

DELETE /management/policies/{policyId}

Get Child Policies

GET /management/policies/{policyId}/policies

Add Child Policy

POST /management/policies/{policyId}/policies

Get Roles

GET /management/policies/{policyId}/roles

Add Role

POST /management/policies/{policyId}/roles

Get Role

GET /management/roles/{roleId}

Update Role

PUT /management/roles/{roleId}

Delete Role

DELETE /management/roles/{roleId}

Get Permissions

GET /management/policies/{policyId}/permissions

Add Permission

POST /management/policies/{policyId}/permissions

Get Permission

GET /management/permissions/{permissionId}

Update Permission

PUT /management/permissions/{permissionId}

Delete Permission

DELETE /management/permissions/{permissionId}

User Assignment Endpoints

A user is assigned to a role in the context of a policy. The assignment can be based on the user’s subject identifier, identity role, or any other identity claims evaluated for that user.

Note

Subject Identifier (subjectId), ClaimType and ClaimValue are all case-sensitive as specified in the JWT spec

The following table lists the Role Assignment resources available to manage these assignments.

Operation

Resource URL (example only)

Get Subject Assignments

GET /management/policies/{policyId}/subject-assignments/{roleId}

Add Subject Assignment

POST /management/policies/{policyId}/subject-assignments/{roleId}

Update Subject Assignment

PUT /management/subject-assignments/{assignmentId}

Delete Subject Assignment

DELETE /management/subject-assignments/{assignmentId}

Delete All Subject Assignments in system

DELETE management/subjects/{subjectId}/subject-assignments

Get Identity Role Assignments

GET /management/policies/{policyId}/identityrole-assignments/{roleId}

Add Identity Role Assignment

POST /management/policies/{policyId}/identityrole-assignments/{roleId}

Update Identity Role Assignment

PUT /management/identityrole-assignments/{assignmentId}

Delete Identity Role Assignment

DELETE /management/identityrole-assignments/{assignmentId}

Get Expression Assignments

GET /management/policies/{policyId}/expression-assignments/{roleId}

Add Expression Assignment

POST /management/policies/{policyId}/expression-assignments/{roleId}

Update Expression Assignment

UPDATE /management/expression-assignments/{assignmentId}

Delete Expression Assignment

DELETE /management/expression-assignments/{assignmentId}

User Assignment Query Endpoints

These endpoints allow you to query the policies assigned to users. This can be done by the subject identifier, identity role, or expression.

The following table lists the available endpoints.

Operation

Endpoint URL (example only)

Get Policies for Subject

GET /management/subjects/{subjectId}/policy-assignments

Get Roles for Subject by Policy

GET /management/subjects/{subjectId}/policies/{policyId}/role-assignments

Get Policies for Identity Role

GET /management/identityroles/{identityRoleName}/policy-assignments

Get Roles for Identity Role by Policy

GET /management/identityroles/{identityRoleName}/policies/{policyId}/role-assignments

Get Policies for Expression

GET /management/expression-assignments/{assignmentId}/policy-assignments

Get Roles for Expression by Policy

GET /management/expression-assignments/{assignmentId}/policies/{policyId}/role-assignments

Role and Permission Assignment Query Endpoints

For a role get every policy with a permission that has assigned the role. For a permission get every policy with a role that has assigned the permission.

The following table lists the available endpoints.

Operation

Endpoint URL (example only)

Get Policies for Role

GET /management/roles/{roleId}/policy-assignments

Get Permissions for Role by Policy

GET /management/roles/{roleId}/policies/{policyId}/permission-assignments

Get Policies for Permission

GET /management/permissions/{permissionId}/policy-assignments

Get Roles for Permission by Policy

GET /management/permissions/{permissionId}/policies/{policyId}/role-assignments

Claim to permission assignments Endpoints

For a permission in a policy assign claims of different types to permission directly.

The following table lists the available endpoints.

Operation

Endpoint URL (example only)

Gets Claim to Permission Assignments for a policy

GET /management/policies/{policyId}/claim-permission-assignments/{permissionId}

Add Claim to Permission Assignments for a policy

POST /management/policies/{policyId}/claim-permission-assignments/{permissionId}

Gets a claim to permission assignment

GET /management/claim-permission-assignments/{claimPermissionAssignmentId}

Update a claim to permission assignment

PUT /management/claim-permission-assignments/{claimPermissionAssignmentId}

Delete a claim to permission assignment

DELETE /management/claim-permission-assignments/{claimPermissionAssignmentId}

Gets aggregated claim to permission assignments for a policy

GET /management/policies/{policyId}/aggregated-claim-permission-assignments/{permissionId}

Aggregated Role and Permission Assignment Query Endpoints

For a permission in a policy what are the roles available from the hierarchy and which ones are assigned. For a role in a policy what are the permissions available from the hierarchy and which ones are assigned.

The following table lists the available endpoints.

Operation

Endpoint URL (example only)

Get Aggregated Roles for Permission by Policy

GET /management/policies/{policyId}/role-assignments/{permissionId}

Get Aggregated Permissions for Role by Policy

GET /management/policies/{policyId}/role-assignments/{permissionId}

Assign Role to Permission by Policy

POST /management/policies/{policyId}/role-assignments/{permissionId}/{roleId}

Unassign Role to Permission by Policy

DELETE /management/permission-assignments/{assignmentId}

Tenant Endpoints

Operation

Endpoint URL (example only)

Get Tenants

GET /management/tenants

Add Tenant

POST /management/tenants

Get Tenant

GET /management/tenants/{tenantId}

Update Tenant

PUT /management/tenants/{tenantId}

Delete Tenant

DELETE /management/tenants/{tenantId}

Add Child Tenant

POST /management/tenants/{tenantId}/tenants

Get Policy assignments for tenant

GET /management/tenants/{tenantId}/policy-assignments

Get Roles in Policy For Tenant

GET /management/tenants/{tenantId}/policies/{policyId}/roles

Get Role assignments in Policy For Tenant

GET /management/tenants/{tenantId}/policies/{policyId}/role-assignments

Get subject assignments in roles in Policy For Tenant

GET /management/tenants/{tenantId}/policies/{policyId}/roles/{roleId}/subject-assignments

Get identity role assignments in roles in Policy For Tenant

GET /management/tenants/{tenantId}/policies/{policyId}/roles/{roleId}/identityrole-assignments

Get expression assignments in roles in Policy For Tenant

GET /management/tenants/{tenantId}/policies/{policyId}/roles/{roleId}/expression-assignments

Get permission assignments in Policy For Tenant

GET /management/tenants/{tenantId}/policies/{policyId}/permission-assignments

User and Role Search Endpoints

Operation

Endpoint URL (example only)

Search Users

GET /management/search/users?filter={searchTerm}

Search Roles

GET /management/search/roles?filter={searchTerm}

Endpoint Details

Get policies

List all policies

Request

GET /management/policies?filter={some name}&tenant={tenant identifier}

Optional Request Parameters

  • filter: Filters the results based on the value passed. The value is compared to the name.

  • tenant: Scopes the results based on the tenant identifier passed. All hypermedia included in the results will preserve the tenant scoping.

Response

Data returned:

{
  "data": {
    "totalCount": 9,
    "totalPages": 1,
                "currentPage" : 1,
                "tenant": null,
    "items": [
      {
        "data": {
          "policyId": "161",
          "name": "policy 0",
          "description": "policy description"
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/policies/161"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/policies/161"
          },
          {
            "rel": "policies",
            "href": "http://localhost:65471/management/policies/161/policies"
          },
          {
            "rel": "add-policy",
            "href": "http://localhost:65471/management/policies/161/policies"
          },
          {
            "rel": "roles",
            "href": "http://localhost:65471/management/policies/161/roles"
          },
          {
            "rel": "permissions",
            "href": "http://localhost:65471/management/policies/161/permissions"
          },
          {
            "rel": "add-role",
            "href": "http://localhost:65471/management/policies/161/roles"
          },
          {
            "rel": "add-permission",
            "href": "http://localhost:65471/management/policies/161/permissions"
          }
        ]
      },
      {
        "data": {
          "policyId": "162",
          "name": "policy 1",
          "description": "policy description"
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/policies/162"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/policies/162"
          },
          {
            "rel": "policies",
            "href": "http://localhost:65471/management/policies/162/policies"
          },
          {
            "rel": "add-policy",
            "href": "http://localhost:65471/management/policies/162/policies"
          },
          {
            "rel": "roles",
            "href": "http://localhost:65471/management/policies/162/roles"
          },
          {
            "rel": "permissions",
            "href": "http://localhost:65471/management/policies/162/permissions"
          },
          {
            "rel": "add-role",
            "href": "http://localhost:65471/management/policies/162/roles"
          },
          {
            "rel": "add-permission",
            "href": "http://localhost:65471/management/policies/162/permissions"
          }
        ]
      },
      {
        "data": {
          "policyId": "163",
          "name": "policy 2",
          "description": "policy description"
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/policies/163"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/policies/163"
          },
          {
            "rel": "policies",
            "href": "http://localhost:65471/management/policies/163/policies"
          },
          {
            "rel": "add-policy",
            "href": "http://localhost:65471/management/policies/163/policies"
          },
          {
            "rel": "roles",
            "href": "http://localhost:65471/management/policies/163/roles"
          },
          {
            "rel": "permissions",
            "href": "http://localhost:65471/management/policies/163/permissions"
          },
          {
            "rel": "add-role",
            "href": "http://localhost:65471/management/policies/163/roles"
          },
          {
            "rel": "add-permission",
            "href": "http://localhost:65471/management/policies/163/permissions"
          }
        ]
      },
      {
        "data": {
          "policyId": "164",
          "name": "policy 3",
          "description": "policy description"
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/policies/164"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/policies/164"
          },
          {
            "rel": "policies",
            "href": "http://localhost:65471/management/policies/164/policies"
          },
          {
            "rel": "add-policy",
            "href": "http://localhost:65471/management/policies/164/policies"
          },
          {
            "rel": "roles",
            "href": "http://localhost:65471/management/policies/164/roles"
          },
          {
            "rel": "permissions",
            "href": "http://localhost:65471/management/policies/164/permissions"
          },
          {
            "rel": "add-role",
            "href": "http://localhost:65471/management/policies/164/roles"
          },
          {
            "rel": "add-permission",
            "href": "http://localhost:65471/management/policies/164/permissions"
          }
        ]
      },
      {
        "data": {
          "policyId": "165",
          "name": "policy 4",
          "description": "policy description"
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/policies/165"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/policies/165"
          },
          {
            "rel": "policies",
            "href": "http://localhost:65471/management/policies/165/policies"
          },
          {
            "rel": "add-policy",
            "href": "http://localhost:65471/management/policies/165/policies"
          },
          {
            "rel": "roles",
            "href": "http://localhost:65471/management/policies/165/roles"
          },
          {
            "rel": "permissions",
            "href": "http://localhost:65471/management/policies/165/permissions"
          },
          {
            "rel": "add-role",
            "href": "http://localhost:65471/management/policies/165/roles"
          },
          {
            "rel": "add-permission",
            "href": "http://localhost:65471/management/policies/165/permissions"
          }
        ]
      },
      {
        "data": {
          "policyId": "166",
          "name": "policy 5",
          "description": "policy description"
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/policies/166"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/policies/166"
          },
          {
            "rel": "policies",
            "href": "http://localhost:65471/management/policies/166/policies"
          },
          {
            "rel": "add-policy",
            "href": "http://localhost:65471/management/policies/166/policies"
          },
          {
            "rel": "roles",
            "href": "http://localhost:65471/management/policies/166/roles"
          },
          {
            "rel": "permissions",
            "href": "http://localhost:65471/management/policies/166/permissions"
          },
          {
            "rel": "add-role",
            "href": "http://localhost:65471/management/policies/166/roles"
          },
          {
            "rel": "add-permission",
            "href": "http://localhost:65471/management/policies/166/permissions"
          }
        ]
      },
      {
        "data": {
          "policyId": "167",
          "name": "policy 6",
          "description": "policy description"
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/policies/167"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/policies/167"
          },
          {
            "rel": "policies",
            "href": "http://localhost:65471/management/policies/167/policies"
          },
          {
            "rel": "add-policy",
            "href": "http://localhost:65471/management/policies/167/policies"
          },
          {
            "rel": "roles",
            "href": "http://localhost:65471/management/policies/167/roles"
          },
          {
            "rel": "permissions",
            "href": "http://localhost:65471/management/policies/167/permissions"
          },
          {
            "rel": "add-role",
            "href": "http://localhost:65471/management/policies/167/roles"
          },
          {
            "rel": "add-permission",
            "href": "http://localhost:65471/management/policies/167/permissions"
          }
        ]
      },
      {
        "data": {
          "policyId": "168",
          "name": "policy 7",
          "description": "policy description"
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/policies/168"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/policies/168"
          },
          {
            "rel": "policies",
            "href": "http://localhost:65471/management/policies/168/policies"
          },
          {
            "rel": "add-policy",
            "href": "http://localhost:65471/management/policies/168/policies"
          },
          {
            "rel": "roles",
            "href": "http://localhost:65471/management/policies/168/roles"
          },
          {
            "rel": "permissions",
            "href": "http://localhost:65471/management/policies/168/permissions"
          },
          {
            "rel": "add-role",
            "href": "http://localhost:65471/management/policies/168/roles"
          },
          {
            "rel": "add-permission",
            "href": "http://localhost:65471/management/policies/168/permissions"
          }
        ]
      },
      {
        "data": {
          "policyId": "169",
          "name": "policy 8",
          "description": "policy description"
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/policies/169"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/policies/169"
          },
          {
            "rel": "policies",
            "href": "http://localhost:65471/management/policies/169/policies"
          },
          {
            "rel": "add-policy",
            "href": "http://localhost:65471/management/policies/169/policies"
          },
          {
            "rel": "roles",
            "href": "http://localhost:65471/management/policies/169/roles"
          },
          {
            "rel": "permissions",
            "href": "http://localhost:65471/management/policies/169/permissions"
          },
          {
            "rel": "add-role",
            "href": "http://localhost:65471/management/policies/169/roles"
          },
          {
            "rel": "add-permission",
            "href": "http://localhost:65471/management/policies/169/permissions"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "add-policy",
      "href": "http://localhost:65471/management/policies"
    }
  ]
}

Add policy

Create a new policy

Request

POST /management/policies

Data posted:

{
  "Name": "policy 0",
  "Description": "policy description"
}

Get policy

Get policy details by policy id

Request

GET /management/policies/{policyId}

Response

Data returned:

{
  "data": {
    "policyId": "171",
    "path": "/policy 0",
    "name": "policy 0",
    "description": "policy description"
  },
  "links": [
    {
      "rel": "self",
      "href": "http://localhost:65471/management/policies/171"
    },
    {
      "rel": "update-self",
      "href": "http://localhost:65471/management/policies/171"
    },
    {
      "rel": "delete-self",
      "href": "http://localhost:65471/management/policies/171"
    },
    {
      "rel": "policies",
      "href": "http://localhost:65471/management/policies/171/policies"
    },
    {
      "rel": "roles",
      "href": "http://localhost:65471/management/policies/171/roles"
    },
    {
      "rel": "permissions",
      "href": "http://localhost:65471/management/policies/171/permissions"
    },
    {
      "rel": "add-policy",
      "href": "http://localhost:65471/management/policies/171/policies"
    },
    {
      "rel": "add-role",
      "href": "http://localhost:65471/management/policies/171/roles"
    },
    {
      "rel": "add-permission",
      "href": "http://localhost:65471/management/policies/171/permissions"
    }
  ]
}

Update Policy

Update Policy details by policy id

Request

PUT /management/policies/{policyId}

Data posted:

{
        "Name": "test policy",
        "Description": "new Description"
}

Delete policy

Request

DELETE /management/policies/{policyId}

Get child policies

List all child policies for a given policy by id

Request

GET /management/policies/{policyId}/policies?filter={some name}

Optional Request Parameters

  • filter: Filters the results based on the value passed. The value is compared to the name.

Response

Data returned:

{
  "data": {
    "totalCount": 0,
    "totalPages": 1,
    "items": []
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/171/policies?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/171/policies?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/171/policies?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "add-policy",
      "href": "http://localhost:65471/management/policies/171/policies"
    },
    {
      "rel": "parent",
      "href": "http://localhost:65471/management/policies/171"
    }
  ]
}

Add child policy

Add a new child policy for a policy by id

Request

POST /management/policies/{policyId}/policies

Data posted:

{
  "Name": "child name",
        "Description": "child description"
}

Get policy roles

List all roles for a policy by its id

Request

GET /management/policies/{policyId}/roles?filter={some name}

Optional Request Parameters

  • filter: Filters the results based on the value passed. The value is compared to the name.

Response

Data returned:

{
  "data": {
    "totalCount": 1,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "roleId": "15",
          "tenant": null,
          "name": "test role",
          "description": "role description",
          "inherited": false
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/roles/15"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/roles/15"
          },
          {
            "rel": "subject-assignments",
            "href": "http://localhost:65471/management/policies/170/subject-assignments/15"
          },
          {
            "rel": "identityrole-assignments",
            "href": "http://localhost:65471/management/policies/170/identityrole-assignments/15"
          },
          {
            "rel": "expression-assignments",
            "href": "http://localhost:65471/management/policies/170/expression-assignments/15"
          },
          {
            "rel": "add-subject",
            "href": "http://localhost:65471/management/policies/170/subject-assignments/15"
          },
          {
            "rel": "add-identityrole",
            "href": "http://localhost:65471/management/policies/170/identityrole-assignments/15"
          },
          {
            "rel": "add-expression",
            "href": "http://localhost:65471/management/policies/170/expression-assignments/15"
          },
          {
            "rel": "policy-assignments",
            "href": "http://localhost:65471/management/roles/15/policy-assignments"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/170/roles?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/170/roles?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/170/roles?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "policy",
      "href": "http://localhost:65471/management/policies/170"
    },
    {
      "rel": "add-role",
      "href": "http://localhost:65471/management/policies/170/roles"
    }
  ]
}

Create policy role

Request

POST /management/policies/{policyId}/roles

Data posted:

{
  "Name": "test role",
  "Description": "role description"
}

Get role

Get role details by role id

Request

GET /management/roles/{roleId}

Response

Data returned:

{
  "data": {
    "roleId": "16",
    "tenant": null,
    "name": "test role",
    "description": "role description",
    "includeInPolicyResults": true
  },
  "links": [
    {
      "rel": "self",
      "href": "http://localhost:65471/management/roles/16"
    },
    {
      "rel": "update-self",
      "href": "http://localhost:65471/management/roles/16"
    },
    {
      "rel": "delete-self",
      "href": "http://localhost:65471/management/roles/16"
    },
    {
      "rel": "policy-assignments",
      "href": "http://localhost:65471/management/roles/16/policy-assignments"
    },
    {
      "rel": "policy",
      "href": "http://localhost:65471/management/policies/180"
    }
  ]
}

Update Role

Request

PUT /management/roles/{roleId}

Data posted:

{
  "Name": "test role",
  "Description": "New description"
}

Delete role

Delete a role by Id

Request

DELETE /management/roles/{roleId}

Get policy permissions

Get a list of permissions for a policy based on its Id

Request

GET /management/policies/{policyId}/permissions?filter={some name}

Optional Request Parameters

  • filter: Filters the results based on the value passed. The value is compared to the name.

Response

Data returned:

{
  "data": {
    "totalCount": 1,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "permissionId": "17",
          "name": "test permission",
          "description": "permission description",
          "inherited": false
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/permissions/17"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/permissions/17"
          },
          {
            "rel": "role-assignments",
            "href": "http://localhost:65471/management/policies/170/role-assignments/17"
          },
          {
            "rel": "policy-assignments",
            "href": "http://localhost:65471/management/permissions/17/policy-assignments"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/170/permissions?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/170/permissions?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/170/permissions?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "policy",
      "href": "http://localhost:65471/management/policies/170"
    },
    {
      "rel": "add-permission",
      "href": "http://localhost:65471/management/policies/170/permissions"
    }
  ]
}

Create policy permission

Create a permission for a policy based on its id

Request

POST /management/policies/{policyId}/permissions

Data posted:

{
  "Name": "test permission",
  "Description": "permission description"
}

Get permission

Get permission details by permission id

Request

GET /management/permissions/{permissionId}

Response

Data returned:

{
  "data": {
    "permissionId": "18",
    "name": "test permission",
    "description": "permission description"
  },
  "links": [
    {
      "rel": "self",
      "href": "http://localhost:65471/management/permissions/18"
    },
    {
      "rel": "update-self",
      "href": "http://localhost:65471/management/permissions/18"
    },
    {
      "rel": "delete-self",
      "href": "http://localhost:65471/management/permissions/18"
    },
    {
      "rel": "policy",
      "href": "http://localhost:65471/management/policies/180"
    },
    {
      "rel": "policy-assignments",
      "href": "http://localhost:65471/management/permissions/18/policy-assignments"
    }
  ]
}

Update Permission

Update a permission based on its id

Request

PUT /management/permissions/{permissionId}

Data posted:

{
  "Name": "test permission",
  "Description": "New description"
}

Delete permission

Delete a permission based on its id

Request

DELETE /management/permissions/{permissionId}

Get subject assignments

Get Subject assignment details for a role in a policy

Request

GET /management/policies/{policyId}/subject-assignments/{roleId}?filter={some value}

Optional Request Parameters

  • filter: Filters the results based on the value passed. The value is compared to the subject id.

Response

Data returned:

{
  "data": {
    "totalCount": 2,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "subjectAssignmentId": "22",
          "tenant": null,
          "subjectId": "123",
          "description": "Alice",
          "allowed": true,
          "inherited": false
        },
        "links": [
          {
            "rel": "update-self",
            "href": "http://localhost:65471/management/subject-assignments/22"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/subject-assignments/22"
          },
          {
            "rel": "policy-assignments",
            "href": "http://localhost:65471/management/subjects/123/policy-assignments"
          }
        ]
      },
      {
        "data": {
          "subjectAssignmentId": "23",
          "tenant": null,
          "subjectId": "456",
          "description": "Bob",
          "allowed": false,
          "inherited": false
        },
        "links": [
          {
            "rel": "update-self",
            "href": "http://localhost:65471/management/subject-assignments/23"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/subject-assignments/23"
          },
          {
            "rel": "policy-assignments",
            "href": "http://localhost:65471/management/subjects/456/policy-assignments"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/subject-assignments/16?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/subject-assignments/16?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/subject-assignments/16?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "policy",
      "href": "http://localhost:65471/management/policies/180"
    },
    {
      "rel": "role",
      "href": "http://localhost:65471/management/roles/16"
    },
    {
      "rel": "add-subject",
      "href": "http://localhost:65471/management/policies/180/subject-assignments/16"
    }
  ]
}

Assign Subject

Create a new subject assignment to a role in a policy

Request

POST /management/policies/{policyId}/subject-assignments/{roleId}

Data posted:

{
  "SubjectId": "123",
  "Description": "Alice",
  "Allowed": true
}

Update Subject Assignment

Updates a subject assignment based on subject assignment id

Request

PUT /management/subject-assignments/{assignmentId}

Data posted:

{
  "SubjectId": "123",
  "Description": "Alice",
  "Allowed": true
}

Delete subject assignment

Delete a subject assignment based on subject assignment id

Request

DELETE /management/subject-assignments/{assignmentId}

Delete all subject assignments in system

Delete all subject assignments based on subject id from all policies, child policies and tenants

Request

DELETE management/subjects/{subjectId}/subject-assignments

Get Identity Role assignments

Get Identity role assignment details for a role in a policy

Request

GET /management/policies/{policyId}/identityrole-assignments/{roleId}?filter={some value}

Optional Request Parameters

  • filter: Filters the results based on the value passed. The value is compared to the identity role.

Response

Data returned:

{
  "data": {
    "totalCount": 2,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "identityRoleAssignmentId": "16",
          "tenant": null,
          "identityRole": "Admin",
          "description": null,
          "allowed": true,
          "inherited": false
        },
        "links": [
          {
            "rel": "update-self",
            "href": "http://localhost:65471/management/identityrole-assignments/16"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/identityrole-assignments/16"
          },
          {
            "rel": "policy-assignments",
            "href": "http://localhost:65471/management/identityroles/Admin/policy-assignments"
          }
        ]
      },
      {
        "data": {
          "identityRoleAssignmentId": "17",
          "tenant": null,
          "identityRole": "Customer",
          "description": null,
          "allowed": false,
          "inherited": false
        },
        "links": [
          {
            "rel": "update-self",
            "href": "http://localhost:65471/management/identityrole-assignments/17"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/identityrole-assignments/17"
          },
          {
            "rel": "policy-assignments",
            "href": "http://localhost:65471/management/identityroles/Customer/policy-assignments"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/identityrole-assignments/16?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/identityrole-assignments/16?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/identityrole-assignments/16?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "policy",
      "href": "http://localhost:65471/management/policies/180"
    },
    {
      "rel": "role",
      "href": "http://localhost:65471/management/roles/16"
    },
    {
      "rel": "add-identityrole",
      "href": "http://localhost:65471/management/policies/180/identityrole-assignments/16"
    }
  ]
}

Assign Identity Role

Create a new identity role assignment to a role in a policy

Request

POST /management/policies/{policyId}/identityrole-assignments/{roleId}

Data posted:

{
  "IdentityRole": "Admin",
  "Description": "Admin description",
  "Allowed": true
}

Update Identity Role Assignment

Updates a identity role assignment based on assignment id

Request

PUT /management/identityrole-assignments/{assignmentId}

Data posted:

{
  "IdentityRole": "Admin",
  "Description": "Admin description",
  "Allowed": true
}

Delete Identity Role Assignment

Delete a identity role assignment based on assignment id

Request

DELETE /management/identityrole-assignments/{assignmentId}

Get Expression Assignment

Get expression assignments for a role in a policy

Request

GET /management/policies/{policyId}/expression-assignments/{roleId}?filter={some value}

Optional Request Parameters

  • filter: Filters the results based on the value passed. The value is compared to the expression.

Response

Data returned:

{
  "data": {
    "totalCount": 2,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "expressionAssignmentId": "14",
          "tenant": null,
          "expression": "user=>user.HasClaim(\"tall\", \"true\")",
          "description": null,
          "allowed": true,
          "inherited": false
        },
        "links": [
          {
            "rel": "update-self",
            "href": "http://localhost:65471/management/expression-assignments/14"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/expression-assignments/14"
          },
          {
            "rel": "policy-assignments",
            "href": "http://localhost:65471/management/expression-assignments/14/policy-assignments"
          }
        ]
      },
      {
        "data": {
          "expressionAssignmentId": "15",
          "tenant": null,
          "expression": "user=>user.HasClaim(\"smart\", \"true\")",
          "description": null,
          "allowed": false,
          "inherited": false
        },
        "links": [
          {
            "rel": "update-self",
            "href": "http://localhost:65471/management/expression-assignments/15"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/expression-assignments/15"
          },
          {
            "rel": "policy-assignments",
            "href": "http://localhost:65471/management/expression-assignments/15/policy-assignments"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/expression-assignments/16?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/expression-assignments/16?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/expression-assignments/16?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "policy",
      "href": "http://localhost:65471/management/policies/180"
    },
    {
      "rel": "role",
      "href": "http://localhost:65471/management/roles/16"
    },
    {
      "rel": "add-expression",
      "href": "http://localhost:65471/management/policies/180/expression-assignments/16"
    }
  ]
}

Assign Expression

Create a new expression assignment to a role in a policy

Request

POST /management/policies/{policyId}/expression-assignments/{roleId}

Data posted:

{
  "Expression": "user=>user.HasClaim(\"tall\", \"true\")",
  "Description": "expression description",
  "Allowed": true
}

Update Expression Assignment

Updates an expression assignment based on assignment id

Request

PUT /management/expression-assignments/{assignmentId}

Data posted:

{
  "Expression": "user=>user.HasClaim(\"tall\", \"true\")",
  "Description": "expression description",
  "Allowed": true
}

Delete Expression Assignment

Delete a expression assignment based on assignment id

Request

DELETE /management/expression-assignments/{assignmentId}

Get Policies for Subject

Get all policies that a subject is assigned to.

Request

GET /management/subjects/{subjectId}/policy-assignments

Response

Data returned:

{
  "data": {
    "totalCount": 1,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "policyId": "180",
          "policyName": "test policy",
          "policyPath": "test policy"
        },
        "links": [
          {
            "rel": "policy",
            "href": "http://localhost:65471/management/policies/180"
          },
          {
            "rel": "role-assignments",
            "href": "http://localhost:65471/management/subjects/123/policies/180/role-assignments"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/subjects/123/policy-assignments?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/subjects/123/policy-assignments?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/subjects/123/policy-assignments?count=20&page=1",
      "name": "last"
    }
  ]
}

Get Roles for Subject by Policy

Get all roles that this subject is assigned to for a policy.

Request

GET /management/subjects/{subjectId}/policy-assignments/{policyId}/role-assignments

Response

Data returned:

{
        "data": {
                "totalCount": 1,
                "totalPages": 1,
                "items": [
                        {
                                "data": {
                                        "policyId": "640",
                                        "policyName": "policy 0",
                                        "policyPath": "policy 0"
                                },
                                "links": [
                                        {
                                                "rel": "policy",
                                                "href": "http://localhost:65471/management/policies/640"
                                        },
                                        {
                                                "rel": "role-assignments",
                                                "href": "http://localhost:65471/management/subjects/policy 0 role 0 subject 0/policies/640/role-assignments"
                                        }
                                ]
                        }
                ]
        },
        "links": [
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/subjects/policy 0 role 0 subject 0/policy-assignments?count=20&page=1",
                        "name": "current"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/subjects/policy 0 role 0 subject 0/policy-assignments?count=20&page=1",
                        "name": "first"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/subjects/policy 0 role 0 subject 0/policy-assignments?count=20&page=1",
                        "name": "last"
                }
        ]
}

Get Policies for Identity Role

Get all policies that this identity role is assigned to.

Request

GET /management/identityroles/{identityRoleName}/policy-assignments

Response

Data returned:

{
  "data": {
    "totalCount": 1,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "policyId": "180",
          "policyName": "test policy",
          "policyPath": "test policy"
        },
        "links": [
          {
            "rel": "policy",
            "href": "http://localhost:65471/management/policies/180"
          },
          {
            "rel": "role-assignments",
            "href": "http://localhost:65471/management/identityroles/Admin/policies/180/role-assignments"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/identityroles/Admin/policy-assignments?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/identityroles/Admin/policy-assignments?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/identityroles/Admin/policy-assignments?count=20&page=1",
      "name": "last"
    }
  ]
}

Get Roles for Identity Role by Policy

Get all roles that this identity role is assigned to for a policy.

Request

GET /management/identityroles/{identityRoleName}/policies/{policyId}/role-assignments

Response

Data returned:

{
        "data": {
                "totalCount": 1,
                "totalPages": 1,
                "items": [
                        {
                                "data": {
                                        "roleId": "611",
                                        "tenant": null,
                                        "roleTenant": null,
                                        "roleName": "policy 0 role 0",
                                        "identityRoleAssignmentId": "6",
                                        "allowed": true
                                },
                                "links": [
                                        {
                                                "rel": "role",
                                                "href": "http://localhost:65471/management/roles/611"
                                        }
                                ]
                        }
                ]
        },
        "links": [
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/identityroles/policy 0 role 0 identity role 0/policies/640/role-assignments?count=20&page=1",
                        "name": "current"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/identityroles/policy 0 role 0 identity role 0/policies/640/role-assignments?count=20&page=1",
                        "name": "first"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/identityroles/policy 0 role 0 identity role 0/policies/640/role-assignments?count=20&page=1",
                        "name": "last"
                },
                {
                        "rel": "policy",
                        "href": "http://localhost:65471/management/policies/640"
                }
        ]
}

Get Expression Assignment Policies

Get all policies that this expression is assigned to.

Request

GET /management/expression-assignments/{assignmentId}/policy-assignments

Response

Data returned:

{
  "data": {
    "totalCount": 1,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "policyId": "180",
          "policyName": "test policy",
          "policyPath": "test policy"
        },
        "links": [
          {
            "rel": "policy",
            "href": "http://localhost:65471/management/policies/180"
          },
          {
            "rel": "role-assignments",
            "href": "http://localhost:65471/management/expression-assignments/14/policies/180/role-assignments"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/expression-assignments/14/policy-assignments?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/expression-assignments/14/policy-assignments?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/expression-assignments/14/policy-assignments?count=20&page=1",
      "name": "last"
    }
  ]
}

Get Roles for Expression by Policy

Get all roles that this expression is assigned to for a policy.

Request

GET GET /management/expression-assignments/{assignmentId}/policies/{policyId}/role-assignments

Response

Data returned:

{
        "data": {
                "totalCount": 1,
                "totalPages": 1,
                "items": [
                        {
                                "data": {
                                        "roleId": "611",
                                        "tenant": null,
                                        "roleTenant": null,
                                        "roleName": "policy 0 role 0",
                                        "expressionAssignmentId": "4",
                                        "allowed": true
                                },
                                "links": [
                                        {
                                                "rel": "role",
                                                "href": "http://localhost:65471/management/roles/611"
                                        }
                                ]
                        }
                ]
        },
        "links": [
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/expression-assignments/4/policies/640/role-assignments?count=20&page=1",
                        "name": "current"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/expression-assignments/4/policies/640/role-assignments?count=20&page=1",
                        "name": "first"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/expression-assignments/4/policies/640/role-assignments?count=20&page=1",
                        "name": "last"
                },
                {
                        "rel": "policy",
                        "href": "http://localhost:65471/management/policies/640"
                }
        ]
}

Get Policies for Role

Get all policies that a role is assigned to.

Request

GET /management/roles/{roleId}/policy-assignments

Response

Data returned:

{
  "data": {
    "totalCount": 1,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "policyId": "180",
          "policyName": "test policy",
          "policyPath": "test policy"
        },
        "links": [
          {
            "rel": "policy",
            "href": "http://localhost:65471/management/policies/180"
          },
          {
            "rel": "permission-assignments",
            "href": "http://localhost:65471/management/roles/16/policies/180/permission-assignments"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/roles/16/policy-assignments?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/roles/16/policy-assignments?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/roles/16/policy-assignments?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "role",
      "href": "http://localhost:65471/management/roles/16"
    }
  ]
}

Get Permissions for Role by Policy

Get all permission assignments for a role in a policy.

Request

GET /management/roles/{roleId}/policies/{policyId}/permission-assignments

Response

Data returned:

{
  "data": {
    "totalCount": 1,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "tenant": null,
          "permissionId": "18",
          "permissionName": "test permission",
          "assignmentId": "16"
        },
        "links": [
          {
            "rel": "permission",
            "href": "http://localhost:65471/management/permissions/18"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/roles/16/policies/180/permission-assignments?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/roles/16/policies/180/permission-assignments?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/roles/16/policies/180/permission-assignments?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "policy",
      "href": "http://localhost:65471/management/policies/180"
    },
    {
      "rel": "role",
      "href": "http://localhost:65471/management/roles/16"
    }
  ]
}

Get Policies for Permission

Get all policies that a permission is assigned to.

Request

GET /management/permissions/{permissionId}/policy-assignments

Response

Data returned:

{
  "data": {
    "totalCount": 1,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "policyId": "180",
          "policyName": "test policy",
          "policyPath": "test policy"
        },
        "links": [
          {
            "rel": "policy",
            "href": "http://localhost:65471/management/policies/180"
          },
          {
            "rel": "role-assignments",
            "href": "http://localhost:65471/management/permissions/18/policies/180/role-assignments"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/permissions/18/policy-assignments?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/permissions/18/policy-assignments?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/permissions/18/policy-assignments?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "permission",
      "href": "http://localhost:65471/management/permissions/18"
    }
  ]
}

Get Roles for Permission by Policy

Get all role assignments to a permission in a policy.

Request

GET /management/permissions/{permissionId}/policies/{policyId}/role-assignments

Response

Data returned:

{
  "data": {
    "totalCount": 1,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "tenant": null,
          "roleId": "16",
          "roleName": "test role",
          "roleTenant": null,
          "assignmentId": "16"
        },
        "links": [
          {
            "rel": "role",
            "href": "http://localhost:65471/management/roles/16"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/permissions/18/policies/180/role-assignments?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/permissions/18/policies/180/role-assignments?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/permissions/18/policies/180/role-assignments?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "policy",
      "href": "http://localhost:65471/management/policies/180"
    },
    {
      "rel": "permission",
      "href": "http://localhost:65471/management/permissions/18"
    }
  ]
}

Gets Claim to Permission Assignments for a policy

Get list of claims assignments to a permission in a policy.

Request

GET /management/policies/{policyId}/claim-permission-assignments/{permissionId}

Response

Data returned:

{
    "data": {
        "tenant": null,
        "totalCount": 3,
        "totalPages": 1,
        "currentPage": 1,
        "items": [
            {
                "data": {
                    "claimToPermissionAssignmentId": 4,
                    "tenant": null,
                    "claimType": "role",
                    "claimValue": "admin",
                    "allowed": true,
                    "description": "admin"
                },
                "links": [
                    {
                        "rel": "self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/4",
                        "name": null
                    },
                    {
                        "rel": "update-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/4",
                        "name": null
                    },
                    {
                        "rel": "delete-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/4",
                        "name": null
                    }
                ]
            },
            {
                "data": {
                    "claimToPermissionAssignmentId": 1,
                    "tenant": null,
                    "claimType": "sub",
                    "claimValue": "1",
                    "allowed": false,
                    "description": "bob"
                },
                "links": [
                    {
                        "rel": "self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/1",
                        "name": null
                    },
                    {
                        "rel": "update-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/1",
                        "name": null
                    },
                    {
                        "rel": "delete-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/1",
                        "name": null
                    }
                ]
            },
            {
                "data": {
                    "claimToPermissionAssignmentId": 7,
                    "tenant": null,
                    "claimType": "sub",
                    "claimValue": "2",
                    "allowed": true,
                    "description": "alice"
                },
                "links": [
                    {
                        "rel": "self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/7",
                        "name": null
                    },
                    {
                        "rel": "update-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/7",
                        "name": null
                    },
                    {
                        "rel": "delete-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/7",
                        "name": null
                    }
                ]
            }
        ]
    },
    "links": [
        {
            "rel": "page",
            "href": "https://localhost:65471/management/policies/379/claim-permission-assignments/68{?tenant,count,page}",
            "name": "template"
        },
        {
            "rel": "page",
            "href": "https://localhost:65471/management/policies/379/claim-permission-assignments/68?count=10&page=1",
            "name": "current"
        },
        {
            "rel": "page",
            "href": "https://localhost:65471/management/policies/379/claim-permission-assignments/68?count=10&page=1",
            "name": "first"
        },
        {
            "rel": "page",
            "href": "https://localhost:65471/management/policies/379/claim-permission-assignments/68?count=10&page=1",
            "name": "last"
        },
        {
            "rel": "policy",
            "href": "https://localhost:65471/management/policies/379",
            "name": null
        },
        {
            "rel": "permission",
            "href": "https://localhost:65471/management/permissions/68",
            "name": null
        },
        {
            "rel": "add-claim-permission-assignment",
            "href": "https://localhost:65471/management/policies/379/claim-permission-assignments/68",
            "name": null
        }
    ]
}

Add Claim to Permission Assignments for a policy

Add claim to permission assignment in for a policy

Request

POST /management/policies/{policyId}/claim-permission-assignments/{permissionId}

Data posted:

{
    "policyId": 379,
    "permissionId": 68,
    "claimType": "sub",
    "claimValue": "1",
    "allowed": true,
    "description": "bob",
    "isSystem": true,
    "tenant": ""
}

Gets a claim to permission assignment

Request

GET /management/claim-permission-assignments/{claimPermissionAssignmentId}

Response

Data returned:

{
    "data": {
        "claimToPermissionAssignmentId": 1,
        "tenant": null,
        "claimType": "sub",
        "claimValue": "1",
        "allowed": false,
        "description": "bob"
    },
    "links": [
        {
            "rel": "self",
            "href": "https://localhost:65471/management/claim-permission-assignments/1",
            "name": null
        },
        {
            "rel": "update-self",
            "href": "https://localhost:65471/management/claim-permission-assignments/1",
            "name": null
        },
        {
            "rel": "delete-self",
            "href": "https://localhost:65471/management/claim-permission-assignments/1",
            "name": null
        },
        {
            "rel": "policy",
            "href": "https://localhost:65471/management/policies/379",
            "name": null
        },
        {
            "rel": "permission",
            "href": "https://localhost:65471/management/permissions/68",
            "name": null
        }
    ]
}

Update a claim to permission assignment

PUT /management/claim-permission-assignments/{claimPermissionAssignmentId}

Data posted:

{
    "claimType": "sub",
    "claimValue": "2",
    "allowed": true,
    "description": "Alice",
    "claimToPermissionAssignmentId": 1,
    "isSystem": true
}

Delete a claim to permission assignment

DELETE /management/claim-permission-assignments/{claimPermissionAssignmentId}

Gets aggregated claim to permission assignments for a policy

Gets all claim to permission assignment for a permission in a policy and parent policies and if same claim is assign in a parent and child policies, the value of the claim in the child policy is the one evaluated

Request

GET /management/claim-permission-assignments/{claimPermissionAssignmentId}

Response

Data returned:

{
    "data": {
        "tenant": null,
        "totalCount": 3,
        "totalPages": 1,
        "currentPage": 1,
        "items": [
            {
                "data": {
                    "tenant": null,
                    "claimType": "role",
                    "claimValue": "admin",
                    "allowed": true,
                    "description": "admin",
                    "claimToPermissionAssignmentId": "4",
                    "assignmentInherited": false
                },
                "links": [
                    {
                        "rel": "self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/4",
                        "name": null
                    },
                    {
                        "rel": "update-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/4",
                        "name": null
                    },
                    {
                        "rel": "delete-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/4",
                        "name": null
                    }
                ]
            },
            {
                "data": {
                    "tenant": null,
                    "claimType": "sub",
                    "claimValue": "1",
                    "allowed": false,
                    "description": "bob",
                    "claimToPermissionAssignmentId": "1",
                    "assignmentInherited": false
                },
                "links": [
                    {
                        "rel": "self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/1",
                        "name": null
                    },
                    {
                        "rel": "update-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/1",
                        "name": null
                    },
                    {
                        "rel": "delete-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/1",
                        "name": null
                    }
                ]
            },
            {
                "data": {
                    "tenant": null,
                    "claimType": "sub",
                    "claimValue": "2",
                    "allowed": true,
                    "description": "alice",
                    "claimToPermissionAssignmentId": "7",
                    "assignmentInherited": false
                },
                "links": [
                    {
                        "rel": "self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/7",
                        "name": null
                    },
                    {
                        "rel": "update-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/7",
                        "name": null
                    },
                    {
                        "rel": "delete-self",
                        "href": "https://localhost:65471/management/claim-permission-assignments/7",
                        "name": null
                    }
                ]
            }
        ]
    },
    "links": [
        {
            "rel": "page",
            "href": "https://localhost:65471/management/policies/379/aggregated-claim-permission-assignments/68{?tenant,count,page}",
            "name": "template"
        },
        {
            "rel": "page",
            "href": "https://localhost:65471/management/policies/379/aggregated-claim-permission-assignments/68?count=10&page=1",
            "name": "current"
        },
        {
            "rel": "page",
            "href": "https://localhost:65471/management/policies/379/aggregated-claim-permission-assignments/68?count=10&page=1",
            "name": "first"
        },
        {
            "rel": "page",
            "href": "https://localhost:65471/management/policies/379/aggregated-claim-permission-assignments/68?count=10&page=1",
            "name": "last"
        },
        {
            "rel": "policy",
            "href": "https://localhost:65471/management/policies/379",
            "name": null
        },
        {
            "rel": "permission",
            "href": "https://localhost:65471/management/permissions/68",
            "name": null
        }
    ]
}

Get Role Assignments for Permission by Policy

Get aggregated role assignment details from the policy hierarchy for a permission in a policy.

Request

GET /management/policies/{policyId}/role-assignments/{permissionId}

Response

Data returned:

{
  "data": {
    "totalCount": 1,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "tenant": null,
          "roleId": "16",
          "roleName": "test role",
          "roleTenant": null,
          "roleDescription": "role description",
          "roleAssignmentId": null,
          "assigned": false,
          "assignmentInherited": false
        },
        "links": [
          {
            "rel": "create-assignment",
            "href": "http://localhost:65471/management/policies/180/role-assignments/18/16"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/role-assignments/18?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/role-assignments/18?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/policies/180/role-assignments/18?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "policy",
      "href": "http://localhost:65471/management/policies/180"
    },
    {
      "rel": "permission",
      "href": "http://localhost:65471/management/permissions/18"
    }
  ]
}

Get Permission Assignments for Role by Policy

Get aggregated permission assignment details from the policy hierarchy for a role in a policy.

Request

GET /management/policies/{policyId}/permission-assignments/{roleId}

Response

Data returned:

{
        "data": {
                "tenant": null,
                "totalCount": 1,
                "totalPages": 1,
                "currentPage": 1,
                "items": [
                        {
                                "data": {
                                        "tenant": null,
                                        "permissionId": "14",
                                        "permissionName": "Test Permission",
                                        "permissionDescription": null,
                                        "assignmentId": "729",
                                        "assigned": true,
                                        "assignmentInherited": false
                                },
                                "links": [
                                        {
                                                "rel": "delete-assignment",
                                                "href": "http://localhost:65471/management/permission-assignments/729"
                                        }
                                ]
                        }
                ]
        },
        "links": [
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/policies/1509/permission-assignments/222?count=20&page=1",
                        "name": "current"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/policies/1509/permission-assignments/222?count=20&page=1",
                        "name": "first"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/policies/1509/permission-assignments/222?count=20&page=1",
                        "name": "last"
                },
                {
                        "rel": "self",
                        "href": "policies/1509/permission-assignments/222"
                },
                {
                        "rel": "policy",
                        "href": "http://localhost:65471/management/policies/1509"
                },
                {
                        "rel": "role",
                        "href": "http://localhost:65471/management/roles/222"
                }
        ]
}

Assign Role to Permission by Policy

Assign a role to a permission in a policy.

Request

POST /management/policies/{policyId}/role-assignments/{permissionId}/{roleId}

Unassign Role to Permission by Policy

Unassign an existing assignment of a role to a permission in a policy.

Request

DELETE /management/permission-assignments/{assignmentId}

Get Tenants

List all tenants

Request

GET /management/tenants?filter={some name}

Optional Request Parameters

  • filter: Filters the results based on the value passed. The value is compared to the name.

Response

Data returned:

{
  "data": {
    "totalCount": 2,
    "totalPages": 1,
    "items": [
      {
        "data": {
          "tenantId": "177",
          "name": "tenant1",
          "description": "t1 desc"
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/tenants/177"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/tenants/177"
          },
          {
            "rel": "tenants",
            "href": "http://localhost:65471/management/tenants/177/tenants"
          },
          {
            "rel": "add-tenant",
            "href": "http://localhost:65471/management/tenants/177/tenants"
          }
        ]
      },
      {
        "data": {
          "tenantId": "180",
          "name": "tenant2",
          "description": "t2 desc"
        },
        "links": [
          {
            "rel": "self",
            "href": "http://localhost:65471/management/tenants/180"
          },
          {
            "rel": "delete-self",
            "href": "http://localhost:65471/management/tenants/180"
          },
          {
            "rel": "tenants",
            "href": "http://localhost:65471/management/tenants/180/tenants"
          },
          {
            "rel": "add-tenant",
            "href": "http://localhost:65471/management/tenants/180/tenants"
          }
        ]
      }
    ]
  },
  "links": [
    {
      "rel": "page",
      "href": "http://localhost:65471/management/tenants?count=20&page=1",
      "name": "current"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/tenants?count=20&page=1",
      "name": "first"
    },
    {
      "rel": "page",
      "href": "http://localhost:65471/management/tenants?count=20&page=1",
      "name": "last"
    },
    {
      "rel": "add-tenant",
      "href": "http://localhost:65471/management/tenants"
    }
  ]
}

Delete Tenant by Id

Request

DELETE /management/tenants/{tenantId}

Add Tenant

Add a new tenant

Request

POST /management/tenants

Data posted:

{
  "Name": "tenant1",
  "Description": "t1 desc"
}

Get Tenant Details

Request

GET /management/tenants/{tenantId}

Response

Data returned:

{
  "data": {
    "tenantId": "181",
    "name": "tenant1",
    "description": "t1 desc"
  },
  "links": [
    {
      "rel": "self",
      "href": "http://localhost:65471/management/tenants/181"
    },
    {
      "rel": "update-self",
      "href": "http://localhost:65471/management/tenants/181"
    },
    {
      "rel": "delete-self",
      "href": "http://localhost:65471/management/tenants/181"
    },
    {
      "rel": "tenants",
      "href": "http://localhost:65471/management/tenants/181/tenants"
    },
    {
      "rel": "add-tenant",
      "href": "http://localhost:65471/management/tenants/181/tenants"
    }
  ]
}

Update Tenant

Request

PUT /management/tenants/{tenantId}

Data posted:

{
  "Name": "new tenant name",
  "Description": "new description"
}

Add child tenant

Add a new child tenant for a tenant by id

Request

POST /management/tenants/{tenantId}/tenants

Data posted:

{
  "Name": "t1child"
}

Get Policy assignments for tenant

Get the policies that has tenant roles

Request

GET /management/tenants/{tenantId}/policy-assignments

Response

Data returned:

{
        "data": {
                "totalCount": 1,
                "totalPages": 1,
                "currentPage": 1,
                "items": [
                        {
                                "data": {
                                        "policyId": "111",
                                        "policyName": "test policy",
                                        "policyPath": "test policy"
                                },
                                "links": [
                                        {
                                                "rel": "policy",
                                                "href": "https://localhost:65471/management/policies/111",
                                                "name": null
                                        },
                                        {
                                                "rel": "roles",
                                                "href": "https://localhost:65471/management/tenants/2/policies/111/roles",
                                                "name": null
                                        },
                                        {
                                                "rel": "role-assignments",
                                                "href": "https://localhost:65471/management/tenants/2/policies/111/role-assignments",
                                                "name": null
                                        },
                                        {
                                                "rel": "permission-assignments",
                                                "href": "https://localhost:65471/management/tenants/2/policies/111/permission-assignments",
                                                "name": null
                                        }
                                ]
                        }
                ]
        },
        "links": [
                {
                        "rel": "page",
                        "href": "https://localhost:65471/management/tenants/2/policy-assignments{?count,page}",
                        "name": "template"
                },
                {
                        "rel": "page",
                        "href": "https://localhost:65471/management/tenants/2/policy-assignments?count=10&page=1",
                        "name": "current"
                },
                {
                        "rel": "page",
                        "href": "https://localhost:65471/management/tenants/2/policy-assignments?count=10&page=1",
                        "name": "first"
                },
                {
                        "rel": "page",
                        "href": "https://localhost:65471/management/tenants/2/policy-assignments?count=10&page=1",
                        "name": "last"
                }
        ]
}

Get Roles in Policy For Tenant

Get the tenant roles in policies assigned to tenant

Request

GET ​/management/tenants​/{tenantId}​/policies​/{policyId}​/roles

Response

Data returned:

{
"data": {
        "totalCount": 1,
        "totalPages": 1,
        "currentPage": 1,
        "items": [
        {
                "data": {
                "roleId": "14",
                "name": "tenantRole",
                "description": null
                },
                "links": [
                {
                        "rel": "role",
                        "href": "https://localhost:65471/management/roles/14",
                        "name": null
                }
                ]
        }
        ]
},
"links": [
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles{?count,page}",
        "name": "template"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles?count=10&page=1",
        "name": "current"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles?count=10&page=1",
        "name": "first"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles?count=10&page=1",
        "name": "last"
        }
]
}

Get Role assignments in Policy For Tenant

Get the tenant roles assignments in policies assigned to tenant

Request

GET ​GET /management/tenants/{tenantId}/policies/{policyId}/role-assignments

Response

Data returned:

{
"data": {
                "totalCount": 1,
                "totalPages": 1,
                "currentPage": 1,
                "items": [
                {
                        "data": {
                        "roleId": "14",
                        "name": "tenantRole",
                        "description": null
                        },
                        "links": [
                        {
                                "rel": "role",
                                "href": "https://localhost:65471/management/roles/14",
                                "name": null
                        },
                        {
                                "rel": "subject-assignments",
                                "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/subject-assignments",
                                "name": null
                        },
                        {
                                "rel": "identityrole-assignments",
                                "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/identityrole-assignments",
                                "name": null
                        },
                        {
                                "rel": "expression-assignments",
                                "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/expression-assignments",
                                "name": null
                        }
                        ]
                }
                ]
        },
        "links": [
                {
                "rel": "page",
                "href": "https://localhost:65471/management/tenants/2/policies/111/role-assignments{?count,page}",
                "name": "template"
                },
                {
                "rel": "page",
                "href": "https://localhost:65471/management/tenants/2/policies/111/role-assignments?count=10&page=1",
                "name": "current"
                },
                {
                "rel": "page",
                "href": "https://localhost:65471/management/tenants/2/policies/111/role-assignments?count=10&page=1",
                "name": "first"
                },
                {
                "rel": "page",
                "href": "https://localhost:65471/management/tenants/2/policies/111/role-assignments?count=10&page=1",
                "name": "last"
                }
        ]
}

Get subject assignments in roles in Policy For Tenant

Get subject assignments in tenant roles assignments in policies assigned to tenant

Request

GET ​/management/tenants/{tenantId}/policies/{policyId}/roles/{roleId}/subject-assignments

Response

Data returned:

{
"data": {
        "totalCount": 1,
        "totalPages": 1,
        "currentPage": 1,
        "items": [
        {
                "data": {
                "subjectId": "1",
                "description": "sub1",
                "allowed": true
                },
                "links": null
        }
        ]
},
"links": [
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/subject-assignments{?count,page}",
        "name": "template"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/subject-assignments?count=10&page=1",
        "name": "current"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/subject-assignments?count=10&page=1",
        "name": "first"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/subject-assignments?count=10&page=1",
        "name": "last"
        }
]
}

Get identity role assignments in roles in Policy For Tenant

Get identity role assignments in tenant roles assignments in policies assigned to tenant

Request

GET /management/tenants/{tenantId}/policies/{policyId}/roles/{roleId}/identityrole-assignments

Response

Data returned:

{
"data": {
        "totalCount": 1,
        "totalPages": 1,
        "currentPage": 1,
        "items": [
        {
                "data": {
                "identityRole": "IdentityRoleTenant",
                "description": null,
                "allowed": true
                },
                "links": null
        }
        ]
},
"links": [
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/identityrole-assignments{?count,page}",
        "name": "template"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/identityrole-assignments?count=10&page=1",
        "name": "current"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/identityrole-assignments?count=10&page=1",
        "name": "first"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/identityrole-assignments?count=10&page=1",
        "name": "last"
        }
]
}

Get expression assignments in roles in Policy For Tenant

Get expression assignments in tenant roles assignments in policies assigned to tenant

Request

GET /management/tenants/{tenantId}/policies/{policyId}/roles/{roleId}/expression-assignments

Response

Data returned:

{
"data": {
        "totalCount": 1,
        "totalPages": 1,
        "currentPage": 1,
        "items": [
        {
                "data": {
                "expressionAssignmentId": "4",
                "expression": "user=>user.HasClaim(\"tenant\", \"true\")",
                "description": "",
                "allowed": true
                },
                "links": null
        }
        ]
},
"links": [
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/expression-assignments{?count,page}",
        "name": "template"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/expression-assignments?count=10&page=1",
        "name": "current"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/expression-assignments?count=10&page=1",
        "name": "first"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/roles/14/expression-assignments?count=10&page=1",
        "name": "last"
        }
]
}

Get permission assignments in Policy For Tenant

Get permission assignments in policies assigned to tenant

Request

GET /management/tenants/{tenantId}/policies/{policyId}/permission-assignments

Response

Data returned:

{
"data": {
        "totalCount": 1,
        "totalPages": 1,
        "currentPage": 1,
        "items": [
        {
                "data": {
                "permissionId": "12",
                "name": "test permission",
                "description": "permission description"
                },
                "links": [
                {
                        "rel": "permission",
                        "href": "https://localhost:65471/management/permissions/12",
                        "name": null
                }
                ]
        }
        ]
},
"links": [
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/permission-assignments{?count,page}",
        "name": "template"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/permission-assignments?count=10&page=1",
        "name": "current"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/permission-assignments?count=10&page=1",
        "name": "first"
        },
        {
        "rel": "page",
        "href": "https://localhost:65471/management/tenants/2/policies/111/permission-assignments?count=10&page=1",
        "name": "last"
        }
]
}

Search Users

Request

GET /management/search/users?filter={some name}&tenant={tenant identifier}

Optional Request Parameters

  • filter: Filters the results based on the value passed.

  • tenant: Scopes the results based on the tenant identifier passed.

Response

Data returned:

{
        "data": {
                "totalCount": 4,
                "totalPages": 1,
                "items": [
                        {
                                "data": {
                                        "subjectId": "ac682857-d507-4b87-934c-ac93785d6183",
                                        "displayName": "Aqshgrp Rjmoivz (Aqshgrp.Rjmoivz@Rjxxtrx.com) tenant1"
                                },
                                "links": [
                                        {
                                                "rel": "role-assignments",
                                                "href": "http://localhost:65471/management/subjects/ac682857-d507-4b87-934c-ac93785d6183/role-assignments"
                                        }
                                ]
                        },
                        {
                                "data": {
                                        "subjectId": "09270580-20ac-4852-9ff2-d44bb0037225",
                                        "displayName": "Rgrplqs Kfkikjz (Rgrplqs.Kfkikjz@Msswfvl.com) no-tenant"
                                },
                                "links": [
                                        {
                                                "rel": "role-assignments",
                                                "href": "http://localhost:65471/management/subjects/09270580-20ac-4852-9ff2-d44bb0037225/role-assignments"
                                        }
                                ]
                        },
                        {
                                "data": {
                                        "subjectId": "5c691d16-fbd4-438d-a755-2367ee8b82e0",
                                        "displayName": "Rrofdkl Ogrpkis (Rrofdkl.Ogrpkis@Agujevv.com) tenant3"
                                },
                                "links": [
                                        {
                                                "rel": "role-assignments",
                                                "href": "http://localhost:65471/management/subjects/5c691d16-fbd4-438d-a755-2367ee8b82e0/role-assignments"
                                        }
                                ]
                        },
                        {
                                "data": {
                                        "subjectId": "ef53647d-7e56-42d8-8136-7e286d9b5b24",
                                        "displayName": "Szziwsg Mottvze (Szziwsg.Mottvze@Fgrpvzx.com) tenant2"
                                },
                                "links": [
                                        {
                                                "rel": "role-assignments",
                                                "href": "http://localhost:65471/management/subjects/ef53647d-7e56-42d8-8136-7e286d9b5b24/role-assignments"
                                        }
                                ]
                        }
                ]
        },
        "links": [
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/search/users?filter=grp&count=20&page=1",
                        "name": "current"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/search/users?filter=grp&count=20&page=1",
                        "name": "first"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/search/users?filter=grp&count=20&page=1",
                        "name": "last"
                }
        ]
}

Search Roles

Request

GET /management/search/roles?filter={some name}&tenant={tenant identifier}

Optional Request Parameters

  • filter: Filters the results based on the value passed.

  • tenant: Scopes the results based on the tenant identifier passed.

Response

Data returned:

{
        "data": {
                "totalCount": 1,
                "totalPages": 1,
                "items": [
                        {
                                "data": {
                                        "roleName": "20ab8376-ed0e-4e99-a900-c22375aa5a3e",
                                        "description": "Aeoiwso tenant1"
                                },
                                "links": [
                                        {
                                                "rel": "role-assignments",
                                                "href": "http://localhost:65471/management/identityroles/20ab8376-ed0e-4e99-a900-c22375aa5a3e/role-assignments"
                                        }
                                ]
                        }
                ]
        },
        "links": [
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/search/roles?filter=Aeo&count=20&page=1",
                        "name": "current"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/search/roles?filter=Aeo&count=20&page=1",
                        "name": "first"
                },
                {
                        "rel": "page",
                        "href": "http://localhost:65471/management/search/roles?filter=Aeo&count=20&page=1",
                        "name": "last"
                }
        ]
}