Red Hat Quay API リファレンス
はじめに リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay アプリケーションプログラミングインターフェイス (API) は、Red Hat Quay 内でタスクを管理および自動化するための包括的な RESTful インターフェイスを提供します。OAuth 2.0 プロトコル に基づいて設計されたこの API は、Red Hat Quay リソースへのセキュアできめ細かいアクセスを可能にし、管理者とユーザーがリポジトリーの作成、イメージの管理、権限の設定などのアクションを実行できるようにします。
Red Hat Quay はセマンティックバージョニング (SemVer) の原則に従っており、次のようなリリース間で予測可能な API の安定性を確保しています。
- メジャーリリース: 新しい機能を導入します。API 互換性に対する重大な変更が含まれる可能性があります。たとえば、Red Hat Quay 2.0 の API は Red Hat Quay 3.0 とは異なります。
- マイナーリリース: 下位互換性を保ちながら新しい機能を追加します。たとえば、3.y リリースではバージョン 3. リリースに機能が追加されます。
- パッチリリース: 3.y.z などのマイナーリリースとの下位互換性を維持しながら、バグ修正と改善を提供します。
次のガイドでは、Red Hat Quay API をさらに詳しく説明し、以下のトピックの詳細を示します。
- サポートされている HTTP メソッドを含む API エンドポイント構造
- 各エンドポイントのリクエストとレスポンスのスキーマ
- 必須および任意のパラメーター
- 認証と認可の要件
- 一般的なエラーコードとトラブルシューティング情報
トークンの概要、管理ストラテジー、API エンドポイントの理解など、さらなるガイド付きのアプローチは、Red Hat Quay API ガイド を参照してください。
第1章 認可 リンクのコピーリンクがクリップボードにコピーされました!
oauth2_implicit
スコープ
以下のスコープは、API エンドポイントへのアクセスを制御するのに使用されます。
| スコープ | 説明 |
|---|---|
| repo:read | このアプリケーションは、付与ユーザーまたはロボットアカウントに表示されるすべてのリポジトリーを表示し、プルできます。 |
| repo:write | このアプリケーションは、付与ユーザーまたはロボットアカウントに書き込みのアクセス権が割り当てられているリポジトリーをすべて表示、プッシュ、およびプルできます。 |
| repo:admin | このアプリケーションには、付与ユーザーまたはロボットアカウントがアクセスできるすべてのリポジトリーに管理者権限が割り当てられます。 |
| repo:create | このアプリケーションは、付与ユーザーまたはロボットアカウントがリポジトリーを作成できる namespace にリポジトリーを作成できます。 |
| user:read | このアプリケーションは、ユーザー名やメールアドレスなどのユーザー情報を読み取ることができます。 |
| org:admin | このアプリケーションは、ロボットの作成、チームの作成、チームのメンバーシップの調整、請求設定の変更など、組織の管理を行うことができます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
| super:user | このアプリケーションは、ユーザーの管理、スーパーユーザーパネルにある組織およびその他の機能の管理など、インストールを管理できます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
| user:admin | このアプリケーションは、ロボットの作成、リポジトリーへのパーミッションを付与するなど、アカウントを管理できます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
第2章 appspecifictokens リンクのコピーリンクがクリップボードにコピーされました!
現在のユーザーのアプリケーション固有のトークンを管理します。
2.1. createAppToken リンクのコピーリンクがクリップボードにコピーされました!
ユーザー向けに新規アプリケーション固有のトークンを作成します。
POST /api/v1/user/apptoken
認可: oauth2_implicit (user:admin)
要求の body スキーマ (application/json)
新しいトークンの説明。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
title | トークンの特定に役立つ分かりやすい名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"title": "MyAppToken"
}' \
"http://quay-server.example.com/api/v1/user/apptoken"
2.2. listAppTokens リンクのコピーリンクがクリップボードにコピーされました!
ユーザーのアプリケーション固有のトークンをリスト表示します。
GET /api/v1/user/apptoken
認可: oauth2_implicit (user:admin)
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
expiring | true の場合には、まもなく有効期限が切れるトークンのみを返します。 | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <access_token>" \
"http://quay-server.example.com/api/v1/user/apptoken"
2.3. getAppToken リンクのコピーリンクがクリップボードにコピーされました!
ユーザーの特定のアプリケーショントークンを返します。
GET /api/v1/user/apptoken/{token_uuid}
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
token_uuid | アプリケーション固有のトークンの uuid | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <access_token>" \
"http://quay-server.example.com/api/v1/user/apptoken/<token_uuid>"
2.4. revokeAppToken リンクのコピーリンクがクリップボードにコピーされました!
ユーザーの特定のアプリケーショントークンを取り消します。
DELETE /api/v1/user/apptoken/{token_uuid}
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
token_uuid | アプリケーション固有のトークンの uuid | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE \
-H "Authorization: Bearer <access_token>" \
"http://quay-server.example.com/api/v1/user/apptoken/<token_uuid>"
第3章 build リンクのコピーリンクがクリップボードにコピーされました!
リポジトリービルドの作成、リスト表示、キャンセル、およびステータス/ログの取得
3.1. getRepoBuildStatus リンクのコピーリンクがクリップボードにコピーされました!
ビルドの uuid で指定したビルドのステータスを返します。
GET /api/v1/repository/{repository}/build/{build_uuid}/status
認可: oauth2_implicit (repo:read)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
build_uuid | ビルドの UUID | string |
レスポンス
3.2. getRepoBuildLogs リンクのコピーリンクがクリップボードにコピーされました!
ビルド uuid で指定したビルドのビルドログを返します。
GET /api/v1/repository/{repository}/build/{build_uuid}/logs
認可: oauth2_implicit (repo:read)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
build_uuid | ビルドの UUID | string |
レスポンス
3.3. getRepoBuild リンクのコピーリンクがクリップボードにコピーされました!
ビルドに関する情報を返します。
GET /api/v1/repository/{repository}/build/{build_uuid}
認可: oauth2_implicit (repo:read)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
build_uuid | ビルドの UUID | string |
レスポンス
3.4. cancelRepoBuild リンクのコピーリンクがクリップボードにコピーされました!
リポジトリービルドをキャンセルします。
DELETE /api/v1/repository/{repository}/build/{build_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
build_uuid | ビルドの UUID | string |
レスポンス
3.5. requestRepoBuild リンクのコピーリンクがクリップボードにコピーされました!
指定の入力からリポジトリーをビルドし、プッシュすることを要求します。
POST /api/v1/repository/{repository}/build/
認可: oauth2_implicit (repo:write)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
新規リポジトリービルドの説明。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
file_id | ビルド仕様のアップロード時に生成されたファイル ID | string |
|
archive_url | ビルドする .tar.gz の URL。"http" または "https" で開始する必要があります。 | string |
|
subdirectory | Dockerfile があるサブディレクトリー。このサブディレクトリーまたは dockerfile_path のみを指定できます。 | string |
|
dockerfile_path | docker ファイルへのパス。このパスまたはサブディレクトリーのみを指定できます。 | string |
|
context | dockerfile のコンテキストを指定します。これは任意です。 | string |
|
pull_robot | プル認証情報として使用する Quay ロボットアカウントのユーザー名 | string |
|
tags | ビルドイメージがプッシュされるタグ。指定のない場合は、"latest" が使用されます。 |
string の配列 |
レスポンス
3.6. getRepoBuilds リンクのコピーリンクがクリップボードにコピーされました!
リポジトリービルドのリストを取得します。
GET /api/v1/repository/{repository}/build/
認可: oauth2_implicit (repo:read)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
since | 指定の unix タイムコード以降の全ビルドを返します。 | integer |
| query |
limit | 返すビルドの最大数 | integer |
レスポンス
第4章 discovery リンクのコピーリンクがクリップボードにコピーされました!
API 検出情報。
4.1. discovery リンクのコピーリンクがクリップボードにコピーされました!
Swagger API 形式で利用可能なすべての API エンドポイントをリスト表示します。
GET /api/v1/discovery
認可:
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
internal | 内部 API を含めるかどうか。 | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/discovery?query=true" \
-H "Authorization: Bearer <access_token>"
第5章 error リンクのコピーリンクがクリップボードにコピーされました!
エラー詳細 API。
5.1. getErrorDescription リンクのコピーリンクがクリップボードにコピーされました!
エラーの詳細情報を取得します。
GET /api/v1/error/{error_type}
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
error_type | エラーのタイプを特定するエラーコード。 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/error/<error_type>" \
-H "Authorization: Bearer <access_token>"
第6章 globalmessages リンクのコピーリンクがクリップボードにコピーされました!
メッセージ API。
6.1. createGlobalMessage リンクのコピーリンクがクリップボードにコピーされました!
メッセージを作成します。
POST /api/v1/messages
認可: oauth2_implicit (super:user)
要求の body スキーマ (application/json)
新規メッセージの作成
| 名前 | 説明 | スキーマ |
|---|---|---|
|
message | 単一メッセージ | object |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://<quay-server.example.com>/api/v1/messages" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"message": {
"content": "Hi",
"media_type": "text/plain",
"severity": "info"
}
}'
6.2. getGlobalMessages リンクのコピーリンクがクリップボードにコピーされました!
スーパーユーザーのメッセージを返します。
GET /api/v1/messages
認可:
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/messages" \
-H "Authorization: Bearer <access_token>"
6.3. deleteGlobalMessage リンクのコピーリンクがクリップボードにコピーされました!
メッセージを削除します。
DELETE /api/v1/message/{uuid}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
uuid | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/message/<uuid>" \
-H "Authorization: Bearer <access_token>"
第7章 logs リンクのコピーリンクがクリップボードにコピーされました!
組織またはリポジトリーの使用状況ログにアクセスします。
7.1. getAggregateUserLogs リンクのコピーリンクがクリップボードにコピーされました!
現在のユーザーの集計ログを返します。
GET /api/v1/user/aggregatelogs
認可: oauth2_implicit (user:admin)
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
performer | ログをフィルターするユーザー名。 | string |
| query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
| query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"<quay-server.example.com>/api/v1/user/aggregatelogs?performer=<username>&starttime=<MM/DD/YYYY>&endtime=<MM/DD/YYYY>"
7.2. exportUserLogs リンクのコピーリンクがクリップボードにコピーされました!
現在のユーザーの集計ログを返します。
POST /api/v1/user/exportlogs
認可: oauth2_implicit (user:admin)
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
| query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
要求の body スキーマ (application/json)
エクスポートログ操作の設定
| 名前 | 説明 | スキーマ |
|---|---|---|
|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
|
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"starttime": "<MM/DD/YYYY>",
"endtime": "<MM/DD/YYYY>",
"callback_email": "your.email@example.com"
}' \
"http://<quay-server.example.com>/api/v1/user/exportlogs"
7.3. listUserLogs リンクのコピーリンクがクリップボードにコピーされました!
現在のユーザーのログをリスト表示します。
GET /api/v1/user/logs
認可: oauth2_implicit (user:admin)
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
next_page | 次のページのページトークン | string |
| query |
performer | ログをフィルターするユーザー名。 | string |
| query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
| query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET -H "Authorization: Bearer <bearer_token>" -H "Accept: application/json" "<quay-server.example.com>/api/v1/user/logs"
7.4. getAggregateOrgLogs リンクのコピーリンクがクリップボードにコピーされました!
指定した組織の集計ログを取得します。
GET /api/v1/organization/{orgname}/aggregatelogs
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
performer | ログをフィルターするユーザー名。 | string |
| query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
| query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"<quay-server.example.com>/api/v1/organization/{orgname}/aggregatelogs"
7.5. exportOrgLogs リンクのコピーリンクがクリップボードにコピーされました!
指定した組織のログをエクスポートします。
POST /api/v1/organization/{orgname}/exportlogs
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
| query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
要求の body スキーマ (application/json)
エクスポートログ操作の設定
| 名前 | 説明 | スキーマ |
|---|---|---|
|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
|
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"starttime": "<MM/DD/YYYY>",
"endtime": "<MM/DD/YYYY>",
"callback_email": "org.logs@example.com"
}' \
"http://<quay-server.example.com>/api/v1/organization/{orgname}/exportlogs"
7.6. listOrgLogs リンクのコピーリンクがクリップボードにコピーされました!
指定した組織のログをリスト表示します。
GET /api/v1/organization/{orgname}/logs
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
next_page | 次のページのページトークン | string |
| query |
performer | ログをフィルターするユーザー名。 | string |
| query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
| query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"http://<quay-server.example.com>/api/v1/organization/{orgname}/logs"
7.7. getAggregateRepoLogs リンクのコピーリンクがクリップボードにコピーされました!
指定したリポジトリーの集計ログを返します。
GET /api/v1/repository/{repository}/aggregatelogs
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
| query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"<quay-server.example.com>/api/v1/repository/<repository_name>/<namespace>/aggregatelogs?starttime=2024-01-01&endtime=2024-06-18""
7.8. exportRepoLogs リンクのコピーリンクがクリップボードにコピーされました!
指定したリポジトリーのログのエクスポートをキューに入れます。
POST /api/v1/repository/{repository}/exportlogs
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
| query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
要求の body スキーマ (application/json)
エクスポートログ操作の設定
| 名前 | 説明 | スキーマ |
|---|---|---|
|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
|
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"starttime": "2024-01-01",
"endtime": "2024-06-18",
"callback_url": "http://your-callback-url.example.com"
}' \
"http://<quay-server.example.com>/api/v1/repository/{repository}/exportlogs"
7.9. listRepoLogs リンクのコピーリンクがクリップボードにコピーされました!
指定したリポジトリーのログをリスト表示します。
GET /api/v1/repository/{repository}/logs
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
next_page | 次のページのページトークン | string |
| query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
| query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"http://<quay-server.example.com>/api/v1/repository/{repository}/logs"
第8章 マニフェスト リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーのマニフェストを管理します。
8.1. getManifestLabel リンクのコピーリンクがクリップボードにコピーされました!
マニフェストで特定の ID のラベルを取得します。
GET /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}
認可: oauth2_implicit (repo:read)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
manifestref | マニフェストのダイジェスト | string |
| path |
labelid | ラベルの ID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels/<label_id>
8.2. deleteManifestLabel リンクのコピーリンクがクリップボードにコピーされました!
マニフェストから既存のラベルを削除します。
DELETE /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}
認可: oauth2_implicit (repo:write)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
manifestref | マニフェストのダイジェスト | string |
| path |
labelid | ラベルの ID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels/<labelid>
8.3. addManifestLabel リンクのコピーリンクがクリップボードにコピーされました!
タグマニフェストに新規ラベルを追加します。
POST /api/v1/repository/{repository}/manifest/{manifestref}/labels
認可: oauth2_implicit (repo:write)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
manifestref | マニフェストのダイジェスト | string |
要求の body スキーマ (application/json)
マニフェストにラベルを追加します。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
key | ラベルのキー | string |
|
value | ラベルの値 | string |
|
media_type | このラベルのメディアタイプ |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"key": "<key>",
"value": "<value>",
"media_type": "<media_type>"
}' \
https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels
8.4. listManifestLabels リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/repository/{repository}/manifest/{manifestref}/labels
認可: oauth2_implicit (repo:read)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
manifestref | マニフェストのダイジェスト | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
filter | これが指定されている場合には、指定の接頭辞に一致するラベルのみが返されます。 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels
8.5. getRepoManifest リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/repository/{repository}/manifest/{manifestref}
認可: oauth2_implicit (repo:read)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
manifestref | マニフェストのダイジェスト | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>
第9章 mirror リンクのコピーリンクがクリップボードにコピーされました!
9.1. syncCancel リンクのコピーリンクがクリップボードにコピーされました!
指定したリポジトリーのミラーリング設定の sync_status を更新します。
POST /api/v1/repository/{repository}/mirror/sync-cancel
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror/sync-cancel" \
9.2. syncNow リンクのコピーリンクがクリップボードにコピーされました!
指定したリポジトリーのミラーリング設定の sync_status を更新します。
POST /api/v1/repository/{repository}/mirror/sync-now
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror/sync-now" \
-H "Authorization: Bearer <access_token>"
9.3. getRepoMirrorConfig リンクのコピーリンクがクリップボードにコピーされました!
指定したリポジトリーのミラーリング設定を返します。
GET /api/v1/repository/{repository}/mirror
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror" \
-H "Authorization: Bearer <access_token>"
9.4. changeRepoMirrorConfig リンクのコピーリンクがクリップボードにコピーされました!
ユーザーがリポジトリーのミラーリング設定を変更できるようにします。
PUT /api/v1/repository/{repository}/mirror
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーミラーリング設定を更新します。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
is_enabled | 同期を有効または無効にするために使用されます。 | boolean |
|
external_reference | 外部リポジトリーの場所。 | string |
|
external_registry_username | 外部レジストリーでの認証に使用されるユーザー名。 | |
|
external_registry_password | 外部レジストリーでの認証に使用されるパスワード。 | |
|
sync_start_date | このリポジトリーの次の同期時間を決定します。 | string |
|
sync_interval | next_start_date が同期を開始するまでの秒数。 | integer |
|
robot_username | イメージのプッシュに使用されるロボットのユーザー名。 | string |
|
root_rule | 同期する必要のあるタグの判別に使用する glob パターンのリスト。 | object |
|
external_registry_config | object | |
|
skopeo_timeout_interval | タイムアウトするまでにミラーリングジョブが実行される秒数。 | Integer |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"is_enabled": <false>,
"external_reference": "<external_reference>",
"external_registry_username": "<external_registry_username>",
"external_registry_password": "<external_registry_password>",
"sync_start_date": "<sync_start_date>",
"sync_interval": <sync_interval>,
"robot_username": "<robot_username>",
"skopeo_timeout_interval": 600,
"root_rule": {
"rule": "<rule>",
"rule_type": "<rule_type>"
}
}'
- 1
- 自動同期を無効にします。
9.5. createRepoMirrorConfig リンクのコピーリンクがクリップボードにコピーされました!
特定のリポジトリーの RepoMirrorConfig を作成します。
POST /api/v1/repository/{repository}/mirror
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーのミラーリング設定を作成します。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
is_enabled | 同期を有効または無効にするために使用されます。 | boolean |
|
external_reference | 外部リポジトリーの場所。 | string |
|
external_registry_username | 外部レジストリーでの認証に使用されるユーザー名。 | |
|
external_registry_password | 外部レジストリーでの認証に使用されるパスワード。 | |
|
sync_start_date | このリポジトリーの次の同期時間を決定します。 | string |
|
sync_interval | next_start_date が同期を開始するまでの秒数。 | integer |
|
robot_username | イメージのプッシュに使用されるロボットのユーザー名。 | string |
|
root_rule | 同期する必要のあるタグの判別に使用する glob パターンのリスト。 | object |
|
external_registry_config | object | |
|
skopeo_timeout_interval | タイムアウトするまでにミラーリングジョブが実行される秒数。 | Integer |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"is_enabled": <is_enabled>,
"external_reference": "<external_reference>",
"external_registry_username": "<external_registry_username>",
"external_registry_password": "<external_registry_password>",
"sync_start_date": "<sync_start_date>",
"sync_interval": <sync_interval>,
"robot_username": "<robot_username>",
"skopeo_timeout_interval": 600,
"root_rule": {
"rule": "<rule>",
"rule_type": "<rule_type>"
}
}'
第10章 namespacequota リンクのコピーリンクがクリップボードにコピーされました!
10.1. listUserQuota リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/user/quota
認可: oauth2_implicit (user:admin)
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota" \
-H "Authorization: Bearer <access_token>"
10.2. getOrganizationQuotaLimit リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
quota_id | string | |
| path |
limit_id | string | |
| path |
orgname | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit/<limit_id>" \
-H "Authorization: Bearer <access_token>"
10.3. changeOrganizationQuotaLimit リンクのコピーリンクがクリップボードにコピーされました!
PUT /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
quota_id | string | |
| path |
limit_id | string | |
| path |
orgname | string |
要求の body スキーマ (application/json)
変更する組織のクォータ制限の説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
type | 割り当て制限のタイプ: "Warning" または "Reject" | string |
|
threshold_percent | クォータのしきい値 (クォータのパーセント単位) | integer |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit/<limit_id>" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"type": "<type>",
"threshold_percent": <threshold_percent>
}'
10.4. deleteOrganizationQuotaLimit リンクのコピーリンクがクリップボードにコピーされました!
DELETE /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
quota_id | string | |
| path |
limit_id | string | |
| path |
orgname | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit/<limit_id>" \
-H "Authorization: Bearer <access_token>"
10.5. createOrganizationQuotaLimit リンクのコピーリンクがクリップボードにコピーされました!
POST /api/v1/organization/{orgname}/quota/{quota_id}/limit
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
quota_id | string | |
| path |
orgname | string |
要求の body スキーマ (application/json)
新しい組織のクォータ制限の説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
type | 割り当て制限のタイプ: "Warning" または "Reject" | string |
|
threshold_percent | クォータのしきい値 (クォータのパーセント単位) | integer |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": 21474836480,
"type": "Reject",
"threshold_percent": 90
}'
10.6. listOrganizationQuotaLimit リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/organization/{orgname}/quota/{quota_id}/limit
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
quota_id | string | |
| path |
orgname | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit" \
-H "Authorization: Bearer <access_token>"
10.7. getUserQuotaLimit リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/user/quota/{quota_id}/limit/{limit_id}
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
quota_id | string | |
| path |
limit_id | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}/limit/{limit_id}" \
-H "Authorization: Bearer <access_token>"
10.8. listUserQuotaLimit リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/user/quota/{quota_id}/limit
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
quota_id | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}/limit" \
-H "Authorization: Bearer <access_token>"
10.9. getOrganizationQuota リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/organization/{orgname}/quota/{quota_id}
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
quota_id | string | |
| path |
orgname | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \
-H "Authorization: Bearer <access_token>"S
10.10. changeOrganizationQuota リンクのコピーリンクがクリップボードにコピーされました!
PUT /api/v1/organization/{orgname}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
quota_id | string | |
| path |
orgname | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
limit_bytes | 組織で許可されているバイト数 | integer |
|
limits |
人間が判読可能な組織のストレージ容量。Mi、Gi、Ti などの SI 単位だけでなく、GB や MB などの非標準単位も受け入れます。 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": <limit_in_bytes>
}'
10.11. deleteOrganizationQuota リンクのコピーリンクがクリップボードにコピーされました!
DELETE /api/v1/organization/{orgname}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
quota_id | string | |
| path |
orgname | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \
-H "Authorization: Bearer <access_token>"
10.12. createOrganizationQuota リンクのコピーリンクがクリップボードにコピーされました!
新しい組織のクォータを作成します。
POST /api/v1/organization/{orgname}/quota
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
limit_bytes | 組織で許可されているバイト数 | integer |
|
limits |
人間が判読可能な組織のストレージ容量。Mi、Gi、Ti などの SI 単位だけでなく、GB や MB などの非標準単位も受け入れます。 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": 10737418240,
"limits": "10 Gi"
}'
10.13. listOrganizationQuota リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/organization/{orgname}/quota
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -k -X GET -H "Authorization: Bearer <token>" -H 'Content-Type: application/json' https://<quay-server.example.com>/api/v1/organization/<organization_name>/quota
10.14. getUserQuota リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/user/quota/{quota_id}
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
quota_id | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}" \
-H "Authorization: Bearer <access_token>"
第11章 organization リンクのコピーリンクがクリップボードにコピーされました!
組織、メンバーおよび OAuth アプリケーションを管理します。
11.1. createOrganization リンクのコピーリンクがクリップボードにコピーされました!
新しい組織を作成します。
POST /api/v1/organization/
認可: oauth2_implicit (user:admin)
要求の body スキーマ (application/json)
新しい組織の説明。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
name | 組織のユーザー名 | string |
|
email | 組織の連絡先メール | string |
|
recaptcha_response | 検証用の recaptcha 応答コード (無効となっている場合もある)。 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" -d '{
"name": "<new_organization_name>"
}' "https://<quay-server.example.com>/api/v1/organization/"
11.2. validateProxyCacheConfig リンクのコピーリンクがクリップボードにコピーされました!
POST /api/v1/organization/{orgname}/validateproxycache
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | string |
要求の body スキーマ (application/json)
組織のプロキシーキャッシュ設定
| 名前 | 説明 | スキーマ |
|---|---|---|
|
upstream_registry | キャッシュされるアップストリームレジストリーの名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 202 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/{orgname}/validateproxycache" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"upstream_registry": "<upstream_registry>"
}'
11.3. getOrganizationCollaborators リンクのコピーリンクがクリップボードにコピーされました!
指定した組織の外部コラボレーターをリスト表示します。
GET /api/v1/organization/{orgname}/collaborators
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/{orgname}/collaborators" \
-H "Authorization: Bearer <access_token>"
11.4. getOrganizationApplication リンクのコピーリンクがクリップボードにコピーされました!
指定の組織、指定の client_id のアプリケーションを取得します。
GET /api/v1/organization/{orgname}/applications/{client_id}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
client_id | OAuth クライアント ID | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications/<client_id>" \
-H "Authorization: Bearer <access_token>"
11.5. updateOrganizationApplication リンクのコピーリンクがクリップボードにコピーされました!
この組織のアプリケーションを更新します。
PUT /api/v1/organization/{orgname}/applications/{client_id}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
client_id | OAuth クライアント ID | string |
| path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
更新アプリケーションの説明。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
name | アプリケーションの名前 | string |
|
redirect_uri | アプリケーションの OAuth リダイレクトの URI | string |
|
application_uri | アプリケーションのホームページの URI | string |
|
description | アプリケーションの人間が判読できる説明 | string |
|
avatar_email | アプリケーションに使用するアバターのメールアドレス | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT "https://quay-server.example.com/api/v1/organization/test/applications/12345" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Application Name",
"redirect_uri": "https://example.com/oauth/callback",
"application_uri": "https://example.com",
"description": "Updated description for the application",
"avatar_email": "avatar@example.com"
}'
11.6. deleteOrganizationApplication リンクのコピーリンクがクリップボードにコピーされました!
この組織のアプリケーションを削除します。
DELETE /api/v1/organization/{orgname}/applications/{client_id}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
client_id | OAuth クライアント ID | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/{orgname}/applications/{client_id}" \
-H "Authorization: Bearer <access_token>"
11.7. createOrganizationApplication リンクのコピーリンクがクリップボードにコピーされました!
この組織に新しいアプリケーションを作成します。
POST /api/v1/organization/{orgname}/applications
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しい組織アプリケーションを説明します。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
name | アプリケーションの名前 | string |
|
redirect_uri | アプリケーションの OAuth リダイレクトの URI | string |
|
application_uri | アプリケーションのホームページの URI | string |
|
description | アプリケーションの人間が判読できる説明 | string |
|
avatar_email | アプリケーションに使用するアバターのメールアドレス | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"name": "<app_name>",
"redirect_uri": "<redirect_uri>",
"application_uri": "<application_uri>",
"description": "<app_description>",
"avatar_email": "<avatar_email>"
}'
11.8. getOrganizationApplications リンクのコピーリンクがクリップボードにコピーされました!
指定した組織のアプリケーションをリスト表示します。
GET /api/v1/organization/{orgname}/applications
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications" \
-H "Authorization: Bearer <access_token>"
11.9. getProxyCacheConfig リンクのコピーリンクがクリップボードにコピーされました!
組織のプロキシーキャッシュ設定を取得します。
GET /api/v1/organization/{orgname}/proxycache
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/{orgname}/proxycache" \
-H "Authorization: Bearer <access_token>"
11.10. deleteProxyCacheConfig リンクのコピーリンクがクリップボードにコピーされました!
組織のプロキシーキャッシュ設定を削除します。
DELETE /api/v1/organization/{orgname}/proxycache
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/{orgname}/proxycache" \
-H "Authorization: Bearer <access_token>"
11.11. createProxyCacheConfig リンクのコピーリンクがクリップボードにコピーされました!
組織のプロキシーキャッシュ設定を作成します。
POST /api/v1/organization/{orgname}/proxycache
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
組織のプロキシーキャッシュ設定
| 名前 | 説明 | スキーマ |
|---|---|---|
|
upstream_registry | キャッシュされるアップストリームレジストリーの名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/proxycache" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"upstream_registry": "<upstream_registry>"
}'
11.12. getOrganizationMember リンクのコピーリンクがクリップボードにコピーされました!
組織のメンバーの詳細を取得します。
GET /api/v1/organization/{orgname}/members/{membername}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
membername | 組織メンバーのユーザー名 | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/members/<membername>" \
-H "Authorization: Bearer <access_token>"
11.13. removeOrganizationMember リンクのコピーリンクがクリップボードにコピーされました!
組織からメンバーを削除し、そのリポジトリーの特権をすべて破棄して組織の全チームから削除します。
DELETE /api/v1/organization/{orgname}/members/{membername}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
membername | 組織メンバーのユーザー名 | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/members/<membername>" \
-H "Authorization: Bearer <access_token>"
11.14. getOrganizationMembers リンクのコピーリンクがクリップボードにコピーされました!
指定した組織のメンバー (人間) をリスト表示します。
GET /api/v1/organization/{orgname}/members
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/members" \
-H "Authorization: Bearer <access_token>"
11.15. getOrganization リンクのコピーリンクがクリップボードにコピーされました!
指定した組織の詳細を取得します。
GET /api/v1/organization/{orgname}
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>"
11.16. changeOrganizationDetails リンクのコピーリンクがクリップボードにコピーされました!
指定した組織の詳細を変更します。
PUT /api/v1/organization/{orgname}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
既存組織の更新の説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
email | 組織の連絡先メール | string |
|
invoice_email | 組織が請求書のメールを受信する必要があるかどうか。 | boolean |
|
invoice_email_address | 請求書を受信するメールアドレス | |
|
tag_expiration_s | タグの有効期限 (秒) | integer |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>"
11.17. deleteAdminedOrganization リンクのコピーリンクがクリップボードにコピーされました!
指定した組織を削除します。
DELETE /api/v1/organization/{orgname}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>"
11.18. getApplicationInformation リンクのコピーリンクがクリップボードにコピーされました!
指定したアプリケーションに関する情報を取得します。
GET /api/v1/app/{client_id}
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
client_id | OAuth クライアント ID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://<quay-server.example.com>/api/v1/app/<client_id>" \
-H "Authorization: Bearer <access_token>"
第12章 permission リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーのパーミッションを管理します。
12.1. getUserTransitivePermission リンクのコピーリンクがクリップボードにコピーされました!
指定したユーザーのパーミッションを取得します。
GET /api/v1/repository/{repository}/permissions/user/{username}/transitive
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
username | パーミッションが適用されるユーザー名 | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ 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 /api/v1/repository/{repository}/permissions/user/{username}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
username | パーミッションが適用されるユーザーのユーザー名 | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <access_token>" \
"https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>"
12.3. changeUserPermissions リンクのコピーリンクがクリップボードにコピーされました!
既存リポジトリーのパーミッションを更新します。
PUT /api/v1/repository/{repository}/permissions/user/{username}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
username | パーミッションが適用されるユーザーのユーザー名 | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ユーザーパーミッションの説明。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
role | ユーザーに使用するロール | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ 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 /api/v1/repository/{repository}/permissions/user/{username}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
username | パーミッションが適用されるユーザーのユーザー名 | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ 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 リンクのコピーリンクがクリップボードにコピーされました!
指定したチームのパーミッションをフェッチします。
GET /api/v1/repository/{repository}/permissions/team/{teamname}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
teamname | パーミッションが適用されるチームの名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <access_token>" \
"https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
12.6. changeTeamPermissions リンクのコピーリンクがクリップボードにコピーされました!
既存のチームパーミッションを更新します。
PUT /api/v1/repository/{repository}/permissions/team/{teamname}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
teamname | パーミッションが適用されるチームの名前 | string |
要求の body スキーマ (application/json)
チームパーミッションの説明。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
role | チームに使用するロール | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
$ 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 /api/v1/repository/{repository}/permissions/team/{teamname}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
teamname | パーミッションが適用されるチームの名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE \
-H "Authorization: Bearer <access_token>" \
"https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
12.8. listRepoTeamPermissions リンクのコピーリンクがクリップボードにコピーされました!
すべてのチームパーミッションをリスト表示します。
GET /api/v1/repository/{repository}/permissions/team/
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <access_token>" \
"https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/"
12.9. listRepoUserPermissions リンクのコピーリンクがクリップボードにコピーされました!
全ユーザーパーミッションをリスト表示します。
GET /api/v1/repository/{repository}/permissions/user/
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ 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>/
第13章 policy リンクのコピーリンクがクリップボードにコピーされました!
13.1. createOrganizationAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
組織の自動プルーニングポリシーを作成します。
POST /api/v1/organization/{orgname}/autoprunepolicy/
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
| 名前 | 説明 | スキーマ |
|---|---|---|
|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
|
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
|
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
|
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags", "value": 10}' http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/
13.2. listOrganizationAutoPrunePolicies リンクのコピーリンクがクリップボードにコピーされました!
組織の自動プルーニングポリシーを一覧表示します。
GET /api/v1/organization/{orgname}/autoprunepolicy/
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/organization/example_org/autoprunepolicy/" \
-H "Authorization: Bearer <your_access_token>"
13.3. getOrganizationAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
組織の自動プルーニングポリシーを取得します。
GET /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
policy_uuid | ポリシーの一意の ID | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/<policy_uuid>
13.4. deleteOrganizationAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
組織の自動プルーニングポリシーを削除します。
DELETE /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
policy_uuid | ポリシーの一意の ID | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://quay-server.example.com/api/v1/organization/example_org/autoprunepolicy/example_policy_uuid" \
-H "Authorization: Bearer <your_access_token>"
13.5. updateOrganizationAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
組織の自動プルーニングポリシーを更新します。
PUT /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
policy_uuid | ポリシーの一意の ID | string |
| path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
| 名前 | 説明 | スキーマ |
|---|---|---|
|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
|
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
|
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
|
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" -d '{
"method": "creation_date",
"value": "4d",
"tagPattern": "^v*",
"tagPatternMatches": true
}' "<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/<uuid>"
13.6. createRepositoryAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの自動プルーニングポリシーを作成します。
POST /api/v1/repository/{repository}/autoprunepolicy/
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
| 名前 | 説明 | スキーマ |
|---|---|---|
|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
|
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
|
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
|
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags","value": 2}' http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/
13.7. listRepositoryAutoPrunePolicies リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの自動プルーニングポリシーをリスト表示します。
GET /api/v1/repository/{repository}/autoprunepolicy/
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/autoprunepolicy/" \
-H "Authorization: Bearer <your_access_token>"
13.8. getRepositoryAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの自動プルーニングポリシーを取得します。
GET /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
policy_uuid | ポリシーの一意の ID | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/autoprunepolicy/123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer <your_access_token>"
13.9. deleteRepositoryAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの自動プルーニングポリシーを削除します。
DELETE /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
policy_uuid | ポリシーの一意の ID | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/autoprunepolicy/123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer <your_access_token>"
13.10. updateRepositoryAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの自動プルーニングポリシーを更新します。
PUT /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
policy_uuid | ポリシーの一意の ID | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
| 名前 | 説明 | スキーマ |
|---|---|---|
|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
|
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
|
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
|
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"method": "number_of_tags",
"value": "5",
"tagPattern": "^test.*",
"tagPatternMatches": true
}' \
"https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/autoprunepolicy/<uuid>"
13.11. createUserAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
現在ログインしているユーザーの自動プルーニングポリシーを作成します。
POST /api/v1/user/autoprunepolicy/
認可: oauth2_implicit (user:admin)
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
| 名前 | 説明 | スキーマ |
|---|---|---|
|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
|
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
|
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
|
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://quay-server.example.com/api/v1/user/autoprunepolicy/" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"method": "number_of_tags",
"value": 10,
"tagPattern": "v*",
"tagPatternMatches": true
}'
13.12. listUserAutoPrunePolicies リンクのコピーリンクがクリップボードにコピーされました!
現在ログインしているユーザーの自動プルーニングポリシーをリスト表示します。
GET /api/v1/user/autoprunepolicy/
認可: oauth2_implicit (user:admin)
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/user/autoprunepolicy/" \
-H "Authorization: Bearer <your_access_token>"
13.13. getUserAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
現在ログインしているユーザーの自動プルーニングポリシーを取得します。
GET /api/v1/user/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
policy_uuid | ポリシーの一意の ID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/user/autoprunepolicy/{policy_uuid}" \
-H "Authorization: Bearer <your_access_token>"
13.14. deleteUserAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
現在ログインしているユーザーの自動プルーニングポリシーを削除します。
DELETE /api/v1/user/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
policy_uuid | ポリシーの一意の ID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://quay-server.example.com/api/v1/user/autoprunepolicy/<policy_uuid>" \
-H "Authorization: Bearer <your_access_token>"
13.15. updateUserAutoPrunePolicy リンクのコピーリンクがクリップボードにコピーされました!
現在ログインしているユーザーの自動プルーニングポリシーを更新します。
PUT /api/v1/user/autoprunepolicy/{policy_uuid}
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
policy_uuid | ポリシーの一意の ID | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
| 名前 | 説明 | スキーマ |
|---|---|---|
|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
|
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) | |
|
tagPattern | このパターンに一致するタグのみがプルーニングされます | string |
|
tagPatternMatches | プルーニングされたタグが tagPattern と一致するかどうかを決定する | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT "https://quay-server.example.com/api/v1/user/autoprunepolicy/<policy_uuid>" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"method": "number_of_tags",
"value": "10",
"tagPattern": ".*-old",
"tagPatternMatches": true
}'
第14章 prototype リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーに追加されたデフォルトのパーミッションを管理します。
14.1. updateOrganizationPrototypePermission リンクのコピーリンクがクリップボードにコピーされました!
既存のパーミッションプロトタイプのロールを更新します。
PUT /api/v1/organization/{orgname}/prototypes/{prototypeid}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
prototypeid | プロトタイプの ID | string |
| path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しいプロトタイプロールの説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
role | パーミッションに適用する必要のあるロール | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"role": "write"
}' \
https://<quay-server.example.com>/api/v1/organization/<organization_name>/prototypes/<prototypeid>
14.2. deleteOrganizationPrototypePermission リンクのコピーリンクがクリップボードにコピーされました!
既存のパーミッションのプロトタイプを削除します。
DELETE /api/v1/organization/{orgname}/prototypes/{prototypeid}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
prototypeid | プロトタイプの ID | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/organization/<organization_name>/prototypes/<prototype_id>
14.3. createOrganizationPrototypePermission リンクのコピーリンクがクリップボードにコピーされました!
新規パーミッションのプロトタイプを作成します。
POST /api/v1/organization/{orgname}/prototypes
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しいプロトタイプの説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
role | 委譲に適用する必要のあるロール | string |
|
activating_user | ルールが適用されるユーザーを作成するリポジトリー | object |
|
委譲 | ルールでアクセス権を付与するユーザーまたはチームに関する情報 | object |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" --data '{
"role": "<admin_read_or_write>",
"delegate": {
"name": "<username>",
"kind": "user"
},
"activating_user": {
"name": "<robot_name>"
}
}' https://<quay-server.example.com>/api/v1/organization/<organization_name>/prototypes
14.4. getOrganizationPrototypePermissions リンクのコピーリンクがクリップボードにコピーされました!
この組織の既存のプロトタイプをリスト表示します。
GET /api/v1/organization/{orgname}/prototypes
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/organization/<organization_name>/prototypes
第15章 referrers リンクのコピーリンクがクリップボードにコピーされました!
v2 API リファラーのリストを示します。
15.1. getReferrers リンクのコピーリンクがクリップボードにコピーされました!
イメージダイジェストの v2 API リファラーのリストを示します。
GET /v2/{organization_name}/{repository_name}/referrers/{digest}
要求の body スキーマ (application/json)
イメージダイジェストのリファラー。
| 型 | 名前 | 説明 | スキーマ |
| path |
orgname | 組織の名前 | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
referrers | リポジトリー配下にあるマニフェストの OCI リファラーを検索します。 | string |
第16章 repository リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーをリスト表示、作成、管理します。
16.1. createRepo リンクのコピーリンクがクリップボードにコピーされました!
新規リポジトリーを作成します。
POST /api/v1/repository
認可: oauth2_implicit (repo:create)
要求の body スキーマ (application/json)
新規リポジトリーの説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
repository | Repository name | string |
|
visibility | リポジトリーの初期の表示内容 | string |
|
namespace | リポジトリーを作成する namespace。省略すると、呼び出し元のユーザー名が使用されます。 | string |
|
description | リポジトリーの Markdown でエンコードされた説明 | string |
|
repo_kind | リポジトリーの種類 |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"repository": "<new_repository_name>",
"visibility": "<public>",
"description": "<This is a description of the new repository>."
}' \
"https://quay-server.example.com/api/v1/repository"
16.2. listRepos リンクのコピーリンクがクリップボードにコピーされました!
さまざまな状況で現在のユーザーに表示されるリポジトリーのリストを取得します。
GET /api/v1/repository
認可: oauth2_implicit (repo:read)
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
next_page | 次のページのページトークン | string |
| query |
repo_kind | 返すリポジトリーの種類 | string |
| query |
popularity | リポジトリーの人気指標を含めるかどうか。 | boolean |
| query |
last_modified | リポジトリーの最終変更時を含めるかどうか。 | boolean |
| query |
public | 公開されているリポジトリーをユーザーに表示するように追加します。 | boolean |
| query |
starred | ユーザーがスターをつけたリポジトリーを返すようにフィルタリングします。 | boolean |
| query |
namespace | この namespace に返されたリポジトリーをフィルターします。 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
"https://quay-server.example.com/api/v1/repository?public=true&starred=false&namespace=<NAMESPACE>"
16.3. changeRepoVisibility リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの可視性を変更します。
POST /api/v1/repository/{repository}/changevisibility
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーの可視性を変更します。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
visibility | リポジトリーの初期の表示内容 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンド例
$ curl -X POST \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"visibility": "private"
}' \
"https://quay-server.example.com/api/v1/repository/<NAMESPACE>/<REPO_NAME>/changevisibility"
16.4. changeRepoState リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの状態を変更します。
PUT /api/v1/repository/{repository}/changestate
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーの状態を変更します。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
状態 | プッシュが許可されるかどうかを決定します。 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
16.5. getRepo リンクのコピーリンクがクリップボードにコピーされました!
指定したリポジトリーを取得します。
GET /api/v1/repository/{repository}
認可: oauth2_implicit (repo:read)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
includeTags | リポジトリータグを含めるかどうか。 | boolean |
| query |
includeStats | アクション統計を含めるかどうか。 | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET -H "Authorization: Bearer <bearer_token>" "<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>"
16.6. updateRepo リンクのコピーリンクがクリップボードにコピーされました!
指定したリポジトリーにある説明を更新します。
PUT /api/v1/repository/{repository}
認可: oauth2_implicit (repo:write)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーで更新できるフィールド。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
description | リポジトリーの Markdown でエンコードされた説明 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"description": "This is an updated description for the repository."
}' \
"https://quay-server.example.com/api/v1/repository/<NAMESPACE>/<REPOSITORY>"
16.7. deleteRepository リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーを削除します。
DELETE /api/v1/repository/{repository}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE -H "Authorization: Bearer <bearer_token>" "<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>"
第17章 repositorynotification リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーイベント/通知をリスト表示、作成、管理します。
17.1. testRepoNotification リンクのコピーリンクがクリップボードにコピーされました!
このリポジトリーのテスト通知をキューに入れます。
POST /api/v1/repository/{repository}/notification/{uuid}/test
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
uuid | 通知の UUID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
https://<quay-server.example.com>/api/v1/repository/<repository>/notification/<uuid>/test
17.2. getRepoNotification リンクのコピーリンクがクリップボードにコピーされました!
指定した通知の情報を取得します。
GET /api/v1/repository/{repository}/notification/{uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
uuid | 通知の UUID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
https://<quay-server.example.com>/api/v1/repository/<repository>/notification/<uuid>
17.3. deleteRepoNotification リンクのコピーリンクがクリップボードにコピーされました!
指定した通知を削除します。
DELETE /api/v1/repository/{repository}/notification/{uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
uuid | 通知の UUID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/notification/<uuid>
17.4. resetRepositoryNotificationFailures リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの失敗通知を 0 件にリセットします。
POST /api/v1/repository/{repository}/notification/{uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
uuid | 通知の UUID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
https://<quay-server.example.com>/api/v1/repository/<repository>/notification/<uuid>
17.5. createRepoNotification リンクのコピーリンクがクリップボードにコピーされました!
POST /api/v1/repository/{repository}/notification/
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーでの通知作成に関する情報
| 名前 | 説明 | スキーマ |
|---|---|---|
|
event | 通知が応答するイベント | string |
|
method | 通知の方法 (メールや Web コールバックなど) | string |
|
config | 特定の通知メソッドに関する JSON 設定情報 | object |
|
eventConfig | 特定の通知イベントに関する JSON 設定情報 | object |
|
title | 人間が判読できる通知のタイトル | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"event": "<event>",
"method": "<method>",
"config": {
"<config_key>": "<config_value>"
},
"eventConfig": {
"<eventConfig_key>": "<eventConfig_value>"
}
}' \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/notification/
17.6. listRepoNotifications リンクのコピーリンクがクリップボードにコピーされました!
指定したリポジトリーの通知をリスト表示します。
GET /api/v1/repository/{repository}/notification/
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET -H "Authorization: Bearer <bearer_token>" -H "Accept: application/json" https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/notification
第18章 robot リンクのコピーリンクがクリップボードにコピーされました!
ユーザーおよび組織のロボットアカウントを管理します。
18.1. getUserRobots リンクのコピーリンクがクリップボードにコピーされました!
ユーザーが利用可能なロボットをリスト表示します。
GET /api/v1/user/robots
認可: oauth2_implicit (user:admin)
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
limit | これが指定されている場合には、返すべきロボットの数。 | integer |
| query |
token | False の場合には、ロボットのトークンは返されません。 | boolean |
| query |
permissions | ロボットのパーミッションがあるリポジトリーおよびチームを含めるかどうか。 | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ 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 リンクのコピーリンクがクリップボードにコピーされました!
組織のロボットのリポジトリーパーミッションリストを返します。
GET /api/v1/organization/{orgname}/robots/{robot_shortname}/permissions
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>/permissions"
18.3. regenerateOrgRobotToken リンクのコピーリンクがクリップボードにコピーされました!
組織のロボットのトークンを再生成します。
POST /api/v1/organization/{orgname}/robots/{robot_shortname}/regenerate
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<orgname>/robots/<robot_shortname>/regenerate"
18.4. getUserRobotPermissions リンクのコピーリンクがクリップボードにコピーされました!
ユーザーのロボットのリポジトリーパーミッションリストを返します。
GET /api/v1/user/robots/{robot_shortname}/permissions
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://quay-server.example.com/api/v1/user/robots/<ROBOT_SHORTNAME>/permissions"
18.5. regenerateUserRobotToken リンクのコピーリンクがクリップボードにコピーされました!
ユーザーのロボットのトークンを再生成します。
POST /api/v1/user/robots/{robot_shortname}/regenerate
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/user/robots/<robot_shortname>/regenerate"
18.6. getOrgRobot リンクのコピーリンクがクリップボードにコピーされました!
指定された名前の組織のロボットを返します。
GET /api/v1/organization/{orgname}/robots/{robot_shortname}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>"
18.7. createOrgRobot リンクのコピーリンクがクリップボードにコピーされました!
組織に新しいロボットを作成します。
PUT /api/v1/organization/{orgname}/robots/{robot_shortname}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
| path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
ロボット作成のデータ (任意)
| 名前 | 説明 | スキーマ |
|---|---|---|
|
description | ロボットのテキスト形式の説明 (任意) | string |
|
unstructured_metadata | ロボットの非構造化メタデータ (任意) | object |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_name>"
18.8. deleteOrgRobot リンクのコピーリンクがクリップボードにコピーされました!
既存の組織ロボットを削除します。
DELETE /api/v1/organization/{orgname}/robots/{robot_shortname}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_shortname>"
18.9. getOrgRobots リンクのコピーリンクがクリップボードにコピーされました!
組織のロボットをリスト表示します。
GET /api/v1/organization/{orgname}/robots
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
orgname | 組織の名前 | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
limit | これが指定されている場合には、返すべきロボットの数。 | integer |
| query |
token | False の場合には、ロボットのトークンは返されません。 | boolean |
| query |
permissions | ロボットのパーミッションがあるリポジトリーおよびチームを含めるかどうか。 | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots"
18.10. getUserRobot リンクのコピーリンクがクリップボードにコピーされました!
指定の名前のユーザーのロボットを返します。
GET /api/v1/user/robots/{robot_shortname}
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
18.11. createUserRobot リンクのコピーリンクがクリップボードにコピーされました!
指定の名前で新たなユーザーロボットを作成します。
PUT /api/v1/user/robots/{robot_shortname}
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
要求の body スキーマ (application/json)
ロボット作成のデータ (任意)
| 名前 | 説明 | スキーマ |
|---|---|---|
|
description | ロボットのテキスト形式の説明 (任意) | string |
|
unstructured_metadata | ロボットの非構造化メタデータ (任意) | object |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/user/robots/<robot_name>"
18.12. deleteUserRobot リンクのコピーリンクがクリップボードにコピーされました!
既存のロボットを削除します。
DELETE /api/v1/user/robots/{robot_shortname}
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
"<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
18.13. 認証フェデレーションロボットトークン リンクのコピーリンクがクリップボードにコピーされました!
ロボットアイデンティティーフェデレーションメカニズムを使用して、期限切れのロボットトークンを返します。
oauth2/federation/robot/token の取得
認可: oauth2_implicit (robot:auth)
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 認証とトークン生成が成功しました | { "token": "string" } |
| 401 | Unauthorized: 認証が欠落しているか無効です | { "error": "string" } |
リクエストボディー
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| body |
auth_result | ロボットのアイデンティティーに関する情報を含む認証プロセスの結果。 | { "missing": "boolean", "error_message": "string", "context": { "robot": "RobotObject" } } |
コマンドの例
$ curl -X GET "https://quay-server.example.com/oauth2/federation/robot/token" \
-H "Authorization: Bearer <your_access_token>"
18.14. createOrgRobotFederation リンクのコピーリンクがクリップボードにコピーされました!
指定された組織ロボットのフェデレーション設定を作成します。
POST /api/v1/organization/{orgname}/robots/{robot_shortname}/federation
指定された組織ロボットのフェデレーション設定を取得します。
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path | orgname + robot_shortname 必須 | 組織名とロボットの短縮名 (ユーザー名や組織の接頭辞なし) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス |
コマンドの例
$ 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"
第19章 search リンクのコピーリンクがクリップボードにコピーされました!
すべてのレジストリーコンテキストに対して検索を実行します。
19.1. conductRepoSearch リンクのコピーリンクがクリップボードにコピーされました!
指定したクエリーに一致するアプリケーションおよびリポジトリーのリストを取得します。
GET /api/v1/find/repositories
認可:
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
includeUsage | 使用状況のメタデータを含めるかどうか。 | boolean |
| query |
page | ページ。 | integer |
| query |
query | 検索クエリー | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/find/repositories?query=<repo_name>&page=1&includeUsage=true" \
-H "Authorization: Bearer <bearer_token>"
19.2. conductSearch リンクのコピーリンクがクリップボードにコピーされました!
指定したクエリーに一致するエンティティーおよびリソースのリストを取得します。
GET /api/v1/find/all
認可: oauth2_implicit (repo:read)
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
query | 検索クエリー | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/find/all?query=<mysearchterm>" \
-H "Authorization: Bearer <bearer_token>"
19.3. getMatchingEntities リンクのコピーリンクがクリップボードにコピーされました!
指定した接頭辞に一致するエンティティーのリストを取得します。
GET /api/v1/entities/{prefix}
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
prefix | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
includeOrgs | 組織名を含めるかどうか。 | boolean |
| query |
includeTeams | チーム名を含めるかどうか。 | boolean |
| query |
namespace | 組織エンティティーのクエリー時に使用する namespace。 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/entities/<prefix>?includeOrgs=<true_or_false>&includeTeams=<true_or_false>&namespace=<namespace>" \
-H "Authorization: Bearer <bearer_token>"
第20章 secscan リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの脆弱性およびその他のセキュリティー情報をリスト表示および管理します。
20.1. getRepoManifestSecurity リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/repository/{repository}/manifest/{manifestref}/security
認可: oauth2_implicit (repo:read)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
manifestref | マニフェストのダイジェスト | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
vulnerabilities | 脆弱性情報を含めます | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
"https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/manifest/<manifest_digest>/security?vulnerabilities=<true_or_false>"
第21章 superuser リンクのコピーリンクがクリップボードにコピーされました!
スーパーユーザー API。
21.1. getConfigDump リンクのコピーリンクがクリップボードにコピーされました!
Quay インスタンスの完全な設定ダンプを返します。
GET /api/v1/superuser/config
認可: oauth2_implicit (super:user)
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
レスポンス構造
JSON レスポンスには、次の最上位キーが含まれます。
| 名前 | 説明 | スキーマ |
|---|---|---|
| 定義されたスキーマの一部である Flask アプリケーションによって使用されるすべての config.yaml とデフォルトパラメーター。 | object | |
| config.yaml からのパラメーター、またはスキーマで定義されていないデフォルト。 | object | |
| Flask アプリケーションで使用できるすべての環境変数。 | object | |
| 予想されるキーとタイプを定義する完全な設定スキーマ (CONFIG_SCHEMA)。 | object |
コマンドの例
$ curl -X GET -H "Authorization: Bearer <bearer_token>"
"https://<quay-server.example.com>/api/v1/superuser/config" | jq -r .config
21.2. createInstallUser リンクのコピーリンクがクリップボードにコピーされました!
新しいユーザーを作成します。
POST /api/v1/superuser/users/
認可: oauth2_implicit (super:user)
要求の body スキーマ (application/json)
ユーザー作成のデータ
| 名前 | 説明 | スキーマ |
|---|---|---|
|
username | 作成されるユーザーの名前 | string |
|
email | 作成中のユーザーのメールアドレス | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST -H "Authorization: Bearer <bearer_token>" -H "Content-Type: application/json" -d '{
"username": "newuser",
"email": "newuser@example.com"
}' "https://<quay-server.example.com>/api/v1/superuser/users/"
21.3. changeInstallUser リンクのコピーリンクがクリップボードにコピーされました!
指定したユーザーの情報を更新します。
PUT /api/v1/superuser/users/{username}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
username | 管理対象ユーザーのユーザー名 | string |
要求の body スキーマ (application/json)
ユーザー向けの更新の説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
password | ユーザーの新しいパスワード | string |
|
email | ユーザーの新しいメールアドレス | string |
|
enabled | ユーザーが有効かどうか | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT "https://<quay-server.example.com>/api/v1/superuser/users/<username>" \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"password": "<N3wP@ssw0rd!>",
"email": "<updated-email@example.com>",
"enabled": true
}'
21.4. deleteInstallUser リンクのコピーリンクがクリップボードにコピーされました!
ユーザーを削除します。
DELETE /api/v1/superuser/users/{username}
認可: oauth2_implicit (super:user)
要求の body スキーマ (application/json)
ユーザーを削除するためのデータ
| 名前 | 説明 | スキーマ |
|---|---|---|
|
username | 削除するユーザーのユーザー名 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/superuser/users/{username}"
21.5. listAllUsers リンクのコピーリンクがクリップボードにコピーされました!
システム内の全ユーザーリストを返します。
GET /api/v1/superuser/users/
認可: oauth2_implicit (super:user)
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
next_page | 次のページのページトークン | string |
| query |
limit | ページごとに返す結果の数を制限します。最大 100 です。 | integer |
| query |
disabled | false の場合には、有効なユーザーのみが返されます。 | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/superuser/users/"
21.6. listAllLogs リンクのコピーリンクがクリップボードにコピーされました!
現在のシステムの使用状況ログをリスト表示します。
GET /api/v1/superuser/logs
認可: oauth2_implicit (super:user)
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
next_page | 次のページのページトークン | string |
| query |
page | ログのページ番号 | integer |
| query |
endtime | 最後にログを取得した時間 (%m/%d/%Y %Z) | string |
| query |
starttime | 最初にログを取得する時間 (%m/%d/%Y %Z) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/logs?starttime=<start_time>&endtime=<end_time>&page=<page_number>&next_page=<next_page_token>"
21.7. listAllOrganizations リンクのコピーリンクがクリップボードにコピーされました!
現在のシステムの組織をリスト表示します。
GET /api/v1/superuser/organizations
認可: oauth2_implicit (super:user)
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
name | 管理対象の組織名 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/superuser/organizations/"
21.8. createServiceKey リンクのコピーリンクがクリップボードにコピーされました!
POST /api/v1/superuser/keys
認可: oauth2_implicit (super:user)
要求の body スキーマ (application/json)
サービスキーの作成の説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
サービス | このキーで認証されるサービス | string |
|
name | サービスキーの判別しやすい名前 | string |
|
metadata | このキーのメタデータのキー/値のペア | object |
|
notes | 指定すると、キーにメモを追加で指定できます。 | string |
|
有効期限 | unix タイムスタンプとしての有効期限 |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"service": "<service_name>",
"expiration": <unix_timestamp>
}' \
"<quay_server>/api/v1/superuser/keys"
21.9. listServiceKeys リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/superuser/keys
認可: oauth2_implicit (super:user)
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/keys"
21.10. changeUserQuotaSuperUser リンクのコピーリンクがクリップボードにコピーされました!
PUT /api/v1/superuser/organization/{namespace}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
namespace | string | |
| path |
quota_id | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
limit_bytes | 組織で許可されているバイト数 | integer |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota/<quota_id>" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": <NEW_QUOTA_LIMIT>
}'
21.11. deleteUserQuotaSuperUser リンクのコピーリンクがクリップボードにコピーされました!
DELETE /api/v1/superuser/organization/{namespace}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
namespace | string | |
| path |
quota_id | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota/<quota_id>" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.12. createUserQuotaSuperUser リンクのコピーリンクがクリップボードにコピーされました!
POST /api/v1/superuser/organization/{namespace}/quota
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
namespace | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
limit_bytes | 組織で許可されているバイト数 | integer |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": 10737418240
}'
21.13. listUserQuotaSuperUser リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/superuser/organization/{namespace}/quota
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
namespace | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/superuser/organization/<namespace>/quota" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.14. changeOrganizationQuotaSuperUser リンクのコピーリンクがクリップボードにコピーされました!
PUT /api/v1/superuser/users/{namespace}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
namespace | string | |
| path |
quota_id | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
limit_bytes | 組織で許可されているバイト数 | integer |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT "https://quay-server.example.com/api/v1/superuser/users/<username>/quota/<quota_id>" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": <NEW_QUOTA_LIMIT>
}'
21.15. deleteOrganizationQuotaSuperUser リンクのコピーリンクがクリップボードにコピーされました!
DELETE /api/v1/superuser/users/{namespace}/quota/{quota_id}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
namespace | string | |
| path |
quota_id | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://quay-server.example.com/api/v1/superuser/users/<username>/quota/<quota_id>" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.16. createOrganizationQuotaSuperUser リンクのコピーリンクがクリップボードにコピーされました!
POST /api/v1/superuser/users/{namespace}/quota
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
namespace | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
limit_bytes | 組織で許可されているバイト数 | integer |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://quay-server.example.com/api/v1/superuser/users/<username>/quota" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"limit_bytes": <QUOTA_LIMIT>
}'
21.17. listOrganizationQuotaSuperUser リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/superuser/users/{namespace}/quota
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
namespace | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/superuser/users/<username>/quota" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.18. changeOrganization リンクのコピーリンクがクリップボードにコピーされました!
指定したユーザーの情報を更新します。
PUT /api/v1/superuser/organizations/{name}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
name | 管理する組織の名前 | string |
要求の body スキーマ (application/json)
既存組織の更新の説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
email | 組織の連絡先メール | string |
|
invoice_email | 組織が請求書のメールを受信する必要があるかどうか。 | boolean |
|
invoice_email_address | 請求書を受信するメールアドレス | |
|
tag_expiration_s | タグの有効期限 (秒) | integer |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"email": "<contact_email>",
"invoice_email": <boolean_value>,
"invoice_email_address": "<invoice_email_address>",
"tag_expiration_s": <expiration_seconds>
}' \
"https://<quay_server>/api/v1/superuser/organizations/<organization_name>"
21.19. deleteOrganization リンクのコピーリンクがクリップボードにコピーされました!
指定した組織を削除します。
DELETE /api/v1/superuser/organizations/{name}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
name | 管理する組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/organizations/<organization_name>"
21.20. approveServiceKey リンクのコピーリンクがクリップボードにコピーされました!
POST /api/v1/superuser/approvedkeys/{kid}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
kid | サービスキーの一意識別子 | string |
要求の body スキーマ (application/json)
サービスキーの承認に関する情報
| 名前 | 説明 | スキーマ |
|---|---|---|
|
notes | オプションの承認に関する注意事項 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"notes": "<approval_notes>"
}' \
"https://<quay_server>/api/v1/superuser/approvedkeys/<kid>"
21.21. deleteServiceKey リンクのコピーリンクがクリップボードにコピーされました!
DELETE /api/v1/superuser/keys/{kid}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
kid | サービスキーの一意識別子 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/keys/<kid>"
21.22. updateServiceKey リンクのコピーリンクがクリップボードにコピーされました!
PUT /api/v1/superuser/keys/{kid}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
kid | サービスキーの一意識別子 | string |
要求の body スキーマ (application/json)
サービスキーの更新の説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
name | サービスキーの判別しやすい名前 | string |
|
metadata | このキーのメタデータのキー/値のペア | object |
|
expiration | unix タイムスタンプとしての有効期限 |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
-d '{
"name": "<service_key_name>",
"metadata": {"<key>": "<value>"},
"expiration": <unix_timestamp>
}' \
"https://<quay_server>/api/v1/superuser/keys/<kid>"
21.23. getServiceKey リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/superuser/keys/{kid}
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
kid | サービスキーの一意識別子 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/keys/<kid>"
21.24. getRepoBuildStatusSuperUser リンクのコピーリンクがクリップボードにコピーされました!
ビルドの uuid で指定したビルドのステータスを返します。
GET /api/v1/superuser/{build_uuid}/status
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
build_uuid | ビルドの UUID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/superuser/<build_uuid>/status" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.25. getRepoBuildSuperUser リンクのコピーリンクがクリップボードにコピーされました!
ビルドに関する情報を返します。
GET /api/v1/superuser/{build_uuid}/build
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
build_uuid | ビルドの UUID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/superuser/<build_uuid>/build" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.26. getRepoBuildLogsSuperUser リンクのコピーリンクがクリップボードにコピーされました!
ビルド uuid で指定したビルドのビルドログを返します。
GET /api/v1/superuser/{build_uuid}/logs
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
build_uuid | ビルドの UUID | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/superuser/<build_uuid>/logs" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
21.27. getRegistrySize リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/superuser/registrysize/
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
namespace | string |
イメージレジストリーサイズの説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
size_bytes* | 組織で許可されているバイト数 | integer |
| last_ran | integer | |
| queued | boolean | |
| running | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | CREATED | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
"https://<quay_server>/api/v1/superuser/registrysize/"
21.28. postRegistrySize リンクのコピーリンクがクリップボードにコピーされました!
POST /api/v1/superuser/registrysize/
認可: oauth2_implicit (super:user)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
namespace | string |
要求の body スキーマ (application/json)
イメージレジストリーサイズの説明
| 名前 | 説明 | スキーマ |
|---|---|---|
| last_ran | integer | |
| queued | boolean | |
| running | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | CREATED | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://quay-server.example.com/api/v1/superuser/registrysize/" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"namespace": "<namespace>",
"last_ran": 1700000000,
"queued": true,
"running": false
}'
第22章 tag リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーのタグを管理します。
22.1. restoreTag リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの以前のイメージに、リポジトリータグを復元します。
POST /api/v1/repository/{repository}/tag/{tag}/restore
認可: oauth2_implicit (repo:write)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
tag | タグの名前 | string |
要求の body スキーマ (application/json)
タグを特定のイメージに復元します。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
manifest_digest | 指定されている場合には、使用する必要があるマニフェストダイジェスト。 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"manifest_digest": <manifest_digest>
}' \
quay-server.example.com/api/v1/repository/quayadmin/busybox/tag/test/restore
22.2. changeTag リンクのコピーリンクがクリップボードにコピーされました!
タグが参照するイメージを変更するか、新規タグを作成します。
PUT /api/v1/repository/{repository}/tag/{tag}
認可: oauth2_implicit (repo:write)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
tag | タグの名前 | string |
要求の body スキーマ (application/json)
特定のタグを変更します。
| 名前 | 説明 | スキーマ |
|---|---|---|
|
manifest_digest | (指定されている場合) タグが参照すべきマニフェストダイジェスト | |
|
expiration | (指定されている場合) イメージの有効期限 |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT \
-H "Authorization: Bearer <bearer_token>" \
-H "Content-Type: application/json" \
--data '{
"manifest_digest": "<manifest_digest>"
}' \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/tag/<tag>
22.3. deleteFullTag リンクのコピーリンクがクリップボードにコピーされました!
指定したリポジトリータグを削除します。
DELETE /api/v1/repository/{repository}/tag/{tag}
認可: oauth2_implicit (repo:write)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
| path |
tag | タグの名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/tag/<tag_name>" \
-H "Authorization: Bearer <your_access_token>"
22.4. listRepoTags リンクのコピーリンクがクリップボードにコピーされました!
GET /api/v1/repository/{repository}/tag/
認可: oauth2_implicit (repo:read)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
onlyActiveTags | アクティブなタグだけに絞り込みます。 | boolean |
| query |
page | 結果のページインデックス。デフォルトは 1 です。 | integer |
| query |
limit | ページごとに返す結果の数を制限します。最大 100 です。 | integer |
| query |
filter_tag_name | 構文: <op>:<name> 操作に基づいてタグ名をフィルターします。<op> には 'like' または 'eq' を指定できます。 | string |
| query |
specificTag | 特定のタグだけに絞り込みます。 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <bearer_token>" \
-H "Accept: application/json" \
https://<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>/tag/
第23章 team リンクのコピーリンクがクリップボードにコピーされました!
組織のチームを作成、リスト表示、および管理します。
23.1. getOrganizationTeamPermissions リンクのコピーリンクがクリップボードにコピーされました!
組織のチームのリポジトリーパーミッションのリストを返します。
GET /api/v1/organization/{orgname}/team/{teamname}/permissions
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
teamname | チームの名前 | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/permissions"
23.2. updateOrganizationTeamMember リンクのコピーリンクがクリップボードにコピーされました!
既存のチームにメンバーを追加または調整します。
PUT /api/v1/organization/{orgname}/team/{teamname}/members/{membername}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
teamname | チームの名前 | string |
| path |
membername | チームメンバーのユーザー名 | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members/<member_name>"
23.3. deleteOrganizationTeamMember リンクのコピーリンクがクリップボードにコピーされました!
チームのメンバーを削除します。
If the user is merely invited to join the team, then the invite is removed instead.
DELETE /api/v1/organization/{orgname}/team/{teamname}/members/{membername}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
teamname | チームの名前 | string |
| path |
membername | チームメンバーのユーザー名 | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members/<member_name>"
23.4. getOrganizationTeamMembers リンクのコピーリンクがクリップボードにコピーされました!
指定したチームのメンバーのリストを取得します。
GET /api/v1/organization/{orgname}/team/{teamname}/members
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
teamname | チームの名前 | string |
| path |
orgname | 組織の名前 | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
includePending | 保留中のメンバーを含めるかどうか。 | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members"
23.5. inviteTeamMemberEmail リンクのコピーリンクがクリップボードにコピーされました!
既存のチームに招待するメールアドレスを追加します。
PUT /api/v1/organization/{orgname}/team/{teamname}/invite/{email}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
email | string | |
| path |
teamname | string | |
| path |
orgname | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"
23.6. deleteTeamMemberEmailInvite リンクのコピーリンクがクリップボードにコピーされました!
チームへの参加を招待するメールアドレスを削除します。
DELETE /api/v1/organization/{orgname}/team/{teamname}/invite/{email}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
email | string | |
| path |
teamname | string | |
| path |
orgname | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
+
$ curl -X DELETE \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"
23.7. updateOrganizationTeam リンクのコピーリンクがクリップボードにコピーされました!
指定したチームの組織全体のパーミッションを更新します。
この API はチームの作成にも使用されます。
PUT /api/v1/organization/{orgname}/team/{teamname}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
teamname | チームの名前 | string |
| path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
チームの説明
| 名前 | 説明 | スキーマ |
|---|---|---|
|
role | チームに適用する必要のある組織全体のパーミッション | string |
|
description | チームの Markdown の説明 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -k -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H "Authorization: Bearer <bearer_token>" --data '{"role": "creator"}' https://<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>
23.8. deleteOrganizationTeam リンクのコピーリンクがクリップボードにコピーされました!
指定したチームを削除します。
DELETE /api/v1/organization/{orgname}/team/{teamname}
認可: oauth2_implicit (org:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
teamname | チームの名前 | string |
| path |
orgname | 組織の名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE \
-H "Authorization: Bearer <your_access_token>" \
"<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>"
第24章 trigger リンクのコピーリンクがクリップボードにコピーされました!
ビルドトリガーを作成、リスト表示、管理します。
24.1. activateBuildTrigger リンクのコピーリンクがクリップボードにコピーされました!
指定したビルドトリガーをアクティブにします。
POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/activate
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
trigger_uuid | ビルドトリガーの UUID | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
| 名前 | 説明 | スキーマ |
|---|---|---|
|
config | 任意の json | object |
|
pull_robot | イメージのプルに使用するロボットの名前 | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid/activate" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"config": {
"branch": "main"
},
"pull_robot": "example+robot"
}'
24.2. listTriggerRecentBuilds リンクのコピーリンクがクリップボードにコピーされました!
指定したトリガーで開始するビルドをリスト表示します。
GET /api/v1/repository/{repository}/trigger/{trigger_uuid}/builds
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
trigger_uuid | ビルドトリガーの UUID | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
limit | 返すビルドの最大数 | integer |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid/builds?limit=10" \
-H "Authorization: Bearer <your_access_token>"
24.3. manuallyStartBuildTrigger リンクのコピーリンクがクリップボードにコピーされました!
指定したトリガーからビルドを手動で開始します。
POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/start
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
trigger_uuid | ビルドトリガーの UUID | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ビルドトリガーをアクティベートするための実行パラメーター (任意)
| 名前 | 説明 | スキーマ |
|---|---|---|
|
branch_name | (SCM のみ) 指定した場合のビルドするブランチの名前。 | string |
|
commit_sha | (カスタムのみ) 指定されている場合は、git リポジトリーのチェックアウトに使用する ref/SHA1。 | string |
|
refs | (SCM のみ) 指定されている場合のビルドの ref。 |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid/start" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"branch_name": "main",
"commit_sha": "abcdef1234567890",
"refs": "refs/heads/main"
}'
24.4. getBuildTrigger リンクのコピーリンクがクリップボードにコピーされました!
指定したビルドトリガーの情報を取得します。
GET /api/v1/repository/{repository}/trigger/{trigger_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
trigger_uuid | ビルドトリガーの UUID | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid" \
-H "Authorization: Bearer <your_access_token>"
24.5. updateBuildTrigger リンクのコピーリンクがクリップボードにコピーされました!
指定したビルドトリガーを更新します。
PUT /api/v1/repository/{repository}/trigger/{trigger_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
trigger_uuid | ビルドトリガーの UUID | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ビルドトリガーを更新するオプション
| 名前 | 説明 | スキーマ |
|---|---|---|
|
enabled | ビルドトリガーが有効かどうか。 | boolean |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X PUT "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{"enabled": true}'
24.6. deleteBuildTrigger リンクのコピーリンクがクリップボードにコピーされました!
指定したビルドトリガーを削除します。
DELETE /api/v1/repository/{repository}/trigger/{trigger_uuid}
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
trigger_uuid | ビルドトリガーの UUID | string |
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/example-trigger-uuid" \
-H "Authorization: Bearer <your_access_token>"
24.7. listBuildTriggers リンクのコピーリンクがクリップボードにコピーされました!
指定したリポジトリーのトリガーをリスト表示します。
GET /api/v1/repository/{repository}/trigger/
認可: oauth2_implicit (repo:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/repository/example_namespace/example_repo/trigger/" \
-H "Authorization: Bearer <your_access_token>"
第25章 user リンクのコピーリンクがクリップボードにコピーされました!
現行ユーザーを管理します。
25.1. createStar リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーを表示します。
POST /api/v1/user/starred
認可: oauth2_implicit (repo:read)
要求の body スキーマ (application/json)
| 名前 | 説明 | スキーマ |
|---|---|---|
|
namespace | リポジトリーが属する namespace | string |
|
repository | Repository name | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 201 | 作成に成功 | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X POST "https://quay-server.example.com/api/v1/user/starred" \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"namespace": "<namespace>",
"repository": "<repository_name>"
}'
25.2. listStarredRepos リンクのコピーリンクがクリップボードにコピーされました!
星付きのリポジトリーをすべてリスト表示します。
GET /api/v1/user/starred
認可: oauth2_implicit (user:admin)
クエリーパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| query |
next_page | 次のページのページトークン | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/user/starred?next_page=<next_page_token>" \
-H "Authorization: Bearer <your_access_token>"
25.3. getLoggedInUser リンクのコピーリンクがクリップボードにコピーされました!
認証ユーザーのユーザー情報を取得します。
GET /api/v1/user/
認可: oauth2_implicit (user:read)
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/user/" \
-H "Authorization: Bearer <your_access_token>"
25.4. deleteStar リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーから星を削除します。
DELETE /api/v1/user/starred/{repository}
認可: oauth2_implicit (user:admin)
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 204 | 削除済み | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X DELETE "https://quay-server.example.com/api/v1/user/starred/namespace/repository-name" \
-H "Authorization: Bearer <your_access_token>"
25.5. getUserInformation リンクのコピーリンクがクリップボードにコピーされました!
指定したユーザーのユーザー情報を取得します。
GET /api/v1/users/{username}
認可:
パスパラメーター
| 型 | 名前 | 説明 | スキーマ |
|---|---|---|---|
| path |
username | string |
レスポンス
| HTTP コード | 説明 | スキーマ |
|---|---|---|
| 200 | 正常な呼び出し | |
| 400 | Bad Request (不適切な要求) | |
| 401 | セッションが必要 | |
| 403 | 不正アクセス | |
| 404 | 見つからない |
コマンドの例
$ curl -X GET "https://quay-server.example.com/api/v1/users/example_user" \
-H "Authorization: Bearer <your_access_token>"
第26章 定義 リンクのコピーリンクがクリップボードにコピーされました!
26.1. ApiError リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 | スキーマ |
|---|---|---|
|
status | 応答のステータスコード | integer |
|
type | エラーのタイプへの参照。 | string |
|
detail | エラーの特定インスタンスの詳細。 | string |
|
title | エラーのタイプを識別する一意のエラーコード。 | string |
|
error_message | 非推奨。 | string |
|
error_type | 非推奨。 | string |
26.2. UserView リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 | スキーマ |
|---|---|---|
|
verified | ユーザーのメールアドレスが検証済みかどうか。 | boolean |
|
anonymous | このユーザーデータがゲストユーザーを表す場合は True | boolean |
|
email | ユーザーのメールアドレス | string |
|
avatar | ユーザーのアイコンを表すアバターデータ | object |
|
organizations | ユーザーがメンバーとなっている組織に関する情報 |
object の配列。 |
|
logins | ユーザーが認証された外部ログインプロバイダーのリスト |
object の配列。 |
|
can_create_repo | ユーザーにリポジトリー作成のパーミッションが割り当てられているかどうか。 | boolean |
|
preferred_namespace | true の場合、ユーザーの namespace が表示されることが優先される namespace。 | boolean |
26.3. ViewMirrorConfig リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 | スキーマ |
|---|---|---|
|
is_enabled | 同期を有効または無効にするために使用されます。 | boolean |
|
external_reference | 外部リポジトリーの場所。 | string |
|
external_registry_username | 外部レジストリーでの認証に使用されるユーザー名。 | |
|
external_registry_password | 外部レジストリーでの認証に使用されるパスワード。 | |
|
sync_start_date | このリポジトリーの次の同期時間を決定します。 | string |
|
sync_interval | next_start_date が同期を開始するまでの秒数。 | integer |
|
robot_username | イメージのプッシュに使用されるロボットのユーザー名。 | string |
|
root_rule | 同期する必要のあるタグの判別に使用する glob パターンのリスト。 | object |
|
external_registry_config | object |
26.4. ApiErrorDescription リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | 説明 | スキーマ |
|---|---|---|
|
type | エラータイプリソースへの参照。 | string |
|
title | エラーのタイトル。エラーの種類を一意に識別するために使用できます。 | string |
|
description | 問題の修正時に役立つ可能性のある詳細な説明。 | string |