Chapter 18. robot
Manage user and organization robot accounts.
18.1. getUserRobots Copy linkLink copied to clipboard!
List the available robots for the user.
GET /api/v1/user/robots
Authorizations: oauth2_implicit (user:admin)
Query parameters
Type | Name | Description | Schema |
---|---|---|---|
query |
limit | If specified, the number of robots to return. | integer |
query |
token | If false, the robot’s token is not returned. | boolean |
query |
permissions | Whether to include repositories and teams in which the robots have permission. | boolean |
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 "https://quay-server.example.com/api/v1/user/robots?limit=10&token=false&permissions=true" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/api/v1/user/robots?limit=10&token=false&permissions=true" \
-H "Authorization: Bearer <your_access_token>"
18.2. getOrgRobotPermissions Copy linkLink copied to clipboard!
Returns the list of repository permissions for the org’s robot.
GET /api/v1/organization/{orgname}/robots/{robot_shortname}/permissions
Authorizations: oauth2_implicit (user:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
robot_shortname | The short name for the robot, without any user or organization prefix | string |
path |
orgname | The name of the organization | 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>" \ "https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>/permissions"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>/permissions"
18.3. regenerateOrgRobotToken Copy linkLink copied to clipboard!
Regenerates the token for an organization robot.
POST /api/v1/organization/{orgname}/robots/{robot_shortname}/regenerate
Authorizations: oauth2_implicit (org:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
robot_shortname | The short name for the robot, without any user or organization prefix | string |
path |
orgname | The name of the organization | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
201 | Successful creation | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
Example command
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/organization/<orgname>/robots/<robot_shortname>/regenerate"
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<orgname>/robots/<robot_shortname>/regenerate"
18.4. getUserRobotPermissions Copy linkLink copied to clipboard!
Returns the list of repository permissions for the user’s robot.
GET /api/v1/user/robots/{robot_shortname}/permissions
Authorizations: oauth2_implicit (user:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
robot_shortname | The short name for the robot, without any user or organization prefix | 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>" \ "https://quay-server.example.com/api/v1/user/robots/<ROBOT_SHORTNAME>/permissions"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://quay-server.example.com/api/v1/user/robots/<ROBOT_SHORTNAME>/permissions"
18.5. regenerateUserRobotToken Copy linkLink copied to clipboard!
Regenerates the token for a user’s robot.
POST /api/v1/user/robots/{robot_shortname}/regenerate
Authorizations: oauth2_implicit (user:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
robot_shortname | The short name for the robot, without any user or organization prefix | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
201 | Successful creation | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
Example command
curl -X POST \ -H "Authorization: Bearer <bearer_token>" \ "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>/regenerate"
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/user/robots/<robot_shortname>/regenerate"
18.6. getOrgRobot Copy linkLink copied to clipboard!
Returns the organization’s robot with the specified name.
GET /api/v1/organization/{orgname}/robots/{robot_shortname}
Authorizations: oauth2_implicit (org:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
robot_shortname | The short name for the robot, without any user or organization prefix | string |
path |
orgname | The name of the organization | 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>" \ "https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>"
curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>"
18.7. createOrgRobot Copy linkLink copied to clipboard!
Create a new robot in the organization.
PUT /api/v1/organization/{orgname}/robots/{robot_shortname}
Authorizations: oauth2_implicit (org:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
robot_shortname | The short name for the robot, without any user or organization prefix | string |
path |
orgname | The name of the organization | string |
Request body schema (application/json)
Optional data for creating a robot
Name | Description | Schema |
---|---|---|
description | Optional text description for the robot | string |
unstructured_metadata | Optional unstructured metadata for the robot | object |
Responses
HTTP Code | Description | Schema |
---|---|---|
201 | Successful invocation | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access | |
404 | Not found |
Example command
curl -X PUT -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_name>"
$ curl -X PUT -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_name>"
18.8. deleteOrgRobot Copy linkLink copied to clipboard!
Delete an existing organization robot.
DELETE /api/v1/organization/{orgname}/robots/{robot_shortname}
Authorizations: oauth2_implicit (org:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
robot_shortname | The short name for the robot, without any user or organization prefix | string |
path |
orgname | The name of the organization | 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>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_shortname>"
curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_shortname>"
18.9. getOrgRobots Copy linkLink copied to clipboard!
List the organization’s robots.
GET /api/v1/organization/{orgname}/robots
Authorizations: oauth2_implicit (org:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
orgname | The name of the organization | string |
Query parameters
Type | Name | Description | Schema |
---|---|---|---|
query |
limit | If specified, the number of robots to return. | integer |
query |
token | If false, the robot’s token is not returned. | boolean |
query |
permissions | Whether to include repositories and teams in which the robots have permission. | boolean |
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>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots"
$ curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots"
18.10. getUserRobot Copy linkLink copied to clipboard!
Returns the user’s robot with the specified name.
GET /api/v1/user/robots/{robot_shortname}
Authorizations: oauth2_implicit (user:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
robot_shortname | The short name for the robot, without any user or organization prefix | 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>" \ "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
18.11. createUserRobot Copy linkLink copied to clipboard!
Create a new user robot with the specified name.
PUT /api/v1/user/robots/{robot_shortname}
Authorizations: oauth2_implicit (user:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
robot_shortname | The short name for the robot, without any user or organization prefix | string |
Request body schema (application/json)
Optional data for creating a robot
Name | Description | Schema |
---|---|---|
description | Optional text description for the robot | string |
unstructured_metadata | Optional unstructured metadata for the robot | object |
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>" "https://<quay-server.example.com>/api/v1/user/robots/<robot_name>"
$ curl -X PUT -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/user/robots/<robot_name>"
18.12. deleteUserRobot Copy linkLink copied to clipboard!
Delete an existing robot.
DELETE /api/v1/user/robots/{robot_shortname}
Authorizations: oauth2_implicit (user:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path |
robot_shortname | The short name for the robot, without any user or organization prefix | 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>" \ "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
18.13. Auth Federated Robot Token Copy linkLink copied to clipboard!
Return an expiring robot token using the robot identity federation mechanism.
GET oauth2/federation/robot/token
Authorizations: oauth2_implicit (robot:auth)
Responses
HTTP Code | Description | Schema |
---|---|---|
200 | Successful authentication and token generation | { "token": "string" } |
401 | Unauthorized: missing or invalid authentication | { "error": "string" } |
Request Body
Type | Name | Description | Schema |
---|---|---|---|
body |
auth_result | The result of the authentication process, containing information about the robot identity. | { "missing": "boolean", "error_message": "string", "context": { "robot": "RobotObject" } } |
Example command
curl -X GET "https://quay-server.example.com/oauth2/federation/robot/token" \ -H "Authorization: Bearer <your_access_token>"
$ curl -X GET "https://quay-server.example.com/oauth2/federation/robot/token" \
-H "Authorization: Bearer <your_access_token>"
18.14. createOrgRobotFederation Copy linkLink copied to clipboard!
Create a federation configuration for the specified organization robot.
POST /api/v1/organization/{orgname}/robots/{robot_shortname}/federation
Retrieve the federation configuration for the specified organization robot.
Authorizations: oauth2_implicit (user:admin)
Path parameters
Type | Name | Description | Schema |
---|---|---|---|
path | orgname + robot_shortnamerequired | The name of the organization and the short name for the robot, without any user or organization prefix | string |
Responses
HTTP Code | Description | Schema |
---|---|---|
201 | Successful invocation | |
400 | Bad Request | |
401 | Session required | |
403 | Unauthorized access |
Example command
curl -X POST "https://quay-server.example.com/api/v1/organization/{orgname}/robots/{robot_shortname}/federation" \ -H "Authorization: Bearer <your_access_token>" \ -H "Content-Type: application/json"
$ curl -X POST "https://quay-server.example.com/api/v1/organization/{orgname}/robots/{robot_shortname}/federation" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json"