docs/reference/dtr/2.7/api/main.js

22 lines
166 KiB
JavaScript

window.onload = function() {
// Build a system
const ui = SwaggerUIBundle({
spec:
{"swagger":"2.0","info":{"title":"Docker Trusted Registry","version":"2.7.0-29094adc"},"paths":{"/api/v0/accounts/language":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["accounts"],"summary":"Get the chosen language","operationId":"GetLanguage","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.Language"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.Language"}}}}},"/api/v0/accounts/{namespace}":{"delete":{"description":"\n\t*Authorization:* Client must be authenticated as a system admin.\n\t\t \t\t","consumes":["application/json"],"produces":["application/json"],"tags":["accounts"],"summary":"Removes a user or organization along with all repositories","operationId":"DeleteNamespace","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true}],"responses":{"204":{"description":"success or namespace does not exist"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_ACCOUNT: An account with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/accounts/{namespace}/repositories":{"delete":{"description":"\n\t*Authorization:* Client must be authenticated as a system admin, organization admin or user in question\n\t\t \t\t","consumes":["application/json"],"produces":["application/json"],"tags":["accounts"],"summary":"Removes all of a user or organization's repositories","operationId":"DeleteNamespaceRepositories","deprecated":true,"parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true}],"responses":{"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_ACCOUNT: An account with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/accounts/{namespace}/webhooks":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n\t\t \t\t","consumes":["application/json"],"produces":["application/json"],"tags":["accounts"],"summary":"List the webhook subscriptions for a namespace","operationId":"ListNamespaceWebhooks","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Webhook"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_ACCOUNT: An account with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Webhook"}}}}}},"/api/v0/accounts/{orgname}/teams/{teamname}/repositoryAccess":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who owns the organization the team is in or be a member of that team.\n\t \t\t","consumes":["application/json"],"produces":["application/json"],"tags":["accounts"],"summary":"List repository access grants for a team","operationId":"ListTeamRepoAccess","parameters":[{"type":"string","description":"organization account name","name":"orgname","in":"path","required":true},{"type":"string","description":"team name","name":"teamname","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.ListTeamRepoAccess"}},"400":{"description":"the team does not belong to the organization"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_TEAM: A team with the given name does not exist in the organization."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.ListTeamRepoAccess"}}}}},"/api/v0/accounts/{username}/repositoryAccess/{namespace}/{reponame}":{"get":{"description":"\n\t*Authorization:* Client must be authenticated either as the user in question or be a system admin.\n\t\t \t\t","consumes":["application/json"],"produces":["application/json"],"tags":["accounts"],"summary":"Check a user's access to a repository","operationId":"GetUserRepoAccess","parameters":[{"type":"string","description":"user account name","name":"username","in":"path","required":true},{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.RepoUserAccess"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.RepoUserAccess"}}}}},"/api/v0/accounts/{username}/settings":{"get":{"description":"\n*Authorization:* Client must be authenticated either as the user in question or be a system admin.\n\t\t \t\t","consumes":["application/json"],"produces":["application/json"],"tags":["accounts"],"summary":"Check a user's settings","operationId":"GetUserSettings","parameters":[{"type":"string","description":"user account name","name":"username","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.UserSettings"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_USER: A user with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.UserSettings"}}}},"patch":{"description":"\n*Authorization:* Client must be authenticated either as the user in question or be a system admin.\n\t\t","consumes":["application/json"],"produces":["application/json"],"tags":["accounts"],"summary":"Update a user's settings","operationId":"UpdateUserSettings","parameters":[{"type":"string","description":"user account name","name":"username","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.UserSettings"}}],"responses":{"200":{"description":"Successfully updated user settings."},"400":{"description":"INVALID_USER_SETTINGS: The submitted user settings change request contains invalid values."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_USER: A user with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully updated user settings."}}}},"/api/v0/action_configs":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["action_configs"],"summary":"List all action configs","operationId":"ListActionConfigs","responses":{"200":{"description":"Success, list of action configs returned.","schema":{"$ref":"#/definitions/tmpresponses.ActionConfigs"}},"default":{"description":"Success, list of action configs returned.","schema":{"$ref":"#/definitions/tmpresponses.ActionConfigs"}}}},"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["action_configs"],"summary":"Configure actions","operationId":"UpdateActionConfig","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tmpforms.ActionConfigCreate"}}],"responses":{"202":{"description":"Success.","schema":{"$ref":"#/definitions/tmpresponses.ActionConfig"}}}}},"/api/v0/action_configs/{action}":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["action_configs"],"summary":"Get info about the actionConfig with the given action","operationId":"GetActionConfig","parameters":[{"type":"string","description":"name of action to fetch the config for","name":"action","in":"path","required":true}],"responses":{"200":{"description":"Success, action config info returned.","schema":{"$ref":"#/definitions/tmpresponses.ActionConfig"}},"default":{"description":"Success, action config info returned.","schema":{"$ref":"#/definitions/tmpresponses.ActionConfig"}}}},"delete":{"consumes":["application/json"],"produces":["application/json"],"tags":["action_configs"],"summary":"Delete the action config. The defaults will be used.","operationId":"DeleteActionConfig","parameters":[{"type":"string","description":"the name of the action to delete the config for","name":"action","in":"path","required":true}],"responses":{"204":{"description":"Success, action config has been deleted."}}}},"/api/v0/api_tokens":{"get":{"description":"listUserAPITokensHandler","consumes":["application/json"],"produces":["application/json"],"tags":["api_tokens"],"summary":"Get all API tokens associated with user. Get all tokens if no user is not specified","operationId":"GetAllAPITokensByUser","parameters":[{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"},{"type":"string","description":"Limit the API token results to a specific user","name":"username","in":"query"}],"responses":{"200":{"description":"Successfully retrieved API tokens","schema":{"type":"array","items":{"$ref":"#/definitions/responses.APIToken"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_USER: A user with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully retrieved API tokens","schema":{"type":"array","items":{"$ref":"#/definitions/responses.APIToken"}}}}},"post":{"description":"createAPITokenHandler","consumes":["application/json"],"produces":["application/json"],"tags":["api_tokens"],"summary":"Create a new API token","operationId":"CreateAnAPIToken","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreateAPIToken"}},{"type":"string","description":"Limit the API token results to a specific user","name":"username","in":"query"}],"responses":{"200":{"description":"Successfully created API token","schema":{"$ref":"#/definitions/responses.NewAPIToken"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully created API token","schema":{"$ref":"#/definitions/responses.NewAPIToken"}}}},"delete":{"description":"cleanupAPITokenHleanupHandler","consumes":["application/json"],"produces":["application/json"],"tags":["api_tokens"],"summary":"Mass deletion of API tokens from database based on user, time created, and/or generation method","operationId":"APITokenCleanup","parameters":[{"type":"string","description":"Limit the API token results to a specific user","name":"username","in":"query"},{"type":"string","description":"The date on which the token was last used","name":"usedbefore","in":"query"},{"type":"string","default":"auto","description":"The method by which the token was created","name":"generatedby","in":"query"}],"responses":{"200":{"description":"Successfully cleaned up API tokens"},"400":{"description":"INVALID_PARAMETERS: Unable to parse query parameters"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_USER: A user with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully cleaned up API tokens"}}}},"/api/v0/api_tokens/{hashedtoken}":{"get":{"description":"getAPITokenHandler","consumes":["application/json"],"produces":["application/json"],"tags":["api_tokens"],"summary":"Get an API token's information based on it's token id","operationId":"GetAnAPIToken","parameters":[{"type":"string","description":"API token id","name":"hashedtoken","in":"path","required":true}],"responses":{"200":{"description":"Successfully retrieved API token","schema":{"$ref":"#/definitions/responses.APIToken"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_API_TOKEN: An API token with the id name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully retrieved API token","schema":{"$ref":"#/definitions/responses.APIToken"}}}},"delete":{"description":"deleteAPITokenHandler","consumes":["application/json"],"produces":["application/json"],"tags":["api_tokens"],"summary":"Delete a specific API token","operationId":"DeleteAnAPIToken","parameters":[{"type":"string","description":"API token id","name":"hashedtoken","in":"path","required":true}],"responses":{"200":{"description":"Successfully deleted API token"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_API_TOKEN: An API token with the id name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully deleted API token"}}},"patch":{"description":"updateAPITokenHandler","consumes":["application/json"],"produces":["application/json"],"tags":["api_tokens"],"summary":"Update information about a specific API token","operationId":"UpdateAnAPIToken","parameters":[{"type":"string","description":"API token id","name":"hashedtoken","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.UpdateAPIToken"}}],"responses":{"200":{"description":"Successfully updated API tokens","schema":{"$ref":"#/definitions/responses.APIToken"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_API_TOKEN: An API token with the id name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully updated API tokens","schema":{"$ref":"#/definitions/responses.APIToken"}}}}},"/api/v0/content_caches":{"get":{"description":"\n*Authorization:* Client must be authenticated as any active user in the system.\n\t\t","consumes":["application/json"],"produces":["application/json"],"tags":["content_caches"],"summary":"List all content caches","operationId":"ListContentCaches","responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ContentCache"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ContentCache"}}}}},"post":{"description":"\n*Authorization:* Client must be authenticated an admin.\n\t\t","consumes":["application/json"],"produces":["application/json"],"tags":["content_caches"],"summary":"Create content cache","operationId":"CreateContentCache","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreateContentCache"}}],"responses":{"201":{"description":"success","schema":{"$ref":"#/definitions/responses.ContentCache"}},"400":{"description":"invalid content cache details"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/content_caches/{contentcacheuuid}":{"get":{"description":"\n*Authorization:* Client must be authenticated as any active user in the system.\n\t\t","consumes":["application/json"],"produces":["application/json"],"tags":["content_caches"],"summary":"View details of a content cache","operationId":"GetContentCache","parameters":[{"type":"string","description":"uuid of content cache","name":"contentcacheuuid","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.ContentCache"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_CONTENT_CACHE: A content cache with the given uuid does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.ContentCache"}}}},"delete":{"description":"\n*Authorization:* Client must be authenticated an admin.\n\t\t","consumes":["application/json"],"produces":["application/json"],"tags":["content_caches"],"summary":"Remove a content cache","operationId":"DeleteContentCache","parameters":[{"type":"string","description":"uuid of content cache","name":"contentcacheuuid","in":"path","required":true}],"responses":{"204":{"description":"success or content cache does not exist"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_CONTENT_CACHE: A content cache with the given uuid does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/crons":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["crons"],"summary":"List all crons","operationId":"ListCrons","responses":{"200":{"description":"Success, list of crons returned.","schema":{"$ref":"#/definitions/tmpresponses.Crons"}},"default":{"description":"Success, list of crons returned.","schema":{"$ref":"#/definitions/tmpresponses.Crons"}}}},"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["crons"],"summary":"Create / update a periodic task","operationId":"UpdateCron","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tmpforms.CronCreate"}}],"responses":{"202":{"description":"Success.","schema":{"$ref":"#/definitions/tmpresponses.Cron"}}}}},"/api/v0/crons/{action}":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["crons"],"summary":"Get info about the cron with the given action","operationId":"GetCron","parameters":[{"type":"string","description":"action of the cron to fetch","name":"action","in":"path","required":true}],"responses":{"200":{"description":"Success, cron info returned.","schema":{"$ref":"#/definitions/tmpresponses.Cron"}},"default":{"description":"Success, cron info returned.","schema":{"$ref":"#/definitions/tmpresponses.Cron"}}}},"delete":{"consumes":["application/json"],"produces":["application/json"],"tags":["crons"],"summary":"Delete the cron. Jobs created from it will not be canceled.","operationId":"DeleteCron","parameters":[{"type":"string","description":"action of cron to delete","name":"action","in":"path","required":true}],"responses":{"204":{"description":"Success, cron has been deleted."}}}},"/api/v0/events":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["events"],"summary":"Get Events","operationId":"GetEvents","parameters":[{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"},{"type":"string","name":"publishedBefore","in":"query"},{"type":"string","name":"publishedAfter","in":"query"},{"type":"string","description":"UUID of the user or organization that performed the event","name":"actorId","in":"query"},{"type":"string","description":"Type of event action to filter by","name":"eventType","in":"query"},{"type":"string","description":"Type of event object to filter by","name":"objectType","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.Events"}},"400":{"description":"INVALID_PARAMETERS: Unable to parse query parameters"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.Events"}}}}},"/api/v0/imagescan/layeroverride":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Gets a list of all the available overrides","operationId":"GetLayerVulnOverrides","responses":{"200":{"description":"Successfully set vulnerability override","schema":{"type":"array","items":{"$ref":"#/definitions/responses.LayerVulnOverride"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"500":{"description":"INTERNAL_ERROR: An internal server error occurred. Contact a system administrator for more information."},"default":{"description":"Successfully set vulnerability override","schema":{"type":"array","items":{"$ref":"#/definitions/responses.LayerVulnOverride"}}}}}},"/api/v0/imagescan/layeroverride/{layerid}":{"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Sets a vulnerability override for the given layer","operationId":"SetLayerVulnOverride","parameters":[{"type":"string","description":"layer id","name":"layerid","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.VulnOverrideOption"}}],"responses":{"200":{"description":"Successfully set vulnerability override"},"400":{"description":"INVALID_SETTINGS: The submitted settings change request contains invalid values."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_LAYER: A layer with the given sha does not exist in the repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"500":{"description":"INTERNAL_ERROR: An internal server error occurred. Contact a system administrator for more information."},"default":{"description":"Successfully set vulnerability override"}}}},"/api/v0/imagescan/layeroverride/{vulnerabilityid}":{"delete":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Deletes a layer vulnerability override","operationId":"DeleteLayerVulnOverride","parameters":[{"type":"string","description":"vulnerability id","name":"vulnerabilityid","in":"path","required":true}],"responses":{"200":{"description":"OK"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_LAYER: A layer with the given sha does not exist in the repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK"}}}},"/api/v0/imagescan/repositories/{namespace}/{reponame}/{tag}":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Deprecated use /scansummary/repositories/{namespace}/{reponame}/{tag}","operationId":"GetSummaryByManifestDigest","deprecated":true,"parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"tag name","name":"tag","in":"path","required":true},{"type":"boolean","default":true,"description":"Whether to include detailed summary results","name":"detailed","in":"query"},{"type":"string","description":"Operating system of the tag","name":"os","in":"query"},{"type":"string","description":"Architecture of the tag","name":"arch","in":"query"}],"responses":{"200":{"description":"Successfully retrieved summary.","schema":{"type":"array","items":{"$ref":"#/definitions/responses.OldScanSummary"}}},"400":{"description":"SCANNING_NOT_ENABLED: Scanning is not enabled"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_TAG: A tag with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully retrieved summary.","schema":{"type":"array","items":{"$ref":"#/definitions/responses.OldScanSummary"}}}}}},"/api/v0/imagescan/scan":{"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Do a scan or a scan/check of all layers","operationId":"ScanAllLayers","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.ScanOptions"}}],"responses":{"200":{"description":"Successfully submitted all layers to jobrunner for scan/check."},"400":{"description":"SCANNING_NOT_ENABLED: Scanning is not enabled"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully submitted all layers to jobrunner for scan/check."}}}},"/api/v0/imagescan/scan/update":{"put":{"consumes":["multipart/form-data","application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Update the vulnerability database for security scanning","operationId":"UpdateVulnDB","parameters":[{"type":"boolean","default":false,"description":"Init or update vuln db in online mode.","name":"online","in":"query"},{"type":"file","description":"Upload file to init database","name":"file","in":"formData"}],"responses":{"200":{"description":"Successfully started to updated vulnerability DB."},"400":{"description":"SCANNING_DB_NOT_READY: Scanning DB is not ready"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully started to updated vulnerability DB."}}}},"/api/v0/imagescan/scan/{namespace}/{reponame}/{tag}/{os}/{arch}":{"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Do a scan or a scan/check of given image","operationId":"ScanImage","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"tag name","name":"tag","in":"path","required":true},{"type":"string","description":"operating system of the tag","name":"os","in":"path","required":true},{"type":"string","description":"architecture of the tag","name":"arch","in":"path","required":true}],"responses":{"200":{"description":"Successfully submitted image to jobrunner for scan/check."},"400":{"description":"SCANNING_NOT_ENABLED: Scanning is not enabled"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_TAG: A tag with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully submitted image to jobrunner for scan/check."}}}},"/api/v0/imagescan/scansummary/component/{component}":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Get the image by component","operationId":"GetScannedImageByComponent","parameters":[{"type":"string","description":"component","name":"component","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"},{"type":"boolean","default":true,"description":"Whether to include scan status summary results","name":"scanstatus","in":"query"}],"responses":{"200":{"description":"Successfully retrieved images","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ScanSummary"}}},"400":{"description":"SCANNING_NOT_ENABLED: Scanning is not enabled"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_TAG: A tag with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully retrieved images","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ScanSummary"}}}}}},"/api/v0/imagescan/scansummary/cve/{cve}":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Get the image by CVE","operationId":"GetScannedImageByCVE","parameters":[{"type":"string","description":"cve","name":"cve","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"},{"type":"boolean","default":true,"description":"Whether to include scan status summary results","name":"scanstatus","in":"query"}],"responses":{"200":{"description":"Successfully retrieved images","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ScanSummary"}}},"400":{"description":"SCANNING_NOT_ENABLED: Scanning is not enabled"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_TAG: A tag with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully retrieved images","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ScanSummary"}}}}}},"/api/v0/imagescan/scansummary/layer/{layerid}":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Get the image by layer sha","operationId":"GetScannedImageByLayer","parameters":[{"type":"string","description":"layer id","name":"layerid","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"},{"type":"boolean","default":true,"description":"Whether to include scan status summary results","name":"scanstatus","in":"query"}],"responses":{"200":{"description":"Successfully retrieved images","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ScanSummary"}}},"400":{"description":"SCANNING_NOT_ENABLED: Scanning is not enabled"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_LAYER: A layer with the given sha does not exist in the repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully retrieved images","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ScanSummary"}}}}}},"/api/v0/imagescan/scansummary/license/{license}":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Get the image by license","operationId":"GetScannedImageByLicense","parameters":[{"type":"string","description":"license","name":"license","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"},{"type":"boolean","default":true,"description":"Whether to include scan status summary results","name":"scanstatus","in":"query"}],"responses":{"200":{"description":"Successfully retrieved images","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ScanSummary"}}},"400":{"description":"SCANNING_NOT_ENABLED: Scanning is not enabled"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_TAG: A tag with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully retrieved images","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ScanSummary"}}}}}},"/api/v0/imagescan/scansummary/repositories/{namespace}/{reponame}/{reference}":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Get the scan summary info on a namespace/repo:tag or namespace/repo@digest","operationId":"GetScanSummary","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"digest or tag for an image manifest","name":"reference","in":"path","required":true},{"type":"boolean","default":true,"description":"Whether to include scan status summary results","name":"scanstatus","in":"query"},{"type":"string","description":"Operating system of the tag","name":"os","in":"query"},{"type":"string","description":"Architecture of the tag","name":"arch","in":"query"}],"responses":{"200":{"description":"Successfully retrieved summary.","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ScanSummary"}}},"400":{"description":"SCANNING_NOT_ENABLED: Scanning is not enabled"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_REF: A ref with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully retrieved summary.","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ScanSummary"}}}}}},"/api/v0/imagescan/scansummary/repositories/{namespace}/{reponame}/{tag}/export":{"get":{"consumes":["application/json"],"produces":["text/csv","application/json"],"tags":["imagescan"],"summary":"Get the scan summary info on a namespace/repo:tag as a file","operationId":"ExportScanSummary","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"tag name","name":"tag","in":"path","required":true},{"type":"boolean","default":true,"description":"Whether to include scan status summary results","name":"scanstatus","in":"query"},{"type":"string","description":"Operating system of the tag","name":"os","in":"query"},{"type":"string","description":"Architecture of the tag","name":"arch","in":"query"},{"type":"string","description":"Scan summary exported filetype","name":"Accept","in":"header"}],"responses":{"400":{"description":"INVALID_PARAMETERS: Unable to parse query parameters"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_TAG: A tag with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/imagescan/scansummary/tags":{"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Get a list of scan summaries","operationId":"GetScanSummaries","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.ImagesForm"}}],"responses":{"200":{"description":"Successfully retrieved summary.","schema":{"$ref":"#/definitions/responses.ThinScanSummaries"}},"400":{"description":"INVALID_PARAMETERS: Unable to parse query parameters"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully retrieved summary.","schema":{"$ref":"#/definitions/responses.ThinScanSummaries"}}}}},"/api/v0/imagescan/status":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["imagescan"],"summary":"Get the status and version of scanning service","operationId":"GetNautilusDBStatus","responses":{"200":{"description":"Successfully retrieved DB status","schema":{"$ref":"#/definitions/responses.NautilusStatus"}},"400":{"description":"SCANNING_NOT_ENABLED: Scanning is not enabled"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully retrieved DB status","schema":{"$ref":"#/definitions/responses.NautilusStatus"}}}}},"/api/v0/index/autocomplete":{"get":{"description":"\nRepository results will be filtered to only those repositories visible to the client. Account results will not be filtered.\n","consumes":["application/json"],"produces":["application/json"],"tags":["index"],"summary":"Autocompletion for repositories and/or accounts","operationId":"Autocomplete","parameters":[{"type":"string","description":"Autocomplete query","name":"query","in":"query","required":true},{"type":"boolean","default":true,"description":"Whether to include repositories in the response","name":"includeRepositories","in":"query"},{"type":"boolean","default":true,"description":"Whether to include accounts in the response","name":"includeAccounts","in":"query"},{"type":"string","description":"Exact repository namespace to limit results to.","name":"namespace","in":"query"},{"type":"number","default":25,"name":"limit","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.Autocomplete"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.Autocomplete"}}}}},"/api/v0/index/dockersearch":{"get":{"description":"\nThis is used for the Docker CLI's docker search command. Repository results will be filtered to only those repositories visible to the client.\n","consumes":["application/json"],"produces":["application/json"],"tags":["index"],"summary":"Search Docker repositories","operationId":"Docker Search","parameters":[{"type":"string","description":"Search query","name":"q","in":"query","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.DockerSearch"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.DockerSearch"}}}}},"/api/v0/jobs":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["jobs"],"summary":"List all jobs ordered by most recently scheduled","operationId":"ListJobs","parameters":[{"type":"string","default":"any","description":"Filter jobs by action.","name":"action","in":"query"},{"type":"string","default":"any","description":"Filter jobs by worker ID.","name":"worker","in":"query"},{"type":"string","default":"any","description":"Show only jobs that are running.","name":"running","in":"query"},{"type":"integer","default":0,"description":"Return most recently scheduled jobs starting from this offset index.","name":"start","in":"query"},{"type":"integer","default":10,"description":"Maximum number of jobs per page of results.","name":"limit","in":"query"}],"responses":{"200":{"description":"Success, list of jobs returned.","schema":{"$ref":"#/definitions/tmpresponses.Jobs"}},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"default":{"description":"Success, list of jobs returned.","schema":{"$ref":"#/definitions/tmpresponses.Jobs"}}}},"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["jobs"],"summary":"Schedule a job to be run immediately","operationId":"CreateJob","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tmpforms.JobSubmission"}}],"responses":{"202":{"description":"Success, job waiting to be claimed.","schema":{"$ref":"#/definitions/tmpresponses.Job"}},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."}}}},"/api/v0/jobs/{jobID}":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["jobs"],"summary":"Get info about the job with the given ID","operationId":"GetJob","parameters":[{"type":"string","description":"ID of job to fetch","name":"jobID","in":"path","required":true}],"responses":{"200":{"description":"Success, job info returned.","schema":{"$ref":"#/definitions/tmpresponses.Job"}},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"default":{"description":"Success, job info returned.","schema":{"$ref":"#/definitions/tmpresponses.Job"}}}},"delete":{"consumes":["application/json"],"produces":["application/json"],"tags":["jobs"],"summary":"Signal this job's worker to cancel and delete the job","operationId":"DeleteJobs","parameters":[{"type":"string","description":"ID of job to delete","name":"jobID","in":"path","required":true}],"responses":{"204":{"description":"Success, job has been deleted."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."}}}},"/api/v0/jobs/{jobID}/cancel":{"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["jobs"],"summary":"Signal this job's worker to cancel the job","operationId":"CancelJob","parameters":[{"type":"string","description":"ID of job to cancel","name":"jobID","in":"path","required":true}],"responses":{"204":{"description":"Success, job has been canceled."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."}}}},"/api/v0/jobs/{jobID}/logs":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["jobs"],"summary":"Retrieve logs for this job from its worker","operationId":"GetJobLogs","parameters":[{"type":"string","description":"ID of job whose logs to retrieve","name":"jobID","in":"path","required":true},{"type":"boolean","default":false,"description":"t/f: stream new logs","name":"stream","in":"query"},{"type":"integer","default":0,"description":"Line number to start from","name":"offset","in":"query"},{"type":"integer","default":0,"description":"Number of lines to return if not streaming","name":"limit","in":"query"}],"responses":{"200":{"description":"Success, job's logs returned.","schema":{"type":"array","items":{"$ref":"#/definitions/tmpresponses.JobLog"}}},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"default":{"description":"Success, job's logs returned.","schema":{"type":"array","items":{"$ref":"#/definitions/tmpresponses.JobLog"}}}}}},"/api/v0/meta/alerts":{"get":{"description":"\n*Authorization:* Client must be authenticated an admin.\n\t\t","consumes":["application/json"],"produces":["application/json"],"tags":["meta"],"summary":"Get alerts","operationId":"GetAlerts","responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Alert"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Alert"}}}}}},"/api/v0/meta/cluster_status":{"get":{"description":"\n*Authorization:* Client must be authenticated an admin.\n\t\t","consumes":["application/json"],"produces":["application/json"],"tags":["meta"],"summary":"Get cluster status","operationId":"GetClusterStatus","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.ClusterStatus"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.ClusterStatus"}}}}},"/api/v0/meta/features":{"get":{"description":"\n*Authorization:* Client must be authenticated as any active user in the system\n\t\t","consumes":["application/json"],"produces":["application/json"],"tags":["meta"],"summary":"Get features","operationId":"GetFeatures","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.Features"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.Features"}}}}},"/api/v0/meta/settings":{"get":{"description":"\n*Authorization:* Client must be authenticated an admin.\n\t\t","consumes":["application/json"],"produces":["application/json"],"tags":["meta"],"summary":"Get settings","operationId":"GetSettings","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.Settings"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.Settings"}}}},"post":{"description":"\n*Authorization:* Client must be authenticated an admin.\n\t\t","consumes":["application/json"],"produces":["application/json"],"tags":["meta"],"summary":"Update settings","operationId":"UpdateSettings","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.Settings"}}],"responses":{"202":{"description":"success"},"400":{"description":"INVALID_SETTINGS: The submitted settings change request contains invalid values."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/remote/registry":{"post":{"description":"\n*Authorization:* Client must be authenticated as any active user in the system. Credentials provided in the request body must be for an active user in the remote system.\n\t\t","consumes":["application/json"],"produces":["application/json"],"tags":["remote"],"summary":"Create a check for connection status of remote registry","operationId":"CreateRemoteRegistryCheck","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreateRemoteRegistryCheck"}}],"responses":{"201":{"description":"success","schema":{"$ref":"#/definitions/responses.RemoteRegistryCheck"}},"400":{"description":"REMOTE_REGISTRY_INVALID_PERMISSIONS: Remote user not authorized to access the requested resource."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories":{"get":{"description":"\n*Authorization:* Client must be authenticated as any active user in the system. Results will be filtered to only those repositories visible to the client.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List all repositories","operationId":"ListRepositories","parameters":[{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.Repositories"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.Repositories"}}}}},"/api/v0/repositories/scan/toggle":{"post":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" access to the repository\n(i.e., user owns the repo or is a member of a team with \"admin\" level access to the organization\"s repository).\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Toggles scan on push for all repositories","operationId":"ToggleAllRepositoriesScanOnPush","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.ToggleScanOnPush"}}],"responses":{"200":{"description":"Successfully toggled scan on push for all repositories."},"400":{"description":"INVALID_JSON: Unable to parse JSON"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"Successfully toggled scan on push for all repositories."}}}},"/api/v0/repositories/{namespace}":{"get":{"description":"\n*Authorization:* Client must be authenticated as any active user in the system. Results will be filtered to only those repositories visible to the client.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List repositories in a namespace","operationId":"ListNamespaceRepositories","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.Repositories"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_ACCOUNT: An account with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.Repositories"}}}},"post":{"description":"\n*Authorization:* Client must be authenticated as a user who has admin access to the\nrepository namespace (i.e., user owns the repo or is a member of a team with\n\"admin\" level access to the organization's namespace of repositories).\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Create repository","operationId":"CreateRepository","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreateRepo"}}],"responses":{"201":{"description":"success","schema":{"$ref":"#/definitions/responses.Repository"}},"400":{"description":"REPOSITORY_EXISTS: A repository with the same name already exists."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_ACCOUNT: An account with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"View details of a repository","operationId":"GetRepository","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.Repository"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.Repository"}}}},"delete":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" access to the repository\n(i.e., user owns the repo or is a member of a team with \"admin\" level access to the organization\"s repository).\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Remove a repository","operationId":"DeleteRepository","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"The domain used to push tags to DTR. Must be set to obtain/manipulate Notary related information","name":"domain","in":"query"}],"responses":{"204":{"description":"success or repository does not exist"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"REPOSITORY_CONTAINS_TAGS_IN_NOTARY: This repository contains tags in notary and can't be deleted until all tags in notary are removed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}},"patch":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" access to the repository\n(i.e., user owns the repo or is a member of a team with \"admin\" level access to the organization\"s repository).\n\nNote that a repository cannot be renamed this way.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Update details of a repository","operationId":"PatchRepository","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.UpdateRepo"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.Repository"}},"400":{"description":"INVALID_REPOSITORY_VISIBILITY: The visibility value of the repository is invalid."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.Repository"}}}}},"/api/v0/repositories/{namespace}/{reponame}/events":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to local repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List the events for a repository","operationId":"ListRepoEvents","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"},{"type":"string","name":"publishedBefore","in":"query"},{"type":"string","name":"publishedAfter","in":"query"},{"type":"string","description":"UUID of the user or organization that performed the event","name":"actorId","in":"query"},{"type":"string","description":"Type of event action to filter by","name":"eventType","in":"query"},{"type":"string","description":"Type of event object to filter by","name":"objectType","in":"query"},{"type":"boolean","default":false,"description":"Exclude image pull events","name":"excludePull","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.Events"}},"400":{"description":"INVALID_PARAMETERS: Unable to parse query parameters"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.Events"}}}}},"/api/v0/repositories/{namespace}/{reponame}/manifests":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List the available manifests for a repository","operationId":"ListRepoManifests","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Manifest"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Manifest"}}}}}},"/api/v0/repositories/{namespace}/{reponame}/manifests/{reference}":{"delete":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"write\" level access to the repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Delete a manifest for a repository","operationId":"DeleteRepoManifest","deprecated":true,"parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"digest or tag for an image manifest","name":"reference","in":"path","required":true}],"responses":{"204":{"description":"success"},"400":{"description":"INVALID_DIGEST: The given digest is invalid."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REF: A ref with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/mirroringPolicies":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to local repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List the mirroring policies for a repository","operationId":"ListRepoMirroringPolicies","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.MirroringPolicy"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.MirroringPolicy"}}}}},"delete":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the local repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Deletes a set of mirroring policies for a repository","operationId":"DeleteRepoMirroringPolicies","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/forms.DeleteMirroringPolicyIDs"}}}],"responses":{"204":{"description":"success"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/pollMirroringPolicies":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to local repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List the poll mirroring policies for a repository","operationId":"ListRepoPollMirroringPolicies","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.PollMirroringPolicy"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.PollMirroringPolicy"}}}}},"post":{"description":"*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the local repository and credentials to the remote repository.","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Create a poll mirroring policy for a repository","operationId":"CreateRepoPollMirroringPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreatePollMirroringPolicy"}},{"type":"boolean","default":true,"description":"Whether to evaluate the policy on creation","name":"initialEvaluation","in":"query"}],"responses":{"201":{"description":"success","schema":{"$ref":"#/definitions/responses.PollMirroringPolicy"}},"400":{"description":"REMOTE_REGISTRY_INVALID_PERMISSIONS: Remote user not authorized to access the requested resource."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"INVALID_POLL_MIRRORING_POLICY: The given poll mirroring policy is invalid."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/pollMirroringPolicies/{pollmirroringpolicyid}":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the local repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Retrieve a specific poll mirroring policy for a repository","operationId":"GetRepoPollMirroringPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"poll mirroring policy id","name":"pollmirroringpolicyid","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.PollMirroringPolicy"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_POLL_MIRRORING_POLICY: A poll mirroring policy with the given id does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.PollMirroringPolicy"}}}},"put":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the local repository and credentials to the remote repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Updates a specific poll mirroring policy for a repository","operationId":"UpdateRepoPollMirroringPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"poll mirroring policy id","name":"pollmirroringpolicyid","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.UpdatePollMirroringPolicy"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.PollMirroringPolicy"}},"400":{"description":"REMOTE_REGISTRY_INVALID_PERMISSIONS: Remote user not authorized to access the requested resource."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"INVALID_POLL_MIRRORING_POLICY: The given poll mirroring policy is invalid."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.PollMirroringPolicy"}}}},"delete":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the local repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Deletes a specific poll mirroring policy for a repository","operationId":"DeleteRepoPollMirroringPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"poll mirroring policy id","name":"pollmirroringpolicyid","in":"path","required":true}],"responses":{"204":{"description":"success or poll mirroring policy does not exist"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_POLL_MIRRORING_POLICY: A poll mirroring policy with the given id does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/promotionPolicies":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the source or target repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List the promotion policies for a repository","operationId":"ListRepoPromotionPolicies","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"boolean","default":true,"description":"Whether to list promotion policies for a repository as a source or destination.","name":"source","in":"query"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.PromotionPolicy"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.PromotionPolicy"}}}}},"post":{"description":"*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the source and target repository.\nRules for the policy can be on the following fields and their respective operators:\n- \"tag\"\n\t- \"eq\": equals\n\t- \"sw\": starts with\n\t- \"ew\": ends with\n\t- \"c\": contains\n\t- \"oo\": one of\n\t- \"noo\": not one of\n- \"license.name\"\n\t- \"oo\": one of\n\t- \"noo\": not one of\n- \"component.name\"\n\t- \"oo\": one of\n\t- \"noo\": not one of\n- \"vulnerability_all\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"vulnerability_critical\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"vulnerability_major\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"vulnerability_minor\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"updated_at\"\n\t- \"bf\": before\n\t- \"af\": after\n- \"updated_at_duration\"\n\t- \"bf\": before\n\t- \"af\": after\n\nThe tag template is used to rename the tag in the target repository. The\nfollowing symbols are allowed:\n- \"%n\": The tag to promote (e.g. 1, 4.5, latest)\n- \"%A\": Day of the week (e.g. Sunday, Monday)\n- \"%a\": Day of the week, abbreviated (e.g. Sun, Mon , Tue)\n- \"%w\": Day of the week, as a number (e.g. 0, 1, 6)\n- \"%d\": Number for the day of the month (e.g. 01, 15, 31)\n- \"%B\": Month (e.g. January, December)\n- \"%b\": Month, abbreviated (e.g. Jan, Jun, Dec)\n- \"%m\": Month, as a number (e.g. 01, 06, 12)\n- \"%Y\": Year (e.g. 1999, 2015, 2048)\n- \"%y\": Year, two digits (e.g. 99, 15, 48)\n- \"%H\": Hour, in 24 hour format (e.g. 00, 12, 23)\n- \"%I\": Hour, in 12 hour format (e.g. 01, 10, 10)\n- \"%p\": Period of the day (e.g. AM, PM)\n- \"%M\": Minute (e.g. 00, 10, 59)\n- \"%S\": Second (e.g. 00, 10, 59)\n- \"%f\": Microsecond (e.g. 000000, 999999)\n- \"%Z\": Name for the timezone (e.g. UTC, PST, EST)\n- \"%j\": Day of the year (e.g. 001, 200, 366)\n- \"%W\": Week of the year (e.g. 00, 10 , 53)\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Create a promotion policy for a repository","operationId":"CreateRepoPromotionPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreatePromotionPolicy"}},{"type":"boolean","default":true,"description":"Whether to evaluate the policy on creation","name":"initialEvaluation","in":"query"}],"responses":{"201":{"description":"success","schema":{"$ref":"#/definitions/responses.PromotionPolicy"}},"400":{"description":"INVALID_PROMOTION_POLICY: The given promotion policy is invalid."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/promotionPolicies/{promotionpolicyid}":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the source or target repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Retrieve a specific promotion policy for a repository","operationId":"GetRepoPromotionPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"promotion policy id","name":"promotionpolicyid","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.PromotionPolicy"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_PROMOTION_POLICY: A promotion policy with the given id does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.PromotionPolicy"}}}},"put":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the source and target repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Updates a specific promotion policy for a repository","operationId":"UpdateRepoPromotionPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"promotion policy id","name":"promotionpolicyid","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.UpdatePromotionPolicy"}},{"type":"boolean","default":true,"description":"Whether to evaluate the policy on creation","name":"initialEvaluation","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.PromotionPolicy"}},"400":{"description":"INVALID_PROMOTION_POLICY: The given promotion policy is invalid."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_PROMOTION_POLICY: A promotion policy with the given id does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.PromotionPolicy"}}}},"delete":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the source or target repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Deletes a specific promotion policy for a repository","operationId":"DeleteRepoPromotionPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"promotion policy id","name":"promotionpolicyid","in":"path","required":true}],"responses":{"204":{"description":"success or promotion policy does not exist"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_PROMOTION_POLICY: A promotion policy with the given id does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/pruningPolicies":{"get":{"description":"*Authorization:* Client must be authenticated as a user who has visibility to the repository.","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List the pruning policies for a repository","operationId":"ListRepoPruningPolicies","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.PruningPolicy"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.PruningPolicy"}}}}},"post":{"description":"*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\nRules for the policy can be on the following fields and their respective operators:\n- \"tag\"\n\t- \"eq\": equals\n\t- \"sw\": starts with\n\t- \"ew\": ends with\n\t- \"c\": contains\n\t- \"oo\": one of\n\t- \"noo\": not one of\n- \"license.name\"\n\t- \"oo\": one of\n\t- \"noo\": not one of\n- \"component.name\"\n\t- \"oo\": one of\n\t- \"noo\": not one of\n- \"vulnerability_all\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"vulnerability_critical\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"vulnerability_major\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"vulnerability_minor\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"updated_at\"\n\t- \"bf\": before\n\t- \"af\": after\n- \"updated_at_duration\"\n\t- \"bf\": before\n\t- \"af\": after\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Create a pruning policy for a repository","operationId":"CreateRepoPruningPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreatePruningPolicy"}},{"type":"boolean","default":true,"description":"Whether to evaluate the policy on creation","name":"initialEvaluation","in":"query"}],"responses":{"201":{"description":"success","schema":{"$ref":"#/definitions/responses.PruningPolicy"}},"400":{"description":"REMOTE_REGISTRY_INVALID_PERMISSIONS: Remote user not authorized to access the requested resource."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"INVALID_PRUNING_POLICY: The given pruning policy is invalid."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/pruningPolicies/test":{"post":{"description":"*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Test a pruning policy for a repository","operationId":"TestRepoPruningPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreatePruningPolicy"}},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ThinTag"}}},"400":{"description":"REMOTE_REGISTRY_INVALID_PERMISSIONS: Remote user not authorized to access the requested resource."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"INVALID_PRUNING_POLICY: The given pruning policy is invalid."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ThinTag"}}}}}},"/api/v0/repositories/{namespace}/{reponame}/pruningPolicies/{pruningpolicyid}":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the local repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Retrieve a specific pruning policy for a repository","operationId":"GetRepoPruningPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"pruning policy id","name":"pruningpolicyid","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.PruningPolicy"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_PRUNING_POLICY: A pruning policy with the given id does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.PruningPolicy"}}}},"put":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Updates a specific pruning policy for a repository","operationId":"UpdateRepoPruningPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"pruning policy id","name":"pruningpolicyid","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.UpdatePruningPolicy"}},{"type":"boolean","default":true,"description":"Whether to evaluate the policy on creation","name":"initialEvaluation","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.PruningPolicy"}},"400":{"description":"REMOTE_REGISTRY_INVALID_PERMISSIONS: Remote user not authorized to access the requested resource."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"INVALID_PRUNING_POLICY: The given pruning policy is invalid."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.PruningPolicy"}}}},"delete":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Deletes a specific pruning policy for a repository","operationId":"DeleteRepoPruningPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"pruning policy id","name":"pruningpolicyid","in":"path","required":true}],"responses":{"204":{"description":"success or pruning policy does not exist"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_PRUNING_POLICY: A pruning policy with the given id does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/pushMirroringPolicies":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to local repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List the push mirroring policies for a repository","operationId":"ListRepoPushMirroringPolicies","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.PushMirroringPolicy"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.PushMirroringPolicy"}}}}},"post":{"description":"*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the local repository and credentials to the remote repository.\nRules for the policy can be on the following fields and their respective operators:\n- \"tag\"\n\t- \"eq\": equals\n\t- \"sw\": starts with\n\t- \"ew\": ends with\n\t- \"c\": contains\n\t- \"oo\": one of\n\t- \"noo\": not one of\n- \"license.name\"\n\t- \"oo\": one of\n\t- \"noo\": not one of\n- \"component.name\"\n\t- \"oo\": one of\n\t- \"noo\": not one of\n- \"vulnerability_all\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"vulnerability_critical\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"vulnerability_major\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"vulnerability_minor\"\n\t- \"gte\": greater than or equals\n\t- \"gt\": greater than\n\t- \"eq\": equals\n\t- \"neq\": not equals\n\t- \"lte\": less than or equals\n\t- \"lt\": less than\n- \"updated_at\"\n\t- \"bf\": before\n\t- \"af\": after\n- \"updated_at_duration\"\n\t- \"bf\": before\n\t- \"af\": after\n\nThe tag template is used to rename the tag in the target repository. The\nfollowing symbols are allowed:\n- \"%n\": The tag to promote (e.g. 1, 4.5, latest)\n- \"%A\": Day of the week (e.g. Sunday, Monday)\n- \"%a\": Day of the week, abbreviated (e.g. Sun, Mon , Tue)\n- \"%w\": Day of the week, as a number (e.g. 0, 1, 6)\n- \"%d\": Number for the day of the month (e.g. 01, 15, 31)\n- \"%B\": Month (e.g. January, December)\n- \"%b\": Month, abbreviated (e.g. Jan, Jun, Dec)\n- \"%m\": Month, as a number (e.g. 01, 06, 12)\n- \"%Y\": Year (e.g. 1999, 2015, 2048)\n- \"%y\": Year, two digits (e.g. 99, 15, 48)\n- \"%H\": Hour, in 24 hour format (e.g. 00, 12, 23)\n- \"%I\": Hour, in 12 hour format (e.g. 01, 10, 10)\n- \"%p\": Period of the day (e.g. AM, PM)\n- \"%M\": Minute (e.g. 00, 10, 59)\n- \"%S\": Second (e.g. 00, 10, 59)\n- \"%f\": Microsecond (e.g. 000000, 999999)\n- \"%Z\": Name for the timezone (e.g. UTC, PST, EST)\n- \"%j\": Day of the year (e.g. 001, 200, 366)\n- \"%W\": Week of the year (e.g. 00, 10 , 53)\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Create a push mirroring policy for a repository","operationId":"CreateRepoPushMirroringPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreatePushMirroringPolicy"}},{"type":"boolean","default":true,"description":"Whether to evaluate the policy on creation","name":"initialEvaluation","in":"query"}],"responses":{"201":{"description":"success","schema":{"$ref":"#/definitions/responses.PushMirroringPolicy"}},"400":{"description":"REMOTE_REGISTRY_INVALID_PERMISSIONS: Remote user not authorized to access the requested resource."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"INVALID_PUSH_MIRRORING_POLICY: The given push mirroring policy is invalid."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/pushMirroringPolicies/{pushmirroringpolicyid}":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the local repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Retrieve a specific push mirroring policy for a repository","operationId":"GetRepoPushMirroringPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"push mirroring policy id","name":"pushmirroringpolicyid","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.PushMirroringPolicy"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_PUSH_MIRRORING_POLICY: A push mirroring policy with the given id does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.PushMirroringPolicy"}}}},"put":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the local repository and credentials to the remote repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Updates a specific push mirroring policy for a repository","operationId":"UpdateRepoPushMirroringPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"push mirroring policy id","name":"pushmirroringpolicyid","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.UpdatePushMirroringPolicy"}},{"type":"boolean","default":true,"description":"Whether to evaluate the policy on creation","name":"initialEvaluation","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.PushMirroringPolicy"}},"400":{"description":"REMOTE_REGISTRY_INVALID_PERMISSIONS: Remote user not authorized to access the requested resource."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"INVALID_PUSH_MIRRORING_POLICY: The given push mirroring policy is invalid."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.PushMirroringPolicy"}}}},"delete":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the local repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Deletes a specific push mirroring policy for a repository","operationId":"DeleteRepoPushMirroringPolicy","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"push mirroring policy id","name":"pushmirroringpolicyid","in":"path","required":true}],"responses":{"204":{"description":"success or push mirroring policy does not exist"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_PUSH_MIRRORING_POLICY: A push mirroring policy with the given id does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/tags":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List the available tags for a repository","operationId":"ListRepoTags","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the manifest for each tag","name":"includeManifests","in":"query"},{"type":"string","description":"The domain used to push tags to DTR. Must be set to obtain/manipulate Notary related information","name":"domain","in":"query"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ListTag"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.ListTag"}}}}}},"/api/v0/repositories/{namespace}/{reponame}/tags/{reference}":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the repository.\nIf the ref given is to a manifest list, multiple Tag objects will be returned, one for each manifest in the list.\nSimilarly if the ref is a digest the API will return all tags referencing that digest.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Retrieve a specific tag for a repository","operationId":"ListRepoTag","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"digest or tag for an image manifest","name":"reference","in":"path","required":true},{"type":"string","description":"The domain used to push tags to DTR. Must be set to obtain/manipulate Notary related information","name":"domain","in":"query"},{"type":"string","description":"Operating system of the tag","name":"os","in":"query"},{"type":"string","description":"Architecture of the tag","name":"arch","in":"query"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Tag"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REF: A ref with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Tag"}}}}}},"/api/v0/repositories/{namespace}/{reponame}/tags/{tag}":{"delete":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"write\" level access to the repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Delete a tag for a repository","operationId":"DeleteRepoTag","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"tag name","name":"tag","in":"path","required":true},{"type":"string","description":"The domain used to push tags to DTR. Must be set to obtain/manipulate Notary related information","name":"domain","in":"query"}],"responses":{"204":{"description":"success"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_TAG: A tag with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"409":{"description":"TAG_IN_NOTARY: This tag is in notary and can't be deleted until it is removed from notary"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/tags/{tag}/promotion":{"post":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"read\" level access to the source repository and \"write\" level access to the target repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Promotes a specific tag for a repository","operationId":"CreateRepoTagPromotion","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"tag name","name":"tag","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreatePromotion"}}],"responses":{"201":{"description":"success","schema":{"$ref":"#/definitions/responses.Promotion"}},"400":{"description":"INVALID_TAG_NAME: The given tag name is either too long or contains illegal characters."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_TAG: A tag with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/tags/{tag}/pushMirroring":{"post":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"read\" level access to the local repository and \"write\" level access to the remote repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Mirrors a local tag by pushing to a remote repository","operationId":"CreateRepoTagPushMirroring","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"tag name","name":"tag","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreateMirroring"}}],"responses":{"201":{"description":"success","schema":{"$ref":"#/definitions/responses.Mirroring"}},"400":{"description":"INVALID_TAG_NAME: The given tag name is either too long or contains illegal characters."},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_TAG: A tag with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/teamAccess":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List teams granted access to an organization-owned repository","operationId":"ListRepoTeamAccess","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.ListRepoTeamAccess"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.ListRepoTeamAccess"}}}}},"/api/v0/repositories/{namespace}/{reponame}/teamAccess/{teamname}":{"put":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Set a team's access to an orgnization-owned repository","operationId":"GrantRepoTeamAccess","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"team name","name":"teamname","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.Access"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.ListRepoTeamAccess"}},"400":{"description":"the team does not belong to the organization"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_TEAM: A team with the given name does not exist in the organization."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.ListRepoTeamAccess"}}}},"delete":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"Revoke a team's acccess to an organization-owned repository","operationId":"RevokeRepoTeamAccess","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true},{"type":"string","description":"team name","name":"teamname","in":"path","required":true}],"responses":{"204":{"description":"success or the team is not in the access list or there is no such team in the organization"},"400":{"description":"the repository is not owned by an organization"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_TEAM: A team with the given name does not exist in the organization."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/{namespace}/{reponame}/webhooks":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositories"],"summary":"List the webhook subscriptions for a repository","operationId":"ListRepoWebhooks","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"name of repository","name":"reponame","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Webhook"}}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_REPOSITORY: A repository with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Webhook"}}}}}},"/api/v0/repositoryNamespaces/{namespace}/teamAccess":{"get":{"description":"\n*Authorization:* Client must be authenticated as an admin or a member of the organization.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositoryNamespaces"],"summary":"List teams granted access to an organization-owned namespace of repositories","operationId":"ListRepoNamespaceTeamAccess","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"The ID of the first record on the page","name":"pageStart","in":"query"},{"type":"integer","default":10,"description":"Maximum number of results to return","name":"pageSize","in":"query"},{"type":"boolean","default":false,"description":"Whether to include the resource count in the response header","name":"count","in":"query"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.ListRepoNamespaceTeamAccess"}},"400":{"description":"the namespace is not owned by an organization"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_ACCOUNT: An account with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.ListRepoNamespaceTeamAccess"}}}}},"/api/v0/repositoryNamespaces/{namespace}/teamAccess/{teamname}":{"get":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level\naccess to the namespace or is a member of the team.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositoryNamespaces"],"summary":"Get a team's granted access to an organization-owned namespace of repositories","operationId":"GetRepoNamespaceTeamAccess","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"team name","name":"teamname","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.NamespaceTeamAccess"}},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_NAMESPACE_TEAM_ACCESS: An access grant for the given team in the given namespace does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.NamespaceTeamAccess"}}}},"put":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the namespace.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositoryNamespaces"],"summary":"Set a team's access to an organization-owned namespace of repositories","operationId":"GrantRepoNamespaceTeamAccess","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"team name","name":"teamname","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.Access"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/responses.NamespaceTeamAccess"}},"400":{"description":"the team does not belong to the owning organization"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_TEAM: A team with the given name does not exist in the organization."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"$ref":"#/definitions/responses.NamespaceTeamAccess"}}}},"delete":{"description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the namespace.\n","consumes":["application/json"],"produces":["application/json"],"tags":["repositoryNamespaces"],"summary":"Revoke a team's access to an organization-owned namespace of repositories","operationId":"RevokeRepoNamespaceTeamAccess","parameters":[{"type":"string","description":"namespace/owner of repository","name":"namespace","in":"path","required":true},{"type":"string","description":"team name","name":"teamname","in":"path","required":true}],"responses":{"204":{"description":"success or the team does not exist in the access list or there is no such team in the organization"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_TEAM: A team with the given name does not exist in the organization."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/webhooks":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["webhooks"],"summary":"List Webhooks","operationId":"ListWebhooks","parameters":[{"type":"string","default":"any","description":"The type of webhook to list","name":"webhookType","in":"query"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Webhook"}}},"400":{"description":"INVALID_JSON: Unable to parse JSON"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Webhook"}}}}},"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["webhooks"],"summary":"Create Webhook","operationId":"CreateWebhook","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.Webhook"}}],"responses":{"201":{"description":"success","schema":{"$ref":"#/definitions/responses.Webhook"}},"400":{"description":"INVALID_JSON: Unable to parse JSON"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_ACCOUNT: An account with the given name does not exist."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/webhooks/test":{"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["webhooks"],"summary":"Test Webhook","operationId":"TestWebhook","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.WebhookTestPayload"}}],"responses":{"200":{"description":"OK"},"400":{"description":"INVALID_JSON: Unable to parse JSON"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK"}}}},"/api/v0/webhooks/update":{"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["webhooks"],"summary":"Update Webhook","operationId":"UpdateWebhook","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/forms.WebhookUpdate"}}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Webhook"}}},"400":{"description":"INVALID_JSON: Unable to parse JSON"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"},"default":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/responses.Webhook"}}}}}},"/api/v0/webhooks/{webhook}":{"delete":{"consumes":["application/json"],"produces":["application/json"],"tags":["webhooks"],"summary":"Delete Webhook","operationId":"DeleteWebhook","parameters":[{"type":"string","description":"webhook subscription ID","name":"webhook","in":"path","required":true}],"responses":{"204":{"description":"success"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"NO_SUCH_WEBHOOK: A webhook subscription with the given name does not exist for the given repository."},"405":{"description":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/workers":{"get":{"consumes":["application/json"],"produces":["application/json"],"tags":["workers"],"summary":"List all workers","operationId":"ListWorkers","responses":{"200":{"description":"Success, list of workers returned.","schema":{"$ref":"#/definitions/tmpresponses.Workers"}},"default":{"description":"Success, list of workers returned.","schema":{"$ref":"#/definitions/tmpresponses.Workers"}}}}},"/api/v0/workers/{id}/capacity":{"post":{"consumes":["application/json"],"produces":["application/json"],"tags":["workers"],"summary":"Update the capacity for a worker","operationId":"UpdateWorkerCapacity","parameters":[{"type":"string","description":"ID of worker to update","name":"id","in":"path","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tmpforms.UpdateWorkerCapacity"}}],"responses":{"202":{"description":"Success."}}}}},"definitions":{"forms.Access":{"required":["accessLevel"],"properties":{"accessLevel":{"type":"string","enum":["read-only","read-write","admin"]}}},"forms.CreateAPIToken":{"properties":{"tokenLabel":{"type":"string"}}},"forms.CreateContentCache":{"required":["name","host"],"properties":{"host":{"type":"string"},"name":{"type":"string"}}},"forms.CreateMirroring":{"required":["remoteHost","remoteRepository","remoteCA","skipTLSVerification","remoteTag","username","password","authToken"],"properties":{"authToken":{"type":"string"},"password":{"type":"string"},"remoteCA":{"type":"string"},"remoteHost":{"type":"string"},"remoteRepository":{"type":"string"},"remoteTag":{"type":"string"},"skipTLSVerification":{"type":"boolean"},"username":{"type":"string"}}},"forms.CreatePollMirroringPolicy":{"required":["remoteHost","remoteRepository","remoteCA","skipTLSVerification","enabled","username","password","authToken"],"properties":{"authToken":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"remoteCA":{"type":"string"},"remoteHost":{"type":"string"},"remoteRepository":{"type":"string"},"skipTLSVerification":{"type":"boolean"},"username":{"type":"string"}}},"forms.CreatePromotion":{"required":["targetRepository","targetTag"],"properties":{"targetRepository":{"type":"string"},"targetTag":{"type":"string"}}},"forms.CreatePromotionPolicy":{"required":["rules","targetRepository","tagTemplate","enabled"],"properties":{"enabled":{"type":"boolean"},"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}},"tagTemplate":{"type":"string"},"targetRepository":{"type":"string"}}},"forms.CreatePruningPolicy":{"required":["rules","enabled"],"properties":{"enabled":{"type":"boolean"},"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}}}},"forms.CreatePushMirroringPolicy":{"required":["rules","remoteHost","remoteRepository","remoteCA","skipTLSVerification","tagTemplate","enabled","username","password","authToken"],"properties":{"authToken":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"remoteCA":{"type":"string"},"remoteHost":{"type":"string"},"remoteRepository":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}},"skipTLSVerification":{"type":"boolean"},"tagTemplate":{"type":"string"},"username":{"type":"string"}}},"forms.CreateRemoteRegistryCheck":{"required":["remoteHost","remoteRepository","remoteCA","skipTLSVerification","username","password","authToken"],"properties":{"authToken":{"type":"string"},"password":{"type":"string"},"remoteCA":{"type":"string"},"remoteHost":{"type":"string"},"remoteRepository":{"type":"string"},"skipTLSVerification":{"type":"boolean"},"username":{"type":"string"}}},"forms.CreateRepo":{"required":["name","shortDescription","longDescription","scanOnPush","immutableTags","enableManifestLists","tagLimit"],"properties":{"enableManifestLists":{"type":"boolean"},"immutableTags":{"type":"boolean"},"longDescription":{"type":"string"},"name":{"type":"string"},"scanOnPush":{"type":"boolean"},"shortDescription":{"type":"string"},"tagLimit":{"type":"integer","format":"integer"},"visibility":{"type":"string","enum":["public","private"]}}},"forms.DeleteMirroringPolicyIDs":{"required":["id"],"properties":{"id":{"type":"string"}}},"forms.EmptyForm":{},"forms.Image":{"required":["name","digest"],"properties":{"digest":{"type":"string"},"name":{"type":"string"}}},"forms.ImagesForm":{"required":["images"],"properties":{"images":{"type":"array","items":{"$ref":"#/definitions/forms.Image"}}}},"forms.ScanOptions":{"required":["scan","check"],"properties":{"check":{"type":"boolean"},"scan":{"type":"boolean"}}},"forms.Settings":{"required":["dtrHost","sso","createRepositoryOnPush","disableUpgrades","reportAnalytics","anonymizeAnalytics","disableBackupWarning","webTLSCert","webTLSKey","webTLSCA","webTLSClientCA","clientCertAuthEnabled","scanningEnabled","scanningSyncOnline","scanningDeadline","scanningEnableAutoRecheck","jobHistoryCompactionEnabled","jobHistoryToKeep","jobHistoryMaxAge","repoEventHistoryCompactionEnabled","repoEventHistoryToKeep","repoEventHistoryMaxAge","readOnlyRegistry","disablePersistentCookies"],"properties":{"anonymizeAnalytics":{"type":"boolean"},"clientCertAuthEnabled":{"type":"boolean"},"createRepositoryOnPush":{"type":"boolean"},"disableBackupWarning":{"type":"boolean"},"disablePersistentCookies":{"type":"boolean"},"disableUpgrades":{"type":"boolean"},"dtrHost":{"type":"string"},"jobHistoryCompactionEnabled":{"type":"boolean"},"jobHistoryMaxAge":{"type":"string"},"jobHistoryToKeep":{"type":"integer","format":"int64"},"readOnlyRegistry":{"type":"boolean"},"repoEventHistoryCompactionEnabled":{"type":"boolean"},"repoEventHistoryMaxAge":{"type":"string"},"repoEventHistoryToKeep":{"type":"integer","format":"int64"},"reportAnalytics":{"type":"boolean"},"scanningDeadline":{"type":"integer"},"scanningEnableAutoRecheck":{"type":"boolean"},"scanningEnabled":{"type":"boolean"},"scanningSyncOnline":{"type":"boolean"},"sso":{"type":"boolean"},"webTLSCA":{"type":"string"},"webTLSCert":{"type":"string"},"webTLSClientCA":{"type":"string"},"webTLSKey":{"type":"string"}}},"forms.ToggleScanOnPush":{"required":["scanOnPush"],"properties":{"scanOnPush":{"type":"boolean"}}},"forms.UpdateAPIToken":{"properties":{"isActive":{"type":"boolean"},"tokenLabel":{"type":"string"}}},"forms.UpdatePollMirroringPolicy":{"properties":{"authToken":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"remoteCA":{"type":"string"},"remoteHost":{"type":"string"},"remoteRepository":{"type":"string"},"skipTLSVerification":{"type":"boolean"},"username":{"type":"string"}}},"forms.UpdatePromotionPolicy":{"properties":{"enabled":{"type":"boolean"},"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}},"tagTemplate":{"type":"string"},"targetRepository":{"type":"string"}}},"forms.UpdatePruningPolicy":{"properties":{"enabled":{"type":"boolean"},"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}}}},"forms.UpdatePushMirroringPolicy":{"properties":{"authToken":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"remoteCA":{"type":"string"},"remoteHost":{"type":"string"},"remoteRepository":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}},"skipTLSVerification":{"type":"boolean"},"tagTemplate":{"type":"string"},"username":{"type":"string"}}},"forms.UpdateRepo":{"required":["immutableTags"],"properties":{"enableManifestLists":{"type":"boolean"},"immutableTags":{"type":"boolean"},"longDescription":{"type":"string"},"scanOnPush":{"type":"boolean"},"shortDescription":{"type":"string"},"tagLimit":{"type":"integer","format":"integer"},"visibility":{"type":"string","enum":["public","private"]}}},"forms.UserSettings":{"properties":{"contentCacheUUID":{"type":"string"}}},"forms.VulnOverrideOption":{"required":["component","componentVersion","cve","notes"],"properties":{"component":{"type":"string"},"componentVersion":{"type":"string"},"cve":{"type":"string"},"notes":{"type":"string"}}},"forms.Webhook":{"required":["endpoint","tlsCert","skipTLSVerification"],"properties":{"endpoint":{"type":"string"},"key":{"type":"string"},"skipTLSVerification":{"type":"boolean"},"tlsCert":{"type":"string"},"type":{"type":"string","enum":["TAG_PUSH","TAG_PULL","TAG_DELETE","PROMOTION","PUSH_MIRRORING","POLL_MIRRORING","MANIFEST_PUSH","MANIFEST_PULL","MANIFEST_DELETE","REPO_EVENT","SCAN_COMPLETED","SCAN_FAILED","SCANNER_UPDATE_COMPLETED"]}}},"forms.WebhookTestPayload":{"required":["type","endpoint","tlsCert","skipTLSVerification"],"properties":{"endpoint":{"type":"string"},"skipTLSVerification":{"type":"boolean"},"tlsCert":{"type":"string"},"type":{"type":"string"}}},"forms.WebhookUpdate":{"required":["id","inactive","tlsCert","skipTLSVerification"],"properties":{"id":{"type":"string"},"inactive":{"type":"boolean"},"skipTLSVerification":{"type":"boolean"},"tlsCert":{"type":"string"}}},"responses.APIToken":{"required":["hashedToken","tokenLabel","isActive","lastUsed","createdAt","generatedBy","creatorUa"],"properties":{"createdAt":{"type":"string","format":"date-time"},"creatorUa":{"type":"string"},"generatedBy":{"type":"string"},"hashedToken":{"type":"string"},"isActive":{"type":"boolean"},"lastUsed":{"type":"string","format":"date-time"},"tokenLabel":{"type":"string"}}},"responses.Account":{"required":["name","id","fullName","isOrg"],"properties":{"fullName":{"description":"Full Name of the account","type":"string"},"id":{"description":"ID of the account","type":"string"},"isActive":{"description":"Whether the user is active and can login (users only)","type":"boolean"},"isAdmin":{"description":"Whether the user is a system admin (users only)","type":"boolean"},"isImported":{"description":"Whether the user was imported from an upstream identity provider","type":"boolean"},"isOrg":{"description":"Whether the account is an organization (or user)","type":"boolean"},"membersCount":{"description":"The number of members of the organization","type":"integer","format":"int32"},"name":{"description":"Name of the account","type":"string"},"teamsCount":{"description":"The number of teams in the organization","type":"integer","format":"int32"}}},"responses.Alert":{"required":["message"],"properties":{"class":{"type":"string"},"id":{"type":"string"},"img":{"type":"string"},"message":{"type":"string"},"url":{"type":"string"}}},"responses.Autocomplete":{"properties":{"accountResults":{"type":"array","items":{"$ref":"#/definitions/responses.Account"}},"repositoryResults":{"type":"array","items":{"$ref":"#/definitions/responses.Repository"}}}},"responses.ClusterStatus":{"required":["rethink_system_tables","replica_health","replica_timestamp","replica_readonly","gc_lock_holder"],"properties":{"gc_lock_holder":{"type":"string"},"replica_health":{"type":"object","additionalProperties":{"type":"string"}},"replica_readonly":{"type":"object","additionalProperties":{"type":"boolean"}},"replica_timestamp":{"type":"object","additionalProperties":{"type":"string"}},"rethink_system_tables":{"type":"object"}}},"responses.Component":{"required":["component","version","vulns","fullpath"],"properties":{"component":{"type":"string"},"fullpath":{"type":"array","items":{"type":"string"}},"license":{"$ref":"#/definitions/responses.License"},"version":{"type":"string"},"vulns":{"type":"array","items":{"$ref":"#/definitions/responses.VulnerabilityDetails"}}}},"responses.ContentCache":{"required":["id","name","host"],"properties":{"host":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}}},"responses.DetailedSummary":{"required":["sha256sum"],"properties":{"components":{"type":"array","items":{"$ref":"#/definitions/responses.Component"}},"sha256sum":{"type":"string"}}},"responses.DockerRepository":{"required":["description","is_official","is_trusted","name","star_count"],"properties":{"description":{"type":"string"},"is_official":{"type":"boolean"},"is_trusted":{"type":"boolean"},"name":{"type":"string"},"star_count":{"type":"integer","format":"int32"}}},"responses.DockerSearch":{"required":["num_results","query","results"],"properties":{"num_results":{"type":"integer","format":"int32"},"query":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/definitions/responses.DockerRepository"}}}},"responses.DockerfileLine":{"required":["line","layerDigest","size","isEmpty"],"properties":{"isEmpty":{"type":"boolean"},"layerDigest":{"type":"string"},"line":{"type":"string"},"mediaType":{"type":"string"},"size":{"type":"integer","format":"int64"},"urls":{"type":"array","items":{"type":"string"}}}},"responses.Events":{"required":["events"],"properties":{"events":{"type":"array","items":{"$ref":"#/definitions/schema.Event"}}}},"responses.Features":{"required":["scanningEnabled","scanningLicensed","promotionLicensed","mirroringLicensed","metadataStoreOptedIn","onlineGCEnabled","db_version","ucpHost"],"properties":{"db_version":{"type":"integer","format":"int32"},"metadataStoreOptedIn":{"type":"boolean"},"mirroringLicensed":{"type":"boolean"},"onlineGCEnabled":{"type":"boolean"},"promotionLicensed":{"type":"boolean"},"scanningEnabled":{"type":"boolean"},"scanningLicensed":{"type":"boolean"},"ucpHost":{"type":"string"}}},"responses.Language":{"required":["language"],"properties":{"language":{"type":"string"}}},"responses.LayerVulnOverride":{"required":["pk","digest","component","componentVersion","cve","notes"],"properties":{"component":{"type":"string"},"componentVersion":{"type":"string"},"cve":{"type":"string"},"digest":{"type":"string"},"notes":{"type":"string"},"pk":{"type":"string"}}},"responses.License":{"required":["name","type","url"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}}},"responses.ListRepoNamespaceTeamAccess":{"required":["namespace","teamAccessList"],"properties":{"namespace":{"type":"string"},"teamAccessList":{"type":"array","items":{"$ref":"#/definitions/responses.TeamAccess"}}}},"responses.ListRepoTeamAccess":{"required":["repository","teamAccessList"],"properties":{"repository":{"$ref":"#/definitions/responses.Repository"},"teamAccessList":{"type":"array","items":{"$ref":"#/definitions/responses.TeamAccess"}}}},"responses.ListTag":{"required":["name","digest","author","updatedAt","createdAt","hashMismatch","inNotary","manifest"],"properties":{"author":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"digest":{"type":"string"},"hashMismatch":{"description":"true if the hashes from notary and registry don't match","type":"boolean"},"inNotary":{"description":"true if the tag exists in Notary","type":"boolean"},"manifest":{"$ref":"#/definitions/responses.Manifest"},"mirroring":{"$ref":"#/definitions/responses.Mirroring"},"name":{"type":"string"},"promotion":{"$ref":"#/definitions/responses.Promotion"},"updatedAt":{"type":"string","format":"date-time"}}},"responses.ListTeamRepoAccess":{"required":["team","repositoryAccessList"],"properties":{"repositoryAccessList":{"type":"array","items":{"$ref":"#/definitions/responses.RepoAccess"}},"team":{"$ref":"#/definitions/responses.Team"}}},"responses.Manifest":{"required":["digest"],"properties":{"architecture":{"type":"string"},"author":{"type":"string"},"configDigest":{"type":"string"},"configMediaType":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"digest":{"type":"string"},"dockerfile":{"type":"array","items":{"$ref":"#/definitions/responses.DockerfileLine"}},"mediaType":{"type":"string"},"os":{"type":"string"},"osVersion":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"responses.Mirroring":{"required":["mirroringPolicyID","digest","remoteRepository","remoteTag"],"properties":{"digest":{"type":"string"},"mirroringPolicyID":{"type":"string"},"remoteRepository":{"type":"string"},"remoteTag":{"type":"string"}}},"responses.MirroringPolicy":{"required":["id","mirroringType","username","localRepository","remoteHost","remoteRepository","remoteCA","skipTLSVerification","enabled","lastMirroredAt","lastStatus"],"properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"lastMirroredAt":{"type":"string"},"lastStatus":{"$ref":"#/definitions/schema.MirroringStatus"},"localRepository":{"type":"string"},"mirroringType":{"type":"string"},"remoteCA":{"type":"string"},"remoteHost":{"type":"string"},"remoteRepository":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}},"skipTLSVerification":{"type":"boolean"},"tagTemplate":{"type":"string"},"username":{"type":"string"}}},"responses.NamespaceTeamAccess":{"required":["accessLevel","team","namespace"],"properties":{"accessLevel":{"type":"string","enum":["read-only","read-write","admin"]},"namespace":{"type":"string"},"team":{"$ref":"#/definitions/responses.Team"}}},"responses.NautilusStatus":{"required":["state","scanner_version","scannerUpdatedAt","db_version","db_updated_at","lastDBUpdateFailed","lastVulnOverridesDBUpdateFailed"],"properties":{"db_updated_at":{"type":"string","format":"date-time"},"db_version":{"type":"integer","format":"int32"},"lastDBUpdateFailed":{"type":"boolean"},"lastVulnOverridesDBUpdateFailed":{"type":"boolean"},"replicas":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema.ScannerFingerprint"}},"scannerUpdatedAt":{"type":"string","format":"date-time"},"scanner_version":{"type":"integer","format":"int32"},"state":{"type":"integer","format":"int32"}}},"responses.NewAPIToken":{"required":["token","hashedToken","tokenLabel","isActive","lastUsed","createdAt","generatedBy","creatorUa"],"properties":{"createdAt":{"type":"string","format":"date-time"},"creatorUa":{"type":"string"},"generatedBy":{"type":"string"},"hashedToken":{"type":"string"},"isActive":{"type":"boolean"},"lastUsed":{"type":"string","format":"date-time"},"token":{"type":"string"},"tokenLabel":{"type":"string"}}},"responses.Note":{"required":["reason","type"],"properties":{"reason":{"type":"string"},"type":{"type":"string"}}},"responses.OldScanSummary":{"required":["namespace","reponame","tag","critical","major","minor","last_scan_status","check_completed_at","should_rescan","has_foreign_layers"],"properties":{"check_completed_at":{"type":"string","format":"date-time"},"critical":{"type":"integer","format":"int32"},"has_foreign_layers":{"type":"boolean"},"last_scan_status":{"type":"integer","format":"int32"},"layer_details":{"type":"array","items":{"$ref":"#/definitions/responses.DetailedSummary"}},"major":{"type":"integer","format":"int32"},"minor":{"type":"integer","format":"int32"},"namespace":{"type":"string"},"reponame":{"type":"string"},"should_rescan":{"type":"boolean"},"tag":{"type":"string"}}},"responses.PollMirroringPolicy":{"required":["id","username","localRepository","remoteHost","remoteRepository","remoteCA","skipTLSVerification","enabled","lastMirroredAt","lastStatus"],"properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"lastMirroredAt":{"type":"string"},"lastStatus":{"$ref":"#/definitions/schema.MirroringStatus"},"localRepository":{"type":"string"},"remoteCA":{"type":"string"},"remoteHost":{"type":"string"},"remoteRepository":{"type":"string"},"skipTLSVerification":{"type":"boolean"},"username":{"type":"string"}}},"responses.Promotion":{"required":["promotionPolicyID","string","sourceRepository","sourceTag"],"properties":{"promotionPolicyID":{"type":"string"},"sourceRepository":{"type":"string"},"sourceTag":{"type":"string"},"string":{"type":"string"}}},"responses.PromotionPolicy":{"required":["id","rules","sourceRepository","targetRepository","tagTemplate","enabled","lastPromotedAt"],"properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"lastPromotedAt":{"type":"string","format":"date-time"},"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}},"sourceRepository":{"type":"string"},"tagTemplate":{"type":"string"},"targetRepository":{"type":"string"}}},"responses.PruningPolicy":{"required":["id","rules","repository","enabled","lastPrunedAt"],"properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"lastPrunedAt":{"type":"string"},"repository":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}}}},"responses.PushMirroringPolicy":{"required":["id","rules","username","localRepository","remoteHost","remoteRepository","remoteCA","skipTLSVerification","tagTemplate","enabled","lastMirroredAt","lastStatus"],"properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"lastMirroredAt":{"type":"string"},"lastStatus":{"$ref":"#/definitions/schema.MirroringStatus"},"localRepository":{"type":"string"},"remoteCA":{"type":"string"},"remoteHost":{"type":"string"},"remoteRepository":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}},"skipTLSVerification":{"type":"boolean"},"tagTemplate":{"type":"string"},"username":{"type":"string"}}},"responses.RemoteRegistryCheck":{"required":["registryType","permissions"],"properties":{"permissions":{"$ref":"#/definitions/responses.RemoteRepositoryPermissions"},"registryType":{"type":"string"}}},"responses.RemoteRepositoryPermissions":{"required":["read","write"],"properties":{"read":{"type":"boolean"},"write":{"type":"boolean"}}},"responses.ReplicaSettings":{"required":["HTTPPort","HTTPSPort","node"],"properties":{"HTTPPort":{"type":"integer"},"HTTPSPort":{"type":"integer"},"node":{"type":"string"}}},"responses.RepoAccess":{"required":["accessLevel","repository"],"properties":{"accessLevel":{"type":"string","enum":["read-only","read-write","admin"]},"repository":{"$ref":"#/definitions/responses.Repository"}}},"responses.RepoUserAccess":{"required":["accessLevel","user","repository"],"properties":{"accessLevel":{"type":"string","enum":["read-only","read-write","admin"]},"repository":{"$ref":"#/definitions/responses.Repository"},"user":{"$ref":"#/definitions/responses.Account"}}},"responses.Repositories":{"required":["repositories"],"properties":{"repositories":{"type":"array","items":{"$ref":"#/definitions/responses.Repository"}}}},"responses.Repository":{"required":["id","namespace","namespaceType","name","shortDescription","visibility","scanOnPush","immutableTags","enableManifestLists","pulls","pushes","tagLimit"],"properties":{"enableManifestLists":{"type":"boolean"},"id":{"type":"string"},"immutableTags":{"type":"boolean"},"longDescription":{"type":"string"},"name":{"type":"string"},"namespace":{"type":"string"},"namespaceType":{"type":"string","enum":["user","organization"]},"pulls":{"type":"integer","format":"integer"},"pushes":{"type":"integer","format":"integer"},"scanOnPush":{"type":"boolean"},"shortDescription":{"type":"string"},"tagLimit":{"type":"integer","format":"integer"},"visibility":{"type":"string","enum":["public","private"]}}},"responses.ScanSummary":{"required":["scannedImage","shouldRescan"],"properties":{"scanStatus":{"type":"integer","format":"int32"},"scannedImage":{"$ref":"#/definitions/schema.ScannedImage"},"shouldRescan":{"type":"boolean"}}},"responses.Settings":{"required":["dtrHost","sso","createRepositoryOnPush","replicaSettings","httpProxy","httpsProxy","noProxy","disableUpgrades","reportAnalytics","anonymizeAnalytics","disableBackupWarning","logProtocol","logHost","logLevel","webTLSCert","webTLSCA","webTLSClientCA","clientCertAuthEnabled","replicaID","scanningEnabled","scanningSyncOnline","scanningDeadline","scanningEnableAutoRecheck","jobHistoryCompactionEnabled","jobHistoryToKeep","jobHistoryMaxAge","repoEventHistoryCompactionEnabled","repoEventHistoryToKeep","repoEventHistoryMaxAge","storageVolume","nfsHost","nfsPath","readOnlyRegistry","disablePersistentCookies"],"properties":{"anonymizeAnalytics":{"type":"boolean"},"clientCertAuthEnabled":{"type":"boolean"},"createRepositoryOnPush":{"type":"boolean"},"disableBackupWarning":{"type":"boolean"},"disablePersistentCookies":{"type":"boolean"},"disableUpgrades":{"type":"boolean"},"dtrHost":{"type":"string"},"httpProxy":{"type":"string"},"httpsProxy":{"type":"string"},"jobHistoryCompactionEnabled":{"type":"boolean"},"jobHistoryMaxAge":{"type":"string"},"jobHistoryToKeep":{"type":"integer","format":"int64"},"logHost":{"type":"string"},"logLevel":{"type":"string"},"logProtocol":{"type":"string"},"nfsHost":{"type":"string"},"nfsPath":{"type":"string"},"noProxy":{"type":"string"},"readOnlyRegistry":{"type":"boolean"},"replicaID":{"type":"string"},"replicaSettings":{"type":"object","additionalProperties":{"$ref":"#/definitions/responses.ReplicaSettings"}},"repoEventHistoryCompactionEnabled":{"type":"boolean"},"repoEventHistoryMaxAge":{"type":"string"},"repoEventHistoryToKeep":{"type":"integer","format":"int64"},"reportAnalytics":{"type":"boolean"},"scanningDeadline":{"type":"integer"},"scanningEnableAutoRecheck":{"type":"boolean"},"scanningEnabled":{"type":"boolean"},"scanningSyncOnline":{"type":"boolean"},"sso":{"type":"boolean"},"storageVolume":{"type":"string"},"webTLSCA":{"type":"string"},"webTLSCert":{"type":"string"},"webTLSClientCA":{"type":"string"}}},"responses.Tag":{"required":["createdAt","hashMismatch","inNotary","name","digest","author","updatedAt","manifest"],"properties":{"author":{"type":"string"},"components":{"type":"array","items":{"$ref":"#/definitions/schema.ScannerComponent"}},"createdAt":{"type":"string","format":"date-time"},"digest":{"type":"string"},"hashMismatch":{"description":"true if the hashes from notary and registry don't match","type":"boolean"},"inNotary":{"description":"true if the tag exists in Notary","type":"boolean"},"licenses":{"type":"array","items":{"$ref":"#/definitions/schema.ScannerLicense"}},"manifest":{"$ref":"#/definitions/responses.Manifest"},"mirroring":{"$ref":"#/definitions/responses.Mirroring"},"name":{"type":"string"},"promotion":{"$ref":"#/definitions/responses.Promotion"},"updatedAt":{"type":"string","format":"date-time"},"vuln_summary":{"$ref":"#/definitions/responses.OldScanSummary"}}},"responses.Team":{"required":["id","clientUserIsMember"],"properties":{"clientUserIsMember":{"type":"boolean"},"id":{"type":"string"}}},"responses.TeamAccess":{"required":["accessLevel","team"],"properties":{"accessLevel":{"type":"string","enum":["read-only","read-write","admin"]},"team":{"$ref":"#/definitions/responses.Team"}}},"responses.ThinScanSummaries":{"required":["images"],"properties":{"images":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema.ScannerVulnCount"}}}},"responses.ThinTag":{"required":["name","digest"],"properties":{"digest":{"type":"string"},"name":{"type":"string"}}},"responses.UserSettings":{"required":["ContentCacheUUID"],"properties":{"ContentCacheUUID":{"type":"string"}}},"responses.Vulnerability":{"required":["cve","cvss","summary"],"properties":{"cve":{"type":"string"},"cvss":{"type":"number","format":"float"},"summary":{"type":"string"}}},"responses.VulnerabilityDetails":{"required":["vuln","exact","notes"],"properties":{"exact":{"type":"boolean"},"notes":{"type":"array","items":{"$ref":"#/definitions/responses.Note"}},"vuln":{"$ref":"#/definitions/responses.Vulnerability"}}},"responses.Webhook":{"required":["id","type","key","endpoint","authorID","createdAt","inactive","tlsCert","skipTLSVerification"],"properties":{"authorID":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"endpoint":{"type":"string"},"id":{"type":"string"},"inactive":{"type":"boolean"},"key":{"type":"string"},"lastSuccessfulAt":{"type":"string","format":"date-time"},"skipTLSVerification":{"type":"boolean"},"tlsCert":{"type":"string"},"type":{"type":"string"}}},"ruleengine.Rule":{"properties":{"field":{"type":"string"},"operator":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}}},"schema.Event":{"required":["id","publishedAt","actor","actorType","type","object","repository"],"properties":{"actor":{"type":"string"},"actorType":{"type":"string"},"id":{"type":"string"},"object":{"$ref":"#/definitions/schema.Object"},"publishedAt":{"type":"string","format":"date-time"},"repository":{"type":"string"},"target":{"$ref":"#/definitions/schema.Object"},"type":{"type":"string"}}},"schema.LayerVulnOverride":{"required":["pk","digest","component","componentVersion","cve","notes"],"properties":{"component":{"type":"string"},"componentVersion":{"type":"string"},"cve":{"type":"string"},"digest":{"type":"string"},"notes":{"type":"string"},"pk":{"type":"string"}}},"schema.MirroringStatus":{"required":["code","detail","timestamp"],"properties":{"code":{"type":"string"},"detail":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"schema.Object":{"required":["id","type"],"properties":{"content":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}}},"schema.ScannedImage":{"required":["pk","namespace","repository","tag","manifestDigest","totalVulnCount","licenses","layers","components","cves","maxCVSSValue","scannerFingerprint","vulnOverrides"],"properties":{"components":{"type":"array","items":{"$ref":"#/definitions/schema.ScannerComponent"}},"cves":{"type":"array","items":{"$ref":"#/definitions/schema.ScannerCVE"}},"layers":{"type":"array","items":{"$ref":"#/definitions/schema.ScannerLayer"}},"licenses":{"type":"array","items":{"$ref":"#/definitions/schema.ScannerLicense"}},"manifestDigest":{"type":"string"},"maxCVSSValue":{"type":"number","format":"float"},"namespace":{"type":"string"},"pk":{"type":"string"},"repository":{"type":"string"},"scannerFingerprint":{"$ref":"#/definitions/schema.ScannerFingerprint"},"tag":{"type":"string"},"totalVulnCount":{"$ref":"#/definitions/schema.ScannerVulnCount"},"vulnOverrides":{"type":"array","items":{"$ref":"#/definitions/schema.LayerVulnOverride"}}}},"schema.ScannerCVE":{"required":["cvePK","summary","cvss","notes"],"properties":{"cvePK":{"type":"string"},"cvss":{"type":"number","format":"float"},"notes":{"type":"string"},"summary":{"type":"string"}}},"schema.ScannerComponent":{"required":["componentPK","vulnCount","name","version","filepaths","cves","licenses","source"],"properties":{"componentPK":{"type":"string"},"cves":{"type":"array","items":{"type":"string"}},"filepaths":{"type":"array","items":{"type":"string"}},"licenses":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"source":{"type":"string"},"version":{"type":"string"},"vulnCount":{"$ref":"#/definitions/schema.ScannerVulnCount"}}},"schema.ScannerFingerprint":{"required":["scannerType","version"],"properties":{"scannerType":{"type":"integer","format":"int32"},"version":{"type":"array","items":{"type":"string"}}}},"schema.ScannerLayer":{"required":["digest","mediaType","author","size","components"],"properties":{"author":{"type":"string"},"components":{"type":"array","items":{"type":"string"}},"digest":{"type":"string"},"mediaType":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"schema.ScannerLicense":{"required":["name","url","type"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}}},"schema.ScannerVulnCount":{"required":["critical","major","minor"],"properties":{"critical":{"type":"integer","format":"int32"},"major":{"type":"integer","format":"int32"},"minor":{"type":"integer","format":"int32"}}},"tmpforms.ActionConfigCreate":{"required":["action","parameters"],"properties":{"action":{"description":"The action to modify the config for","type":"string"},"parameters":{"description":"Extra parameters to pass to the job. The available parameters depend on the job. These are overwritten by any corresponding parameters set in the job itself.","type":"object","additionalProperties":{"type":"string"}}}},"tmpforms.CronCreate":{"required":["action","schedule","retries","capacityMap","parameters","deadline","stopTimeout"],"properties":{"action":{"description":"The action which the cron will perform","type":"string"},"capacityMap":{"description":"The map of required capacity","type":"object","additionalProperties":{"type":"integer"}},"deadline":{"description":"After this amount of time has passed, a SIGTERM will be sent","type":"string"},"parameters":{"description":"Extra parameters to pass to the job. The available parameters depend on the job.","type":"object","additionalProperties":{"type":"string"}},"retries":{"description":"The number of times to retry a job if it fails","type":"integer","format":"int32"},"schedule":{"description":"The for the cron as a cronspec string: (seconds) (minutes) (hours) (day of month) (month) (day of week) or @hourly, @weekly, etc.","type":"string"},"stopTimeout":{"description":"This long after SIGTERM is sent, SIGKILL will be sent if the process is still alive","type":"string"}}},"tmpforms.EmptyForm":{},"tmpforms.JobSubmission":{"required":["action","parameters","retries","capacityMap","deadline","stopTimeout","scheduledAt"],"properties":{"action":{"description":"The action which the job will perform","type":"string"},"capacityMap":{"description":"The map of required capacity","type":"object","additionalProperties":{"type":"integer"}},"deadline":{"description":"After this amount of time has passed, a SIGTERM will be sent","type":"string"},"parameters":{"description":"Parameters to start the job with","type":"object","additionalProperties":{"type":"string"}},"retries":{"description":"The number of times to retry a job if it fails","type":"integer","format":"int32"},"scheduledAt":{"description":"The time at which to run the job. Empty string or no value means now. Format: RFC3339","type":"string"},"stopTimeout":{"description":"This long after SIGTERM is sent, SIGKILL will be sent if the process is still alive","type":"string"}}},"tmpforms.UpdateWorkerCapacity":{"required":["capacityMap"],"properties":{"capacityMap":{"description":"The new capacity for the worker, representing roughly the amount of RAM to use","type":"object","additionalProperties":{"type":"integer"}}}},"tmpresponses.ActionConfig":{"required":["id","action","parameters"],"properties":{"action":{"description":"The action this config refers to.","type":"string"},"id":{"description":"Randomly generated UUID for foreign references.","type":"string"},"parameters":{"description":"Extra parameters to pass to the job. The available parameters depend on the job.","type":"object","additionalProperties":{"type":"string"}}}},"tmpresponses.ActionConfigs":{"required":["actionConfigs"],"properties":{"actionConfigs":{"type":"array","items":{"$ref":"#/definitions/tmpresponses.ActionConfig"}}}},"tmpresponses.Cron":{"required":["id","action","schedule","retries","capacityMap","parameters","deadline","stopTimeout","nextRun"],"properties":{"action":{"description":"The action to be performed by jobs spawned from this cron.","type":"string"},"capacityMap":{"description":"The map of required capacity","type":"object","additionalProperties":{"type":"integer"}},"deadline":{"type":"string"},"id":{"description":"Randomly generated UUID for foreign references.","type":"string"},"nextRun":{"description":"The next time the job will run.","type":"string","format":"date-time"},"parameters":{"description":"Extra parameters to pass to the job. The available parameters depend on the job.","type":"object","additionalProperties":{"type":"string"}},"retries":{"description":"The number of times to retry the job if it fails","type":"integer","format":"int32"},"schedule":{"description":"The schedule for this cron as a cronspec string: (seconds) (minutes) (hours) (day of month) (month) (day of week) or @hourly, @weekly, etc.","type":"string"},"stopTimeout":{"description":"This long after SIGTERM is sent, SIGKILL will be sent if the process is still alive","type":"string"}}},"tmpresponses.Crons":{"required":["crons"],"properties":{"crons":{"type":"array","items":{"$ref":"#/definitions/tmpresponses.Cron"}}}},"tmpresponses.Job":{"required":["id","retryFromID","workerID","status","scheduledAt","lastUpdated","action","retriesLeft","retriesTotal","capacityMap","parameters","deadline","stopTimeout"],"properties":{"action":{"description":"The action this job performs","type":"string"},"capacityMap":{"description":"The map of required capacity","type":"object","additionalProperties":{"type":"integer"}},"deadline":{"type":"string"},"id":{"description":"The ID of the job","type":"string"},"lastUpdated":{"description":"The last time at which the status of this job was updated","type":"string","format":"date-time"},"parameters":{"description":"Extra parameters to pass to the job. The available parameters depend on the job.","type":"object","additionalProperties":{"type":"string"}},"retriesLeft":{"description":"The number of times to retry the job if it fails","type":"integer","format":"int32"},"retriesTotal":{"description":"The total number of times to retry the original job if it fails","type":"integer","format":"int32"},"retryFromID":{"description":"The ID of the job this job retried from","type":"string"},"scheduledAt":{"description":"The time at which this job was scheduled","type":"string","format":"date-time"},"status":{"description":"The current status of the job","type":"string","enum":["waiting","running","done","canceled","errored"]},"stopTimeout":{"description":"This long after SIGTERM is sent, SIGKILL will be sent if the process is still alive","type":"string"},"workerID":{"description":"The ID of the worker which performed the job, unclaimed by a worker if empty","type":"string"}}},"tmpresponses.JobLog":{"required":["data","lineNum"],"properties":{"data":{"type":"string"},"lineNum":{"type":"integer","format":"int32"}}},"tmpresponses.Jobs":{"required":["jobs"],"properties":{"jobs":{"type":"array","items":{"$ref":"#/definitions/tmpresponses.Job"}}}},"tmpresponses.Worker":{"required":["id","status","capacityMap","heartbeatExpiration"],"properties":{"capacityMap":{"description":"A map used to represent now much load the worker should be allocated. Only security scanning jobs use this and the value is roughly equivalent to expected memory usage in bytes.","type":"object","additionalProperties":{"type":"integer"}},"heartbeatExpiration":{"description":"Time after which the worker should be considered dead.","type":"string"},"id":{"description":"Randomly generated UUID for foreign references.","type":"string"},"status":{"description":"Status of the worker","type":"string"}}},"tmpresponses.Workers":{"required":["workers"],"properties":{"workers":{"type":"array","items":{"$ref":"#/definitions/tmpresponses.Worker"}}}}},"tags":[{"description":"Accounts","name":"accounts"},{"description":"Admin","name":"meta"},{"description":"Content Caches","name":"content_caches"},{"description":"Repositories","name":"repositories"},{"description":"Repository Namespaces","name":"repositoryNamespaces"},{"description":"Events","name":"events"},{"description":"Docker Security Scanner","name":"imagescan"},{"description":"Webhooks","name":"webhooks"},{"description":"Jobs","name":"jobs"},{"description":"Crons","name":"crons"},{"description":"Workers","name":"workers"},{"description":"Action Configs","name":"action_configs"}]}
,
dom_id: '#swagger-ui',
validatorUrl: null,
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
})
window.ui = ui
}