Chapter 18. robot


Manage user and organization robot accounts.

18.1. getUserRobots

List the available robots for the user.

GET /api/v1/user/robots

Authorizations: oauth2_implicit (user:admin)

Query parameters

Expand
TypeNameDescriptionSchema

query

limit
optional

If specified, the number of robots to return.

integer

query

token
optional

If false, the robot’s token is not returned.

boolean

query

permissions
optional

Whether to include repositories and teams in which the robots have permission.

boolean

Responses

Expand
HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

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>"
Copy to Clipboard Toggle word wrap

18.2. getOrgRobotPermissions

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

Expand
TypeNameDescriptionSchema

path

robot_shortname
required

The short name for the robot, without any user or organization prefix

string

path

orgname
required

The name of the organization

string

Responses

Expand
HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

Example command

$ curl -X GET \
  -H "Authorization: Bearer <bearer_token>" \
  "https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>/permissions"
Copy to Clipboard Toggle word wrap

18.3. regenerateOrgRobotToken

Regenerates the token for an organization robot.

POST /api/v1/organization/{orgname}/robots/{robot_shortname}/regenerate

Authorizations: oauth2_implicit (org:admin)

Path parameters

Expand
TypeNameDescriptionSchema

path

robot_shortname
required

The short name for the robot, without any user or organization prefix

string

path

orgname
required

The name of the organization

string

Responses

Expand
HTTP CodeDescriptionSchema

201

Successful creation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

Example command

$ curl -X POST \
  -H "Authorization: Bearer <bearer_token>" \
  "<quay-server.example.com>/api/v1/organization/<orgname>/robots/<robot_shortname>/regenerate"
Copy to Clipboard Toggle word wrap

18.4. getUserRobotPermissions

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

Expand
TypeNameDescriptionSchema

path

robot_shortname
required

The short name for the robot, without any user or organization prefix

string

Responses

Expand
HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

Example command

$ curl -X GET \
  -H "Authorization: Bearer <bearer_token>" \
  "https://quay-server.example.com/api/v1/user/robots/<ROBOT_SHORTNAME>/permissions"
Copy to Clipboard Toggle word wrap

18.5. regenerateUserRobotToken

Regenerates the token for a user’s robot.

POST /api/v1/user/robots/{robot_shortname}/regenerate

Authorizations: oauth2_implicit (user:admin)

Path parameters

Expand
TypeNameDescriptionSchema

path

robot_shortname
required

The short name for the robot, without any user or organization prefix

string

Responses

Expand
HTTP CodeDescriptionSchema

201

Successful creation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

Example command

$ curl -X POST \
  -H "Authorization: Bearer <bearer_token>" \
  "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>/regenerate"
Copy to Clipboard Toggle word wrap

18.6. getOrgRobot

Returns the organization’s robot with the specified name.

GET /api/v1/organization/{orgname}/robots/{robot_shortname}

Authorizations: oauth2_implicit (org:admin)

Path parameters

Expand
TypeNameDescriptionSchema

path

robot_shortname
required

The short name for the robot, without any user or organization prefix

string

path

orgname
required

The name of the organization

string

Responses

Expand
HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

Example command

curl -X GET \
  -H "Authorization: Bearer <bearer_token>" \
  "https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>"
Copy to Clipboard Toggle word wrap

18.7. createOrgRobot

Create a new robot in the organization.

PUT /api/v1/organization/{orgname}/robots/{robot_shortname}

Authorizations: oauth2_implicit (org:admin)

Path parameters

Expand
TypeNameDescriptionSchema

path

robot_shortname
required

The short name for the robot, without any user or organization prefix

string

path

orgname
required

The name of the organization

string

Request body schema (application/json)

Optional data for creating a robot

Expand
NameDescriptionSchema

description
optional

Optional text description for the robot

string

unstructured_metadata
optional

Optional unstructured metadata for the robot

object

Responses

Expand
HTTP CodeDescriptionSchema

201

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

Example command

$ curl -X PUT   -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_name>"
Copy to Clipboard Toggle word wrap

18.8. deleteOrgRobot

Delete an existing organization robot.

DELETE /api/v1/organization/{orgname}/robots/{robot_shortname}

Authorizations: oauth2_implicit (org:admin)

Path parameters

Expand
TypeNameDescriptionSchema

path

robot_shortname
required

The short name for the robot, without any user or organization prefix

string

path

orgname
required

The name of the organization

string

Responses

Expand
HTTP CodeDescriptionSchema

204

Deleted

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

Example command

curl -X DELETE \
  -H "Authorization: Bearer <bearer_token>" \
  "<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_shortname>"
Copy to Clipboard Toggle word wrap

18.9. getOrgRobots

List the organization’s robots.

GET /api/v1/organization/{orgname}/robots

Authorizations: oauth2_implicit (org:admin)

Path parameters

Expand
TypeNameDescriptionSchema

path

orgname
required

The name of the organization

string

Query parameters

Expand
TypeNameDescriptionSchema

query

limit
optional

If specified, the number of robots to return.

integer

query

token
optional

If false, the robot’s token is not returned.

boolean

query

permissions
optional

Whether to include repositories and teams in which the robots have permission.

boolean

Responses

Expand
HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

Example command

$ curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots"
Copy to Clipboard Toggle word wrap

18.10. getUserRobot

Returns the user’s robot with the specified name.

GET /api/v1/user/robots/{robot_shortname}

Authorizations: oauth2_implicit (user:admin)

Path parameters

Expand
TypeNameDescriptionSchema

path

robot_shortname
required

The short name for the robot, without any user or organization prefix

string

Responses

Expand
HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

Example command

$ curl -X GET \
  -H "Authorization: Bearer <bearer_token>" \
  "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
Copy to Clipboard Toggle word wrap

18.11. createUserRobot

Create a new user robot with the specified name.

PUT /api/v1/user/robots/{robot_shortname}

Authorizations: oauth2_implicit (user:admin)

Path parameters

Expand
TypeNameDescriptionSchema

path

robot_shortname
required

The short name for the robot, without any user or organization prefix

string

Request body schema (application/json)

Optional data for creating a robot

Expand
NameDescriptionSchema

description
optional

Optional text description for the robot

string

unstructured_metadata
optional

Optional unstructured metadata for the robot

object

Responses

Expand
HTTP CodeDescriptionSchema

200

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

Example command

$ curl -X PUT   -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/user/robots/<robot_name>"
Copy to Clipboard Toggle word wrap

18.12. deleteUserRobot

Delete an existing robot.

DELETE /api/v1/user/robots/{robot_shortname}

Authorizations: oauth2_implicit (user:admin)

Path parameters

Expand
TypeNameDescriptionSchema

path

robot_shortname
required

The short name for the robot, without any user or organization prefix

string

Responses

Expand
HTTP CodeDescriptionSchema

204

Deleted

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

404

Not found

ApiError

Example command

$ curl -X DELETE \
  -H "Authorization: Bearer <bearer_token>" \
  "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
Copy to Clipboard Toggle word wrap

18.13. Auth Federated Robot Token

Return an expiring robot token using the robot identity federation mechanism.

GET oauth2/federation/robot/token

Authorizations: oauth2_implicit (robot:auth)

Responses

Expand
HTTP CodeDescriptionSchema

200

Successful authentication and token generation

{ "token": "string" }

401

Unauthorized: missing or invalid authentication

{ "error": "string" }

Request Body

Expand
TypeNameDescriptionSchema

body

auth_result
required

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>"
Copy to Clipboard Toggle word wrap

18.14. createOrgRobotFederation

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

Expand
TypeNameDescriptionSchema

path

orgname + robot_shortnamerequired

The name of the organization and the short name for the robot, without any user or organization prefix

string

Responses

Expand
HTTP CodeDescriptionSchema

201

Successful invocation

 

400

Bad Request

ApiError

401

Session required

ApiError

403

Unauthorized access

ApiError

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"
Copy to Clipboard Toggle word wrap
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat