List assignable project roles
curl --request GET \
--url https://{platformHost}/api/public/v1/projects/{projectId}/roles \
--header 'X-API-Key: <api-key>'{
"success": true,
"data": {
"roles": [
{
"roleId": "<string>",
"name": "<string>",
"description": "<string>",
"permissions": [
"<string>"
],
"effectivePermissions": [
"<string>"
],
"parentRoleId": "<string>",
"assignableByCaller": true
}
]
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}List assignable project roles
Lists the built-in project roles and whether the key may assign each (assignableByCaller).
Required scope: project.members.read
GET
/
api
/
public
/
v1
/
projects
/
{projectId}
/
roles
List assignable project roles
curl --request GET \
--url https://{platformHost}/api/public/v1/projects/{projectId}/roles \
--header 'X-API-Key: <api-key>'{
"success": true,
"data": {
"roles": [
{
"roleId": "<string>",
"name": "<string>",
"description": "<string>",
"permissions": [
"<string>"
],
"effectivePermissions": [
"<string>"
],
"parentRoleId": "<string>",
"assignableByCaller": true
}
]
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_SCOPE",
"message": "<string>",
"messages": [
"<string>"
],
"retryable": true,
"details": {}
}
}Use this endpoint to list the built-in project roles and whether the key can assign each one. Check
assignableByCaller before you add or update a project member.
A key can assign builtin.project.developer, builtin.project.tester, builtin.project.viewer, and builtin.project.workbench_manager. The request needs the project.members.read scope.Was this page helpful?