Chapter 12. permission
Manage repository permissions.
12.1. getUserTransitivePermission
Get the fetch the permission for the specified user.
GET /api/v1/repository/{repository}/permissions/user/{username}/transitive
Authorizations: oauth2_implicit (repo:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
username | The username of the user to which the permissions apply | string |
path |
repository | The full path of the repository. e.g. namespace/name | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 | Successful invocation | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
Example command
$ curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>/transitive"
12.2. getUserPermissions
Get the permission for the specified user.
GET /api/v1/repository/{repository}/permissions/user/{username}
Authorizations: oauth2_implicit (repo:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
username | The username of the user to which the permission applies | string |
path |
repository | The full path of the repository. e.g. namespace/name | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 | Successful invocation | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
Example command
$ curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>"
12.3. changeUserPermissions
Update the perimssions for an existing repository.
PUT /api/v1/repository/{repository}/permissions/user/{username}
Authorizations: oauth2_implicit (repo:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
username | The username of the user to which the permission applies | string |
path |
repository | The full path of the repository. e.g. namespace/name | string |
Request body schema (application/json)
Description of a user permission.
Name | Description | Schema |
---|---|---|
role | Role to use for the user | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 | Successful invocation | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
Example command
$ curl -X PUT \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -d '{"role": "admin"}' \ https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository>/permissions/user/<username>
12.4. deleteUserPermissions
Delete the permission for the user.
DELETE /api/v1/repository/{repository}/permissions/user/{username}
Authorizations: oauth2_implicit (repo:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
username | The username of the user to which the permission applies | string |
path |
repository | The full path of the repository. e.g. namespace/name | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 | Deleted | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
Example command
$ curl -X DELETE \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository>/permissions/user/<username>
12.5. getTeamPermissions
Fetch the permission for the specified team.
GET /api/v1/repository/{repository}/permissions/team/{teamname}
Authorizations: oauth2_implicit (repo:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
repository | The full path of the repository. e.g. namespace/name | string |
path |
teamname | The name of the team to which the permission applies | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 | Successful invocation | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
Example command
$ curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
12.6. changeTeamPermissions
Update the existing team permission.
PUT /api/v1/repository/{repository}/permissions/team/{teamname}
Authorizations: oauth2_implicit (repo:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
repository | The full path of the repository. e.g. namespace/name | string |
path |
teamname | The name of the team to which the permission applies | string |
Request body schema (application/json)
Description of a team permission.
Name | Description | Schema |
---|---|---|
role | Role to use for the team | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 | Successful invocation | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
$ curl -X PUT \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{"role": "<role>"}' \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
12.7. deleteTeamPermissions
Delete the permission for the specified team.
DELETE /api/v1/repository/{repository}/permissions/team/{teamname}
Authorizations: oauth2_implicit (repo:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
repository | The full path of the repository. e.g. namespace/name | string |
path |
teamname | The name of the team to which the permission applies | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 | Deleted | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
Example command
$ curl -X DELETE \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
12.8. listRepoTeamPermissions
List all team permission.
GET /api/v1/repository/{repository}/permissions/team/
Authorizations: oauth2_implicit (repo:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
repository | The full path of the repository. e.g. namespace/name | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 | Successful invocation | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
Example command
$ curl -X GET \ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/"
12.9. listRepoUserPermissions
List all user permissions.
GET /api/v1/repository/{repository}/permissions/user/
Authorizations: oauth2_implicit (repo:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
repository | The full path of the repository. e.g. namespace/name | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 | Successful invocation | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
Example command
$ curl -X GET \ -H "Authorization: Bearer <bearer_token>" \ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository>/permissions/user/<username>/