$(function () {
  var url = window.location.search.match(/url=([^&]+)/);
  if (url && url.length > 1) {
    url = decodeURIComponent(url[1]);
  } else {
    url = "../docs.json";
  }

  // Pre load translate...
  if(window.SwaggerTranslator) {
    window.SwaggerTranslator.translate();
  }
  window.swaggerUi = new SwaggerUi({
    spec:
{"swagger":"2.0","info":{"title":"DTR 2.3.0 API Documentation","version":"1.0.0"},"tags":[{"name":"accounts","description":"Accounts"},{"name":"action_configs","description":"ActionConfigs"},{"name":"content_caches","description":"Content Caches"},{"name":"crons","description":"Crons"},{"name":"events","description":"Events"},{"name":"imagescan","description":"Docker Security Scanner"},{"name":"index","description":"Index"},{"name":"jobs","description":"Jobs"},{"name":"meta","description":"Admin"},{"name":"repositories","description":"Repositories"},{"name":"repositoryNamespaces","description":"Repository Namespaces"},{"name":"webhooks","description":"Webhooks"},{"name":"workers","description":"Workers"}],"paths":{"/api/v0/accounts/{orgname}/teams/{teamname}/repositoryAccess":{"get":{"tags":["accounts"],"operationId":"ListTeamRepoAccess","summary":"List repository access grants for a team","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","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"organization account name","name":"orgname","required":true,"type":"string"},{"in":"path","description":"team name","name":"teamname","required":true,"type":"string"},{"in":"query","description":"The ID of the first record on the page","name":"pageStart","required":false,"type":"string"},{"in":"query","description":"Maximum number of results to return","name":"pageSize","required":false,"type":"integer","format":"int32","default":10},{"in":"query","description":"Whether to include the resource count in the response header","name":"count","required":false,"type":"boolean","default":false}],"responses":{"200":{"description":"","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"}}}},"/api/v0/accounts/{username}/repositoryAccess/{namespace}/{reponame}":{"get":{"tags":["accounts"],"operationId":"GetUserRepoAccess","summary":"Check a user's access to a repository","description":"\n\t*Authorization:* Client must be authenticated either as the user in question or be a system admin.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"user account name","name":"username","required":true,"type":"string"},{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"}],"responses":{"200":{"description":"","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"}}}},"/api/v0/accounts/language":{"get":{"tags":["accounts"],"operationId":"GetLanguage","summary":"Get the chosen language","produces":["application/json"],"consumes":["application/json"],"responses":{"200":{"description":"","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"}}}},"/api/v0/accounts/{username}/settings":{"get":{"tags":["accounts"],"operationId":"GetUserSettings","summary":"Check a user's settings","description":"\n*Authorization:* Client must be authenticated either as the user in question or be a system admin.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"user account name","name":"username","required":true,"type":"string"}],"responses":{"200":{"description":"","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"}}},"patch":{"tags":["accounts"],"operationId":"UpdateUserSettings","summary":"Update a user's settings","description":"\n*Authorization:* Client must be authenticated either as the user in question or be a system admin.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"user account name","name":"username","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/forms.UserSettings"}}],"responses":{"200":{"description":"Successfully updated user settings.","schema":{"$ref":"#/definitions/responses.UserSettings"}},"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"}}}},"/api/v0/accounts/{namespace}":{"delete":{"tags":["accounts"],"operationId":"DeleteNamespace","summary":"Removes a user or organization along with all repositories","description":"\n\t*Authorization:* Client must be authenticated as a system admin.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"}],"responses":{"200":{"description":""},"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":{"tags":["accounts"],"operationId":"DeleteNamespaceRepositories","summary":"Removes all of a user or organization's repositories","description":"\n\t*Authorization:* Client must be authenticated as a system admin, organization admin or user in question\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"}],"responses":{"200":{"description":""},"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":{"tags":["accounts"],"operationId":"ListNamespaceWebhooks","summary":"List the webhook subscriptions for a namespace","description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"}],"responses":{"200":{"description":"","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"}}}},"/api/v0/action_configs":{"post":{"tags":["action_configs"],"operationId":"func1","summary":"Configure actions","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/tmpforms.ActionConfigCreate"}}],"responses":{"202":{"description":"Success.","schema":{"$ref":"#/definitions/tmpresponses.ActionConfig"}}}},"get":{"tags":["action_configs"],"operationId":"func1","summary":"List all action configs","produces":["application/json"],"consumes":["application/json"],"responses":{"200":{"description":"Success, list of action configs returned.","schema":{"$ref":"#/definitions/tmpresponses.ActionConfigs"}}}}},"/api/v0/action_configs/{action}":{"get":{"tags":["action_configs"],"operationId":"func1","summary":"Get info about the actionConfig with the given action","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"name of action to fetch the config for","name":"action","required":true,"type":"string"}],"responses":{"200":{"description":"Success, action config info returned.","schema":{"$ref":"#/definitions/tmpresponses.ActionConfig"}}}},"delete":{"tags":["action_configs"],"operationId":"func1","summary":"Delete the action config. The defaults will be used.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"the name of the action to delete the config for","name":"action","required":true,"type":"string"}],"responses":{"204":{"description":"Success, action config has been deleted."}}}},"/api/v0/content_caches":{"get":{"tags":["content_caches"],"operationId":"ListContentCaches","summary":"List all content caches","description":"\n*Authorization:* Client must be authenticated as any active user in the system.\n\t\t","produces":["application/json"],"consumes":["application/json"],"responses":{"200":{"description":"","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"}}},"post":{"tags":["content_caches"],"operationId":"CreateContentCache","summary":"Create content cache","description":"\n*Authorization:* Client must be authenticated an admin.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"body","name":"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":{"tags":["content_caches"],"operationId":"GetContentCache","summary":"View details of a content cache","description":"\n*Authorization:* Client must be authenticated as any active user in the system.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"uuid of content cache","name":"contentcacheuuid","required":true,"type":"string"}],"responses":{"200":{"description":"","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"}}},"delete":{"tags":["content_caches"],"operationId":"DeleteContentCache","summary":"Remove a content cache","description":"\n*Authorization:* Client must be authenticated an admin.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"uuid of content cache","name":"contentcacheuuid","required":true,"type":"string"}],"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":{"post":{"tags":["crons"],"operationId":"func1","summary":"Create / update a periodic task","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/tmpforms.CronCreate"}}],"responses":{"202":{"description":"Success.","schema":{"$ref":"#/definitions/tmpresponses.Cron"}}}},"get":{"tags":["crons"],"operationId":"func1","summary":"List all crons","produces":["application/json"],"consumes":["application/json"],"responses":{"200":{"description":"Success, list of crons returned.","schema":{"$ref":"#/definitions/tmpresponses.Crons"}}}}},"/api/v0/crons/{action}":{"get":{"tags":["crons"],"operationId":"func1","summary":"Get info about the cron with the given action","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"action of the cron to fetch","name":"action","required":true,"type":"string"}],"responses":{"200":{"description":"Success, cron info returned.","schema":{"$ref":"#/definitions/tmpresponses.Cron"}}}},"delete":{"tags":["crons"],"operationId":"func1","summary":"Delete the cron. Jobs created from it will not be canceled.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"action of cron to delete","name":"action","required":true,"type":"string"}],"responses":{"204":{"description":"Success, cron has been deleted."}}}},"/api/v0/events":{"get":{"tags":["events"],"operationId":"GetEvents","summary":"Get Events","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"query","description":"The ID of the first record on the page","name":"pageStart","required":false,"type":"string"},{"in":"query","description":"Maximum number of results to return","name":"pageSize","required":false,"type":"integer","format":"int32","default":10},{"in":"query","description":"Whether to include the resource count in the response header","name":"count","required":false,"type":"boolean","default":false},{"in":"query","name":"publishedBefore","required":false,"type":"string","format":"date-time"},{"in":"query","name":"publishedAfter","required":false,"type":"string","format":"date-time"},{"in":"query","description":"UUID of the user or organization that performed the event","name":"actorId","required":false,"type":"string"},{"in":"query","description":"Type of events to filter by","name":"eventType","required":false,"type":"string"}],"responses":{"200":{"description":"","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"}}}},"/api/v0/imagescan/repositories/{namespace}/{reponame}/{tag}":{"get":{"tags":["imagescan"],"operationId":"GetSummaryByManifestDigest","summary":"Get the summary info on a namespace/repo:tag","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"path","description":"tag name","name":"tag","required":true,"type":"string"},{"in":"query","description":"Whether to include detailed summary results","name":"detailed","required":false,"type":"boolean","default":true},{"in":"query","description":"Operating system of the tag","name":"os","required":false,"type":"string"},{"in":"query","description":"Architecture of the tag","name":"arch","required":false,"type":"string"}],"responses":{"200":{"description":"Successfully retrieved summary.","schema":{"type":"array","items":{"$ref":"#/definitions/schema.TagScanSummary"}}},"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"}}}},"/api/v0/imagescan/scan":{"post":{"tags":["imagescan"],"operationId":"ScanAllLayers","summary":"Do a scan or a scan/check of all layers","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"body","name":"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"}}}},"/api/v0/imagescan/layer/{layerid}":{"get":{"tags":["imagescan"],"operationId":"GetLayerFromSha","summary":"Get the layer info from the given sha","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"layer id","name":"layerid","required":true,"type":"string"}],"responses":{"200":{"description":"Successfully retrieved layer info.","schema":{"$ref":"#/definitions/schema.Layer"}},"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"}}}},"/api/v0/imagescan/scan/{namespace}/{reponame}/{tag}/{os}/{arch}":{"post":{"tags":["imagescan"],"operationId":"ScanImage","summary":"Do a scan or a scan/check of given image","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"path","description":"tag name","name":"tag","required":true,"type":"string"},{"in":"path","description":"operating system of the tag","name":"os","required":true,"type":"string"},{"in":"path","description":"architecture of the tag","name":"arch","required":true,"type":"string"}],"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"}}}},"/api/v0/imagescan/scan/update":{"put":{"tags":["imagescan"],"operationId":"UpdateVulnDB","summary":"Update the vulnerability database for security scanning","produces":["application/json"],"consumes":["multipart/form-data","application/json"],"parameters":[{"in":"formData","description":"Upload file to init database","name":"file","required":false,"type":"file"},{"in":"query","description":"Init or update vuln db in online mode.","name":"online","required":false,"type":"boolean","default":false}],"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"}}}},"/api/v0/imagescan/status":{"get":{"tags":["imagescan"],"operationId":"GetNautilusDBStatus","summary":"Get the status and version of scanning service","produces":["application/json"],"consumes":["application/json"],"responses":{"200":{"description":"Successfully retrieved DB status","schema":{"$ref":"#/definitions/schema.NautilusStatus"}},"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/index/dockersearch":{"get":{"tags":["index"],"operationId":"Docker Search","summary":"Search Docker repositories","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\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"query","description":"Search query","name":"q","required":true,"type":"string"}],"responses":{"200":{"description":"","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"}}}},"/api/v0/index/autocomplete":{"get":{"tags":["index"],"operationId":"Autocomplete","summary":"Autocompletion for repositories and/or accounts","description":"\nRepository results will be filtered to only those repositories visible to the client. Account results will not be filtered.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"query","description":"Autocomplete query","name":"query","required":true,"type":"string"},{"in":"query","description":"Whether to include repositories in the response","name":"includeRepositories","required":false,"type":"boolean","default":true},{"in":"query","description":"Whether to include accounts in the response","name":"includeAccounts","required":false,"type":"boolean","default":true},{"in":"query","description":"Exact repository namespace to limit results to.","name":"namespace","required":false,"type":"string"},{"in":"query","name":"limit","required":false,"type":"uint","default":25}],"responses":{"200":{"description":"","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"}}}},"/api/v0/jobs":{"post":{"tags":["jobs"],"operationId":"func1","summary":"Schedule a job to be run immediately","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/tmpforms.JobSubmission"}}],"responses":{"202":{"description":"Success, job waiting to be claimed.","schema":{"$ref":"#/definitions/tmpresponses.Job"}}}},"get":{"tags":["jobs"],"operationId":"func1","summary":"List all jobs ordered by most recently scheduled","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"query","description":"Filter jobs by action.","name":"action","required":false,"type":"string","default":"any"},{"in":"query","description":"Filter jobs by worker ID.","name":"worker","required":false,"type":"string","default":"any"},{"in":"query","description":"Show only jobs that are running.","name":"running","required":false,"type":"string","default":"any"},{"in":"query","description":"Return most recently scheduled jobs starting from this offset index.","name":"start","required":false,"type":"integer","format":"int32","default":0},{"in":"query","description":"Maximum number of jobs per page of results.","name":"limit","required":false,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Success, list of jobs returned.","schema":{"$ref":"#/definitions/tmpresponses.Jobs"}}}}},"/api/v0/jobs/{jobID}":{"get":{"tags":["jobs"],"operationId":"func1","summary":"Get info about the job with the given ID","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"ID of job to fetch","name":"jobID","required":true,"type":"string"}],"responses":{"200":{"description":"Success, job info returned.","schema":{"$ref":"#/definitions/tmpresponses.Job"}}}},"delete":{"tags":["jobs"],"operationId":"func1","summary":"Signal this job's worker to cancel and delete the job","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"ID of job to delete","name":"jobID","required":true,"type":"string"}],"responses":{"204":{"description":"Success, job has been deleted."}}}},"/api/v0/jobs/{jobID}/cancel":{"post":{"tags":["jobs"],"operationId":"func1","summary":"Signal this job's worker to cancel the job","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"ID of job to cancel","name":"jobID","required":true,"type":"string"}],"responses":{"204":{"description":"Success, job has been canceled."}}}},"/api/v0/jobs/{jobID}/logs":{"get":{"tags":["jobs"],"operationId":"func1","summary":"Retrieve logs for this job from its worker","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"ID of job whose logs to retrieve","name":"jobID","required":true,"type":"string"},{"in":"query","description":"t/f: stream new logs","name":"stream","required":false,"type":"string","default":"f"},{"in":"query","description":"Line number to start from","name":"offset","required":false,"type":"integer","format":"int32","default":0},{"in":"query","description":"Number of lines to return if not streaming","name":"limit","required":false,"type":"integer","format":"int32","default":0}],"responses":{"200":{"description":"Success, job's logs returned.","schema":{"$ref":"#/definitions/tmpresponses.JobLogs"}}}}},"/api/v0/meta/settings":{"post":{"tags":["meta"],"operationId":"UpdateSettings","summary":"Update settings","description":"\n*Authorization:* Client must be authenticated an admin.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"body","name":"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"}}},"get":{"tags":["meta"],"operationId":"GetSettings","summary":"Get settings","description":"\n*Authorization:* Client must be authenticated an admin.\n\t\t","produces":["application/json"],"consumes":["application/json"],"responses":{"200":{"description":"","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"}}}},"/api/v0/meta/cluster_status":{"get":{"tags":["meta"],"operationId":"GetClusterStatus","summary":"Get cluster status","description":"\n*Authorization:* Client must be authenticated an admin.\n\t\t","produces":["application/json"],"consumes":["application/json"],"responses":{"200":{"description":"","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"}}}},"/api/v0/meta/features":{"get":{"tags":["meta"],"operationId":"GetFeatures","summary":"Get features","description":"\n*Authorization:* Client must be authenticated as any active user in the system\n\t\t","produces":["application/json"],"consumes":["application/json"],"responses":{"200":{"description":"","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"}}}},"/api/v0/repositories":{"get":{"tags":["repositories"],"operationId":"ListRepositories","summary":"List all repositories","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\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"query","description":"The ID of the first record on the page","name":"pageStart","required":false,"type":"string"},{"in":"query","description":"Maximum number of results to return","name":"pageSize","required":false,"type":"integer","format":"int32","default":10},{"in":"query","description":"Whether to include the resource count in the response header","name":"count","required":false,"type":"boolean","default":false}],"responses":{"200":{"description":"","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"}}}},"/api/v0/repositories/{namespace}":{"get":{"tags":["repositories"],"operationId":"ListNamespaceRepositories","summary":"List repositories in a namespace","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\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"query","description":"The ID of the first record on the page","name":"pageStart","required":false,"type":"string"},{"in":"query","description":"Maximum number of results to return","name":"pageSize","required":false,"type":"integer","format":"int32","default":10},{"in":"query","description":"Whether to include the resource count in the response header","name":"count","required":false,"type":"boolean","default":false}],"responses":{"200":{"description":"","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"}}},"post":{"tags":["repositories"],"operationId":"CreateRepository","summary":"Create repository","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\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"body","name":"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":{"tags":["repositories"],"operationId":"GetRepository","summary":"View details of a repository","description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"}],"responses":{"200":{"description":"","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"}}},"patch":{"tags":["repositories"],"operationId":"PatchRepository","summary":"Update details of a repository","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\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/forms.UpdateRepo"}}],"responses":{"200":{"description":"","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"}}},"delete":{"tags":["repositories"],"operationId":"DeleteRepository","summary":"Remove a repository","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\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"query","description":"The domain used to push tags to DTR. Must be set to obtain/manipulate Notary related information","name":"domain","required":false,"type":"string"}],"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":"NOT_ALLOWED: Method Not Allowed"},"406":{"description":"NOT_ACCEPTABLE: Not Acceptable"},"415":{"description":"UNSUPPORTED_MEDIA_TYPE: Unsupported Media Type"}}}},"/api/v0/repositories/scan/toggle":{"post":{"tags":["repositories"],"operationId":"ToggleAllRepositoriesScanOnPush","summary":"Toggles scan on push for all repositories","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\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"body","name":"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"}}}},"/api/v0/repositories/{namespace}/{reponame}/teamAccess":{"get":{"tags":["repositories"],"operationId":"ListRepoTeamAccess","summary":"List teams granted access to an organization-owned repository","description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"query","description":"The ID of the first record on the page","name":"pageStart","required":false,"type":"string"},{"in":"query","description":"Maximum number of results to return","name":"pageSize","required":false,"type":"integer","format":"int32","default":10},{"in":"query","description":"Whether to include the resource count in the response header","name":"count","required":false,"type":"boolean","default":false}],"responses":{"200":{"description":"","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"}}}},"/api/v0/repositories/{namespace}/{reponame}/teamAccess/{teamname}":{"put":{"tags":["repositories"],"operationId":"GrantRepoTeamAccess","summary":"Set a team's access to an orgnization-owned repository","description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"path","description":"team name","name":"teamname","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/forms.Access"}}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/responses.RepoTeamAccess"}},"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"}}},"delete":{"tags":["repositories"],"operationId":"RevokeRepoTeamAccess","summary":"Revoke a team's acccess to an organization-owned repository","description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"path","description":"team name","name":"teamname","required":true,"type":"string"}],"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}/tags":{"get":{"tags":["repositories"],"operationId":"ListRepoTags","summary":"List the available tags for a repository","description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"query","description":"The ID of the first record on the page","name":"pageStart","required":false,"type":"string"},{"in":"query","description":"Maximum number of results to return","name":"pageSize","required":false,"type":"integer","format":"int32","default":10},{"in":"query","description":"Whether to include the resource count in the response header","name":"count","required":false,"type":"boolean","default":false},{"in":"query","description":"Whether to include the manifest for each tag","name":"includeManifests","required":false,"type":"boolean","default":false},{"in":"query","description":"The domain used to push tags to DTR. Must be set to obtain/manipulate Notary related information","name":"domain","required":false,"type":"string"}],"responses":{"200":{"description":"","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_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}/tags/{tag}":{"get":{"tags":["repositories"],"operationId":"ListRepoTag","summary":"Retrieve a specific tag for a repository","description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"path","description":"tag name","name":"tag","required":true,"type":"string"},{"in":"query","description":"The domain used to push tags to DTR. Must be set to obtain/manipulate Notary related information","name":"domain","required":false,"type":"string"},{"in":"query","description":"Operating system of the tag","name":"os","required":false,"type":"string"},{"in":"query","description":"Architecture of the tag","name":"arch","required":false,"type":"string"}],"responses":{"200":{"description":"","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_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"}}},"delete":{"tags":["repositories"],"operationId":"DeleteRepoTag","summary":"Delete a tag for a repository","description":"\n*Authorization:* Client must be authenticated as a user who has \"write\" level access to the repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"path","description":"tag name","name":"tag","required":true,"type":"string"},{"in":"query","description":"The domain used to push tags to DTR. Must be set to obtain/manipulate Notary related information","name":"domain","required":false,"type":"string"}],"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":{"tags":["repositories"],"operationId":"CreateRepoTagPromotion","summary":"Promotes a specific tag for a repository","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\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"path","description":"tag name","name":"tag","required":true,"type":"string"},{"in":"body","name":"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}/manifests":{"get":{"tags":["repositories"],"operationId":"ListRepoManifests","summary":"List the available manifests for a repository","description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"query","description":"The ID of the first record on the page","name":"pageStart","required":false,"type":"string"},{"in":"query","description":"Maximum number of results to return","name":"pageSize","required":false,"type":"integer","format":"int32","default":10},{"in":"query","description":"Whether to include the resource count in the response header","name":"count","required":false,"type":"boolean","default":false}],"responses":{"200":{"description":"","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"}}}},"/api/v0/repositories/{namespace}/{reponame}/manifests/{reference}":{"delete":{"tags":["repositories"],"operationId":"DeleteRepoManifest","summary":"Delete a manifest for a repository","description":"\n*Authorization:* Client must be authenticated as a user who has \"write\" level access to the repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"path","description":"digest or tag for an image manifest","name":"reference","required":true,"type":"string"}],"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_MANIFEST: A manifest with the given reference 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}/webhooks":{"get":{"tags":["repositories"],"operationId":"ListRepoWebhooks","summary":"List the webhook subscriptions for a repository","description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"}],"responses":{"200":{"description":"","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"}}}},"/api/v0/repositories/{namespace}/{reponame}/promotionPolicies":{"get":{"tags":["repositories"],"operationId":"ListRepoPromotionPolicies","summary":"List the promotion policies for a repository","description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the source or target repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"query","description":"Whether to list promotion policies for a repository as a source or destination.","name":"source","required":false,"type":"boolean","default":true}],"responses":{"200":{"description":"","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"}}},"post":{"tags":["repositories"],"operationId":"CreateRepoPromotionPolicy","summary":"Create a promotion policy for a repository","description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the source and target repository.\n\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- \"package.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\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\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"query","description":"Whether to evaluate the promotion policy on creation","name":"initialEvaluation","required":false,"type":"boolean","default":true},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/forms.CreatePromotionPolicy"}}],"responses":{"201":{"description":"success","schema":{"$ref":"#/definitions/responses.PromotionPolicy"}},"400":{"description":"REQUIRES_ADVANCED_LICENSE: This feature requires Enterprise Edition Advanced"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"INVALID_PROMOTION_POLICY: The given promotion 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}/promotionPolicies/{promotionpolicyid}":{"get":{"tags":["repositories"],"operationId":"GetRepoPromotionPolicy","summary":"Retrieve a specific promotion policy for a repository","description":"\n*Authorization:* Client must be authenticated as a user who has visibility to the source or target repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"path","description":"promotion policy id","name":"promotionpolicyid","required":true,"type":"string"}],"responses":{"200":{"description":"","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"}}},"delete":{"tags":["repositories"],"operationId":"DeleteRepoPromotionPolicy","summary":"Deletes a specific promotion policy for a repository","description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the source or target repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"path","description":"promotion policy id","name":"promotionpolicyid","required":true,"type":"string"}],"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"}}},"put":{"tags":["repositories"],"operationId":"UpdateRepoPromotionPolicy","summary":"Updates a specific promotion policy for a repository","description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the source and target repository.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"name of repository","name":"reponame","required":true,"type":"string"},{"in":"path","description":"promotion policy id","name":"promotionpolicyid","required":true,"type":"string"},{"in":"query","description":"Whether to evaluate the promotion policy on creation","name":"initialEvaluation","required":false,"type":"boolean","default":true},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/forms.UpdatePromotionPolicy"}}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/responses.PromotionPolicy"}},"400":{"description":"REQUIRES_ADVANCED_LICENSE: This feature requires Enterprise Edition Advanced"},"401":{"description":"NOT_AUTHENTICATED: The client is not authenticated."},"403":{"description":"NOT_AUTHORIZED: The client is not authorized."},"404":{"description":"INVALID_PROMOTION_POLICY: The given promotion 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/repositoryNamespaces/{namespace}/teamAccess":{"get":{"tags":["repositoryNamespaces"],"operationId":"ListRepoNamespaceTeamAccess","summary":"List teams granted access to an organization-owned namespace of repositories","description":"\n*Authorization:* Client must be authenticated as an admin or a member of the organization.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"query","description":"The ID of the first record on the page","name":"pageStart","required":false,"type":"string"},{"in":"query","description":"Maximum number of results to return","name":"pageSize","required":false,"type":"integer","format":"int32","default":10},{"in":"query","description":"Whether to include the resource count in the response header","name":"count","required":false,"type":"boolean","default":false}],"responses":{"200":{"description":"","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"}}}},"/api/v0/repositoryNamespaces/{namespace}/teamAccess/{teamname}":{"get":{"tags":["repositoryNamespaces"],"operationId":"GetRepoNamespaceTeamAccess","summary":"Get a team's granted access to an organization-owned namespace of repositories","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\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"team name","name":"teamname","required":true,"type":"string"}],"responses":{"200":{"description":"","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"}}},"put":{"tags":["repositoryNamespaces"],"operationId":"GrantRepoNamespaceTeamAccess","summary":"Set a team's access to an organization-owned namespace of repositories","description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the namespace.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"team name","name":"teamname","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/forms.Access"}}],"responses":{"200":{"description":"","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"}}},"delete":{"tags":["repositoryNamespaces"],"operationId":"RevokeRepoNamespaceTeamAccess","summary":"Revoke a team's access to an organization-owned namespace of repositories","description":"\n*Authorization:* Client must be authenticated as a user who has \"admin\" level access to the namespace.\n\t\t","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"namespace/owner of repository","name":"namespace","required":true,"type":"string"},{"in":"path","description":"team name","name":"teamname","required":true,"type":"string"}],"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":{"tags":["webhooks"],"operationId":"ListWebhooks","summary":"List Webhooks","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"query","description":"The type of webhook to list","name":"webhookType","required":false,"type":"string","default":"any"}],"responses":{"200":{"description":"","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"}}},"post":{"tags":["webhooks"],"operationId":"CreateWebhook","summary":"Create Webhook","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/forms.Webhook"}}],"responses":{"200":{"description":"","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/update":{"post":{"tags":["webhooks"],"operationId":"UpdateWebhook","summary":"Update Webhook","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/forms.WebhookUpdate"}}],"responses":{"200":{"description":"","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."},"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":{"tags":["webhooks"],"operationId":"TestWebhook","summary":"Test Webhook","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/forms.WebhookTestPayload"}}],"responses":{"200":{"description":""},"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"}}}},"/api/v0/webhooks/{webhook}":{"delete":{"tags":["webhooks"],"operationId":"DeleteWebhook","summary":"Delete Webhook","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"webhook subscription ID","name":"webhook","required":true,"type":"string"}],"responses":{"200":{"description":""},"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":{"tags":["workers"],"operationId":"func1","summary":"List all workers","produces":["application/json"],"consumes":["application/json"],"responses":{"200":{"description":"Success, list of workers returned.","schema":{"$ref":"#/definitions/tmpresponses.Workers"}}}}},"/api/v0/workers/{id}/capacity":{"post":{"tags":["workers"],"operationId":"func1","summary":"Update the capacity for a worker","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","description":"ID of worker to update","name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/tmpforms.UpdateWorkerCapacity"}}],"responses":{"202":{"description":"Success."}}}}},"definitions":{"responses.ListTeamRepoAccess":{"required":["team","repositoryAccessList"],"properties":{"team":{"$ref":"#/definitions/responses.Team"},"repositoryAccessList":{"type":"array","items":{"$ref":"#/definitions/responses.RepoAccess"}}}},"responses.Team":{"required":["id","clientUserIsMember"],"properties":{"id":{"type":"string"},"clientUserIsMember":{"type":"boolean"}}},"responses.RepoAccess":{"required":["accessLevel","repository"],"properties":{"accessLevel":{"type":"string","enum":["read-only","read-write","admin"]},"repository":{"$ref":"#/definitions/responses.Repository"}}},"responses.Repository":{"required":["id","namespace","namespaceType","name","shortDescription","visibility","scanOnPush","immutableTags","enableManifestLists"],"properties":{"id":{"type":"string"},"namespace":{"type":"string"},"namespaceType":{"type":"string","enum":["user","organization"]},"name":{"type":"string"},"shortDescription":{"type":"string"},"longDescription":{"type":"string"},"visibility":{"type":"string","enum":["public","private"]},"scanOnPush":{"type":"boolean"},"immutableTags":{"type":"boolean"},"enableManifestLists":{"type":"boolean"}}},"responses.RepoUserAccess":{"required":["accessLevel","user","repository"],"properties":{"accessLevel":{"type":"string","enum":["read-only","read-write","admin"]},"user":{"$ref":"#/definitions/responses.Account"},"repository":{"$ref":"#/definitions/responses.Repository"}}},"responses.Account":{"required":["name","id","fullName","isOrg"],"properties":{"name":{"type":"string","description":"Name of the account"},"id":{"type":"string","description":"ID of the account"},"fullName":{"type":"string","description":"Full Name of the account"},"isOrg":{"type":"boolean","description":"Whether the account is an organization (or user)"},"isAdmin":{"type":"boolean","description":"Whether the user is a system admin (users only)"},"isActive":{"type":"boolean","description":"Whether the user is active and can login (users only)"}}},"responses.Language":{"required":["language"],"properties":{"language":{"type":"string"}}},"responses.UserSettings":{"required":["ContentCacheUUID"],"properties":{"ContentCacheUUID":{"type":"string"}}},"forms.UserSettings":{"properties":{"contentCacheUUID":{"type":"string"}}},"||responses.Webhook":{},"responses.Webhook":{"required":["id","type","key","endpoint","authorID","createdAt","inactive"],"properties":{"id":{"type":"string"},"type":{"type":"string"},"key":{"type":"string"},"endpoint":{"type":"string"},"authorID":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastSuccessfulAt":{"type":"string","format":"date-time"},"inactive":{"type":"boolean"}}},"tmpresponses.ActionConfig":{"required":["id","action","parameters"],"properties":{"id":{"type":"string"},"action":{"type":"string"},"parameters":{"type":"object"}}},"tmpforms.ActionConfigCreate":{"required":["action","parameters"],"properties":{"action":{"type":"string","description":"The action to modify the config for"},"parameters":{"type":"object"}}},"tmpresponses.ActionConfigs":{"required":["actionConfigs"],"properties":{"actionConfigs":{"type":"array","items":{"$ref":"#/definitions/tmpresponses.ActionConfig"}}}},"||responses.ContentCache":{},"responses.ContentCache":{"required":["id","name","host"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"host":{"type":"string"}}},"forms.CreateContentCache":{"required":["name","host"],"properties":{"name":{"type":"string"},"host":{"type":"string"}}},"tmpresponses.Cron":{"required":["id","action","schedule","retries","capacityMap","parameters","deadline","stopTimeout","nextRun"],"properties":{"id":{"type":"string"},"action":{"type":"string"},"schedule":{"type":"string"},"retries":{"type":"integer","format":"int32"},"capacityMap":{"type":"object"},"parameters":{"type":"object"},"deadline":{"type":"string"},"stopTimeout":{"type":"string"},"nextRun":{"type":"string","format":"date-time"}}},"tmpforms.CronCreate":{"required":["action","schedule","retries","capacityMap","parameters","deadline","stopTimeout"],"properties":{"action":{"type":"string","description":"The action which the cron will perform"},"schedule":{"type":"string","description":"The for the cron as a cronspec string: (seconds) (minutes) (hours) (day of month) (month) (day of week) or @hourly, @weekly, etc."},"retries":{"type":"integer","format":"int32","description":"The number of times to retry a job if it fails"},"capacityMap":{"type":"object"},"parameters":{"type":"object"},"deadline":{"type":"string"},"stopTimeout":{"type":"string"}}},"tmpresponses.Crons":{"required":["crons"],"properties":{"crons":{"type":"array","items":{"$ref":"#/definitions/tmpresponses.Cron"}}}},"responses.Events":{"required":["events"],"properties":{"events":{"type":"array","items":{"$ref":"#/definitions/schema.Event"}}}},"schema.Event":{"required":["id","publishedAt","actor","type","object"],"properties":{"id":{"type":"string"},"publishedAt":{"type":"string","format":"date-time"},"actor":{"type":"string"},"type":{"type":"string"},"object":{"$ref":"#/definitions/schema.Object"},"target":{"$ref":"#/definitions/schema.Object"}}},"schema.Object":{"required":["id","type"],"properties":{"id":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"content":{"type":"string"}}},"||schema.TagScanSummary":{},"schema.TagScanSummary":{"required":["namespace","reponame","tag","critical","major","minor","last_scan_status","check_completed_at","should_rescan","has_foreign_layers"],"properties":{"namespace":{"type":"string"},"reponame":{"type":"string"},"tag":{"type":"string"},"critical":{"type":"integer","format":"int32"},"major":{"type":"integer","format":"int32"},"minor":{"type":"integer","format":"int32"},"last_scan_status":{"type":"integer","format":"int32","enum":["0","1","2","3","4","5","6"]},"check_completed_at":{"type":"string","format":"date-time"},"should_rescan":{"type":"boolean"},"has_foreign_layers":{"type":"boolean"},"layer_details":{"type":"array","items":{"$ref":"#/definitions/schema.DetailedSummary"}}}},"schema.DetailedSummary":{"required":["sha256sum"],"properties":{"sha256sum":{"type":"string"},"components":{"type":"array","items":{"$ref":"#/definitions/schema.Component"}}}},"schema.Component":{"required":["component","version","vulns","fullpath"],"properties":{"component":{"type":"string"},"version":{"type":"string"},"license":{"$ref":"#/definitions/schema.License"},"vulns":{"type":"array","items":{"$ref":"#/definitions/schema.VulnerabilityDetails"}},"fullpath":{"type":"array","items":{"type":"string"}}}},"schema.License":{"required":["name","type","url"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}}},"schema.VulnerabilityDetails":{"required":["vuln","exact","notes"],"properties":{"vuln":{"$ref":"#/definitions/schema.Vulnerability"},"exact":{"type":"boolean"},"notes":{"type":"array","items":{"$ref":"#/definitions/schema.Note"}}}},"schema.Vulnerability":{"required":["cve","cvss","summary"],"properties":{"cve":{"type":"string"},"cvss":{"type":"number","format":"float"},"summary":{"type":"string"}}},"schema.Note":{"required":["reason","type"],"properties":{"reason":{"type":"string"},"type":{"type":"string"}}},"forms.ScanOptions":{"required":["scan","check"],"properties":{"scan":{"type":"boolean"},"check":{"type":"boolean"}}},"schema.Layer":{"required":["Sha256sum","Sha1Sum","Size","BillOfMaterials","VulnerabilityData","Author","status","LastCheckStartedAt","LastCheckFinishedAt","LastScanStartedAt","LastScanFinishedAt","BillOfMaterialsVersion","VulnerabilityVersion","MediaType"],"properties":{"Sha256sum":{"type":"string"},"Sha1Sum":{"type":"string"},"Size":{"type":"integer","format":"int64"},"BillOfMaterials":{"type":"string"},"VulnerabilityData":{"type":"string"},"Author":{"type":"string"},"status":{"type":"integer","format":"int32","enum":["0","1","2","3","4","5","6","7"]},"LastCheckStartedAt":{"type":"string","format":"date-time"},"LastCheckFinishedAt":{"type":"string","format":"date-time"},"LastScanStartedAt":{"type":"string","format":"date-time"},"LastScanFinishedAt":{"type":"string","format":"date-time"},"BillOfMaterialsVersion":{"type":"integer","format":"int32"},"VulnerabilityVersion":{"type":"integer","format":"int32"},"MediaType":{"type":"string"}}},"schema.NautilusStatus":{"required":["state","scanner_version","scanner_updated_at","db_version","db_updated_at","last_db_update_failed"],"properties":{"state":{"type":"integer","format":"int32"},"scanner_version":{"type":"integer","format":"int32"},"scanner_updated_at":{"type":"string","format":"date-time"},"db_version":{"type":"integer","format":"int32"},"db_updated_at":{"type":"string","format":"date-time"},"last_db_update_failed":{"type":"boolean"},"replicas":{"type":"object"}}},"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.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.Autocomplete":{"properties":{"accountResults":{"type":"array","items":{"$ref":"#/definitions/responses.Account"}},"repositoryResults":{"type":"array","items":{"$ref":"#/definitions/responses.Repository"}}}},"tmpresponses.Job":{"required":["id","retryFromID","workerID","status","scheduledAt","lastUpdated","action","retriesLeft","retriesTotal","capacityMap","parameters","deadline","stopTimeout"],"properties":{"id":{"type":"string","description":"The ID of the job"},"retryFromID":{"type":"string"},"workerID":{"type":"string","description":"The ID of the worker which performed the job, unclaimed by a worker if empty"},"status":{"type":"string","enum":["waiting","running","done","canceled","errored"],"description":"The current status of the job"},"scheduledAt":{"type":"string","format":"date-time","description":"The time at which this job was scheduled"},"lastUpdated":{"type":"string","format":"date-time","description":"The last time at which the status of this job was updated"},"action":{"type":"string","description":"The action this job performs"},"retriesLeft":{"type":"integer","format":"int32"},"retriesTotal":{"type":"integer","format":"int32"},"capacityMap":{"type":"object"},"parameters":{"type":"object"},"deadline":{"type":"string"},"stopTimeout":{"type":"string"}}},"tmpforms.JobSubmission":{"required":["action","parameters","retries","capacityMap","deadline","stopTimeout","scheduledAt"],"properties":{"action":{"type":"string","description":"The action which the job will perform"},"parameters":{"type":"object","description":"Parameters to start the job with"},"retries":{"type":"integer","format":"int32"},"capacityMap":{"type":"object"},"deadline":{"type":"string"},"stopTimeout":{"type":"string"},"scheduledAt":{"type":"string"}}},"tmpresponses.Jobs":{"required":["jobs"],"properties":{"jobs":{"type":"array","items":{"$ref":"#/definitions/tmpresponses.Job"}}}},"tmpresponses.JobLogs":{"required":["jobLogs"],"properties":{"jobLogs":{"type":"array","items":{"$ref":"#/definitions/tmpresponses.JobLog"}}}},"tmpresponses.JobLog":{"required":["data"],"properties":{"data":{"type":"string"}}},"forms.Settings":{"properties":{"dtrHost":{"type":"string"},"sso":{"type":"boolean"},"disableUpgrades":{"type":"boolean"},"reportAnalytics":{"type":"boolean"},"anonymizeAnalytics":{"type":"boolean"},"disableBackupWarning":{"type":"boolean"},"webTLSCert":{"type":"string"},"webTLSKey":{"type":"string"},"webTLSCA":{"type":"string"},"gcMode":{"type":"string"},"scanningEnabled":{"type":"boolean"},"scanningSyncOnline":{"type":"boolean"},"scanningDisableAutoRecheck":{"type":"boolean"},"jobHistoryToKeep":{"type":"integer"}}},"responses.Settings":{"required":["dtrHost","sso","replicaSettings","httpProxy","httpsProxy","noProxy","disableUpgrades","reportAnalytics","anonymizeAnalytics","disableBackupWarning","logProtocol","logHost","logLevel","webTLSCert","webTLSCA","replicaID","gcMode","scanningEnabled","scanningSyncOnline","scanningDisableAutoRecheck","jobHistoryToKeep","storageVolume","nfsHost","nfsPath"],"properties":{"dtrHost":{"type":"string"},"sso":{"type":"boolean"},"replicaSettings":{"type":"object"},"httpProxy":{"type":"string"},"httpsProxy":{"type":"string"},"noProxy":{"type":"string"},"disableUpgrades":{"type":"boolean"},"reportAnalytics":{"type":"boolean"},"anonymizeAnalytics":{"type":"boolean"},"disableBackupWarning":{"type":"boolean"},"logProtocol":{"type":"string"},"logHost":{"type":"string"},"logLevel":{"type":"string"},"webTLSCert":{"type":"string"},"webTLSCA":{"type":"string"},"replicaID":{"type":"string"},"gcMode":{"type":"string"},"scanningEnabled":{"type":"boolean"},"scanningSyncOnline":{"type":"boolean"},"scanningDisableAutoRecheck":{"type":"boolean"},"jobHistoryToKeep":{"type":"integer"},"storageVolume":{"type":"string"},"nfsHost":{"type":"string"},"nfsPath":{"type":"string"}}},"responses.ClusterStatus":{"required":["rethink_system_tables","replica_health","replica_timestamp","replica_readonly","gc_lock_holder"],"properties":{"rethink_system_tables":{"type":"object"},"replica_health":{"type":"object"},"replica_timestamp":{"type":"object"},"replica_readonly":{"type":"object"},"gc_lock_holder":{"type":"string"}}},"responses.Features":{"required":["scanningEnabled","scanningLicensed","promotionLicensed","db_version","ucpHost"],"properties":{"scanningEnabled":{"type":"boolean"},"scanningLicensed":{"type":"boolean"},"promotionLicensed":{"type":"boolean"},"db_version":{"type":"integer","format":"int32"},"ucpHost":{"type":"string"}}},"responses.Repositories":{"required":["repositories"],"properties":{"repositories":{"type":"array","items":{"$ref":"#/definitions/responses.Repository"}}}},"forms.CreateRepo":{"required":["name","shortDescription","longDescription","scanOnPush","immutableTags","enableManifestLists"],"properties":{"name":{"type":"string"},"shortDescription":{"type":"string"},"longDescription":{"type":"string"},"visibility":{"type":"string","enum":["public","private"]},"scanOnPush":{"type":"boolean"},"immutableTags":{"type":"boolean"},"enableManifestLists":{"type":"boolean"}}},"forms.UpdateRepo":{"required":["immutableTags"],"properties":{"shortDescription":{"type":"string"},"longDescription":{"type":"string"},"visibility":{"type":"string","enum":["public","private"]},"scanOnPush":{"type":"boolean"},"immutableTags":{"type":"boolean"},"enableManifestLists":{"type":"boolean"}}},"forms.ToggleScanOnPush":{"required":["scanOnPush"],"properties":{"scanOnPush":{"type":"boolean"}}},"responses.ListRepoTeamAccess":{"required":["repository","teamAccessList"],"properties":{"repository":{"$ref":"#/definitions/responses.Repository"},"teamAccessList":{"type":"array","items":{"$ref":"#/definitions/responses.TeamAccess"}}}},"responses.TeamAccess":{"required":["accessLevel","team"],"properties":{"accessLevel":{"type":"string","enum":["read-only","read-write","admin"]},"team":{"$ref":"#/definitions/responses.Team"}}},"forms.Access":{"required":["accessLevel"],"properties":{"accessLevel":{"type":"string","enum":["read-only","read-write","admin"]}}},"responses.RepoTeamAccess":{"required":["accessLevel","team","repository"],"properties":{"accessLevel":{"type":"string","enum":["read-only","read-write","admin"]},"team":{"$ref":"#/definitions/responses.Team"},"repository":{"$ref":"#/definitions/responses.Repository"}}},"||responses.Tag":{},"responses.Tag":{"required":["name","digest","author","updatedAt","createdAt","hashMismatch","inNotary","manifest","licenses","components"],"properties":{"name":{"type":"string"},"digest":{"type":"string"},"author":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"hashMismatch":{"type":"boolean","description":"true if the hashes from notary and registry don't match"},"inNotary":{"type":"boolean","description":"true if the tag exists in Notary"},"promotion":{"$ref":"#/definitions/responses.Promotion"},"manifest":{"$ref":"#/definitions/responses.Manifest"},"vuln_summary":{"$ref":"#/definitions/schema.TagScanSummary"},"licenses":{"type":"array","items":{"$ref":"#/definitions/schema.License"}},"components":{"type":"array","items":{"$ref":"#/definitions/schema.Component"}}}},"responses.Promotion":{"required":["promotionPolicyID","string","sourceRepository","sourceTag"],"properties":{"promotionPolicyID":{"type":"string"},"string":{"type":"string"},"sourceRepository":{"type":"string"},"sourceTag":{"type":"string"}}},"responses.Manifest":{"required":["digest"],"properties":{"digest":{"type":"string"},"os":{"type":"string"},"osVersion":{"type":"string"},"architecture":{"type":"string"},"mediaType":{"type":"string"},"configMediaType":{"type":"string"},"size":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"author":{"type":"string"},"dockerfile":{"type":"array","items":{"$ref":"#/definitions/responses.DockerfileLine"}}}},"responses.DockerfileLine":{"required":["line","layerDigest","size","isEmpty"],"properties":{"line":{"type":"string"},"layerDigest":{"type":"string"},"size":{"type":"integer","format":"int64"},"mediaType":{"type":"string"},"urls":{"type":"array","items":{"type":"string"}},"isEmpty":{"type":"boolean"}}},"forms.CreatePromotion":{"required":["targetRepository","targetTag"],"properties":{"targetRepository":{"type":"string"},"targetTag":{"type":"string"}}},"||responses.Manifest":{},"||responses.PromotionPolicy":{},"responses.PromotionPolicy":{"required":["id","rules","sourceRepository","targetRepository","tagTemplate","enabled","lastPromotedAt"],"properties":{"id":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}},"sourceRepository":{"type":"string"},"targetRepository":{"type":"string"},"tagTemplate":{"type":"string"},"enabled":{"type":"boolean"},"lastPromotedAt":{"type":"string","format":"date-time"}}},"ruleengine.Rule":{"properties":{"field":{"type":"string"},"operator":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}}},"forms.CreatePromotionPolicy":{"required":["rules","targetRepository","tagTemplate","enabled"],"properties":{"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}},"targetRepository":{"type":"string"},"tagTemplate":{"type":"string"},"enabled":{"type":"boolean"}}},"forms.UpdatePromotionPolicy":{"properties":{"rules":{"type":"array","items":{"$ref":"#/definitions/ruleengine.Rule"}},"targetRepository":{"type":"string"},"tagTemplate":{"type":"string"},"enabled":{"type":"boolean"}}},"responses.ListRepoNamespaceTeamAccess":{"required":["namespace","teamAccessList"],"properties":{"namespace":{"type":"string"},"teamAccessList":{"type":"array","items":{"$ref":"#/definitions/responses.TeamAccess"}}}},"responses.NamespaceTeamAccess":{"required":["accessLevel","team","namespace"],"properties":{"accessLevel":{"type":"string","enum":["read-only","read-write","admin"]},"team":{"$ref":"#/definitions/responses.Team"},"namespace":{"type":"string"}}},"forms.Webhook":{"required":["endpoint"],"properties":{"type":{"type":"string","enum":["TAG_PUSH","TAG_DELETE","MANIFEST_PUSH","MANIFEST_DELETE","REPO_EVENT","SCAN_COMPLETED","SCAN_FAILED","SCANNER_UPDATE_COMPLETED"]},"key":{"type":"string"},"endpoint":{"type":"string"}}},"forms.WebhookUpdate":{"required":["id","inactive"],"properties":{"id":{"type":"string"},"inactive":{"type":"boolean"}}},"forms.WebhookTestPayload":{"required":["type","endpoint"],"properties":{"type":{"type":"string"},"endpoint":{"type":"string"}}},"tmpresponses.Workers":{"required":["workers"],"properties":{"workers":{"type":"array","items":{"$ref":"#/definitions/tmpresponses.Worker"}}}},"tmpresponses.Worker":{"required":["id","status","capacityMap","heartbeatExpiration"],"properties":{"id":{"type":"string"},"status":{"type":"string"},"capacityMap":{"type":"object"},"heartbeatExpiration":{"type":"string"}}},"tmpforms.UpdateWorkerCapacity":{"required":["capacityMap"],"properties":{"capacityMap":{"type":"object","description":"The new capacity for the worker, representing roughly the amount of RAM to use"}}}}}
,
    dom_id: "swagger-ui-container",
    supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
    validatorUrl: null,
    docExpansion: 'list',
    supportedSubmitMethods: [],
    onComplete: function(swaggerApi, swaggerUi){
      if(typeof initOAuth == "function") {
        initOAuth({
          clientId: "your-client-id",
          clientSecret: "your-client-secret",
          realm: "your-realms",
          appName: "your-app-name", 
          scopeSeparator: ","
        });
      }

      if(window.SwaggerTranslator) {
        window.SwaggerTranslator.translate();
      }

      $('pre code').each(function(i, e) {
        hljs.highlightBlock(e)
      });
    },
    onFailure: function(data) {
      log("Unable to Load SwaggerUI");
    },
    apisSorter: "alpha",
    showRequestHeaders: false
  });

  // if you have an apiKey you would like to pre-populate on the page for demonstration purposes...
  /*
    var apiKey = "myApiKeyXXXX123456789";
    $('#input_apiKey').val(apiKey);
  */

  window.swaggerUi.load();

  function log() {
    if ('console' in window) {
      console.log.apply(console, arguments);
    }
  }
});
