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"