Skip to main content
Version: v5.0

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 profile REST API authorisation actionsRequired
_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