{"openapi":"3.1.0","info":{"title":"Artifact Hub (BYOK) API","version":"0.1.0","description":"Artifact Hub (BYOK) lets an AI assistant read your own Artifact Hub data through the Artifact Hub API with a key you supply (Artifact Hub API key ID). Read-only: 8 tools (search_packages, get_package, search_repositories, get_hub_stats, get_organization, get_my_profile, list_my_organizations, list_my_starred_packages). The BYOK key travels with each request, is used for that one call only and is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-artifacthub.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-artifacthub/docs"},"termsOfService":"https://connectorbay.com/byok-artifacthub/terms"},"servers":[{"url":"https://byok-artifacthub.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-artifacthub/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/search_packages":{"post":{"operationId":"search_packages","summary":"Search Artifact Hub packages (Helm charts, operators, policies, plugins, container images and more) by text with stars, ","description":"Search Artifact Hub packages (Helm charts, operators, policies, plugins, container images and more) by text with stars, license and vulnerability counts. Use for \"Find the most starred Helm charts for ingress controllers on Artifact Hub\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ts_query_web":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Search text in web-search syntax, for example 'ingress controller'.","title":"Ts Query Web"},"sort":{"anyOf":[{"enum":["relevance","stars","last_updated"],"type":"string"},{"type":"null"}],"default":"relevance","description":"Order: relevance, stars or last_updated.","title":"Sort"},"deprecated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include deprecated packages.","title":"Deprecated"},"operators":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to return only operators.","title":"Operators"},"verified_publisher":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to return only packages from verified publishers.","title":"Verified Publisher"},"official":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to return only packages from official repositories.","title":"Official"},"cncf":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to return only packages published by CNCF projects.","title":"Cncf"},"limit":{"anyOf":[{"maximum":60,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 60).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before collecting results.","title":"Offset"}},"title":"search_packagesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_package":{"post":{"operationId":"get_package","summary":"Get one package by kind, repository and name: description, latest version, readme, links, maintainers, available version","description":"Get one package by kind, repository and name: description, latest version, readme, links, maintainers, available versions, container images and vulnerability summary. Use for \"What is the latest version of the ingress-nginx Helm chart on Artifact Hub\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"kind":{"description":"Package kind, for example helm, container, opa, olm, krew, kyverno or backstage.","enum":["helm","opa","falco","olm","tbaction","krew","helm-plugin","tekton-task","keda-scaler","coredns","keptn","tekton-pipeline","container","kubewarden","gatekeeper","kyverno","knative-client-plugin","backstage","argo-template","kubearmor","kcl","headlamp","inspektor-gadget","tekton-stepaction","meshery","opencost","radius","bootc","kagent"],"title":"Kind","type":"string"},"repo_name":{"description":"Repository name on Artifact Hub, for example 'ingress-nginx'.","maxLength":100,"title":"Repo Name","type":"string"},"package_name":{"description":"Package name within the repository, for example 'ingress-nginx'.","maxLength":100,"title":"Package Name","type":"string"}},"required":["kind","repo_name","package_name"],"title":"get_packageArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_repositories":{"post":{"operationId":"search_repositories","summary":"Search registered Artifact Hub repositories by name or URL, with owner, kind, verification flags and last tracking and s","description":"Search registered Artifact Hub repositories by name or URL, with owner, kind, verification flags and last tracking and scanning times. Use for \"Which repositories does the kubernetes organization publish on Artifact Hub\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Repository name to look for.","title":"Name"},"url":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Repository URL to look for.","title":"Url"},"limit":{"anyOf":[{"maximum":60,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 60).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before collecting results.","title":"Offset"}},"title":"search_repositoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_hub_stats":{"post":{"operationId":"get_hub_stats","summary":"Show how many packages and releases are registered on Artifact Hub. Use for \"How many packages are on Artifact Hub\".","description":"Show how many packages and releases are registered on Artifact Hub. Use for \"How many packages are on Artifact Hub\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_hub_statsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_organization":{"post":{"operationId":"get_organization","summary":"Get an Artifact Hub organization profile: display name, description and home page. Use for \"What is the kubernetes organ","description":"Get an Artifact Hub organization profile: display name, description and home page. Use for \"What is the kubernetes organization on Artifact Hub\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_name":{"description":"Organization name, for example 'kubernetes'.","maxLength":100,"title":"Org Name","type":"string"}},"required":["org_name"],"title":"get_organizationArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_my_profile":{"post":{"operationId":"get_my_profile","summary":"Show the Artifact Hub account the API key belongs to: alias, first and last name. Use for \"Which Artifact Hub account is","description":"Show the Artifact Hub account the API key belongs to: alias, first and last name. Use for \"Which Artifact Hub account is my API key connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_my_profileArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_my_organizations":{"post":{"operationId":"list_my_organizations","summary":"List the Artifact Hub organizations the key's account belongs to, with member counts. Use for \"Which Artifact Hub organi","description":"List the Artifact Hub organizations the key's account belongs to, with member counts. Use for \"Which Artifact Hub organizations am I a member of\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":60,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 60).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before collecting results.","title":"Offset"}},"title":"list_my_organizationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_my_starred_packages":{"post":{"operationId":"list_my_starred_packages","summary":"List the packages the key's account has starred on Artifact Hub, with version, license and vulnerability counts. Use for","description":"List the packages the key's account has starred on Artifact Hub, with version, license and vulnerability counts. Use for \"Which Artifact Hub packages have I starred\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":60,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 60).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before collecting results.","title":"Offset"}},"title":"list_my_starred_packagesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}