diff --git a/api/design/types/type.go b/api/design/types/type.go index 89af6fa3e6..74425602be 100644 --- a/api/design/types/type.go +++ b/api/design/types/type.go @@ -40,16 +40,8 @@ var Category = Type("Category", func() { Attribute("name", String, "Name of category", func() { Example("name", "Image Builder") }) - Attribute("tags", Tags, "List of tags associated with the category", func() { - Example("tags", func() { - Value([]Val{ - {"id": 1, "name": "image-build"}, - {"id": 2, "name": "kaniko"}, - }) - }) - }) - Required("id", "name", "tags") + Required("id", "name") }) var Catalog = ResultType("application/vnd.hub.catalog", "Catalog", func() { diff --git a/api/gen/category/service.go b/api/gen/category/service.go index aceeffab72..7742010413 100644 --- a/api/gen/category/service.go +++ b/api/gen/category/service.go @@ -39,15 +39,6 @@ type Category struct { ID uint // Name of category Name string - // List of tags associated with the category - Tags []*Tag -} - -type Tag struct { - // ID is the unique id of tag - ID uint - // Name of tag - Name string } // MakeInternalError builds a goa.ServiceError from an error. diff --git a/api/gen/http/category/client/encode_decode.go b/api/gen/http/category/client/encode_decode.go index 70cea2a4cd..3d7247beff 100644 --- a/api/gen/http/category/client/encode_decode.go +++ b/api/gen/http/category/client/encode_decode.go @@ -100,21 +100,6 @@ func unmarshalCategoryResponseBodyToCategoryCategory(v *CategoryResponseBody) *c ID: *v.ID, Name: *v.Name, } - res.Tags = make([]*category.Tag, len(v.Tags)) - for i, val := range v.Tags { - res.Tags[i] = unmarshalTagResponseBodyToCategoryTag(val) - } - - return res -} - -// unmarshalTagResponseBodyToCategoryTag builds a value of type *category.Tag -// from a value of type *TagResponseBody. -func unmarshalTagResponseBodyToCategoryTag(v *TagResponseBody) *category.Tag { - res := &category.Tag{ - ID: *v.ID, - Name: *v.Name, - } return res } diff --git a/api/gen/http/category/client/types.go b/api/gen/http/category/client/types.go index 453a4a9691..9e5d3c6f13 100644 --- a/api/gen/http/category/client/types.go +++ b/api/gen/http/category/client/types.go @@ -42,16 +42,6 @@ type CategoryResponseBody struct { ID *uint `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"` // Name of category Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"` - // List of tags associated with the category - Tags []*TagResponseBody `form:"tags,omitempty" json:"tags,omitempty" xml:"tags,omitempty"` -} - -// TagResponseBody is used to define fields on response body types. -type TagResponseBody struct { - // ID is the unique id of tag - ID *uint `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"` - // Name of tag - Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"` } // NewListResultOK builds a "category" service "list" endpoint result from a @@ -122,27 +112,6 @@ func ValidateListInternalErrorResponseBody(body *ListInternalErrorResponseBody) // ValidateCategoryResponseBody runs the validations defined on // CategoryResponseBody func ValidateCategoryResponseBody(body *CategoryResponseBody) (err error) { - if body.ID == nil { - err = goa.MergeErrors(err, goa.MissingFieldError("id", "body")) - } - if body.Name == nil { - err = goa.MergeErrors(err, goa.MissingFieldError("name", "body")) - } - if body.Tags == nil { - err = goa.MergeErrors(err, goa.MissingFieldError("tags", "body")) - } - for _, e := range body.Tags { - if e != nil { - if err2 := ValidateTagResponseBody(e); err2 != nil { - err = goa.MergeErrors(err, err2) - } - } - } - return -} - -// ValidateTagResponseBody runs the validations defined on TagResponseBody -func ValidateTagResponseBody(body *TagResponseBody) (err error) { if body.ID == nil { err = goa.MergeErrors(err, goa.MissingFieldError("id", "body")) } diff --git a/api/gen/http/category/server/encode_decode.go b/api/gen/http/category/server/encode_decode.go index ceba829a6c..463fd66eeb 100644 --- a/api/gen/http/category/server/encode_decode.go +++ b/api/gen/http/category/server/encode_decode.go @@ -66,23 +66,6 @@ func marshalCategoryCategoryToCategoryResponseBody(v *category.Category) *Catego ID: v.ID, Name: v.Name, } - if v.Tags != nil { - res.Tags = make([]*TagResponseBody, len(v.Tags)) - for i, val := range v.Tags { - res.Tags[i] = marshalCategoryTagToTagResponseBody(val) - } - } - - return res -} - -// marshalCategoryTagToTagResponseBody builds a value of type *TagResponseBody -// from a value of type *category.Tag. -func marshalCategoryTagToTagResponseBody(v *category.Tag) *TagResponseBody { - res := &TagResponseBody{ - ID: v.ID, - Name: v.Name, - } return res } diff --git a/api/gen/http/category/server/types.go b/api/gen/http/category/server/types.go index 06e09ed9b6..4bdc9aa62e 100644 --- a/api/gen/http/category/server/types.go +++ b/api/gen/http/category/server/types.go @@ -42,16 +42,6 @@ type CategoryResponseBody struct { ID uint `form:"id" json:"id" xml:"id"` // Name of category Name string `form:"name" json:"name" xml:"name"` - // List of tags associated with the category - Tags []*TagResponseBody `form:"tags" json:"tags" xml:"tags"` -} - -// TagResponseBody is used to define fields on response body types. -type TagResponseBody struct { - // ID is the unique id of tag - ID uint `form:"id" json:"id" xml:"id"` - // Name of tag - Name string `form:"name" json:"name" xml:"name"` } // NewListResponseBody builds the HTTP response body from the result of the diff --git a/api/gen/http/openapi.json b/api/gen/http/openapi.json index c43db06a2b..8083e74ffb 100644 --- a/api/gen/http/openapi.json +++ b/api/gen/http/openapi.json @@ -1 +1 @@ -{"swagger":"2.0","info":{"title":"Tekton Hub","description":"HTTP services for managing Tekton Hub","version":"1.0"},"host":"api.hub.tekton.dev","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/StatusStatusResponseBody"}}},"schemes":["https"]}},"/auth/login":{"post":{"tags":["auth"],"summary":"Authenticate auth","description":"Authenticates users against GitHub OAuth","operationId":"auth#Authenticate","parameters":[{"name":"code","in":"query","description":"OAuth Authorization code of User","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AuthAuthenticateResponseBody","required":["data"]}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidCodeResponseBody"}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AuthAuthenticateInternalErrorResponseBody"}}},"schemes":["https"]}},"/catalog/refresh":{"post":{"tags":["catalog"],"summary":"RefreshAll catalog","description":"Refresh all catalogs\n\n**Required security scopes for jwt**:\n * `catalog:refresh`","operationId":"catalog#RefreshAll","parameters":[{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"type":"array","items":{"$ref":"#/definitions/JobResponse"}}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CatalogRefreshAllInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/catalog/{catalogName}/error":{"get":{"tags":["catalog"],"summary":"CatalogError catalog","description":"List all errors occurred refreshing a catalog\n\n**Required security scopes for jwt**:\n * `catalog:refresh`","operationId":"catalog#CatalogError","parameters":[{"name":"catalogName","in":"path","description":"Name of catalog","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CatalogCatalogErrorResponseBody","required":["data"]}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CatalogCatalogErrorInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/catalog/{catalogName}/refresh":{"post":{"tags":["catalog"],"summary":"Refresh catalog","description":"Refresh a Catalog by it's name\n\n**Required security scopes for jwt**:\n * `catalog:refresh`","operationId":"catalog#Refresh","parameters":[{"name":"catalogName","in":"path","description":"Name of catalog","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CatalogRefreshResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/CatalogRefreshNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CatalogRefreshInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CategoryListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CategoryListInternalErrorResponseBody"}}},"schemes":["https"]}},"/query":{"get":{"tags":["resource"],"summary":"Query resource","description":"Find resources by a combination of name, kind , catalog and tags","operationId":"resource#Query","parameters":[{"name":"name","in":"query","description":"Name of resource","required":false,"type":"string","default":""},{"name":"catalogs","in":"query","description":"Catalogs of resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"kinds","in":"query","description":"Kinds of resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"tags","in":"query","description":"Tags associated with a resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"limit","in":"query","description":"Maximum number of resources to be returned","required":false,"type":"integer","default":1000},{"name":"match","in":"query","description":"Strategy used to find matching resources","required":false,"type":"string","default":"contains","enum":["exact","contains"]}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceQueryResponseBody"}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/ResourceQueryInvalidKindResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceQueryNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceQueryInternalErrorResponseBody"}}},"schemes":["https"]}},"/resource/version/{versionID}":{"get":{"tags":["resource"],"summary":"ByVersionId resource","description":"Find a resource using its version's id","operationId":"resource#ByVersionId","parameters":[{"name":"versionID","in":"path","description":"Version ID of a resource's version","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByVersionIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByVersionIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByVersionIDInternalErrorResponseBody"}}},"schemes":["https"]}},"/resource/{catalog}/{kind}/{name}":{"get":{"tags":["resource"],"summary":"ByCatalogKindName resource","description":"Find resources using name of catalog, resource name and kind of resource","operationId":"resource#ByCatalogKindName","parameters":[{"name":"pipelinesversion","in":"query","description":"To find resource compatible with a Tekton pipelines version, use this param","required":false,"type":"string","pattern":"^\\d+(?:\\.\\d+){0,2}$"},{"name":"catalog","in":"path","description":"name of catalog","required":true,"type":"string"},{"name":"kind","in":"path","description":"kind of resource","required":true,"type":"string","enum":["task","pipeline"]},{"name":"name","in":"path","description":"Name of resource","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameInternalErrorResponseBody"}}},"schemes":["https"]}},"/resource/{catalog}/{kind}/{name}/{version}":{"get":{"tags":["resource"],"summary":"ByCatalogKindNameVersion resource","description":"Find resource using name of catalog \u0026 name, kind and version of resource","operationId":"resource#ByCatalogKindNameVersion","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"type":"string"},{"name":"kind","in":"path","description":"kind of resource","required":true,"type":"string","enum":["task","pipeline"]},{"name":"name","in":"path","description":"name of resource","required":true,"type":"string"},{"name":"version","in":"path","description":"version of resource","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionInternalErrorResponseBody"}}},"schemes":["https"]}},"/resource/{id}":{"get":{"tags":["resource"],"summary":"ById resource","description":"Find a resource using it's id","operationId":"resource#ById","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByIDInternalErrorResponseBody"}}},"schemes":["https"]}},"/resource/{id}/rating":{"get":{"tags":["rating"],"summary":"Get rating","description":"Find user's rating for a resource\n\n**Required security scopes for jwt**:\n * `rating:read`","operationId":"rating#Get","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/RatingGetResponseBody","required":["rating"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/RatingGetInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/RatingGetInvalidScopesResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/RatingGetNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/RatingGetInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]},"put":{"tags":["rating"],"summary":"Update rating","description":"Update user's rating for a resource\n\n**Required security scopes for jwt**:\n * `rating:write`","operationId":"rating#Update","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"},{"name":"UpdateRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/RatingUpdateRequestBody","required":["rating"]}}],"responses":{"200":{"description":"OK response."},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/RatingUpdateInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/RatingUpdateInvalidScopesResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/RatingUpdateNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/RatingUpdateInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/resource/{id}/versions":{"get":{"tags":["resource"],"summary":"VersionsByID resource","description":"Find all versions of a resource by its id","operationId":"resource#VersionsByID","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDInternalErrorResponseBody"}}},"schemes":["https"]}},"/resources":{"get":{"tags":["resource"],"summary":"List resource","description":"List all resources sorted by rating and name","operationId":"resource#List","parameters":[{"name":"limit","in":"query","description":"Maximum number of resources to be returned","required":false,"type":"integer","default":1000}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceListInternalErrorResponseBody"}}},"schemes":["https"]}},"/schema/swagger.json":{"get":{"tags":["swagger"],"summary":"Download docs/openapi3.json","description":"JSON document containing the API swagger definition","operationId":"swagger#/schema/swagger.json","responses":{"200":{"description":"File downloaded","schema":{"type":"file"}}},"schemes":["https"]}},"/system/config/refresh":{"post":{"tags":["admin"],"summary":"RefreshConfig admin","description":"Refresh the changes in config file\n\n**Required security scopes for jwt**:\n * `config:refresh`","operationId":"admin#RefreshConfig","parameters":[{"name":"Authorization","in":"header","description":"User JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AdminRefreshConfigResponseBody","required":["checksum"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/system/user/agent":{"put":{"tags":["admin"],"summary":"UpdateAgent admin","description":"Create or Update an agent user with required scopes\n\n**Required security scopes for jwt**:\n * `agent:create`","operationId":"admin#UpdateAgent","parameters":[{"name":"Authorization","in":"header","description":"User JWT","required":true,"type":"string"},{"name":"UpdateAgentRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/AdminUpdateAgentRequestBody","required":["name","scopes"]}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AdminUpdateAgentResponseBody","required":["token"]}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidPayloadResponseBody"}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/user/info":{"get":{"tags":["user"],"summary":"Info user","description":"Get the user Info","operationId":"user#Info","parameters":[{"name":"Authorization","in":"header","description":"Access Token of User","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/UserInfoResponseBody","required":["data"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/UserInfoInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/UserInfoInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/UserInfoInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/user/refresh/accesstoken":{"post":{"tags":["user"],"summary":"RefreshAccessToken user","description":"Refresh the access token of User\n\n**Required security scopes for jwt**:\n * `refresh:token`","operationId":"user#RefreshAccessToken","parameters":[{"name":"Authorization","in":"header","description":"Refresh Token of User","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/UserRefreshAccessTokenResponseBody","required":["data"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/UserRefreshAccessTokenInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/UserRefreshAccessTokenInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/UserRefreshAccessTokenInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/user/refresh/refreshtoken":{"post":{"tags":["user"],"summary":"NewRefreshToken user","description":"Get a new refresh token of User\n\n**Required security scopes for jwt**:\n * `refresh:token`","operationId":"user#NewRefreshToken","parameters":[{"name":"Authorization","in":"header","description":"Refresh Token of User","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/UserNewRefreshTokenResponseBody","required":["data"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/UserNewRefreshTokenInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/UserNewRefreshTokenInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/UserNewRefreshTokenInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/v1":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status#1","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/StatusStatusResponseBody"}}},"schemes":["https"]}},"/v1/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list#1","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CategoryListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CategoryListInternalErrorResponseBody"}}},"schemes":["https"]}}},"definitions":{"AccessTokenResponseBody":{"title":"AccessTokenResponseBody","type":"object","properties":{"access":{"$ref":"#/definitions/TokenResponseBody"}},"description":"Access Token for User","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"AdminRefreshConfigInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid Token scopes (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigResponseBody":{"title":"AdminRefreshConfigResponseBody","type":"object","properties":{"checksum":{"type":"string","description":"Config file checksum","example":"41ba391c8baf1fcd3c62c11272b913dc6613f4cf3b1833cfbb32431dc4384c93"}},"example":{"checksum":"41ba391c8baf1fcd3c62c11272b913dc6613f4cf3b1833cfbb32431dc4384c93"},"required":["checksum"]},"AdminUpdateAgentInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidPayloadResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid request body (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid Token scopes (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentRequestBody":{"title":"AdminUpdateAgentRequestBody","type":"object","properties":{"name":{"type":"string","description":"Name of Agent","example":"abc"},"scopes":{"type":"array","items":{"type":"string","example":"Autem ut est error eaque."},"description":"Scopes required for Agent","example":["catalog-refresh","agent:create"]}},"example":{"name":"abc","scopes":["catalog-refresh","agent:create"]},"required":["name","scopes"]},"AdminUpdateAgentResponseBody":{"title":"AdminUpdateAgentResponseBody","type":"object","properties":{"token":{"type":"string","description":"Agent JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"example":{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token"]},"AuthAuthenticateInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidCodeResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid Authorization code (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateResponseBody":{"title":"AuthAuthenticateResponseBody","type":"object","properties":{"data":{"$ref":"#/definitions/AuthTokensResponseBody"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"AuthTokensResponseBody":{"title":"AuthTokensResponseBody","type":"object","properties":{"access":{"$ref":"#/definitions/TokenResponseBody"},"refresh":{"$ref":"#/definitions/TokenResponseBody"}},"description":"Auth tokens have access and refresh token for user","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"CatalogCatalogErrorInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"CatalogCatalogErrorResponseBody":{"title":"CatalogCatalogErrorResponseBody","type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/CatalogErrorsResponseBody"},"description":"Catalog errors","example":[{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"}]}},"example":{"data":[{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"}]},"required":["data"]},"CatalogErrorsResponseBody":{"title":"CatalogErrorsResponseBody","type":"object","properties":{"errors":{"type":"array","items":{"type":"string","example":"Omnis aut beatae reiciendis accusantium distinctio."},"description":"Catalog Error message","example":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"]},"type":{"type":"string","description":"Catalog Errror type","example":"warning"}},"description":"CatalogErrors define the errors that occurred during catalog refresh","example":{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},"required":["type","errors"]},"CatalogRefreshAllInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"CatalogRefreshInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"CatalogRefreshNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"CatalogRefreshResponseBody":{"title":"Mediatype identifier: application/vnd.hub.job; view=default","type":"object","properties":{"catalogName":{"type":"string","description":"Name of the catalog","example":"tekton"},"id":{"type":"integer","description":"id of the job","example":1,"format":"int64"},"status":{"type":"string","description":"status of the job","example":"queued"}},"description":"RefreshResponseBody result type (default view)","example":{"catalogName":"tekton","id":1,"status":"queued"},"required":["id","catalogName","status"]},"CatalogResponseBodyMin":{"title":"Mediatype identifier: application/vnd.hub.catalog; view=default","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the catalog","example":1,"format":"int64"},"name":{"type":"string","description":"Name of catalog","example":"Tekton"},"type":{"type":"string","description":"Type of catalog","example":"community","enum":["official","community"]}},"description":"CatalogResponseBodyMin result type (default view)","example":{"id":1,"name":"Tekton","type":"community"},"required":["id","name","type"]},"CategoryListInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"CategoryListResponseBody":{"title":"CategoryListResponseBody","type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/CategoryResponseBody"},"example":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"example":{"data":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"CategoryResponseBody":{"title":"CategoryResponseBody","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the category","example":1,"format":"int64"},"name":{"type":"string","description":"Name of category","example":"Image Builder"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"List of tags associated with the category","example":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}},"example":{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},"required":["id","name","tags"]},"HubServiceResponseBody":{"title":"HubServiceResponseBody","type":"object","properties":{"error":{"type":"string","description":"Details of the error if any","example":"unable to reach db"},"name":{"type":"string","description":"Name of the service","example":"api"},"status":{"type":"string","description":"Status of the service","example":"ok","enum":["ok","error"]}},"description":"Describes the services and their status","example":{"error":"unable to reach db","name":"api","status":"ok"},"required":["name","status"]},"JobResponse":{"title":"Mediatype identifier: application/vnd.hub.job; view=default","type":"object","properties":{"catalogName":{"type":"string","description":"Name of the catalog","example":"tekton"},"id":{"type":"integer","description":"id of the job","example":1,"format":"int64"},"status":{"type":"string","description":"status of the job","example":"queued"}},"description":"The Job type describes a catalog refresh job that is run asynchronously (default view)","example":{"catalogName":"tekton","id":1,"status":"queued"},"required":["id","catalogName","status"]},"RatingGetInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetResponseBody":{"title":"RatingGetResponseBody","type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":4,"format":"int64"}},"example":{"rating":4},"required":["rating"]},"RatingUpdateInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateRequestBody":{"title":"RatingUpdateRequestBody","type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":2,"minimum":0,"maximum":5}},"example":{"rating":1},"required":["rating"]},"RefreshTokenResponseBody":{"title":"RefreshTokenResponseBody","type":"object","properties":{"refresh":{"$ref":"#/definitions/TokenResponseBody"}},"description":"Refresh Token for User","example":{"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"ResourceByCatalogKindNameInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBody"}},"description":"ByCatalogKindNameResponseBody result type (default view)","example":{"data":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceByCatalogKindNameVersionInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameVersionNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameVersionResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceVersionDataResponseBody"}},"description":"ByCatalogKindNameVersionResponseBody result type (default view)","example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceByIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBody"}},"description":"ByIdResponseBody result type (default view)","example":{"data":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceByVersionIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByVersionIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByVersionIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceVersionDataResponseBody"}},"description":"ByVersionIdResponseBody result type (default view)","example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceDataResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBodyMin"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/definitions/ResourceVersionDataResponseBodyWithoutResource"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]},"versions":{"type":"array","items":{"$ref":"#/definitions/ResourceVersionDataResponseBodyTiny"},"description":"List of all versions of a resource","example":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"description":"The resource type describes resource information.","example":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating","versions"]},"ResourceDataResponseBodyInfo":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBodyMin"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]}},"description":"The resource type describes resource information. (default view)","example":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"required":["id","name","catalog","kind","tags","rating"]},"ResourceDataResponseBodyWithoutVersion":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBodyMin"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/definitions/ResourceVersionDataResponseBodyWithoutResource"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]}},"description":"The resource type describes resource information. (withoutVersion view) (default view)","example":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating"]},"ResourceDataResponseBodyWithoutVersionCollection":{"title":"Mediatype identifier: application/vnd.hub.resource.data; type=collection; view=default","type":"array","items":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersion"},"description":"ResourceDataResponseBodyWithoutVersionCollection is the result type for an array of ResourceDataResponseBodyWithoutVersion (default view)","example":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"ResourceListInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceListResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resources; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersionCollection"}},"description":"ListResponseBody result type (default view)","example":{"data":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]}]},"required":["data"]},"ResourceQueryInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryInvalidKindResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid Resource Kind (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resources; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersionCollection"}},"description":"QueryResponseBody result type (default view)","example":{"data":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]}]},"required":["data"]},"ResourceVersionDataResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","format":"uri"},"resource":{"$ref":"#/definitions/ResourceDataResponseBodyInfo"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information.","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt","resource"]},"ResourceVersionDataResponseBodyMin":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","format":"uri"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information. (default view)","example":{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"required":["id","version","rawURL","webURL"]},"ResourceVersionDataResponseBodyTiny":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"version":{"type":"string","description":"Version of resource","example":"0.1"}},"description":"The Version result type describes resource's version information. (default view)","example":{"id":1,"version":"0.1"},"required":["id","version"]},"ResourceVersionDataResponseBodyWithoutResource":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","format":"uri"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information. (default view)","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt"]},"ResourceVersionsByIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceVersionsByIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceVersionsByIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.versions; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/VersionsResponseBody"}},"description":"VersionsByIDResponseBody result type (default view)","example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]}},"required":["data"]},"StatusStatusResponseBody":{"title":"StatusStatusResponseBody","type":"object","properties":{"services":{"type":"array","items":{"$ref":"#/definitions/HubServiceResponseBody"},"description":"List of services and their status","example":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"TagResponseBody":{"title":"TagResponseBody","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of tag","example":1,"format":"int64"},"name":{"type":"string","description":"Name of tag","example":"image-build"}},"example":{"id":1,"name":"image-build"},"required":["id","name"]},"TokenResponseBody":{"title":"TokenResponseBody","type":"object","properties":{"expiresAt":{"type":"integer","description":"Time the token will expires at","example":0,"format":"int64"},"refreshInterval":{"type":"string","description":"Duration the token will Expire In","example":"1h30m"},"token":{"type":"string","description":"JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"description":"Token includes the JWT, Expire Duration \u0026 Time","example":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token","refreshInterval","expiresAt"]},"UserDataResponseBody":{"title":"UserDataResponseBody","type":"object","properties":{"avatarUrl":{"type":"string","description":"Github user's profile picture url","example":"https://avatars.githubusercontent.com"},"githubId":{"type":"string","description":"Github id of User","example":"abc123"},"name":{"type":"string","description":"Github user name","example":"abc"}},"description":"Github user Information","example":{"avatarUrl":"https://avatars.githubusercontent.com","githubId":"abc123","name":"abc"},"required":["githubId","name","avatarUrl"]},"UserInfoInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"UserInfoInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User scope (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"UserInfoInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserInfoResponseBody":{"title":"UserInfoResponseBody","type":"object","properties":{"data":{"$ref":"#/definitions/UserDataResponseBody"}},"example":{"data":{"avatarUrl":"https://avatars.githubusercontent.com","githubId":"abc123","name":"abc"}},"required":["data"]},"UserNewRefreshTokenInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserNewRefreshTokenInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserNewRefreshTokenInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserNewRefreshTokenResponseBody":{"title":"UserNewRefreshTokenResponseBody","type":"object","properties":{"data":{"$ref":"#/definitions/RefreshTokenResponseBody"}},"example":{"data":{"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"UserRefreshAccessTokenInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserRefreshAccessTokenInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserRefreshAccessTokenInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserRefreshAccessTokenResponseBody":{"title":"UserRefreshAccessTokenResponseBody","type":"object","properties":{"data":{"$ref":"#/definitions/AccessTokenResponseBody"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"VersionsResponseBody":{"title":"Mediatype identifier: application/vnd.hub.versions; view=default","type":"object","properties":{"latest":{"$ref":"#/definitions/ResourceVersionDataResponseBodyMin"},"versions":{"type":"array","items":{"$ref":"#/definitions/ResourceVersionDataResponseBodyMin"},"description":"List of all versions of resource","example":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]}},"description":"The Versions type describes response for versions by resource id API.","example":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]},"required":["latest","versions"]}},"securityDefinitions":{"jwt_header_Authorization":{"type":"apiKey","description":"Secures endpoint by requiring a valid JWT retrieved via the /auth/login endpoint.\n\n**Security Scopes**:\n * `rating:read`: Read-only access to rating\n * `rating:write`: Read and write access to rating\n * `agent:create`: Access to create or update an agent\n * `catalog:refresh`: Access to refresh catalog\n * `config:refresh`: Access to refresh config file\n * `refresh:token`: Access to refresh user access token","name":"Authorization","in":"header"}}} \ No newline at end of file +{"swagger":"2.0","info":{"title":"Tekton Hub","description":"HTTP services for managing Tekton Hub","version":"1.0"},"host":"api.hub.tekton.dev","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/StatusStatusResponseBody"}}},"schemes":["https"]}},"/auth/login":{"post":{"tags":["auth"],"summary":"Authenticate auth","description":"Authenticates users against GitHub OAuth","operationId":"auth#Authenticate","parameters":[{"name":"code","in":"query","description":"OAuth Authorization code of User","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AuthAuthenticateResponseBody","required":["data"]}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidCodeResponseBody"}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AuthAuthenticateInternalErrorResponseBody"}}},"schemes":["https"]}},"/catalog/refresh":{"post":{"tags":["catalog"],"summary":"RefreshAll catalog","description":"Refresh all catalogs\n\n**Required security scopes for jwt**:\n * `catalog:refresh`","operationId":"catalog#RefreshAll","parameters":[{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"type":"array","items":{"$ref":"#/definitions/JobResponse"}}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CatalogRefreshAllInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/catalog/{catalogName}/error":{"get":{"tags":["catalog"],"summary":"CatalogError catalog","description":"List all errors occurred refreshing a catalog\n\n**Required security scopes for jwt**:\n * `catalog:refresh`","operationId":"catalog#CatalogError","parameters":[{"name":"catalogName","in":"path","description":"Name of catalog","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CatalogCatalogErrorResponseBody","required":["data"]}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CatalogCatalogErrorInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/catalog/{catalogName}/refresh":{"post":{"tags":["catalog"],"summary":"Refresh catalog","description":"Refresh a Catalog by it's name\n\n**Required security scopes for jwt**:\n * `catalog:refresh`","operationId":"catalog#Refresh","parameters":[{"name":"catalogName","in":"path","description":"Name of catalog","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CatalogRefreshResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/CatalogRefreshNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CatalogRefreshInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CategoryListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CategoryListInternalErrorResponseBody"}}},"schemes":["https"]}},"/query":{"get":{"tags":["resource"],"summary":"Query resource","description":"Find resources by a combination of name, kind , catalog and tags","operationId":"resource#Query","parameters":[{"name":"name","in":"query","description":"Name of resource","required":false,"type":"string","default":""},{"name":"catalogs","in":"query","description":"Catalogs of resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"kinds","in":"query","description":"Kinds of resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"tags","in":"query","description":"Tags associated with a resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"limit","in":"query","description":"Maximum number of resources to be returned","required":false,"type":"integer","default":1000},{"name":"match","in":"query","description":"Strategy used to find matching resources","required":false,"type":"string","default":"contains","enum":["exact","contains"]}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceQueryResponseBody"}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/ResourceQueryInvalidKindResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceQueryNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceQueryInternalErrorResponseBody"}}},"schemes":["https"]}},"/resource/version/{versionID}":{"get":{"tags":["resource"],"summary":"ByVersionId resource","description":"Find a resource using its version's id","operationId":"resource#ByVersionId","parameters":[{"name":"versionID","in":"path","description":"Version ID of a resource's version","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByVersionIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByVersionIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByVersionIDInternalErrorResponseBody"}}},"schemes":["https"]}},"/resource/{catalog}/{kind}/{name}":{"get":{"tags":["resource"],"summary":"ByCatalogKindName resource","description":"Find resources using name of catalog, resource name and kind of resource","operationId":"resource#ByCatalogKindName","parameters":[{"name":"pipelinesversion","in":"query","description":"To find resource compatible with a Tekton pipelines version, use this param","required":false,"type":"string","pattern":"^\\d+(?:\\.\\d+){0,2}$"},{"name":"catalog","in":"path","description":"name of catalog","required":true,"type":"string"},{"name":"kind","in":"path","description":"kind of resource","required":true,"type":"string","enum":["task","pipeline"]},{"name":"name","in":"path","description":"Name of resource","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameInternalErrorResponseBody"}}},"schemes":["https"]}},"/resource/{catalog}/{kind}/{name}/{version}":{"get":{"tags":["resource"],"summary":"ByCatalogKindNameVersion resource","description":"Find resource using name of catalog \u0026 name, kind and version of resource","operationId":"resource#ByCatalogKindNameVersion","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"type":"string"},{"name":"kind","in":"path","description":"kind of resource","required":true,"type":"string","enum":["task","pipeline"]},{"name":"name","in":"path","description":"name of resource","required":true,"type":"string"},{"name":"version","in":"path","description":"version of resource","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionInternalErrorResponseBody"}}},"schemes":["https"]}},"/resource/{id}":{"get":{"tags":["resource"],"summary":"ById resource","description":"Find a resource using it's id","operationId":"resource#ById","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByIDInternalErrorResponseBody"}}},"schemes":["https"]}},"/resource/{id}/rating":{"get":{"tags":["rating"],"summary":"Get rating","description":"Find user's rating for a resource\n\n**Required security scopes for jwt**:\n * `rating:read`","operationId":"rating#Get","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/RatingGetResponseBody","required":["rating"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/RatingGetInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/RatingGetInvalidScopesResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/RatingGetNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/RatingGetInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]},"put":{"tags":["rating"],"summary":"Update rating","description":"Update user's rating for a resource\n\n**Required security scopes for jwt**:\n * `rating:write`","operationId":"rating#Update","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"},{"name":"UpdateRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/RatingUpdateRequestBody","required":["rating"]}}],"responses":{"200":{"description":"OK response."},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/RatingUpdateInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/RatingUpdateInvalidScopesResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/RatingUpdateNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/RatingUpdateInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/resource/{id}/versions":{"get":{"tags":["resource"],"summary":"VersionsByID resource","description":"Find all versions of a resource by its id","operationId":"resource#VersionsByID","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDInternalErrorResponseBody"}}},"schemes":["https"]}},"/resources":{"get":{"tags":["resource"],"summary":"List resource","description":"List all resources sorted by rating and name","operationId":"resource#List","parameters":[{"name":"limit","in":"query","description":"Maximum number of resources to be returned","required":false,"type":"integer","default":1000}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceListInternalErrorResponseBody"}}},"schemes":["https"]}},"/schema/swagger.json":{"get":{"tags":["swagger"],"summary":"Download docs/openapi3.json","description":"JSON document containing the API swagger definition","operationId":"swagger#/schema/swagger.json","responses":{"200":{"description":"File downloaded","schema":{"type":"file"}}},"schemes":["https"]}},"/system/config/refresh":{"post":{"tags":["admin"],"summary":"RefreshConfig admin","description":"Refresh the changes in config file\n\n**Required security scopes for jwt**:\n * `config:refresh`","operationId":"admin#RefreshConfig","parameters":[{"name":"Authorization","in":"header","description":"User JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AdminRefreshConfigResponseBody","required":["checksum"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/system/user/agent":{"put":{"tags":["admin"],"summary":"UpdateAgent admin","description":"Create or Update an agent user with required scopes\n\n**Required security scopes for jwt**:\n * `agent:create`","operationId":"admin#UpdateAgent","parameters":[{"name":"Authorization","in":"header","description":"User JWT","required":true,"type":"string"},{"name":"UpdateAgentRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/AdminUpdateAgentRequestBody","required":["name","scopes"]}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AdminUpdateAgentResponseBody","required":["token"]}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidPayloadResponseBody"}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/user/info":{"get":{"tags":["user"],"summary":"Info user","description":"Get the user Info","operationId":"user#Info","parameters":[{"name":"Authorization","in":"header","description":"Access Token of User","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/UserInfoResponseBody","required":["data"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/UserInfoInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/UserInfoInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/UserInfoInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/user/refresh/accesstoken":{"post":{"tags":["user"],"summary":"RefreshAccessToken user","description":"Refresh the access token of User\n\n**Required security scopes for jwt**:\n * `refresh:token`","operationId":"user#RefreshAccessToken","parameters":[{"name":"Authorization","in":"header","description":"Refresh Token of User","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/UserRefreshAccessTokenResponseBody","required":["data"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/UserRefreshAccessTokenInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/UserRefreshAccessTokenInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/UserRefreshAccessTokenInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/user/refresh/refreshtoken":{"post":{"tags":["user"],"summary":"NewRefreshToken user","description":"Get a new refresh token of User\n\n**Required security scopes for jwt**:\n * `refresh:token`","operationId":"user#NewRefreshToken","parameters":[{"name":"Authorization","in":"header","description":"Refresh Token of User","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/UserNewRefreshTokenResponseBody","required":["data"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/UserNewRefreshTokenInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/UserNewRefreshTokenInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/UserNewRefreshTokenInternalErrorResponseBody"}}},"schemes":["https"],"security":[{"jwt_header_Authorization":[]}]}},"/v1":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status#1","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/StatusStatusResponseBody"}}},"schemes":["https"]}},"/v1/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list#1","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CategoryListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CategoryListInternalErrorResponseBody"}}},"schemes":["https"]}}},"definitions":{"AccessTokenResponseBody":{"title":"AccessTokenResponseBody","type":"object","properties":{"access":{"$ref":"#/definitions/TokenResponseBody"}},"description":"Access Token for User","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"AdminRefreshConfigInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid Token scopes (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigResponseBody":{"title":"AdminRefreshConfigResponseBody","type":"object","properties":{"checksum":{"type":"string","description":"Config file checksum","example":"41ba391c8baf1fcd3c62c11272b913dc6613f4cf3b1833cfbb32431dc4384c93"}},"example":{"checksum":"41ba391c8baf1fcd3c62c11272b913dc6613f4cf3b1833cfbb32431dc4384c93"},"required":["checksum"]},"AdminUpdateAgentInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidPayloadResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid request body (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid Token scopes (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentRequestBody":{"title":"AdminUpdateAgentRequestBody","type":"object","properties":{"name":{"type":"string","description":"Name of Agent","example":"abc"},"scopes":{"type":"array","items":{"type":"string","example":"Autem ut est error eaque."},"description":"Scopes required for Agent","example":["catalog-refresh","agent:create"]}},"example":{"name":"abc","scopes":["catalog-refresh","agent:create"]},"required":["name","scopes"]},"AdminUpdateAgentResponseBody":{"title":"AdminUpdateAgentResponseBody","type":"object","properties":{"token":{"type":"string","description":"Agent JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"example":{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token"]},"AuthAuthenticateInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidCodeResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid Authorization code (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateResponseBody":{"title":"AuthAuthenticateResponseBody","type":"object","properties":{"data":{"$ref":"#/definitions/AuthTokensResponseBody"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"AuthTokensResponseBody":{"title":"AuthTokensResponseBody","type":"object","properties":{"access":{"$ref":"#/definitions/TokenResponseBody"},"refresh":{"$ref":"#/definitions/TokenResponseBody"}},"description":"Auth tokens have access and refresh token for user","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"CatalogCatalogErrorInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"CatalogCatalogErrorResponseBody":{"title":"CatalogCatalogErrorResponseBody","type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/CatalogErrorsResponseBody"},"description":"Catalog errors","example":[{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"}]}},"example":{"data":[{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"}]},"required":["data"]},"CatalogErrorsResponseBody":{"title":"CatalogErrorsResponseBody","type":"object","properties":{"errors":{"type":"array","items":{"type":"string","example":"Omnis aut beatae reiciendis accusantium distinctio."},"description":"Catalog Error message","example":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"]},"type":{"type":"string","description":"Catalog Errror type","example":"warning"}},"description":"CatalogErrors define the errors that occurred during catalog refresh","example":{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},"required":["type","errors"]},"CatalogRefreshAllInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"CatalogRefreshInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"CatalogRefreshNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"CatalogRefreshResponseBody":{"title":"Mediatype identifier: application/vnd.hub.job; view=default","type":"object","properties":{"catalogName":{"type":"string","description":"Name of the catalog","example":"tekton"},"id":{"type":"integer","description":"id of the job","example":1,"format":"int64"},"status":{"type":"string","description":"status of the job","example":"queued"}},"description":"RefreshResponseBody result type (default view)","example":{"catalogName":"tekton","id":1,"status":"queued"},"required":["id","catalogName","status"]},"CatalogResponseBodyMin":{"title":"Mediatype identifier: application/vnd.hub.catalog; view=default","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the catalog","example":1,"format":"int64"},"name":{"type":"string","description":"Name of catalog","example":"Tekton"},"type":{"type":"string","description":"Type of catalog","example":"community","enum":["official","community"]}},"description":"CatalogResponseBodyMin result type (default view)","example":{"id":1,"name":"Tekton","type":"community"},"required":["id","name","type"]},"CategoryListInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"CategoryListResponseBody":{"title":"CategoryListResponseBody","type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/CategoryResponseBody"},"example":[{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"}]}},"example":{"data":[{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"}]}},"CategoryResponseBody":{"title":"CategoryResponseBody","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the category","example":1,"format":"int64"},"name":{"type":"string","description":"Name of category","example":"Image Builder"}},"example":{"id":1,"name":"Image Builder"},"required":["id","name"]},"HubServiceResponseBody":{"title":"HubServiceResponseBody","type":"object","properties":{"error":{"type":"string","description":"Details of the error if any","example":"unable to reach db"},"name":{"type":"string","description":"Name of the service","example":"api"},"status":{"type":"string","description":"Status of the service","example":"ok","enum":["ok","error"]}},"description":"Describes the services and their status","example":{"error":"unable to reach db","name":"api","status":"ok"},"required":["name","status"]},"JobResponse":{"title":"Mediatype identifier: application/vnd.hub.job; view=default","type":"object","properties":{"catalogName":{"type":"string","description":"Name of the catalog","example":"tekton"},"id":{"type":"integer","description":"id of the job","example":1,"format":"int64"},"status":{"type":"string","description":"status of the job","example":"queued"}},"description":"The Job type describes a catalog refresh job that is run asynchronously (default view)","example":{"catalogName":"tekton","id":1,"status":"queued"},"required":["id","catalogName","status"]},"RatingGetInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetResponseBody":{"title":"RatingGetResponseBody","type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":4,"format":"int64"}},"example":{"rating":4},"required":["rating"]},"RatingUpdateInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateRequestBody":{"title":"RatingUpdateRequestBody","type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":2,"minimum":0,"maximum":5}},"example":{"rating":1},"required":["rating"]},"RefreshTokenResponseBody":{"title":"RefreshTokenResponseBody","type":"object","properties":{"refresh":{"$ref":"#/definitions/TokenResponseBody"}},"description":"Refresh Token for User","example":{"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"ResourceByCatalogKindNameInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBody"}},"description":"ByCatalogKindNameResponseBody result type (default view)","example":{"data":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceByCatalogKindNameVersionInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameVersionNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameVersionResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceVersionDataResponseBody"}},"description":"ByCatalogKindNameVersionResponseBody result type (default view)","example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceByIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBody"}},"description":"ByIdResponseBody result type (default view)","example":{"data":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceByVersionIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByVersionIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByVersionIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceVersionDataResponseBody"}},"description":"ByVersionIdResponseBody result type (default view)","example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceDataResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBodyMin"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/definitions/ResourceVersionDataResponseBodyWithoutResource"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]},"versions":{"type":"array","items":{"$ref":"#/definitions/ResourceVersionDataResponseBodyTiny"},"description":"List of all versions of a resource","example":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"description":"The resource type describes resource information.","example":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating","versions"]},"ResourceDataResponseBodyInfo":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBodyMin"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]}},"description":"The resource type describes resource information. (default view)","example":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"required":["id","name","catalog","kind","tags","rating"]},"ResourceDataResponseBodyWithoutVersion":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBodyMin"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/definitions/ResourceVersionDataResponseBodyWithoutResource"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]}},"description":"The resource type describes resource information. (withoutVersion view) (default view)","example":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating"]},"ResourceDataResponseBodyWithoutVersionCollection":{"title":"Mediatype identifier: application/vnd.hub.resource.data; type=collection; view=default","type":"array","items":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersion"},"description":"ResourceDataResponseBodyWithoutVersionCollection is the result type for an array of ResourceDataResponseBodyWithoutVersion (default view)","example":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"ResourceListInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceListResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resources; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersionCollection"}},"description":"ListResponseBody result type (default view)","example":{"data":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]}]},"required":["data"]},"ResourceQueryInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryInvalidKindResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid Resource Kind (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resources; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersionCollection"}},"description":"QueryResponseBody result type (default view)","example":{"data":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]}]},"required":["data"]},"ResourceVersionDataResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","format":"uri"},"resource":{"$ref":"#/definitions/ResourceDataResponseBodyInfo"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information.","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt","resource"]},"ResourceVersionDataResponseBodyMin":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","format":"uri"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information. (default view)","example":{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"required":["id","version","rawURL","webURL"]},"ResourceVersionDataResponseBodyTiny":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"version":{"type":"string","description":"Version of resource","example":"0.1"}},"description":"The Version result type describes resource's version information. (default view)","example":{"id":1,"version":"0.1"},"required":["id","version"]},"ResourceVersionDataResponseBodyWithoutResource":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","format":"uri"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information. (default view)","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt"]},"ResourceVersionsByIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceVersionsByIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceVersionsByIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.versions; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/VersionsResponseBody"}},"description":"VersionsByIDResponseBody result type (default view)","example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]}},"required":["data"]},"StatusStatusResponseBody":{"title":"StatusStatusResponseBody","type":"object","properties":{"services":{"type":"array","items":{"$ref":"#/definitions/HubServiceResponseBody"},"description":"List of services and their status","example":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"TagResponseBody":{"title":"TagResponseBody","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of tag","example":1,"format":"int64"},"name":{"type":"string","description":"Name of tag","example":"image-build"}},"example":{"id":1,"name":"image-build"},"required":["id","name"]},"TokenResponseBody":{"title":"TokenResponseBody","type":"object","properties":{"expiresAt":{"type":"integer","description":"Time the token will expires at","example":0,"format":"int64"},"refreshInterval":{"type":"string","description":"Duration the token will Expire In","example":"1h30m"},"token":{"type":"string","description":"JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"description":"Token includes the JWT, Expire Duration \u0026 Time","example":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token","refreshInterval","expiresAt"]},"UserDataResponseBody":{"title":"UserDataResponseBody","type":"object","properties":{"avatarUrl":{"type":"string","description":"Github user's profile picture url","example":"https://avatars.githubusercontent.com"},"githubId":{"type":"string","description":"Github id of User","example":"abc123"},"name":{"type":"string","description":"Github user name","example":"abc"}},"description":"Github user Information","example":{"avatarUrl":"https://avatars.githubusercontent.com","githubId":"abc123","name":"abc"},"required":["githubId","name","avatarUrl"]},"UserInfoInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"UserInfoInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User scope (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"UserInfoInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserInfoResponseBody":{"title":"UserInfoResponseBody","type":"object","properties":{"data":{"$ref":"#/definitions/UserDataResponseBody"}},"example":{"data":{"avatarUrl":"https://avatars.githubusercontent.com","githubId":"abc123","name":"abc"}},"required":["data"]},"UserNewRefreshTokenInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserNewRefreshTokenInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserNewRefreshTokenInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserNewRefreshTokenResponseBody":{"title":"UserNewRefreshTokenResponseBody","type":"object","properties":{"data":{"$ref":"#/definitions/RefreshTokenResponseBody"}},"example":{"data":{"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"UserRefreshAccessTokenInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserRefreshAccessTokenInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserRefreshAccessTokenInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"UserRefreshAccessTokenResponseBody":{"title":"UserRefreshAccessTokenResponseBody","type":"object","properties":{"data":{"$ref":"#/definitions/AccessTokenResponseBody"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"VersionsResponseBody":{"title":"Mediatype identifier: application/vnd.hub.versions; view=default","type":"object","properties":{"latest":{"$ref":"#/definitions/ResourceVersionDataResponseBodyMin"},"versions":{"type":"array","items":{"$ref":"#/definitions/ResourceVersionDataResponseBodyMin"},"description":"List of all versions of resource","example":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]}},"description":"The Versions type describes response for versions by resource id API.","example":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]},"required":["latest","versions"]}},"securityDefinitions":{"jwt_header_Authorization":{"type":"apiKey","description":"Secures endpoint by requiring a valid JWT retrieved via the /auth/login endpoint.\n\n**Security Scopes**:\n * `rating:read`: Read-only access to rating\n * `rating:write`: Read and write access to rating\n * `agent:create`: Access to create or update an agent\n * `catalog:refresh`: Access to refresh catalog\n * `config:refresh`: Access to refresh config file\n * `refresh:token`: Access to refresh user access token","name":"Authorization","in":"header"}}} \ No newline at end of file diff --git a/api/gen/http/openapi.yaml b/api/gen/http/openapi.yaml index 7a99bdadbc..2c9010b638 100644 --- a/api/gen/http/openapi.yaml +++ b/api/gen/http/openapi.yaml @@ -1770,48 +1770,18 @@ definitions: example: - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko example: data: - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko CategoryResponseBody: title: CategoryResponseBody type: object @@ -1825,28 +1795,12 @@ definitions: type: string description: Name of category example: Image Builder - tags: - type: array - items: - $ref: '#/definitions/TagResponseBody' - description: List of tags associated with the category - example: - - id: 1 - name: image-build - - id: 2 - name: kaniko example: id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko required: - id - name - - tags HubServiceResponseBody: title: HubServiceResponseBody type: object diff --git a/api/gen/http/openapi3.json b/api/gen/http/openapi3.json index f19f585fe8..6bafad96cf 100644 --- a/api/gen/http/openapi3.json +++ b/api/gen/http/openapi3.json @@ -1 +1 @@ -{"openapi":"3.0.3","info":{"title":"Tekton Hub","description":"HTTP services for managing Tekton Hub","version":"1.0"},"servers":[{"url":"https://api.hub.tekton.dev"}],"paths":{"/":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponseBody"},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}}}}}}},"/auth/login":{"post":{"tags":["auth"],"summary":"Authenticate auth","description":"Authenticates users against GitHub OAuth","operationId":"auth#Authenticate","parameters":[{"name":"code","in":"query","description":"OAuth Authorization code of User","allowEmptyValue":true,"required":true,"schema":{"type":"string","description":"OAuth Authorization code of User","example":"5628b69ec09c09512eef"},"example":"5628b69ec09c09512eef"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticateResponseBody"},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}}}}},"400":{"description":"Bad Request response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/catalog/refresh":{"post":{"tags":["catalog"],"summary":"RefreshAll catalog","description":"Refresh all catalogs","operationId":"catalog#RefreshAll","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"},"example":[{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"}]},"example":[{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"}]}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/catalog/{catalogName}/error":{"get":{"tags":["catalog"],"summary":"CatalogError catalog","description":"List all errors occurred refreshing a catalog","operationId":"catalog#CatalogError","parameters":[{"name":"catalogName","in":"path","description":"Name of catalog","required":true,"schema":{"type":"string","description":"Name of catalog","example":"tekton"},"example":"tekton"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogErrorResponseBody"},"example":{"data":[{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"}]}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/catalog/{catalogName}/refresh":{"post":{"tags":["catalog"],"summary":"Refresh catalog","description":"Refresh a Catalog by it's name","operationId":"catalog#Refresh","parameters":[{"name":"catalogName","in":"path","description":"Name of catalog","required":true,"schema":{"type":"string","description":"Name of catalog","example":"tekton"},"example":"tekton"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"},"example":{"catalogName":"tekton","id":1,"status":"queued"}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponseBody"},"example":{"data":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/query":{"get":{"tags":["resource"],"summary":"Query resource","description":"Find resources by a combination of name, kind , catalog and tags","operationId":"resource#Query","parameters":[{"name":"name","in":"query","description":"Name of resource","allowEmptyValue":true,"schema":{"type":"string","description":"Name of resource","default":"","example":"buildah"},"example":"buildah"},{"name":"catalogs","in":"query","description":"Catalogs of resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Ipsam ad dicta sunt fugiat."},"description":"Catalogs of resource to filter by","example":["tekton","openshift"]},"example":["tekton","openshift"]},{"name":"kinds","in":"query","description":"Kinds of resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Eum in similique labore."},"description":"Kinds of resource to filter by","example":["task","pipelines"]},"example":["task","pipelines"]},{"name":"tags","in":"query","description":"Tags associated with a resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Laboriosam placeat eveniet perspiciatis."},"description":"Tags associated with a resource to filter by","example":["image","build"]},"example":["image","build"]},{"name":"limit","in":"query","description":"Maximum number of resources to be returned","allowEmptyValue":true,"schema":{"type":"integer","description":"Maximum number of resources to be returned","default":1000,"example":100},"example":100},{"name":"match","in":"query","description":"Strategy used to find matching resources","allowEmptyValue":true,"schema":{"type":"string","description":"Strategy used to find matching resources","default":"contains","example":"exact","enum":["exact","contains"]},"example":"contains"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resources"},"example":{"data":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]}}}},"400":{"description":"Bad Request response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resource/version/{versionID}":{"get":{"tags":["resource"],"summary":"ByVersionId resource","description":"Find a resource using its version's id","operationId":"resource#ByVersionId","parameters":[{"name":"versionID","in":"path","description":"Version ID of a resource's version","required":true,"schema":{"type":"integer","description":"Version ID of a resource's version","example":1},"example":1}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersion"},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"}}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resource/{catalog}/{kind}/{name}":{"get":{"tags":["resource"],"summary":"ByCatalogKindName resource","description":"Find resources using name of catalog, resource name and kind of resource","operationId":"resource#ByCatalogKindName","parameters":[{"name":"pipelinesversion","in":"query","description":"To find resource compatible with a Tekton pipelines version, use this param","allowEmptyValue":true,"schema":{"type":"string","description":"To find resource compatible with a Tekton pipelines version, use this param","example":"0.21.0","pattern":"^\\d+(?:\\.\\d+){0,2}$"},"example":"0.21.0"},{"name":"catalog","in":"path","description":"name of catalog","required":true,"schema":{"type":"string","description":"name of catalog","example":"tektoncd"},"example":"tektoncd"},{"name":"kind","in":"path","description":"kind of resource","required":true,"schema":{"type":"string","description":"kind of resource","example":"task","enum":["task","pipeline"]},"example":"pipeline"},{"name":"name","in":"path","description":"Name of resource","required":true,"schema":{"type":"string","description":"Name of resource","example":"buildah"},"example":"buildah"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"},"example":{"data":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resource/{catalog}/{kind}/{name}/{version}":{"get":{"tags":["resource"],"summary":"ByCatalogKindNameVersion resource","description":"Find resource using name of catalog \u0026 name, kind and version of resource","operationId":"resource#ByCatalogKindNameVersion","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"schema":{"type":"string","description":"name of catalog","example":"tektoncd"},"example":"tektoncd"},{"name":"kind","in":"path","description":"kind of resource","required":true,"schema":{"type":"string","description":"kind of resource","example":"pipeline","enum":["task","pipeline"]},"example":"pipeline"},{"name":"name","in":"path","description":"name of resource","required":true,"schema":{"type":"string","description":"name of resource","example":"buildah"},"example":"buildah"},{"name":"version","in":"path","description":"version of resource","required":true,"schema":{"type":"string","description":"version of resource","example":"0.1"},"example":"0.1"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersion"},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"}}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resource/{id}":{"get":{"tags":["resource"],"summary":"ById resource","description":"Find a resource using it's id","operationId":"resource#ById","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":1},"example":1}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"},"example":{"data":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resource/{id}/rating":{"get":{"tags":["rating"],"summary":"Get rating","description":"Find user's rating for a resource","operationId":"rating#Get","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":4748836856209207639},"example":17835074238948411605}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetResponseBody"},"example":{"rating":4}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]},"put":{"tags":["rating"],"summary":"Update rating","description":"Update user's rating for a resource","operationId":"rating#Update","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":9285005120921241060},"example":11505831677112471131}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRequestBody"},"example":{"rating":4}}}},"responses":{"200":{"description":"OK response."},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/resource/{id}/versions":{"get":{"tags":["resource"],"summary":"VersionsByID resource","description":"Find all versions of a resource by its id","operationId":"resource#VersionsByID","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":1},"example":1}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersions"},"example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]}}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resources":{"get":{"tags":["resource"],"summary":"List resource","description":"List all resources sorted by rating and name","operationId":"resource#List","parameters":[{"name":"limit","in":"query","description":"Maximum number of resources to be returned","allowEmptyValue":true,"schema":{"type":"integer","description":"Maximum number of resources to be returned","default":1000,"example":100},"example":100}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resources"},"example":{"data":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/schema/swagger.json":{"get":{"tags":["swagger"],"summary":"Download docs/openapi3.json","description":"JSON document containing the API swagger definition","operationId":"swagger#/schema/swagger.json","responses":{"200":{"description":"File downloaded"}}}},"/system/config/refresh":{"post":{"tags":["admin"],"summary":"RefreshConfig admin","description":"Refresh the changes in config file","operationId":"admin#RefreshConfig","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshConfigResponseBody"},"example":{"checksum":"41ba391c8baf1fcd3c62c11272b913dc6613f4cf3b1833cfbb32431dc4384c93"}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/system/user/agent":{"put":{"tags":["admin"],"summary":"UpdateAgent admin","description":"Create or Update an agent user with required scopes","operationId":"admin#UpdateAgent","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentRequestBody"},"example":{"name":"abc","scopes":["catalog-refresh","agent:create"]}}}},"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentResponseBody"},"example":{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}}},"400":{"description":"Bad Request response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/user/info":{"get":{"tags":["user"],"summary":"Info user","description":"Get the user Info","operationId":"user#Info","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoResponseBody"},"example":{"data":{"avatarUrl":"https://avatars.githubusercontent.com","githubId":"abc123","name":"abc"}}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/user/refresh/accesstoken":{"post":{"tags":["user"],"summary":"RefreshAccessToken user","description":"Refresh the access token of User","operationId":"user#RefreshAccessToken","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshAccessTokenResponseBody"},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/user/refresh/refreshtoken":{"post":{"tags":["user"],"summary":"NewRefreshToken user","description":"Get a new refresh token of User","operationId":"user#NewRefreshToken","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewRefreshTokenResponseBody"},"example":{"data":{"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/v1":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status#1","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponseBody"},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}}}}}}},"/v1/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list#1","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponseBody"},"example":{"data":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}}},"components":{"schemas":{"AccessToken":{"type":"object","properties":{"access":{"$ref":"#/components/schemas/Token"}},"description":"Access Token for User","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"AuthTokens":{"type":"object","properties":{"access":{"$ref":"#/components/schemas/Token"},"refresh":{"$ref":"#/components/schemas/Token"}},"description":"Auth tokens have access and refresh token for user","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"AuthenticateResponseBody":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AuthTokens"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"Catalog":{"type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the catalog","example":1},"name":{"type":"string","description":"Name of catalog","example":"Tekton"},"type":{"type":"string","description":"Type of catalog","example":"community","enum":["official","community"]},"url":{"type":"string","description":"URL of catalog","example":"https://github.com/tektoncd/hub"}},"example":{"id":1,"name":"Tekton","type":"community","url":"https://github.com/tektoncd/hub"},"required":["id","name","type","url"]},"CatalogErrorResponseBody":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CatalogErrors"},"description":"Catalog errors","example":[{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"}]}},"example":{"data":[{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"}]},"required":["data"]},"CatalogErrors":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string","example":"Est nihil facilis adipisci."},"description":"Catalog Error message","example":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"]},"type":{"type":"string","description":"Catalog Errror type","example":"warning"}},"description":"CatalogErrors define the errors that occurred during catalog refresh","example":{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},"required":["type","errors"]},"Category":{"type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the category","example":1},"name":{"type":"string","description":"Name of category","example":"Image Builder"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Tag"},"description":"List of tags associated with the category","example":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}},"example":{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},"required":["id","name","tags"]},"Error":{"type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid request body","example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"},"required":["name","id","message","temporary","timeout","fault"]},"GetResponseBody":{"type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":4,"format":"int64"}},"example":{"rating":4},"required":["rating"]},"HubService":{"type":"object","properties":{"error":{"type":"string","description":"Details of the error if any","example":"unable to reach db"},"name":{"type":"string","description":"Name of the service","example":"api"},"status":{"type":"string","description":"Status of the service","example":"ok","enum":["ok","error"]}},"description":"Describes the services and their status","example":{"error":"unable to reach db","name":"api","status":"ok"},"required":["name","status"]},"InfoResponseBody":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserData"}},"example":{"data":{"avatarUrl":"https://avatars.githubusercontent.com","githubId":"abc123","name":"abc"}},"required":["data"]},"Job":{"type":"object","properties":{"catalogName":{"type":"string","description":"Name of the catalog","example":"tekton"},"id":{"type":"integer","description":"id of the job","example":1},"status":{"type":"string","description":"status of the job","example":"queued"}},"example":{"catalogName":"tekton","id":1,"status":"queued"},"required":["id","catalogName","status"]},"ListResponseBody":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Category"},"example":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"example":{"data":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"NewRefreshTokenResponseBody":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RefreshToken"}},"example":{"data":{"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"RefreshAccessTokenResponseBody":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AccessToken"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"RefreshConfigResponseBody":{"type":"object","properties":{"checksum":{"type":"string","description":"Config file checksum","example":"41ba391c8baf1fcd3c62c11272b913dc6613f4cf3b1833cfbb32431dc4384c93"}},"example":{"checksum":"41ba391c8baf1fcd3c62c11272b913dc6613f4cf3b1833cfbb32431dc4384c93"},"required":["checksum"]},"RefreshToken":{"type":"object","properties":{"refresh":{"$ref":"#/components/schemas/Token"}},"description":"Refresh Token for User","example":{"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"Resource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceData"}},"example":{"data":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceData":{"type":"object","properties":{"catalog":{"$ref":"#/components/schemas/Catalog"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/components/schemas/ResourceVersionData"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Tag"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]},"versions":{"type":"array","items":{"$ref":"#/components/schemas/ResourceVersionData"},"description":"List of all versions of a resource","example":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"description":"The resource type describes resource information.","example":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating","versions"]},"ResourceDataCollection":{"type":"array","items":{"$ref":"#/components/schemas/ResourceData"},"example":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"ResourceVersion":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceVersionData"}},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceVersionData":{"type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","format":"uri"},"resource":{"$ref":"#/components/schemas/ResourceData"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information.","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt","resource"]},"ResourceVersions":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Versions"}},"example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]}},"required":["data"]},"Resources":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceDataCollection"}},"example":{"data":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"required":["data"]},"StatusResponseBody":{"type":"object","properties":{"services":{"type":"array","items":{"$ref":"#/components/schemas/HubService"},"description":"List of services and their status","example":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"Tag":{"type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of tag","example":1},"name":{"type":"string","description":"Name of tag","example":"image-build"}},"example":{"id":1,"name":"image-build"},"required":["id","name"]},"Token":{"type":"object","properties":{"expiresAt":{"type":"integer","description":"Time the token will expires at","example":0,"format":"int64"},"refreshInterval":{"type":"string","description":"Duration the token will Expire In","example":"1h30m"},"token":{"type":"string","description":"JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"description":"Token includes the JWT, Expire Duration \u0026 Time","example":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token","refreshInterval","expiresAt"]},"UpdateAgentRequestBody":{"type":"object","properties":{"name":{"type":"string","description":"Name of Agent","example":"abc"},"scopes":{"type":"array","items":{"type":"string","example":"Voluptas eius non illo accusantium aut."},"description":"Scopes required for Agent","example":["catalog-refresh","agent:create"]}},"example":{"name":"abc","scopes":["catalog-refresh","agent:create"]},"required":["name","scopes"]},"UpdateAgentResponseBody":{"type":"object","properties":{"token":{"type":"string","description":"Agent JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"example":{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token"]},"UpdateRequestBody":{"type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":1,"minimum":0,"maximum":5}},"example":{"rating":1},"required":["rating"]},"UserData":{"type":"object","properties":{"avatarUrl":{"type":"string","description":"Github user's profile picture url","example":"https://avatars.githubusercontent.com"},"githubId":{"type":"string","description":"Github id of User","example":"abc123"},"name":{"type":"string","description":"Github user name","example":"abc"}},"description":"Github user Information","example":{"avatarUrl":"https://avatars.githubusercontent.com","githubId":"abc123","name":"abc"},"required":["githubId","name","avatarUrl"]},"Versions":{"type":"object","properties":{"latest":{"$ref":"#/components/schemas/ResourceVersionData"},"versions":{"type":"array","items":{"$ref":"#/components/schemas/ResourceVersionData"},"description":"List of all versions of resource","example":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]}},"description":"The Versions type describes response for versions by resource id API.","example":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]},"required":["latest","versions"]}},"securitySchemes":{"jwt_header_Authorization":{"type":"http","description":"Secures endpoint by requiring a valid JWT retrieved via the /auth/login endpoint.","scheme":"bearer"}}}} \ No newline at end of file +{"openapi":"3.0.3","info":{"title":"Tekton Hub","description":"HTTP services for managing Tekton Hub","version":"1.0"},"servers":[{"url":"https://api.hub.tekton.dev"}],"paths":{"/":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponseBody"},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}}}}}}},"/auth/login":{"post":{"tags":["auth"],"summary":"Authenticate auth","description":"Authenticates users against GitHub OAuth","operationId":"auth#Authenticate","parameters":[{"name":"code","in":"query","description":"OAuth Authorization code of User","allowEmptyValue":true,"required":true,"schema":{"type":"string","description":"OAuth Authorization code of User","example":"5628b69ec09c09512eef"},"example":"5628b69ec09c09512eef"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticateResponseBody"},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}}}}},"400":{"description":"Bad Request response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/catalog/refresh":{"post":{"tags":["catalog"],"summary":"RefreshAll catalog","description":"Refresh all catalogs","operationId":"catalog#RefreshAll","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"},"example":[{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"}]},"example":[{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"},{"catalogName":"tekton","id":1,"status":"queued"}]}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/catalog/{catalogName}/error":{"get":{"tags":["catalog"],"summary":"CatalogError catalog","description":"List all errors occurred refreshing a catalog","operationId":"catalog#CatalogError","parameters":[{"name":"catalogName","in":"path","description":"Name of catalog","required":true,"schema":{"type":"string","description":"Name of catalog","example":"tekton"},"example":"tekton"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogErrorResponseBody"},"example":{"data":[{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"}]}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/catalog/{catalogName}/refresh":{"post":{"tags":["catalog"],"summary":"Refresh catalog","description":"Refresh a Catalog by it's name","operationId":"catalog#Refresh","parameters":[{"name":"catalogName","in":"path","description":"Name of catalog","required":true,"schema":{"type":"string","description":"Name of catalog","example":"tekton"},"example":"tekton"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"},"example":{"catalogName":"tekton","id":1,"status":"queued"}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponseBody"},"example":{"data":[{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"}]}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/query":{"get":{"tags":["resource"],"summary":"Query resource","description":"Find resources by a combination of name, kind , catalog and tags","operationId":"resource#Query","parameters":[{"name":"name","in":"query","description":"Name of resource","allowEmptyValue":true,"schema":{"type":"string","description":"Name of resource","default":"","example":"buildah"},"example":"buildah"},{"name":"catalogs","in":"query","description":"Catalogs of resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Ipsam ad dicta sunt fugiat."},"description":"Catalogs of resource to filter by","example":["tekton","openshift"]},"example":["tekton","openshift"]},{"name":"kinds","in":"query","description":"Kinds of resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Eum in similique labore."},"description":"Kinds of resource to filter by","example":["task","pipelines"]},"example":["task","pipelines"]},{"name":"tags","in":"query","description":"Tags associated with a resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Laboriosam placeat eveniet perspiciatis."},"description":"Tags associated with a resource to filter by","example":["image","build"]},"example":["image","build"]},{"name":"limit","in":"query","description":"Maximum number of resources to be returned","allowEmptyValue":true,"schema":{"type":"integer","description":"Maximum number of resources to be returned","default":1000,"example":100},"example":100},{"name":"match","in":"query","description":"Strategy used to find matching resources","allowEmptyValue":true,"schema":{"type":"string","description":"Strategy used to find matching resources","default":"contains","example":"exact","enum":["exact","contains"]},"example":"contains"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resources"},"example":{"data":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]}}}},"400":{"description":"Bad Request response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resource/version/{versionID}":{"get":{"tags":["resource"],"summary":"ByVersionId resource","description":"Find a resource using its version's id","operationId":"resource#ByVersionId","parameters":[{"name":"versionID","in":"path","description":"Version ID of a resource's version","required":true,"schema":{"type":"integer","description":"Version ID of a resource's version","example":1},"example":1}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersion"},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"}}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resource/{catalog}/{kind}/{name}":{"get":{"tags":["resource"],"summary":"ByCatalogKindName resource","description":"Find resources using name of catalog, resource name and kind of resource","operationId":"resource#ByCatalogKindName","parameters":[{"name":"pipelinesversion","in":"query","description":"To find resource compatible with a Tekton pipelines version, use this param","allowEmptyValue":true,"schema":{"type":"string","description":"To find resource compatible with a Tekton pipelines version, use this param","example":"0.21.0","pattern":"^\\d+(?:\\.\\d+){0,2}$"},"example":"0.21.0"},{"name":"catalog","in":"path","description":"name of catalog","required":true,"schema":{"type":"string","description":"name of catalog","example":"tektoncd"},"example":"tektoncd"},{"name":"kind","in":"path","description":"kind of resource","required":true,"schema":{"type":"string","description":"kind of resource","example":"task","enum":["task","pipeline"]},"example":"pipeline"},{"name":"name","in":"path","description":"Name of resource","required":true,"schema":{"type":"string","description":"Name of resource","example":"buildah"},"example":"buildah"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"},"example":{"data":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resource/{catalog}/{kind}/{name}/{version}":{"get":{"tags":["resource"],"summary":"ByCatalogKindNameVersion resource","description":"Find resource using name of catalog \u0026 name, kind and version of resource","operationId":"resource#ByCatalogKindNameVersion","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"schema":{"type":"string","description":"name of catalog","example":"tektoncd"},"example":"tektoncd"},{"name":"kind","in":"path","description":"kind of resource","required":true,"schema":{"type":"string","description":"kind of resource","example":"pipeline","enum":["task","pipeline"]},"example":"pipeline"},{"name":"name","in":"path","description":"name of resource","required":true,"schema":{"type":"string","description":"name of resource","example":"buildah"},"example":"buildah"},{"name":"version","in":"path","description":"version of resource","required":true,"schema":{"type":"string","description":"version of resource","example":"0.1"},"example":"0.1"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersion"},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"}}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resource/{id}":{"get":{"tags":["resource"],"summary":"ById resource","description":"Find a resource using it's id","operationId":"resource#ById","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":1},"example":1}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"},"example":{"data":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resource/{id}/rating":{"get":{"tags":["rating"],"summary":"Get rating","description":"Find user's rating for a resource","operationId":"rating#Get","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":4748836856209207639},"example":17835074238948411605}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetResponseBody"},"example":{"rating":4}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]},"put":{"tags":["rating"],"summary":"Update rating","description":"Update user's rating for a resource","operationId":"rating#Update","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":9285005120921241060},"example":11505831677112471131}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRequestBody"},"example":{"rating":4}}}},"responses":{"200":{"description":"OK response."},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/resource/{id}/versions":{"get":{"tags":["resource"],"summary":"VersionsByID resource","description":"Find all versions of a resource by its id","operationId":"resource#VersionsByID","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":1},"example":1}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersions"},"example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]}}}}},"404":{"description":"Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/resources":{"get":{"tags":["resource"],"summary":"List resource","description":"List all resources sorted by rating and name","operationId":"resource#List","parameters":[{"name":"limit","in":"query","description":"Maximum number of resources to be returned","allowEmptyValue":true,"schema":{"type":"integer","description":"Maximum number of resources to be returned","default":1000,"example":100},"example":100}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resources"},"example":{"data":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}},"/schema/swagger.json":{"get":{"tags":["swagger"],"summary":"Download docs/openapi3.json","description":"JSON document containing the API swagger definition","operationId":"swagger#/schema/swagger.json","responses":{"200":{"description":"File downloaded"}}}},"/system/config/refresh":{"post":{"tags":["admin"],"summary":"RefreshConfig admin","description":"Refresh the changes in config file","operationId":"admin#RefreshConfig","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshConfigResponseBody"},"example":{"checksum":"41ba391c8baf1fcd3c62c11272b913dc6613f4cf3b1833cfbb32431dc4384c93"}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/system/user/agent":{"put":{"tags":["admin"],"summary":"UpdateAgent admin","description":"Create or Update an agent user with required scopes","operationId":"admin#UpdateAgent","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentRequestBody"},"example":{"name":"abc","scopes":["catalog-refresh","agent:create"]}}}},"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentResponseBody"},"example":{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}}},"400":{"description":"Bad Request response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/user/info":{"get":{"tags":["user"],"summary":"Info user","description":"Get the user Info","operationId":"user#Info","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoResponseBody"},"example":{"data":{"avatarUrl":"https://avatars.githubusercontent.com","githubId":"abc123","name":"abc"}}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/user/refresh/accesstoken":{"post":{"tags":["user"],"summary":"RefreshAccessToken user","description":"Refresh the access token of User","operationId":"user#RefreshAccessToken","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshAccessTokenResponseBody"},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/user/refresh/refreshtoken":{"post":{"tags":["user"],"summary":"NewRefreshToken user","description":"Get a new refresh token of User","operationId":"user#NewRefreshToken","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewRefreshTokenResponseBody"},"example":{"data":{"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}}}}},"401":{"description":"Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"403":{"description":"Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh","refresh:token"]}]}},"/v1":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status#1","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponseBody"},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}}}}}}},"/v1/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list#1","responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponseBody"},"example":{"data":[{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"}]}}}},"500":{"description":"Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"}}}}}}}},"components":{"schemas":{"AccessToken":{"type":"object","properties":{"access":{"$ref":"#/components/schemas/Token"}},"description":"Access Token for User","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"AuthTokens":{"type":"object","properties":{"access":{"$ref":"#/components/schemas/Token"},"refresh":{"$ref":"#/components/schemas/Token"}},"description":"Auth tokens have access and refresh token for user","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"AuthenticateResponseBody":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AuthTokens"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"Catalog":{"type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the catalog","example":1},"name":{"type":"string","description":"Name of catalog","example":"Tekton"},"type":{"type":"string","description":"Type of catalog","example":"community","enum":["official","community"]},"url":{"type":"string","description":"URL of catalog","example":"https://github.com/tektoncd/hub"}},"example":{"id":1,"name":"Tekton","type":"community","url":"https://github.com/tektoncd/hub"},"required":["id","name","type","url"]},"CatalogErrorResponseBody":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CatalogErrors"},"description":"Catalog errors","example":[{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"}]}},"example":{"data":[{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"}]},"required":["data"]},"CatalogErrors":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string","example":"Est nihil facilis adipisci."},"description":"Catalog Error message","example":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"]},"type":{"type":"string","description":"Catalog Errror type","example":"warning"}},"description":"CatalogErrors define the errors that occurred during catalog refresh","example":{"errors":["Resource tekton.dev/v1beta1, Kind=Task - buildah has no display name","Resource tekton.dev/v1beta1, Kind=task - curl has no display name"],"type":"warning"},"required":["type","errors"]},"Category":{"type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the category","example":1},"name":{"type":"string","description":"Name of category","example":"Image Builder"}},"example":{"id":1,"name":"Image Builder"},"required":["id","name"]},"Error":{"type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid request body","example":{"id":"3F1FKVRR","message":"Value of ID must be an integer","name":"bad_request"},"required":["name","id","message","temporary","timeout","fault"]},"GetResponseBody":{"type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":4,"format":"int64"}},"example":{"rating":4},"required":["rating"]},"HubService":{"type":"object","properties":{"error":{"type":"string","description":"Details of the error if any","example":"unable to reach db"},"name":{"type":"string","description":"Name of the service","example":"api"},"status":{"type":"string","description":"Status of the service","example":"ok","enum":["ok","error"]}},"description":"Describes the services and their status","example":{"error":"unable to reach db","name":"api","status":"ok"},"required":["name","status"]},"InfoResponseBody":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserData"}},"example":{"data":{"avatarUrl":"https://avatars.githubusercontent.com","githubId":"abc123","name":"abc"}},"required":["data"]},"Job":{"type":"object","properties":{"catalogName":{"type":"string","description":"Name of the catalog","example":"tekton"},"id":{"type":"integer","description":"id of the job","example":1},"status":{"type":"string","description":"status of the job","example":"queued"}},"example":{"catalogName":"tekton","id":1,"status":"queued"},"required":["id","catalogName","status"]},"ListResponseBody":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Category"},"example":[{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"}]}},"example":{"data":[{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"},{"id":1,"name":"Image Builder"}]}},"NewRefreshTokenResponseBody":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RefreshToken"}},"example":{"data":{"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"RefreshAccessTokenResponseBody":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AccessToken"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"RefreshConfigResponseBody":{"type":"object","properties":{"checksum":{"type":"string","description":"Config file checksum","example":"41ba391c8baf1fcd3c62c11272b913dc6613f4cf3b1833cfbb32431dc4384c93"}},"example":{"checksum":"41ba391c8baf1fcd3c62c11272b913dc6613f4cf3b1833cfbb32431dc4384c93"},"required":["checksum"]},"RefreshToken":{"type":"object","properties":{"refresh":{"$ref":"#/components/schemas/Token"}},"description":"Refresh Token for User","example":{"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"Resource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceData"}},"example":{"data":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceData":{"type":"object","properties":{"catalog":{"$ref":"#/components/schemas/Catalog"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/components/schemas/ResourceVersionData"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Category"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]},"versions":{"type":"array","items":{"$ref":"#/components/schemas/ResourceVersionData"},"description":"List of all versions of a resource","example":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"description":"The resource type describes resource information.","example":{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating","versions"]},"ResourceDataCollection":{"type":"array","items":{"$ref":"#/components/schemas/ResourceData"},"example":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"ResourceVersion":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceVersionData"}},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceVersionData":{"type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","format":"uri"},"resource":{"$ref":"#/components/schemas/ResourceData"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information.","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt","resource"]},"ResourceVersions":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Versions"}},"example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]}},"required":["data"]},"Resources":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceDataCollection"}},"example":{"data":[{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"name":"tekton","type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"required":["data"]},"StatusResponseBody":{"type":"object","properties":{"services":{"type":"array","items":{"$ref":"#/components/schemas/HubService"},"description":"List of services and their status","example":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"Token":{"type":"object","properties":{"expiresAt":{"type":"integer","description":"Time the token will expires at","example":0,"format":"int64"},"refreshInterval":{"type":"string","description":"Duration the token will Expire In","example":"1h30m"},"token":{"type":"string","description":"JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"description":"Token includes the JWT, Expire Duration \u0026 Time","example":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token","refreshInterval","expiresAt"]},"UpdateAgentRequestBody":{"type":"object","properties":{"name":{"type":"string","description":"Name of Agent","example":"abc"},"scopes":{"type":"array","items":{"type":"string","example":"Voluptas eius non illo accusantium aut."},"description":"Scopes required for Agent","example":["catalog-refresh","agent:create"]}},"example":{"name":"abc","scopes":["catalog-refresh","agent:create"]},"required":["name","scopes"]},"UpdateAgentResponseBody":{"type":"object","properties":{"token":{"type":"string","description":"Agent JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"example":{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token"]},"UpdateRequestBody":{"type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":1,"minimum":0,"maximum":5}},"example":{"rating":1},"required":["rating"]},"UserData":{"type":"object","properties":{"avatarUrl":{"type":"string","description":"Github user's profile picture url","example":"https://avatars.githubusercontent.com"},"githubId":{"type":"string","description":"Github id of User","example":"abc123"},"name":{"type":"string","description":"Github user name","example":"abc"}},"description":"Github user Information","example":{"avatarUrl":"https://avatars.githubusercontent.com","githubId":"abc123","name":"abc"},"required":["githubId","name","avatarUrl"]},"Versions":{"type":"object","properties":{"latest":{"$ref":"#/components/schemas/ResourceVersionData"},"versions":{"type":"array","items":{"$ref":"#/components/schemas/ResourceVersionData"},"description":"List of all versions of resource","example":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]}},"description":"The Versions type describes response for versions by resource id API.","example":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/main/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/main/task/buildah/0.2/buildah.yaml"}]},"required":["latest","versions"]}},"securitySchemes":{"jwt_header_Authorization":{"type":"http","description":"Secures endpoint by requiring a valid JWT retrieved via the /auth/login endpoint.","scheme":"bearer"}}}} \ No newline at end of file diff --git a/api/gen/http/openapi3.yaml b/api/gen/http/openapi3.yaml index 65bcf5fba6..7c2a768728 100644 --- a/api/gen/http/openapi3.yaml +++ b/api/gen/http/openapi3.yaml @@ -291,25 +291,10 @@ paths: data: - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko "500": description: Internal Server Error response. content: @@ -1491,25 +1476,10 @@ paths: data: - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko "500": description: Internal Server Error response. content: @@ -1680,28 +1650,12 @@ components: type: string description: Name of category example: Image Builder - tags: - type: array - items: - $ref: '#/components/schemas/Tag' - description: List of tags associated with the category - example: - - id: 1 - name: image-build - - id: 2 - name: kaniko example: id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko required: - id - name - - tags Error: type: object properties: @@ -1826,48 +1780,18 @@ components: example: - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko example: data: - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - id: 1 name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko NewRefreshTokenResponseBody: type: object properties: @@ -1978,7 +1902,7 @@ components: tags: type: array items: - $ref: '#/components/schemas/Tag' + $ref: '#/components/schemas/Category' description: Tags related to resource example: - id: 1 @@ -2297,23 +2221,6 @@ components: - error: unable to reach db name: api status: ok - Tag: - type: object - properties: - id: - type: integer - description: ID is the unique id of tag - example: 1 - name: - type: string - description: Name of tag - example: image-build - example: - id: 1 - name: image-build - required: - - id - - name Token: type: object properties: diff --git a/api/pkg/app/data.go b/api/pkg/app/data.go index 2290f51f9d..e8b0951bc7 100644 --- a/api/pkg/app/data.go +++ b/api/pkg/app/data.go @@ -31,7 +31,6 @@ type Data struct { type Category struct { Name string - Tags []string } type Catalog struct { diff --git a/api/pkg/db/initializer/initializer.go b/api/pkg/db/initializer/initializer.go index 49d6adc9c1..d4a7066841 100644 --- a/api/pkg/db/initializer/initializer.go +++ b/api/pkg/db/initializer/initializer.go @@ -88,13 +88,6 @@ func addCategories(db *gorm.DB, log *log.Logger, data *app.Data) error { log.Error(err) return err } - for _, t := range c.Tags { - tag := model.Tag{Name: t, CategoryID: cat.ID} - if err := db.Where(tag).FirstOrCreate(&tag).Error; err != nil { - log.Error(err) - return err - } - } } return nil } diff --git a/api/pkg/db/migration/202105311800_remove_categoryid_column_and_category_tag_constraints_from_tag_table.go b/api/pkg/db/migration/202105311800_remove_categoryid_column_and_category_tag_constraints_from_tag_table.go new file mode 100644 index 0000000000..b916902392 --- /dev/null +++ b/api/pkg/db/migration/202105311800_remove_categoryid_column_and_category_tag_constraints_from_tag_table.go @@ -0,0 +1,48 @@ +// Copyright © 2021 The Tekton Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package migration + +import ( + "github.com/go-gormigrate/gormigrate/v2" + "github.com/tektoncd/hub/api/gen/log" + "github.com/tektoncd/hub/api/pkg/db/model" + "gorm.io/gorm" +) + +func removeCatgoryIdColumnAndConstraintsFromTagtable(log *log.Logger) *gormigrate.Migration { + + return &gormigrate.Migration{ + ID: "202105311800_remove_categoryid_column_and_category_tag_constraints_from_tag_table", + Migrate: func(db *gorm.DB) error { + + if err := db.Migrator().DropConstraint(&model.Tag{}, "fk_categories_tags"); err != nil { + log.Error(err) + return err + } + + if err := db.Migrator().DropConstraint(&model.Tag{}, "fk_tags_category"); err != nil { + log.Error(err) + return err + } + + if err := db.Migrator().DropColumn(&model.Tag{}, "category_id"); err != nil { + log.Error(err) + return err + } + + return nil + }, + } +} diff --git a/api/pkg/db/migration/migration.go b/api/pkg/db/migration/migration.go index 267ebf8804..66231646cf 100644 --- a/api/pkg/db/migration/migration.go +++ b/api/pkg/db/migration/migration.go @@ -36,6 +36,7 @@ func Migrate(api *app.APIBase) error { addRefreshTokenChecksumColumnInUserTable(log), updateCatalogBranchToMain(log), addAvatarURLColumnInUsersTable(log), + removeCatgoryIdColumnAndConstraintsFromTagtable(log), }, ) diff --git a/api/pkg/db/model/model.go b/api/pkg/db/model/model.go index 2d4d5192f8..e0de0f8b15 100644 --- a/api/pkg/db/model/model.go +++ b/api/pkg/db/model/model.go @@ -24,15 +24,12 @@ type ( Category struct { gorm.Model Name string `gorm:"not null;unique"` - Tags []Tag } Tag struct { gorm.Model - Name string `gorm:"not null;unique"` - Category Category - CategoryID uint - Resources []*Resource `gorm:"many2many:resource_tags;"` + Name string `gorm:"not null;unique"` + Resources []*Resource `gorm:"many2many:resource_tags;"` } Catalog struct { diff --git a/api/pkg/service/catalog/syncer.go b/api/pkg/service/catalog/syncer.go index 05ea6ad0dd..72e683350e 100644 --- a/api/pkg/service/catalog/syncer.go +++ b/api/pkg/service/catalog/syncer.go @@ -269,12 +269,10 @@ func (s *syncer) updateResourceTags( if len(tags) == 0 { return } - others := model.Category{} - txn.Model(&model.Category{}).Where(&model.Category{Name: "Others"}).First(&others) for _, t := range tags { - tag := model.Tag{Name: t, CategoryID: others.ID} + tag := model.Tag{Name: t} txn.Model(&model.Tag{}).Where(&model.Tag{Name: t}).FirstOrCreate(&tag) diff --git a/api/pkg/service/category/category.go b/api/pkg/service/category/category.go index 2af54229d9..d3cc6cfc3b 100644 --- a/api/pkg/service/category/category.go +++ b/api/pkg/service/category/category.go @@ -21,7 +21,6 @@ import ( "github.com/tektoncd/hub/api/gen/category" "github.com/tektoncd/hub/api/pkg/app" "github.com/tektoncd/hub/api/pkg/db/model" - "gorm.io/gorm" ) type service struct { @@ -44,22 +43,14 @@ func (s *service) List(ctx context.Context) (*category.ListResult, error) { db := s.DB(ctx) var all []model.Category - if err := db.Order("name"). - Preload("Tags", func(db *gorm.DB) *gorm.DB { - return db.Order("tags.name ASC") - }). - Find(&all).Error; err != nil { + if err := db.Model(&model.Category{}).Order("name").Find(&all).Error; err != nil { log.Error(err) return nil, fetchError } res := []*category.Category{} for _, c := range all { - tags := []*category.Tag{} - for _, t := range c.Tags { - tags = append(tags, &category.Tag{ID: t.ID, Name: t.Name}) - } - res = append(res, &category.Category{ID: c.ID, Name: c.Name, Tags: tags}) + res = append(res, &category.Category{ID: c.ID, Name: c.Name}) } return &category.ListResult{Data: res}, nil diff --git a/api/pkg/service/category/category_test.go b/api/pkg/service/category/category_test.go index 4b573d98fb..2a7f47a0f9 100644 --- a/api/pkg/service/category/category_test.go +++ b/api/pkg/service/category/category_test.go @@ -31,7 +31,5 @@ func TestCategory_List(t *testing.T) { assert.NoError(t, err) assert.Equal(t, 3, len(all.Data)) - assert.Equal(t, 2, len(all.Data[0].Tags)) - assert.Equal(t, "abc", all.Data[0].Name) // categories are sorted by name - assert.Equal(t, "atag", all.Data[0].Tags[0].Name) // tags are sorted by name + assert.Equal(t, "abc", all.Data[0].Name) // categories are sorted by name } diff --git a/api/pkg/service/category/testdata/TestCategories_List_Http.golden b/api/pkg/service/category/testdata/TestCategories_List_Http.golden index 046f48d123..33647d1e2d 100644 --- a/api/pkg/service/category/testdata/TestCategories_List_Http.golden +++ b/api/pkg/service/category/testdata/TestCategories_List_Http.golden @@ -2,37 +2,15 @@ "data": [ { "id": 2, - "name": "abc", - "tags": [ - { - "id": 4, - "name": "atag" - }, - { - "id": 2, - "name": "rtag" - } - ] + "name": "abc" }, { "id": 3, - "name": "pqr", - "tags": [ - { - "id": 3, - "name": "ptag" - } - ] + "name": "pqr" }, { "id": 1, - "name": "xyz", - "tags": [ - { - "id": 1, - "name": "ztag" - } - ] + "name": "xyz" } ] } diff --git a/api/pkg/service/category/testdata/TestCategories_List_Http_V1.golden b/api/pkg/service/category/testdata/TestCategories_List_Http_V1.golden index 046f48d123..33647d1e2d 100644 --- a/api/pkg/service/category/testdata/TestCategories_List_Http_V1.golden +++ b/api/pkg/service/category/testdata/TestCategories_List_Http_V1.golden @@ -2,37 +2,15 @@ "data": [ { "id": 2, - "name": "abc", - "tags": [ - { - "id": 4, - "name": "atag" - }, - { - "id": 2, - "name": "rtag" - } - ] + "name": "abc" }, { "id": 3, - "name": "pqr", - "tags": [ - { - "id": 3, - "name": "ptag" - } - ] + "name": "pqr" }, { "id": 1, - "name": "xyz", - "tags": [ - { - "id": 1, - "name": "ztag" - } - ] + "name": "xyz" } ] } diff --git a/api/test/fixtures/tags.yaml b/api/test/fixtures/tags.yaml index 16af90e31d..7249652f0e 100644 --- a/api/test/fixtures/tags.yaml +++ b/api/test/fixtures/tags.yaml @@ -14,21 +14,17 @@ - id: 1 name: ztag - category_id: 1 created_at: 2016-01-01 12:30:12 UTC updated_at: 2016-01-01 12:30:12 UTC - id: 2 name: rtag - category_id: 2 created_at: 2016-01-01 12:30:12 UTC updated_at: 2016-01-01 12:30:12 UTC - id: 3 name: ptag - category_id: 3 created_at: 2016-01-01 12:30:12 UTC updated_at: 2016-01-01 12:30:12 UTC - id: 4 name: atag - category_id: 2 created_at: 2016-01-01 12:30:12 UTC updated_at: 2016-01-01 12:30:12 UTC