Chart Repositories

These endpoints provide a read-only view over the public Helm Hub chart repository index used by the KubeDB Platform. You can list the known repositories, load a repository by URL and list the charts inside it, and list the versions of a named chart.

All paths on this page are relative to /api/v1. The full base path is /api/v1/chartrepositories.

All three endpoints are public (no security requirement, no organization context). Clients typically still send their bearer token, but no membership or role is required. Only GET is supported.

Examples below use a placeholder host <akp-host> and a $AKP_TOKEN environment variable holding the caller’s token.


List chart repositories

GET /chartrepositories

Returns the list of known Helm Hub chart repositories.

  • Auth: public. No organization context required.

Path parameters: none.

Query parameters: none.

Response: 200 OK — a JSON array of chart repository entries. Each entry is a Helm repository configuration (Helm’s repo.Entry). In practice only name and url are populated for the public Helm Hub index; the credential-related fields are part of the schema but are empty for public repositories.

[
  { "name": "appscode", "url": "https://charts.appscode.com/stable" },
  { "name": "bitnami", "url": "https://charts.bitnami.com/bitnami" },
  { "name": "argo", "url": "https://argoproj.github.io/argo-helm" }
]

Fields of each ChartRepositoryEntry:

FieldTypeDescription
namestringRepository name.
urlstringRepository index URL.
usernamestringBasic-auth username (empty for public repos).
passwordstringBasic-auth password (empty for public repos).
certFilestringClient TLS certificate file.
keyFilestringClient TLS key file.
caFilestringCA bundle file.
insecure_skip_tls_verifybooleanSkip TLS verification for the repo.
pass_credentials_allbooleanPass credentials to all hosts.

Example:

curl -H "Authorization: token $AKP_TOKEN" \
  https://<akp-host>/api/v1/chartrepositories

Verified: GET returned 200 on 2026-07-14 (public endpoint; not cluster-scoped). Returned a large array of repositories; live entries populate only name and url.


List charts in a repository

GET /chartrepositories/charts

Loads the chart repository at the given url and returns the names of the charts it contains.

  • Auth: public. No organization context required.

Path parameters: none.

Query parameters:

NameTypeRequiredDescription
urlstringyesURL of the chart repository to load (for example https://charts.appscode.com/stable).

Response: 200 OK — a JSON array of chart names (strings) found in the repository index.

[
  "kubedb",
  "stash",
  "cert-manager-crds",
  "prometheus"
]

Other statuses:

StatusMeaning
400Missing chart repo url.
500Internal server error (for example the repository index could not be loaded).

Example:

curl -H "Authorization: token $AKP_TOKEN" \
  "https://<akp-host>/api/v1/chartrepositories/charts?url=https://charts.appscode.com/stable"

Verified: GET returned 200 on 2026-07-14 for url=https://charts.appscode.com/stable (public endpoint; not cluster-scoped). Response was a JSON array of chart-name strings (264 charts).


List versions of a chart

GET /chartrepositories/charts/{name}/versions

Loads the chart repository at the given url and returns the available versions of the named chart.

  • Auth: public. No organization context required.

Path parameters:

NameTypeDescription
namestringName of the chart (for example kubedb).

Query parameters:

NameTypeRequiredDescription
urlstringyesURL of the chart repository that contains the chart.

Response: 200 OK — a JSON array of chart version entries (Helm’s repo.ChartVersion / chart metadata). The schema models the common chart metadata fields; a given repository only populates the fields it publishes. In practice the public Helm Hub index returns version, appVersion, created, and (when set) kubeVersion.

[
  {
    "version": "v2026.7.10",
    "appVersion": "v2026.7.10",
    "kubeVersion": ">=1.26.0-0",
    "created": "2026-07-13T07:15:34.541887Z"
  }
]

Fields of each ChartVersion (as defined by the API schema):

FieldTypeDescription
namestringChart name.
versionstringChart version (SemVer).
descriptionstringChart description.
apiVersionstringChart API version (v1 or v2).
appVersionstringVersion of the application packaged by the chart.
typestringChart type (application or library).
deprecatedbooleanWhether this chart version is deprecated.
iconstringURL of the chart icon.
homestringHome page URL of the project.
keywordsarray of stringSearch keywords.
sourcesarray of stringSource URLs for the project.
urlsarray of stringDownload URLs for the chart archive.
createdstring (date-time)Publication timestamp.
digeststringDigest of the chart archive.

Other statuses:

StatusMeaning
400Missing chart repo url or chart name.
500Internal server error (for example the repository index could not be loaded).

Example:

curl -H "Authorization: token $AKP_TOKEN" \
  "https://<akp-host>/api/v1/chartrepositories/charts/kubedb/versions?url=https://charts.appscode.com/stable"

Verified: GET returned 200 on 2026-07-14 for chart kubedb with url=https://charts.appscode.com/stable (public endpoint; not cluster-scoped). Response was a JSON array of 106 version entries.