Permission Profiles
Get Permission Profile for Current User
Endpoint
GET /passportsvc/api/v1/permissionprofiles
Request
Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
_name | String | Query 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-2 | Optional |
_userType | String | Query 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-profile | Optional |
nsfilter | String | Filter by namespace, for example, GET /passportsvc/api/v1/permissionprofiles/?nsfilter=project-1 | Optional |
_offset | Number | Responds with data after the offset row number you pass. For example, GET /passportsvc/api/v1/permissionprofiles/?_offset=10 | Optional |
_pageSize | Number | Set the response page size, for example, GET /passportsvc/api/v1/permissionprofiles/?_pageSize=20 | Optional |
Response
Response codes
| Code | Description |
|---|---|
200 | Success |
400 | Bad 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
| Parameter | Type | Description | Required |
|---|---|---|---|
id | String | Pass the permission profile's id, for example GET /passportsvc/api/v1/permissionprofiles/21083741-098b-402c-92a0-7d6f1050b626 | Required |
Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
nsfilter | String | Filter by namespace, for example, GET /passportsvc/api/v1/permissionprofiles/?nsfilter=project-1 | Optional |
Response
Response codes
| Code | Description |
|---|---|
200 | Success |
404 | Not 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
| Parameter | Type | Description | Required |
|---|---|---|---|
id | String | Pass the permission profile's id you want to edit, for example PUT /passportsvc/api/v1/permissionprofiles/21083741-098b-402c-92a0-7d6f1050b626 | Required |
Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
nsfilter | String | Filter by namespace, for example, PUT /passportsvc/api/v1/permissionprofiles/?nsfilter=project-1 | Optional |
Response
Response header
Contains a URL to poll the request status. For more information on the URL response, see Async Task.
Response codes
| Code | Description |
|---|---|
202 | Accepted |
200 | Success |
400 | Bad Request |
404 | Not 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
| Parameter | Type | Description | Required |
|---|---|---|---|
id | String | Pass the permission profile's id you want to delete, for example DELETE /passportsvc/api/v1/permissionprofiles/21083741-098b-402c-92a0-7d6f1050b626 | Required |
Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
nsfilter | String | Filter by namespace, for example, DELETE /passportsvc/api/v1/permissionprofiles/?nsfilter=project-1 | Optional |
Response
Response codes
| Code | Description |
|---|---|
204 | No Content |
404 | Not 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
| Parameter | Type | Description | Required |
|---|---|---|---|
nsfilter | String | Filter by namespace, for example, POST /passportsvc/api/v1/permissionprofiles/?nsfilter=project-1 | Optional |
Body parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
_name | String | Enter a unique name for the permission profile. | Required |
_userType | String | Enter a unique or shared string to identify the permission profile. | Required |
_namespaces | Array of String | Pass one or more namespaces for the permission profile's context. | Required |
_permissions | Array of Object | Pass one or more namespaces for the permission profile's context. | Required |
_permissions[n]._actions | Array of String | Pass an array of permission actions you want to define for the permissions profile. For more information, see Permissions Actions REST API | Required |
_permissions[n]._namespace | String | Enter the namespace that the resource pertains to. | Required |
_permissions[n]._resourceDesc._irn | String | Enter 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
| Code | Description |
|---|---|
202 | Accepted |
201 | Created |
400 | Bad Request |