Codefresh Clusters API
The Clusters API from Codefresh — 1 operation(s) for clusters.
The Clusters API from Codefresh — 1 operation(s) for clusters.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/codefresh:codefresh-clusters-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
contact:
name: Codefresh
url: https://www.codefresh.io
description: Codefresh API openAPI 3.0 specification
termsOfService: https://codefresh.io/docs/docs/terms-and-privacy-policy/terms-of-service/
title: Codefresh Clusters API
version: 0.0.2
x-logo:
url: https://g.codefresh.io/modules/cf.resources/codefresh-api-docs-images/codefresh-logo-api.svg
backgroundColor: '#FFFFFF'
altText: Codefresh
servers:
- url: https://g.codefresh.io/api
security:
- API-key: []
tags:
- name: Clusters
description: clusters
x-id: clusters
paths:
/clusters:
get:
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-list
parameters: []
summary: List
x-sdk-interface: clusters.list
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.getClusters
x-code-samples:
- lang: curl
source: "curl \\\n -X GET \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters\""
- lang: node.js
source: sdk.clusters.list()
/clusters/byPermissions:
get:
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-list-by-permissions
parameters: []
summary: List
x-sdk-interface: clusters.list.by.permissions
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
postMiddleware:
- global.iseMiddleware
handler: clusters.getClustersByPermissions
x-code-samples:
- lang: curl
source: "curl \\\n -X GET \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/byPermissions\""
- lang: node.js
source: sdk.clusters.list.by.permissions()
/clusters/local/cluster:
post:
requestBody:
content:
application/json:
schema:
required:
- type
- selector
- host
- clientCa
- serviceAccountToken
properties:
type:
type: string
enum:
- sat
encoding:
type: string
enum:
- utf-8
- base64
default: utf-8
provider:
type: string
enum:
- local
default: local
providerAgent:
type: string
enum:
- azure
- aws
- custom
- stackpoint
- ibm
- eks
- digitalOcean
description: Use `custom` for local cluster
selector:
type: string
namespaces:
type: array
items:
type: string
host:
type: string
clientCa:
type: string
serviceAccountToken:
type: string
type: object
required: true
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-save-local-cluster
parameters: []
summary: Save local cluster
x-sdk-interface: clusters.saveLocal
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
preMiddleware:
- clusters.testClusterCredentials
postMiddleware:
- global.iseMiddleware
handler: clusters.proxyPostLocalCluster
x-code-samples:
- lang: curl
source: "curl \\\n -X POST \\\n -H \"Authorization: ${API_KEY}\" \\\n -H 'Content-Type: application/json; charset=utf-8' \\\n -d \"{\\\"type\\\":\\\"${TYPE_STR}\\\",\\\"encoding\\\":\\\"${ENCODING_STR}\\\",\\\"provider\\\":\\\"${PROVIDER_STR}\\\",\\\"providerAgent\\\":\\\"${PROVIDER_AGENT_STR}\\\",\\\"selector\\\":\\\"${SELECTOR_STR}\\\",\\\"namespaces\\\":[\\\"${NAMESPACES_ARR_STR}\\\"],\\\"host\\\":\\\"${HOST_STR}\\\",\\\"clientCa\\\":\\\"${CLIENT_CA_STR}\\\",\\\"serviceAccountToken\\\":\\\"${SERVICE_ACCOUNT_TOKEN_STR}\\\"}\" \\\n \"https://g.codefresh.io/api/clusters/local/cluster\""
- lang: node.js
source: "sdk.clusters.saveLocal({\n type: `${TYPE_STR}`,\n encoding: `${ENCODING_STR}`,\n provider: `${PROVIDER_STR}`,\n providerAgent: `${PROVIDER_AGENT_STR}`,\n selector: `${SELECTOR_STR}`,\n namespaces: [\n `${NAMESPACES_ARR_STR}`\n ],\n host: `${HOST_STR}`,\n clientCa: `${CLIENT_CA_STR}`,\n serviceAccountToken: `${SERVICE_ACCOUNT_TOKEN_STR}`\n})"
/clusters/revoke/{provider}:
post:
responses:
'200':
description: ok
tags:
- Clusters
operationId: clusters-revoke
parameters:
- description: id of provider
in: path
name: provider
required: true
schema:
type: string
summary: Revoke account access to cluster
x-sdk-interface: clusters.revoke
x-action: deleteCloudIntegration
x-entityId: params.provider
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
- auth.isAccountAdminClusters
acl:
resource: cluster
postMiddleware:
- global.iseMiddleware
handler: clusters.revokeAccountAccess
x-code-samples:
- lang: curl
source: "curl \\\n -X POST \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/revoke/${PROVIDER}\""
- lang: node.js
source: sdk.clusters.revoke({ provider })
/clusters/tags:
get:
responses:
'200':
description: ok
tags:
- Clusters
parameters: []
summary: Get all cluster tags
x-sdk-interface: clusters.tags.getAll
operationId: clusters-tags-get-all
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.getAllTags
x-code-samples:
- lang: curl
source: "curl \\\n -X GET \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/tags\""
- lang: node.js
source: sdk.clusters.tags.getAll()
/clusters/{clusterId}/tags:
get:
responses:
'200':
description: ok
tags:
- Clusters
parameters:
- name: clusterId
in: path
schema:
type: string
required: true
description: cluster id
summary: List cluster tags
x-sdk-interface: clusters.tags.list
operationId: clusters-tags-list
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.getTags
x-code-samples:
- lang: curl
source: "curl \\\n -X GET \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/${CLUSTER_ID}/tags\""
- lang: node.js
source: sdk.clusters.tags.list({ clusterId })
put:
x-action: updateTags
x-entityId: params.clusterId
responses:
'200':
description: ok
tags:
- Clusters
parameters:
- name: clusterId
in: path
schema:
type: string
required: true
description: cluster id
summary: Put
x-sdk-interface: clusters.tags.update
operationId: clusters-tags-update
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.setTags
x-code-samples:
- lang: curl
source: "curl \\\n -X PUT \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/${CLUSTER_ID}/tags\""
- lang: node.js
source: sdk.clusters.tags.update({ clusterId })
/clusters/{clusterId}/credentials:
get:
x-action: getCredentials
x-entityId: params.clusterId
responses:
'200':
description: ok
tags:
- Clusters
parameters:
- name: clusterId
in: path
schema:
type: string
required: true
description: cluster id
summary: Get
x-sdk-interface: clusters.credentials.get
operationId: clusters-credentials-get
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.getCredentials
x-code-samples:
- lang: curl
source: "curl \\\n -X GET \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/${CLUSTER_ID}/credentials\""
- lang: node.js
source: sdk.clusters.credentials.get({ clusterId })
/clusters/{clusterId}/helm-version:
get:
x-action: getHelmVersion
x-entityId: params.clusterId
responses:
'200':
description: ok
tags:
- Clusters
parameters:
- name: clusterId
in: path
schema:
type: string
required: true
description: cluster id
summary: Get
x-sdk-interface: clusters.helmVersion.get
operationId: clusters-helmVersion-get
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.getHelmVersion
x-code-samples:
- lang: curl
source: "curl \\\n -X GET \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/${CLUSTER_ID}/helm-version\""
- lang: node.js
source: sdk.clusters.helmVersion.get({ clusterId })
/clusters/{provider}/cluster/{clusterId}:
delete:
x-action: deleteCluster
x-entityId:
pathName: params.provider
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-delete
parameters:
- name: provider
in: path
schema:
type: string
required: true
description: Provider
- name: clusterId
in: path
schema:
type: string
required: true
description: Id
summary: Delete
x-sdk-interface: clusters.delete
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.deleteCluster
x-code-samples:
- lang: curl
source: "curl \\\n -X DELETE \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/${PROVIDER}/cluster/${CLUSTER_ID}\""
- lang: node.js
source: sdk.clusters.delete({ provider, clusterId })
/clusters/{provider}/cluster:
post:
x-action: createCluster
x-entityId:
pathName: params.provider
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-create
parameters:
- name: provider
in: path
schema:
type: string
required: true
description: Provider
summary: Create
x-sdk-interface: clusters.create
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.createCluster
x-code-samples:
- lang: curl
source: "curl \\\n -X POST \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/${PROVIDER}/cluster\""
- lang: node.js
source: sdk.clusters.create({ provider })
/clusters/*:
post:
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-proxy-post
parameters: []
summary: Proxy post
x-sdk-interface: clusters.proxyPost
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.proxyToClusterProviders
x-code-samples:
- lang: curl
source: "curl \\\n -X POST \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/*\""
- lang: node.js
source: sdk.clusters.proxyPost()
get:
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-proxy-get
parameters: []
summary: Proxy get
x-sdk-interface: clusters.proxyGet
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.proxyToClusterProviders
x-code-samples:
- lang: curl
source: "curl \\\n -X GET \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/*\""
- lang: node.js
source: sdk.clusters.proxyGet()
put:
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-proxy-put
parameters: []
summary: Proxy put
x-sdk-interface: clusters.proxyPut
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.proxyToClusterProviders
x-code-samples:
- lang: curl
source: "curl \\\n -X PUT \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/*\""
- lang: node.js
source: sdk.clusters.proxyPut()
patch:
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-proxy-patch
parameters: []
summary: Proxy patch
x-sdk-interface: clusters.proxyPatch
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.proxyToClusterProviders
x-code-samples:
- lang: curl
source: "curl \\\n -X PATCH \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/*\""
- lang: node.js
source: sdk.clusters.proxyPatch()
delete:
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-proxy-delete
parameters: []
summary: Proxy delete
x-sdk-interface: clusters.proxyDelete
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.proxyToClusterProviders
x-code-samples:
- lang: curl
source: "curl \\\n -X DELETE \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/*\""
- lang: node.js
source: sdk.clusters.proxyDelete()
head:
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-proxy-head
parameters: []
summary: Proxy head
x-sdk-interface: clusters.proxyHead
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.proxyToClusterProviders
x-code-samples:
- lang: curl
source: "curl \\\n -X HEAD \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/*\""
- lang: node.js
source: sdk.clusters.proxyHead()
options:
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: clusters-proxy-options
parameters: []
summary: Proxy options
x-sdk-interface: clusters.proxyOptions
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
acl:
resource: cluster
abac: true
postMiddleware:
- global.iseMiddleware
handler: clusters.proxyToClusterProviders
x-code-samples:
- lang: curl
source: "curl \\\n -X OPTIONS \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/clusters/*\""
- lang: node.js
source: sdk.clusters.proxyOptions()
/kubernetes*:
put:
responses:
'200':
content:
application/json:
schema:
type: object
description: json
tags:
- Clusters
operationId: kubernetes-proxy-put
parameters: []
summary: Proxy put
x-sdk-interface: kubernetes.proxyPut
x-endpoint:
isEndpoint: false
auth:
middleware:
- auth.isAuthenticated
- kubernetes.resolveClustersFromQuery
acl:
resource: cluster
abac: true
abacSource: kubernetes
postMiddleware:
- global.iseMiddleware
handler: kubernetes.callService
x-code-samples:
- lang: curl
source: "curl \\\n -X PUT \\\n -H \"Authorization: ${API_KEY}\" \\\n \"https://g.codefresh.io/api/kubernetes*\""
- lang: node.js
source: sdk.kubernetes.proxyPut()
components:
securitySchemes:
API-key:
in: header
name: Authorization
description: 'An api key got from: User Settings -> API keys -> Generate'
type: apiKey
x-service-name: api-public
x-base-path: /api
x-internal-services:
- pipeline-manager
- api
x-endpoint-conditions:
- weight: 0
condition: global.has-general-service-role
handlerRegex: (.*)
- weight: 1
condition: global.has-kubernetes-endpoints-service-role
handlerRegex: kubernetes\.\w+
- weight: 2
condition: global.has-auth-service-role
handlerRegex: api-key\.\w+
x-tagGroups:
- name: Pipelines / Builds
tags:
- Annotations
- Builds
- Execution Contexts
- Images
- Pipelines
- Progress
- Projects
- Step-types
- Triggers
- Triggers Events
- Triggers Types
- name: Kubernetes / Helm
tags:
- Environments V2
- Helm Boards
- Helm Charts
- Helm Releases
- Helm Sections
- Kubernetes
- name: Swarm
tags:
- Compositions
- Environments
- name: Integrations / Contexts
tags:
- Clusters
- Contexts
- Helm Cluster Configs
- Helm Repos
- Registries
- Repos
- name: Account Management
tags:
- Abac
- Accounts
- Agents
- Audit
- Runtime Environments
- Teams
- Tokens
- Views
- name: User Properties
tags:
- favorites
- name: On-Premise
tags:
- Features
- Runtime Environments (Account)
- Runtime Environments (Plan)
- Runtime Environments (System)
- Runtime Environments.
- name: Platform Analytics
tags:
# --- truncated at 32 KB (146 KB total) ---
# Full source: https://artifacts.apis.io/codefresh/openapi/codefresh-clusters-api-openapi.yml