Skip to main content
Version: v5.2

Permission Profiles

Get Permission Profile for Current User​

Endpoint​

GET /passportsvc/api/v1/permissionprofiles

Request​

Query parameters​

ParameterTypeDescriptionRequired
_nameStringQuery permission profiles by thier user-created name. You can pass multiple values, for example: GET /passportsvc/api/v1/permissionprofiles/?_name=perm-profile-1&_name=perm-profile-2Optional
_userTypeStringQuery by userType attribute, which is a shared or unique tag. You can pass multiple values, for example: GET /passportsvc/api/v1/permissionprofiles/?_userType=type1-perm-profile&_userType=type2-perm-profileOptional
nsfilterStringFilter by namespace, for example, GET /passportsvc/api/v1/permissionprofiles/?nsfilter=project-1Optional
_offsetNumberResponds with data after the offset row number you pass. For example, GET /passportsvc/api/v1/permissionprofiles/?_offset=10Optional
_pageSizeNumberSet the response page size, for example, GET /passportsvc/api/v1/permissionprofiles/?_pageSize=20Optional

Response​

Response codes​

CodeDescription
200Success
400Bad Request

Body​

{
"_offset": 0,
"_pageSize": 2,
"_total": 2,
"_list": [
{
"_id": "21083741-098b-402c-92a0-7d6f1050b626",
"_name": "perm-profile-2",
"_userType": "test-perm-profile-2",
"_namespaces": [
"lnt_Uk2fGs3l"
],
"_permissions": [
{
"_actions": [
"READ"
],
"_namespace": "lnt_Uk2fGs3l",
"_resourceDesc": {
"_irn": "filesvc:file:e5bcbc1e-514d-41f0-ae7d-c0fd0e6cc504"
}
}
]
},
{
"_id": "da9b8940-2ce1-42dd-80c8-7337b4587559",
"_name": "perm-profile-2",
"_userType": "test-perm-profile-2",
"_namespaces": [
"lnt_Uk2fGs3l"
],
"_permissions": [
{
"_actions": [
"READ"
],
"_namespace": "lnt_Uk2fGs3l",
"_resourceDesc": {
"_irn": "passportsvc:workspace:*"
}
}
]
}
]
}

Get Permission Profile By Id​

Endpoint​

GET /passportsvc/api/v1/permissionprofiles/:id

Request​

Path parameters​

ParameterTypeDescriptionRequired
idStringPass the permission profile's id, for example GET /passportsvc/api/v1/permissionprofiles/21083741-098b-402c-92a0-7d6f1050b626Required

Query parameters​

ParameterTypeDescriptionRequired
nsfilterStringFilter by namespace, for example, GET /passportsvc/api/v1/permissionprofiles/?nsfilter=project-1Optional

Response​

Response codes​

CodeDescription
200Success
404Not Found

Body​

{
"_id": "21083741-098b-402c-92a0-7d6f1050b626",
"_name": "perm-profile-2",
"_userType": "test-perm-profile-2",
"_namespaces": [
"lnt_Uk2fGs3l"
],
"_permissions": [
{
"_actions": [
"READ"
],
"_namespace": "lnt_Uk2fGs3l",
"_resourceDesc": {
"_irn": "filesvc:file:e5bcbc1e-514d-41f0-ae7d-c0fd0e6cc504"
}
}
]
}

Edit Permission Profile​

Endpoint​

PUT /passportsvc/api/v1/permissionprofiles/:id

Request​

Path parameters​

ParameterTypeDescriptionRequired
idStringPass the permission profile's id you want to edit, for example PUT /passportsvc/api/v1/permissionprofiles/21083741-098b-402c-92a0-7d6f1050b626Required

Query parameters​

ParameterTypeDescriptionRequired
nsfilterStringFilter by namespace, for example, PUT /passportsvc/api/v1/permissionprofiles/?nsfilter=project-1Optional

Response​

Response header​

Contains a URL to poll the request status. For more information on the URL response, see Async Task.

Response codes​

CodeDescription
202Accepted
200Success
400Bad Request
404Not Found

Response data example​

Permission Profile object:


{
"_id": "21083741-098b-402c-92a0-7d6f1050b626",
"_name": "perm-profile-2",
"_userType": "test-perm-profile-2",
"_namespaces": [
"lnt_Uk2fGs3l"
],
"_permissions": [
{
"_actions": [
"READ","DELETE","SHARE"
],
"_namespace": "lnt_Uk2fGs3l",
"_resourceDesc": {
"_irn": "filesvc:file:e5bcbc1e-514d-41f0-ae7d-c0fd0e6cc504"
}
}
]
}

Delete Permission Profile​

Endpoint​

DELETE /passportsvc/api/v1/permissionprofiles/:id

Request​

Path parameters​

ParameterTypeDescriptionRequired
idStringPass the permission profile's id you want to delete, for example DELETE /passportsvc/api/v1/permissionprofiles/21083741-098b-402c-92a0-7d6f1050b626Required

Query parameters​

ParameterTypeDescriptionRequired
nsfilterStringFilter by namespace, for example, DELETE /passportsvc/api/v1/permissionprofiles/?nsfilter=project-1Optional

Response​

Response codes​

CodeDescription
204No Content
404Not Found

Add Permission Profile​

Endpoint​

POST /passportsvc/api/v1/permissionprofiles

Note: The user that sends a POST request to create a permission profile must have permissions to create a permission profile in that given namespace, as well as SHARE permissions for the permissions within the permission profile.

Request​

Query parameters​

ParameterTypeDescriptionRequired
nsfilterStringFilter by namespace, for example, POST /passportsvc/api/v1/permissionprofiles/?nsfilter=project-1Optional

Body parameters​

ParameterTypeDescriptionRequired
_nameStringEnter a unique name for the permission profile.Required
_userTypeStringEnter a unique or shared string to identify the permission profile.Required
_namespacesArray of StringPass one or more namespaces for the permission profile's context.Required
_permissionsArray of ObjectPass one or more namespaces for the permission profile's context.Required
_permissions[n]._actionsArray of StringPass an array of permission actions you want to define for the permissions profile. For more information, see Permissions Actions REST APIRequired
_permissions[n]._namespaceStringEnter the namespace that the resource pertains to.Required
_permissions[n]._resourceDesc._irnStringEnter the resource's path. For the resource path, concetenate the service name, resource type, and resource's id with colons, for example, filesvc:file:6336c490017d84b0a506e453 for a file, or filesvc:file:* for all files in the file service.Required
Body example​
[
{
"_name": "perm-profile-2",
"_userType": "test-perm-profile-2",
"_namespaces": [
"lnt_Uk2fGs3l"
],
"_permissions": [
{
"_resourceDesc": {
"_irn": "filesvc:file:e5bcbc1e-514d-41f0-ae7d-c0fd0e6cc504"
},
"_actions": [
"READ"
],
"_namespace": "lnt_Uk2fGs3l"
}
]
}
]

Response​

Response header​

Contains a URL to poll the request status. The final status is 201 - Created. For more information on the URL response, see Async Task.

Response codes​

CodeDescription
202Accepted
201Created
400Bad Request