Red Hat Quay API ガイド
はじめに
Red Hat Quay アプリケーションプログラミングインターフェイス (API) は、Red Hat Quay 機能を追加、表示、変更、および削除するための一連のエンドポイントで設定される OAuth 2 RESTful API です。
Red Hat Quay は Semantic Versioning (SemVer) 仕様 に準拠しています。次の条件は、メジャー、マイナー、およびパッチリリースごとに満たされます。
- Red Hat Quay のメジャーバージョンには、互換性のない API の変更が含まれている場合があります。たとえば、Red Hat Quay 2.0 の API は Red Hat Quay 3.0 とは異なります。
- Red Hat Quay のマイナーバージョン (3.y など) は、下位互換性のある方法で機能を追加します。
- Red Hat Quay のパッチバージョン (3.y.z など) には、下位互換性のあるバグ修正が導入されています。
現在、Red Hat Quay は 3.y.z リリースに api/v1
エンドポイントを使用しています。
このガイドでは、api/v1
エンドポイントと、それらのエンドポイントにアクセスするためのブラウザーベースの例について説明します。
第1章 Red Hat Quay API の使用
Red Hat Quay は完全な OAuth 2、RESTful API を提供します。[OAuth 2] RESTful API には次の利点があります。
-
これは、Red Hat Quay ホストのエンドポイント
/api/v1
から利用できます。たとえば、https://<quay-server.example.com>/api/v1
です。 -
Swagger UI を有効にすると、ユーザーがブラウザー経由でエンドポイントに接続し、Red Hat Quay の設定を
GET
、POST
、DELETE
、PUT
できるようになります。 - API 呼び出しを実行して OAuth トークンを使用するアプリケーションからアクセスできます。
- データを JSON 形式で送受信します。
次のセクションでは、Red Hat Quay API にアクセスしてデプロイメントで使用できるようにする方法について説明します。
1.1. Quay.io からの Quay API へのアクセス
独自の Red Hat Quay クラスターがまだ実行されていない場合に、Web ブラウザーから Quay.io で利用可能な Red Hat Quay API を確認できます。
https://docs.quay.io/api/swagger/
表示される API Explorer には Quay.io API エンドポイントが表示されます。Quay.io で有効でない Red Hat Quay 機能のスーパーユーザー API エンドポイントまたはエンドポイント (リポジトリーミラーリングなど) は表示されません。
API Explorer から、以下に関する情報を取得し、変更できます。
- 請求、サブスクリプション、およびプラン
- リポジトリービルドおよびビルドトリガー
- エラーメッセージおよびグローバルメッセージ
- リポジトリーイメージ、マニフェスト、パーミッション、通知、脆弱性、およびイメージの署名
- 使用状況に関するログ
- 組織、メンバー、および OAuth アプリケーション
- ユーザーとロボットアカウント
- その他
エンドポイントを選択して開き、エンドポイントの各部分のモデルスキーマを表示します。エンドポイントを開き、必要なパラメーター (リポジトリー名またはイメージなど) を入力し、Try it out!
ボタンを選択して Quay.io エンドポイントに関連する設定を照会するか、変更します。
1.2. v1 OAuth アクセストークンの作成
OAuth アクセストークンは、保護されたリソースへのセキュアなアクセスを可能にする認証情報です。Red Hat Quay では、組織の API エンドポイントにアクセスする前に、OAuth アクセストークンを作成する必要があります。
OAuth アクセストークンを作成するには、次の手順を実行します。
前提条件
- Red Hat Quay に管理者としてログインしている。
手順
- メインページで、Organization を選択します。
- ナビゲーションペインで、Applications を選択します。
- Create New Application をクリックし、新しいアプリケーション名を入力して、Enter を押します。
- OAuth Applications ページで、アプリケーションの名前を選択します。
オプション: 以下の情報を入力します。
- Application Name
- Homepage URL
- Description
- Avatar E-mail
- Redirect/Callback URL prefix
- ナビゲーションペインで、Generate Token を選択します。
次のオプションのチェックボックスをオンにします。
- Administer Organization
- Administer Repositories
- Create Repositories
- View all visible repositories
- Read/Write to any accessible repositories
- Super User Access
- Administer User
- Read User Information
- Generate Access Token をクリックします。新しいページにリダイレクトされます。
- 許可する権限を確認し、Authorize Application をクリックします。Authorize Application をクリックして決定した内容を確定します。
Access Token ページにリダイレクトされます。アクセストークンをコピーして保存します。
重要これは、アクセストークンをコピーして保存する唯一の機会です。このページを離れると再取得できません。
1.3. OCI リファラー OAuth アクセストークンの作成
場合によっては、OCI リファラー OAuth アクセストークンを作成することを推奨します。このトークンは、リポジトリー配下にあるマニフェストの OCI リファラーをリスト表示するために使用します。
手順
config.yaml
ファイルを更新して、FEATURE_REFERRERS_API: true
フィールドを含めます。以下に例を示します。# ... FEATURE_REFERRERS_API: true # ...
次のコマンドを入力し、認証情報を Base64 でエンコードします。
$ echo -n '<username>:<password>' | base64
出力例
abcdeWFkbWluOjE5ODlraWROZXQxIQ==
次のコマンドを入力して、base64 でエンコードされた文字列を使用し、URL エンドポイントを Red Hat Quay サーバーに変更します。
$ curl --location '<quay-server.example.com>/v2/auth?service=<quay-server.example.com>&scope=repository:quay/listocireferrs:pull,push' --header 'Authorization: Basic <base64_username:password_encode_token>' -k | jq
出力例
{ "token": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ijl5RWNtWmdiZ0l6czBBZW16emhTMHM1R0g2RDJnV2JGUTdUNGZYand4MlUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheS1zZXJ2ZXIuZXhhbXBsZS5jb20iLCJuYmYiOjE3MjEzMzAzNDYsImlhdCI6MTcyMTMzMDM0NiwiZXhwIjoxNzIxMzMzOTQ2LCJzdWIiOiJxdWF5YWRtaW4iLCJhY2Nlc3MiOlt7InR5cGUiOiJyZXBvc2l0b3J5IiwibmFtZSI6InF1YXkvbGlzdG9jaXJlZmVycnMiLCJhY3Rpb25zIjpbXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiJkZjI1M2QyNC0zZWUwLTRkODItOTcxYi1hZGYxMWYyNzBlM2IiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5YWRtaW4iLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InF1YXkvbGlzdG9jaXJlZmVycnMiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.sBR765ea-E41b2SfiIS36qoOmIZ6DEn9hvsCq3cszn6umlnKiBkc1jq6O1KlxtIhPdf8m8-xtLMJakxkKST4mJg5CHR5WG2AVExuT6nCHg9KuzOZTkafMJeUzC4lxRsrdgKXyGUaYONOALf6bW_IebSIOOVt55m83-KVz5NMHSov9VmQlPCfGnWS3pq3bG-nUaLhGRuSKc1EoGgnKlULNr9gAgzwBmB7-MGioP7NL5_IQtrbjFyBdckQuJcpcwNK78gb8MQIwI-e6WMvBT94pQkdD6bibo6zpFayFKSc6PsoO4Z4PjiON6vnD4kqEpX6rw5Yj7unv4RKjA_iHG-BoQ" }
1.4. OAuth アクセストークンの再割り当て
組織管理者は、特定の権限を持つ他のユーザーによって作成されるように OAuth API トークンを割り当てることができます。これにより、OAuth API トークンを作成する組織管理者権限を持たないユーザーがトークンを使用した場合でも、監査ログが正確に反映されるようになります。
次の手順は、現在の Red Hat Quay UI でのみ機能します。現在、Red Hat Quay v2 UI には実装されていません。
前提条件
組織管理者権限を持つユーザーとしてログインしており、OAuth API トークンを割り当てることができる。
注記OAuth API トークンは、認可ではなく認証に使用されます。たとえば、OAuth トークンを割り当てるユーザーは、管理 API エンドポイントを使用するために
Admin
チームロールを持っている必要があります。詳細は、リポジトリーへのアクセスの管理 を参照してください。
手順
オプション: まだ更新していない場合は、Red Hat Quay
config.yaml
ファイルを更新して、FEATURE_ASSIGN_OAUTH_TOKEN: true
フィールドを含めます。# ... FEATURE_ASSIGN_OAUTH_TOKEN: true # ...
- オプション: Red Hat Quay レジストリーを再起動します。
- 組織管理者として Red Hat Quay レジストリーにログインします。
- OAuth トークンを作成した組織の名前をクリックします。
- ナビゲーションペインで、Applications をクリックします。
- 適切なアプリケーション名をクリックします。
- ナビゲーションペインで、Applications をクリックします。
- Assign another user をクリックし、OAuth トークンを引き継ぐユーザーの名前を入力します。
新しいユーザーに付与する必要な権限のボックスをオンにします。たとえば、新しいユーザーにリポジトリーの作成のみを許可する場合は、Create Repositories クリックします。
重要権限の制御は、組織内のチームロールによって定義され、ここで選択したオプションに関係なく設定する必要があります。たとえば、OAuth トークンを割り当てるユーザーは、管理 API エンドポイントを使用するために
Admin
チームロールを持っている必要があります。Super User Access ボックスをオンにしただけでは、この権限がユーザーに実際に付与されるわけではありません。
config.yaml
ファイルでスーパーユーザーを設定する必要があり、かつ ここでボックスをオンにする必要があります。Assign token をクリックします。ポップアップボックスに、認可を確認する次のメッセージと、承認される権限が表示されます。
This will prompt user <username> to generate a token with the following permissions: repo:create
ポップアップボックスで Assign token をクリックします。新しいページにリダイレクトされ、次のメッセージが表示されます。
Token assigned successfully
検証
- OAuth トークンを再割り当てした後、割り当てられたユーザーがトークンを受け入れて、API エンドポイントの使用に必要なベアラートークンを受け取る必要があります。割り当てられたユーザーに、Red Hat Quay レジストリーにログインするよう依頼します。
- ユーザーは、ログインしたら、Users and Organizations の下にある自分のユーザー名をクリックする必要があります。
- ナビゲーションペインで、External Logins And Applications をクリックする必要があります。
- Authorized Applications の下で、Authorize Application をクリックしてアプリケーションを確認する必要があります。新しいページに移動し、Authorize Application をクリックして再確認する必要があります。
- ユーザーは、ベアラートークンが表示される新しいページにリダイレクトされます。このベアラートークンは再度表示することはできないため、保存する必要があります。
1.5. Web ブラウザーからの Quay API へのアクセス
Swagger を有効にし、Web ブラウザーを使用して独自の Red Hat Quay インスタンスの API にアクセスできます。この URL は、Red Hat Quay API を UI および以下の URL 経由で公開します。
https://<yourquayhost>/api/v1/discovery.
この方法で API にアクセスしても、Red Hat Quay インストールで利用可能なスーパーユーザーエンドポイントにはアクセスできません。以下は、swagger-ui コンテナーイメージを実行してローカルシステムで実行されている Red Hat Quay API インターフェイスにアクセスする例です。
# export SERVER_HOSTNAME=<yourhostname> # sudo podman run -p 8888:8080 -e API_URL=https://$SERVER_HOSTNAME:8443/api/v1/discovery docker.io/swaggerapi/swagger-ui
Swagger-ui コンテナーが実行された状態で、Web ブラウザーを localhost ポート 8888 で開き、swagger-ui コンテナー経由で API エンドポイントを表示します。
API calls must be invoked with an X-Requested-With header if called from a browser などのエラーを回避するには、以下の行をクラスター内の全ノードの config.yaml
に追加し、Red Hat Quay を再起動します。
BROWSER_API_CALLS_XHR_ONLY: false
1.6. コマンドラインでの Red Hat Quay API へのアクセス
curl
コマンドを使用して、Red Hat Quay クラスターの API を使用して GET、PUT、POST、または DELETE 操作を実行できます。<token>
は、以下の例の設定を取得または変更するために作成した OAuth アクセストークンに置き換えます。
第2章 Red Hat Quay アプリケーションプログラミングインターフェイス (API)
この API を使用すると、Red Hat Quay リポジトリー、ユーザー、および組織の使用に必要な多くの操作を実行できます。
2.1. 承認
oauth2_implicit
スコープ
以下のスコープは、API エンドポイントへのアクセスを制御するのに使用されます。
スコープ | Description |
---|---|
repo:read | このアプリケーションは、付与ユーザーまたはロボットアカウントに表示されるすべてのリポジトリーを表示し、プルできます。 |
repo:write | このアプリケーションは、付与ユーザーまたはロボットアカウントに書き込みのアクセス権が割り当てられているリポジトリーをすべて表示、プッシュ、およびプルできます。 |
repo:admin | このアプリケーションには、付与ユーザーまたはロボットアカウントがアクセスできるすべてのリポジトリーに管理者権限が割り当てられます。 |
repo:create | このアプリケーションは、付与ユーザーまたはロボットアカウントがリポジトリーを作成できる namespace にリポジトリーを作成できます。 |
user:read | このアプリケーションは、ユーザー名やメールアドレスなどのユーザー情報を読み取ることができます。 |
org:admin | このアプリケーションは、ロボットの作成、チームの作成、チームのメンバーシップの調整、請求設定の変更など、組織の管理を行うことができます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
super:user | このアプリケーションは、ユーザーの管理、スーパーユーザーパネルにある組織およびその他の機能の管理など、インストールを管理できます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
user:admin | このアプリケーションは、ロボットの作成、リポジトリーへのパーミッションを付与するなど、アカウントを管理できます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
2.2. appspecifictokens
現在のユーザーのアプリケーション固有のトークンを管理します。
2.2.1. createAppToken
ユーザー向けに新規アプリケーション固有のトークンを作成します。
POST /api/v1/user/apptoken
承認: oauth2_implicit(user:admin)
要求の body スキーマ (application/json)
新しいトークンの説明。
名前 | Description | スキーマ |
---|---|---|
タイトル | トークンの特定に役立つ分かりやすい名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.2.2. listAppTokens
ユーザーのアプリケーション固有のトークンをリスト表示します。
GET /api/v1/user/apptoken
承認: oauth2_implicit(user:admin)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
expiring | true の場合には、まもなく有効期限が切れるトークンのみを返します。 | boolean |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.2.3. getAppToken
ユーザーの特定のアプリケーショントークンを返します。
GET /api/v1/user/apptoken/{token_uuid}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
token_uuid | アプリケーション固有のトークンの uuid | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.2.4. revokeAppToken
ユーザーの特定のアプリケーショントークンを取り消します。
DELETE /api/v1/user/apptoken/{token_uuid}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
token_uuid | アプリケーション固有のトークンの uuid | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.3. build
リポジトリービルドの作成、リスト表示、キャンセル、およびステータス/ログの取得
2.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 |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 |
タグ | ビルドイメージがプッシュされるタグ。指定のない場合は、latest が使用されます。 |
string の配列 |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.4. discovery
API 検出情報。
2.4.1. discovery
Swagger API 形式で利用可能なすべての API エンドポイントをリスト表示します。
GET /api/v1/discovery
承認:
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
internal | 内部 API を含めるかどうか。 | boolean |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.5. error
エラー詳細 API。
2.5.1. getErrorDescription
エラーの詳細情報を取得します。
GET /api/v1/error/{error_type}
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
error_type | エラーのタイプを特定するエラーコード。 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.6. globalmessages
メッセージ API。
2.6.1. createGlobalMessage
メッセージを作成します。
POST /api/v1/messages
承認: oauth2_implicit(super:user)
要求の body スキーマ (application/json)
新規メッセージの作成
名前 | Description | スキーマ |
---|---|---|
message | 単一メッセージ | object |
応答
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.6.2. getGlobalMessages
スーパーユーザーのメッセージを返します。
GET /api/v1/messages
承認:
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.6.3. deleteGlobalMessage
メッセージを削除します。
DELETE /api/v1/message/{uuid}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
uuid | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.7. logs
組織またはリポジトリーの使用状況ログにアクセスします。
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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)
エクスポートログ操作の設定
名前 | Description | スキーマ |
---|---|---|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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)
エクスポートログ操作の設定
名前 | Description | スキーマ |
---|---|---|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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)
エクスポートログ操作の設定
名前 | Description | スキーマ |
---|---|---|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.8. manifest
リポジトリーのマニフェストを管理します。
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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)
マニフェストにラベルを追加します。
名前 | Description | スキーマ |
---|---|---|
key | ラベルのキー | string |
value | ラベルの値 | string |
media_type | このラベルのメディアタイプ |
応答
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.8.5. getRepoManifest
GET /api/v1/repository/{repository}/manifest/{manifestref}
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.9. mirror
2.9.1. syncCancel
指定したリポジトリーのミラーリング設定の sync_status を更新します。
POST /api/v1/repository/{repository}/mirror/sync-cancel
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.9.2. syncNow
指定したリポジトリーのミラーリング設定の sync_status を更新します。
POST /api/v1/repository/{repository}/mirror/sync-now
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.9.3. getRepoMirrorConfig
指定したリポジトリーのミラーリング設定を返します。
GET /api/v1/repository/{repository}/mirror
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 |
応答
HTTP コード | Description | スキーマ |
---|---|---|
201 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 |
応答
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.10. namespacequota
2.10.1. listUserQuota
GET /api/v1/user/quota
承認: oauth2_implicit(user:admin)
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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)
変更する組織のクォータ制限の説明
名前 | Description | スキーマ |
---|---|---|
type | 割り当て制限のタイプ: 警告または拒否 | string |
threshold_percent | クォータのしきい値 (クォータのパーセント単位) | integer |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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)
新しい組織のクォータ制限の説明
名前 | Description | スキーマ |
---|---|---|
type | 割り当て制限のタイプ: 警告または拒否 | string |
threshold_percent | クォータのしきい値 (クォータのパーセント単位) | integer |
応答
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.10.6. listOrganizationQuotaLimit
GET /api/v1/organization/{orgname}/quota/{quota_id}/limit
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.10.8. listUserQuotaLimit
GET /api/v1/user/quota/{quota_id}/limit
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.10.9. getOrganizationQuota
GET /api/v1/organization/{orgname}/quota/{quota_id}
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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)
新しい組織の割り当ての説明
名前 | Description | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
limits |
人間が判読可能な組織のストレージ容量。Mi、Gi、Ti などの SI 単位だけでなく、GB や MB などの非標準単位も受け入れます。 | string |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.10.11. deleteOrganizationQuota
DELETE /api/v1/organization/{orgname}/quota/{quota_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.10.12. createOrganizationQuota
新しい組織のクォータを作成します。
POST /api/v1/organization/{orgname}/quota
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | Description | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
limits |
人間が判読可能な組織のストレージ容量。Mi、Gi、Ti などの SI 単位だけでなく、GB や MB などの非標準単位も受け入れます。 | string |
応答
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.10.13. listOrganizationQuota
GET /api/v1/organization/{orgname}/quota
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.10.14. getUserQuota
GET /api/v1/user/quota/{quota_id}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11. 組織
組織、メンバーおよび OAuth アプリケーションを管理します。
2.11.1. createOrganization
新しい組織を作成します。
POST /api/v1/organization/
承認: oauth2_implicit(user:admin)
要求の body スキーマ (application/json)
新しい組織の説明。
名前 | Description | スキーマ |
---|---|---|
name | 組織のユーザー名 | string |
email | 組織の連絡先メール | string |
recaptcha_response | 検証用の recaptcha 応答コード (無効となっている場合もある)。 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
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/"
2.11.2. validateProxyCacheConfig
POST /api/v1/organization/{orgname}/validateproxycache
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | string |
要求の body スキーマ (application/json)
組織のプロキシーキャッシュ設定
名前 | Description | スキーマ |
---|---|---|
upstream_registry | キャッシュされるアップストリームレジストリーの名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
202 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.3. getOrganizationCollaborators
指定した組織の外部コラボレーターをリスト表示します。
GET /api/v1/organization/{orgname}/collaborators
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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)
更新アプリケーションの説明。
名前 | Description | スキーマ |
---|---|---|
name | アプリケーションの名前 | string |
redirect_uri | アプリケーションの OAuth リダイレクトの URI | string |
application_uri | アプリケーションのホームページの URI | string |
description | アプリケーションの人間が判読できる説明 | string |
avatar_email | アプリケーションに使用するアバターのメールアドレス | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.7. createOrganizationApplication
この組織に新しいアプリケーションを作成します。
POST /api/v1/organization/{orgname}/applications
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しい組織アプリケーションを説明します。
名前 | Description | スキーマ |
---|---|---|
name | アプリケーションの名前 | string |
redirect_uri | アプリケーションの OAuth リダイレクトの URI | string |
application_uri | アプリケーションのホームページの URI | string |
description | アプリケーションの人間が判読できる説明 | string |
avatar_email | アプリケーションに使用するアバターのメールアドレス | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.8. getOrganizationApplications
指定した組織のアプリケーションをリスト表示します。
GET /api/v1/organization/{orgname}/applications
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.9. getProxyCacheConfig
組織のプロキシーキャッシュ設定を取得します。
GET /api/v1/organization/{orgname}/proxycache
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.10. deleteProxyCacheConfig
組織のプロキシーキャッシュ設定を削除します。
DELETE /api/v1/organization/{orgname}/proxycache
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.11. createProxyCacheConfig
組織のプロキシーキャッシュ設定を作成します。
POST /api/v1/organization/{orgname}/proxycache
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
組織のプロキシーキャッシュ設定
名前 | Description | スキーマ |
---|---|---|
upstream_registry | キャッシュされるアップストリームレジストリーの名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.12. getOrganizationMember
組織のメンバーの詳細を取得します。
GET /api/v1/organization/{orgname}/members/{membername}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
membername | 組織メンバーのユーザー名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.13. removeOrganizationMember
組織からメンバーを削除し、そのリポジトリーの特権をすべて破棄して組織の全チームから削除します。
DELETE /api/v1/organization/{orgname}/members/{membername}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
membername | 組織メンバーのユーザー名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.14. getOrganizationMembers
指定した組織のメンバー (人間) をリスト表示します。
GET /api/v1/organization/{orgname}/members
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.15. getOrganization
指定した組織の詳細を取得します。
GET /api/v1/organization/{orgname}
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
コマンドの例
$ curl -X GET \ -H "Authorization: Bearer lfV4lVf9qRsyoFnrgEno1umIOrsdp8lPyMnfUDYY" \ "<quay-server.example.com>/api/v1/organization/<organization_name>"
2.11.16. changeOrganizationDetails
指定した組織の詳細を変更します。
PUT /api/v1/organization/{orgname}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
既存組織の更新の説明
名前 | Description | スキーマ |
---|---|---|
email | 組織の連絡先メール | string |
invoice_email | 組織が請求書のメールを受信する必要があるかどうか | boolean |
invoice_email_address | 請求書を受信するメールアドレス | |
tag_expiration_s | タグの有効期限 (秒) | integer |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.17. deleteAdminedOrganization
指定した組織を削除します。
DELETE /api/v1/organization/{orgname}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.11.18. getApplicationInformation
指定したアプリケーションに関する情報を取得します。
GET /api/v1/app/{client_id}
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
client_id | OAuth クライアント ID | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.12. パーミッション
リポジトリーのパーミッションを管理します。
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.12.2. getUserPermissions
指定したユーザーのパーミッションを取得します。
GET /api/v1/repository/{repository}/permissions/user/{username}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
username | パーミッションが適用されるユーザーのユーザー名 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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)
ユーザーパーミッションの説明。
名前 | Description | スキーマ |
---|---|---|
ロール | ユーザーに使用するロール | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.12.4. deleteUserPermissions
ユーザーのパーミッションを削除します。
DELETE /api/v1/repository/{repository}/permissions/user/{username}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
username | パーミッションが適用されるユーザーのユーザー名 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.12.5. getTeamPermissions
指定したチームのパーミッションをフェッチします。
GET /api/v1/repository/{repository}/permissions/team/{teamname}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
teamname | パーミッションが適用されるチームの名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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)
チームパーミッションの説明。
名前 | Description | スキーマ |
---|---|---|
ロール | チームに使用するロール | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.12.7. deleteTeamPermissions
指定したチームのパーミッションを削除します。
DELETE /api/v1/repository/{repository}/permissions/team/{teamname}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
teamname | パーミッションが適用されるチームの名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.12.8. listRepoTeamPermissions
すべてのチームパーミッションをリスト表示します。
GET /api/v1/repository/{repository}/permissions/team/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.12.9. listRepoUserPermissions
全ユーザーパーミッションをリスト表示します。
GET /api/v1/repository/{repository}/permissions/user/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13. policy
2.13.1. createOrganizationAutoPrunePolicy
組織の自動プルーニングポリシーを作成します。
POST /api/v1/organization/{orgname}/autoprunepolicy/
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
名前 | 説明 | スキーマ |
---|---|---|
メソッド | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.2. listOrganizationAutoPrunePolicies
組織の自動プルーニングポリシーを一覧表示します。
GET /api/v1/organization/{orgname}/autoprunepolicy/
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.3. getOrganizationAutoPrunePolicy
組織の自動プルーニングポリシーを取得します。
GET /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.4. deleteOrganizationAutoPrunePolicy
組織の自動プルーニングポリシーを削除します。
DELETE /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.5. updateOrganizationAutoPrunePolicy
組織の自動プルーニングポリシーを更新します。
PUT /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
path |
policy_uuid | ポリシーの一意の ID | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
名前 | Description | スキーマ |
---|---|---|
メソッド | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.6. createRepositoryAutoPrunePolicy
リポジトリーの自動プルーニングポリシーを作成します。
POST /api/v1/repository/{repository}/autoprunepolicy/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | Description | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
名前 | 説明 | スキーマ |
---|---|---|
method | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.7. listRepositoryAutoPrunePolicies
リポジトリーの自動プルーニングポリシーをリスト表示します。
GET /api/v1/repository/{repository}/autoprunepolicy/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | Description | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.8. getRepositoryAutoPrunePolicy
リポジトリーの自動プルーニングポリシーを取得します。
GET /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | Description | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.9. deleteRepositoryAutoPrunePolicy
リポジトリーの自動プルーニングポリシーを削除します。
DELETE /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | Description | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.10. updateRepositoryAutoPrunePolicy
リポジトリーの自動プルーニングポリシーを更新します。
PUT /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | Description | スキーマ |
---|---|---|---|
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 日))) |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.11. createUserAutoPrunePolicy
現在ログインしているユーザーの自動プルーニングポリシーを作成します。
POST /api/v1/user/autoprunepolicy/
承認: oauth2_implicit(user:admin)
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
名前 | Description | スキーマ |
---|---|---|
メソッド | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.12. listUserAutoPrunePolicies
現在ログインしているユーザーの自動プルーニングポリシーをリスト表示します。
GET /api/v1/user/autoprunepolicy/
承認: oauth2_implicit(user:admin)
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.13. getUserAutoPrunePolicy
現在ログインしているユーザーの自動プルーニングポリシーを取得します。
GET /api/v1/user/autoprunepolicy/{policy_uuid}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.14. deleteUserAutoPrunePolicy
現在ログインしているユーザーの自動プルーニングポリシーを削除します。
DELETE /api/v1/user/autoprunepolicy/{policy_uuid}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.13.15. updateUserAutoPrunePolicy
現在ログインしているユーザーの自動プルーニングポリシーを更新します。
PUT /api/v1/user/autoprunepolicy/{policy_uuid}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
policy_uuid | ポリシーの一意の ID | string |
要求の body スキーマ (application/json)
ユーザーの namespace に適用されるポリシー設定
名前 | Description | スキーマ |
---|---|---|
メソッド | タグのプルーニングに使用するメソッド (number_of_tags、creation_date) | string |
value | プルーニング方法に使用する値 (タグの数 (例: 10)、時間デルタ (例: 7d (7 日))) |
応答
HTTP コード | Description | スキーマ |
---|---|---|
204 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.14. prototype
リポジトリーに追加されたデフォルトのパーミッションを管理します。
2.14.1. updateOrganizationPrototypePermission
既存のパーミッションプロトタイプのロールを更新します。
PUT /api/v1/organization/{orgname}/prototypes/{prototypeid}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
prototypeid | プロトタイプの ID | string |
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しいプロトタイプロールの説明
名前 | Description | スキーマ |
---|---|---|
role | パーミッションに適用する必要のあるロール | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.14.2. deleteOrganizationPrototypePermission
既存のパーミッションのプロトタイプを削除します。
DELETE /api/v1/organization/{orgname}/prototypes/{prototypeid}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
prototypeid | プロトタイプの ID | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.14.3. createOrganizationPrototypePermission
新規パーミッションのプロトタイプを作成します。
POST /api/v1/organization/{orgname}/prototypes
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しいプロトタイプの説明
名前 | Description | スキーマ |
---|---|---|
ロール | 委譲に適用する必要のあるロール | string |
activating_user | ルールが適用されるユーザーを作成するリポジトリー | object |
委譲 | ルールでアクセス権を付与するユーザーまたはチームに関する情報 | object |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.14.4. getOrganizationPrototypePermissions
この組織の既存のプロトタイプをリスト表示します。
GET /api/v1/organization/{orgname}/prototypes
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.15. referrers
v2 API リファラーのリストを示します。
2.15.1. getReferrers
イメージダイジェストの v2 API リファラーのリストを示します。
GET /v2/{organization_name}/{repository_name}/referrers/{digest}
要求の body スキーマ (application/json)
イメージダイジェストのリファラー。
タイプ | 名前 | Description | スキーマ |
path |
orgname | 組織の名前 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
referrers | リポジトリー配下にあるマニフェストの OCI リファラーを検索します。 | string |
2.16. repository
リポジトリーをリスト表示、作成、管理します。
2.16.1. createRepo
新規リポジトリーを作成します。
POST /api/v1/repository
承認: oauth2_implicit(repo:create)
要求の body スキーマ (application/json)
新規リポジトリーの説明
名前 | Description | スキーマ |
---|---|---|
repository | リポジトリー名 | string |
visibility | リポジトリーの初期の表示内容 | string |
namespace | リポジトリーを作成する namespace。省略すると、呼び出し元のユーザー名が使用されます。 | string |
description | リポジトリーの Markdown でエンコードされた説明 | string |
repo_kind | リポジトリーの種類 |
応答
HTTP コード | Description | スキーマ |
---|---|---|
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"
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.16.3. changeRepoVisibility
リポジトリーの可視性を変更します。
POST /api/v1/repository/{repository}/changevisibility
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーの可視性を変更します。
名前 | Description | スキーマ |
---|---|---|
visibility | リポジトリーの初期の表示内容 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.16.4. changeRepoState
リポジトリーの状態を変更します。
PUT /api/v1/repository/{repository}/changestate
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーの状態を変更します。
名前 | Description | スキーマ |
---|---|---|
状態 | プッシュが許可されるかどうかを決定します。 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.16.5. getRepo
指定したリポジトリーを取得します。
GET /api/v1/repository/{repository}
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
includeTags | リポジトリータグを含めるかどうか | boolean |
query |
includeStats | アクション統計を含めるかどうか。 | boolean |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.16.6. updateRepo
指定したリポジトリーにある説明を更新します。
PUT /api/v1/repository/{repository}
承認: oauth2_implicit (repo:write)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーで更新できるフィールド。
名前 | Description | スキーマ |
---|---|---|
description | リポジトリーの Markdown でエンコードされた説明 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.16.7. deleteRepository
リポジトリーを削除します。
DELETE /api/v1/repository/{repository}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.17. repositorynotification
リポジトリーイベント/通知をリスト表示、作成、管理します。
2.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 コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.17.2. getRepoNotification
指定した通知の情報を取得します。
GET /api/v1/repository/{repository}/notification/{uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
uuid | 通知の UUID | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.17.3. deleteRepoNotification
指定した通知を削除します。
DELETE /api/v1/repository/{repository}/notification/{uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
uuid | 通知の UUID | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
204 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.17.5. createRepoNotification
POST /api/v1/repository/{repository}/notification/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーでの通知作成に関する情報
名前 | Description | スキーマ |
---|---|---|
イベント | 通知が応答するイベント | string |
メソッド | 通知の方法 (メールや Web コールバックなど) | string |
設定 | 特定の通知メソッドに関する JSON 設定情報 | object |
eventConfig | 特定の通知イベントに関する JSON 設定情報 | object |
title | 人間が判読できる通知のタイトル | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.17.6. listRepoNotifications
指定したリポジトリーの通知をリスト表示します。
GET /api/v1/repository/{repository}/notification/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.18. robot
ユーザーおよび組織のロボットアカウントを管理します。
2.18.1. getUserRobots
ユーザーが利用可能なロボットをリスト表示します。
GET /api/v1/user/robots
承認: oauth2_implicit(user:admin)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
limit | これが指定されている場合には、返すべきロボットの数。 | integer |
query |
token | False の場合には、ロボットのトークンは返されません。 | boolean |
query |
permissions | ロボットのパーミッションがあるリポジトリーおよびチームを含めるかどうか。 | boolean |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.18.2. getOrgRobotPermissions
組織のロボットのリポジトリーパーミッションリストを返します。
GET /api/v1/organization/{orgname}/robots/{robot_shortname}/permissions
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.18.3. regenerateOrgRobotToken
組織のロボットのトークンを再生成します。
POST /api/v1/organization/{orgname}/robots/{robot_shortname}/regenerate
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.18.4. getUserRobotPermissions
ユーザーのロボットのリポジトリーパーミッションリストを返します。
GET /api/v1/user/robots/{robot_shortname}/permissions
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.18.5. regenerateUserRobotToken
ユーザーのロボットのトークンを再生成します。
POST /api/v1/user/robots/{robot_shortname}/regenerate
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.18.6. getOrgRobot
指定された名前の組織のロボットを返します。
GET /api/v1/organization/{orgname}/robots/{robot_shortname}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 | スキーマ |
---|---|---|
description | ロボットのテキスト形式の説明 (任意) | string |
unstructured_metadata | ロボットの非構造化メタデータ (任意) | object |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.18.8. deleteOrgRobot
既存の組織ロボットを削除します。
DELETE /api/v1/organization/{orgname}/robots/{robot_shortname}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
応答
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.18.10. getUserRobot
指定の名前のユーザーのロボットを返します。
GET /api/v1/user/robots/{robot_shortname}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.18.11. createUserRobot
指定の名前で新たなユーザーロボットを作成します。
PUT /api/v1/user/robots/{robot_shortname}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
要求の body スキーマ (application/json)
ロボット作成のデータ (任意)
名前 | Description | スキーマ |
---|---|---|
description | ロボットのテキスト形式の説明 (任意) | string |
unstructured_metadata | ロボットの非構造化メタデータ (任意) | object |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.18.12. deleteUserRobot
既存のロボットを削除します。
DELETE /api/v1/user/robots/{robot_shortname}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.19. search
すべてのレジストリーコンテキストに対して検索を実行します。
2.19.1. conductRepoSearch
指定したクエリーに一致するアプリケーションおよびリポジトリーのリストを取得します。
GET /api/v1/find/repositories
承認:
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
includeUsage | 使用状況のメタデータを含めるかどうか。 | boolean |
query |
page | ページ。 | integer |
query |
query | 検索クエリー | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.19.2. conductSearch
指定したクエリーに一致するエンティティーおよびリソースのリストを取得します。
GET /api/v1/find/all
承認: oauth2_implicit(repo:read)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
query | 検索クエリー | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.19.3. getMatchingEntities
指定した接頭辞に一致するエンティティーのリストを取得します。
GET /api/v1/entities/{prefix}
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
prefix | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
includeOrgs | 組織名を含めるかどうか。 | boolean |
query |
includeTeams | チーム名を含めるかどうか。 | boolean |
query |
namespace | 組織エンティティーのクエリー時に使用する namespace。 | string |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.20. secscan
リポジトリーの脆弱性およびその他のセキュリティー情報をリスト表示および管理します。
2.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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21. スーパーユーザー
スーパーユーザー API。
2.21.1. createInstallUser
新しいユーザーを作成します。
POST /api/v1/superuser/users/
承認: oauth2_implicit(super:user)
要求の body スキーマ (application/json)
ユーザー作成のデータ
名前 | Description | スキーマ |
---|---|---|
username | 作成されるユーザーの名前 | string |
email | 作成中のユーザーのメールアドレス | string |
応答
HTTP コード | Description | スキーマ |
---|---|---|
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/"
2.21.2. 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}"
2.21.3. listAllUsers
システム内の全ユーザーリストを返します。
GET /api/v1/superuser/users/
承認: oauth2_implicit(super:user)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
limit | ページごとに返す結果の数を制限します。最大 100 です。 | integer |
query |
disabled | false の場合には、有効なユーザーのみが返されます。 | boolean |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
コマンドの例
$ curl -X GET -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/superuser/users/"
2.21.4. 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 コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.5. createServiceKey
POST /api/v1/superuser/keys
承認: oauth2_implicit(super:user)
要求の body スキーマ (application/json)
サービスキーの作成の説明
名前 | Description | スキーマ |
---|---|---|
サービス | このキーで認証されるサービス | string |
name | サービスキーの判別しやすい名前 | string |
metadata | このキーのメタデータのキー/値のペア | object |
notes | 指定すると、キーにメモを追加で指定できます。 | string |
有効期限 | unix タイムスタンプとしての有効期限 |
応答
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.6. listServiceKeys
GET /api/v1/superuser/keys
承認: oauth2_implicit(super:user)
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.7. changeUserQuotaSuperUser
PUT /api/v1/superuser/organization/{namespace}/quota/{quota_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | Description | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.8. deleteUserQuotaSuperUser
DELETE /api/v1/superuser/organization/{namespace}/quota/{quota_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
応答
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.9. createUserQuotaSuperUser
POST /api/v1/superuser/organization/{namespace}/quota
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | Description | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
応答
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.10. listUserQuotaSuperUser
GET /api/v1/superuser/organization/{namespace}/quota
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.11. changeOrganizationQuotaSuperUser
PUT /api/v1/superuser/users/{namespace}/quota/{quota_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | Description | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
応答
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.12. deleteOrganizationQuotaSuperUser
DELETE /api/v1/superuser/users/{namespace}/quota/{quota_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.13. createOrganizationQuotaSuperUser
POST /api/v1/superuser/users/{namespace}/quota
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | Description | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
応答
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.14. listOrganizationQuotaSuperUser
GET /api/v1/superuser/users/{namespace}/quota
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.15. changeOrganization
指定したユーザーの情報を更新します。
PUT /api/v1/superuser/organizations/{name}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
name | 管理する組織の名前 | string |
要求の body スキーマ (application/json)
既存組織の更新の説明
名前 | Description | スキーマ |
---|---|---|
email | 組織の連絡先メール | string |
invoice_email | 組織が請求書のメールを受信する必要があるかどうか | boolean |
invoice_email_address | 請求書を受信するメールアドレス | |
tag_expiration_s | タグの有効期限 (秒) | integer |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.16. deleteOrganization
指定した組織を削除します。
DELETE /api/v1/superuser/organizations/{name}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
name | 管理する組織の名前 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.17. approveServiceKey
POST /api/v1/superuser/approvedkeys/{kid}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
kid | サービスキーの一意識別子 | string |
要求の body スキーマ (application/json)
サービスキーの承認に関する情報
名前 | Description | スキーマ |
---|---|---|
notes | オプションの承認に関する注意事項 | string |
応答
HTTP コード | Description | スキーマ |
---|---|---|
201 | 作成に成功 | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.21.18. deleteServiceKey
DELETE /api/v1/superuser/keys/{kid}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
kid | サービスキーの一意識別子 | string |
レスポンス
HTTP コード | Description | スキーマ |
---|---|---|
204 | 削除済み | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス |