Permissions
Entity - Role Based Access Control - Interrogates the Permission table in the database
Verb | Request | Notes | Permissions required |
---|---|---|---|
GET - single | /Consumer/Permissions/{permissionId } | Gets permission details for the specified Permission ID. Example Response { "Id": 15, "SecurableId": null, "SecurableTypeId": 3, "SecurableTypeName": "ProductPackManagement", "RoleId": 1, "RoleName": "Global Administrators", "OperationId": 9, "OperationName": "Add", "Allowed": true, "CreatedTimestampUtc": "2016-05-17T09:49:59.41Z", "ModifiedTimestampUtc": "2016-05-17T09:49:59.41Z" } |
Returns Unauthorized (401) if user does not have the required permissions. |
GET | /Consumer/Permissions/Role/{roleId } | Gets permission details for the specified Role ID. Example Response [ { "SecurableId": null, "SecurableName": null, "SecurableTypeId": 3, "SecurableTypeName": "ProductPackManagement", "RoleId": 2, "RoleName": "Product Pack Administrators", "Allowed": true, "Operations": [ { "PermissionId": 12, "OperationId": 9, "OperationName": "Add", "CreatedTimestampUtc": "2016-05-17T09:49:59.41Z", "ModifiedTimestampUtc": "2016-05-17T09:49:59.41Z" }, { "PermissionId": 13, "OperationId": 8, "OperationName": "Delete", "CreatedTimestampUtc": "2016-05-17T09:49:59.41Z", "ModifiedTimestampUtc": "2016-05-17T09:49:59.41Z" }, { "PermissionId": 14, "OperationId": 10, "OperationName": "Read", "CreatedTimestampUtc": "2016-05-17T09:49:59.41Z", "ModifiedTimestampUtc": "2016-05-17T09:49:59.41Z" } ] } ] |
Returns Unauthorized (401) if user does not have the required permissions. |
GET | /Consumer/Permissions/Principal/{accountName } | Gets permission details for the specified Account Name. AccountName should be specified in Base64 encoding. Example Response [ { "SecurableId": 11, "SecurableName": null, "SecurableTypeId": 1, "SecurableTypeName": "ProductPack", "RoleId": 9, "RoleName": "CM questions", "Allowed": true, "Operations": [ { "PermissionId": 24, "OperationId": 3, "OperationName": "Questioner", "CreatedTimestampUtc": "2016-05-18T15:56:46.09Z", "ModifiedTimestampUtc": "2016-05-18T15:56:46.09Z" } ] } ] |
Returns Unauthorized (401) if user does not have the required permissions. A user can request own permissions. |
GET | /Consumer/Permissions/Securable/{typeId} | Gets permission details for the specified securable type. |
Returns Unauthorized (401) if user does not have the required permissions. |
GET | /Consumer/Permissions/Securable/{typeId}/ {instanceId:int?} | Gets permission detailsfor the specified securable type instance.
|
Returns Unauthorized (401) if user does not have the required permissions. |
GET | /Consumer/Permissions/Role/{roleId}/Type/ {securableTypeName}/{instanceId:int?} | Gets permission details for the specified role on a securable type instance.
|
Returns Unauthorized (401) if user does not have the required permissions. |
GET | /Consumer/Permissions/Principal/{accountName}/ Type/{securableTypeName}/{instanceId:int?} | Gets permission details for the specified user account on a securable type instance.
|
Returns Unauthorized (401) if user does not have the required permissions. |
GET | /Consumer/Permissions/RBAC/Enabled | Returns true if RBAC is enabled on the server, otherwise false. |
|
GET | /Consumer/Permissions/InstructionAccess/ {instructionId} | Checks authorization of the calling user to access the specified instruction. Returns true if the calling user has Viewer permission on the Product Pack that contains the instruction definition for the specified instruction, otherwise returns false. |
|
GET | /Consumer/Permissions/InstructionAccess/ {InstructionId}/{managementGroupId} | Minimum API version 8.0 Behaves like the previous API Consumer/Permissions/InstructionAccess/{instructionId} if the new (optional) parameter added at the end is omitted. But if provided, the instruction filters its result by the management group specified by this parameter. |
|
GET | /Consumer/Permissions/Type/{securableType}/ Operation/{operation} | Checks authorization of the calling user to perform the specified operation.
|
|
GET | /Consumer/Permissions/Type/{securableType}/ Operation/{operation}/{managementGroupId} | Minimum API version 8.0 Behaves like the previous API /Consumer/Permissions/Type/{securableType}/Operation/{operation} if the new (optional) parameter added at the end is omitted. But if provided, the instruction filters its result by the management group specified by this parameter. |
|
GET | /Consumer/Permissions/Type/{securableType}/ Operation/{operation}/{idProperty}/{id} | Checksauthorization of the calling user to access the specified securable type instance..
|
|
GET | /Consumer/Permissions/Type/{securableType}/ Operation/{operation}/{idProperty}/{id}/ {managementGroupId} | Minimum API version 8.0 Behaves like the previous API /Consumer/Permissions/Type/{securableType}/Operation/{operation}/{idProperty}/{id} if the new (optional) parameter added at the end is omitted. But if provided, the instruction filters its result by the management group specified by this parameter. |
|
POST | /Consumer/Permissions | Creates permissions in bulk. |
Returns Unauthorized (401) if user does not have the required permissions. |
POST | /Consumer/Permissions/single | Creates an individual permission. Example Request { "OperationName":"DummyOperation2", "SecurableTypeName":"MySecurableType", "RoleName":"Global Administrators", "Allowed":true }
|
Returns Unauthorized (401) if user does not have the required permissions. |
DELETE | /Consumer/Permissions/{permissionId} | Deletes a permission by id. |
Returns Unauthorized (401) if user does not have the required permissions. |
GET | /Consumers/Permissions/ProductPack/ {operation} | REMOVED IN 3.1 Checks if calling user has given permission on any of the product pack | None |
GET | /Consumer/Permissions/InstructionSet/ {operation} | Minimum API version 3.1 Check if calling user has given permission on any instruction set | |
GET | /Consumer/Permissions/InstructionSet/ {operation}/{managementGroupId} | Minimum API version 8.0 Behaves like the previous API /Consumer/Permissions/InstructionSet/{operation} if the new (optional) parameter added at the end is omitted. But if provided, the instruction filters its result by the management group specified by this parameter. | |
GET | /Consumer/Permissions/{id}/ManagementGroups | Minimum API version 3.3 Returns Management Groups linked to given permission Obsolete as of API version 8.0. Provided for backwards compatibility. Returns results by joining Permissions to Management Groups through the PrincipalRoleManagementGroup table, which may not match exactly the results returned by the previous version of the API. | Requires 'Read' on Security |
POST | /Consumer/Permissions/{permissionId}/ ManagementGroups/{managementGroupId} | Minimum API version 3.3 Links given Management Group to given Permission.
Return payload is empty. Removed as of API version 8.0. Will return 405 if called. It cannot work anymore or be made backwards compatible in a sensible way because Management Groups are no longer linked to Permissions. | Requires 'Write' on Security |
POST | /Consumer/Permissions/ManagementGroups | Minimum API version 3.3 Links given Management Groups to given Permission Sample Request payload { "PermissionId": 1, "ManagementGroupIds": [1,2,3] } Return payload is empty. Removed as of API version 8.0. Will return 405 if called. It cannot work anymore or be made backwards compatible in a sensible way because Management Groups are no longer linked to Permissions. | Requires 'Write' on Security |
DELETE | /Consumer/Permissions/{permissionId}/ ManagementGroups/{managementGroupId} | Minimum API version 3.3 Removes a link between given Management Group from given Permission.
Return payload is empty. Removed as of API version 8.0. Will return 405 if called. It cannot work anymore or be made backwards compatible in a sensible way because Management Groups are no longer linked to Permissions. | Requires 'Write' on Security |
DELETE | /Consumer/Permissions/ManagementGroups | Minimum API version 3.3 Removes a link between given Management Groups from given Permission Sample Request payload { "PermissionId": 1, "ManagementGroupIds": [1,2,3] } Return payload is empty. Removed as of API version 8.0. Will return 405 if called. It cannot work anymore or be made backwards compatible in a sensible way because Management Groups are no longer linked to Permissions. | Requires 'Write' on Security |
PUT | /Consumers/Permissions/refresh | Forces internal permissions cache to be refreshed. | None |
GET | /Consumer/Permissions/Type/{securableType}/ Operation/{operation}/{idProperty}/{id}/ UsableId/{managementGroupUsableId} | Minimum API version 8.0 Similar to /Consumer/Permissions/Type/{securableType}/Operation/{operation}/{idProperty}/{id}/{managementGroupId} but accepting UsableId instead of regular Id | Checks authorization of the calling user to access the specified securable type instance |
GET | /Consumer/Permissions/Type/{securableType}/ Operation/{operation}/ UsableId/{managementGroupUsableId} | Minimum API version 8.0 Similar to /Consumer/Permissions/Type/{securableType}/Operation/{operation}/{managementGroupId:int?} but accepting UsableId instead of regular Id | Checks authorization of the calling user to access the specified securable type instance |