Codefresh Customers API

The customers API from Codefresh — 10 operation(s) for customers.

Operations 10

POST /admin/customers Create #
POST /admin/customers/{customerId}/{accountId}/assignAccountToCustomer Assign account #
PUT /admin/customers/{customerId}/updateCustomerLimits Update limits #
POST /admin/customers/{customerId}/{accountId}/detachAccountFromCustomer Detach account #
POST /admin/customers/{customerId}/{userId}/addCustomerAdmin Add admit #
POST /admin/customers/{customerId}/{userId}/removeCustomerAdmin Remove admin #
POST /customers/{customerId}/createAccount Add new account #
POST /customers/{customerId}/{accountId}/updateAccountLimits Update account limits #
POST /customers/{customerId}/{userId}/addCustomerAdmin Add customer admin #
POST /customers/{customerId}/{userId}/removeCustomerAdmin Remove customer admin #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/codefresh:codefresh-customers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

codefresh-customers-api-openapi.yml Raw ↑
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 Customers 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: Customers
paths:
  /admin/customers:
    post:
      x-action: createCustomer
      x-audit:
        name:
          path: body.name
          source: req
        id:
          path: _id
          source: res
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Customers
      operationId: customers-create
      requestBody:
        content:
          application/json:
            schema:
              type: object
      summary: Create
      x-sdk-interface: customers.create
      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 \"${REQUEST_BODY_OBJ}\" \\\n    \"https://g.codefresh.io/api/admin/customers\""
      - lang: node.js
        source: sdk.customers.create({ ...REQUEST_BODY_OBJ })
      parameters: []
  /admin/customers/{customerId}/{accountId}/assignAccountToCustomer:
    post:
      x-action: assignAccountToCustomer
      x-entityId: params.customerId
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Customers
      operationId: customers-assign-account
      parameters:
      - in: path
        name: customerId
        schema:
          type: string
        description: Customer ID
        required: true
      - in: path
        name: accountId
        schema:
          type: string
        description: Account ID
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
      summary: Assign account
      x-sdk-interface: customers.assignAccount
      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 \"${REQUEST_BODY_OBJ}\" \\\n    \"https://g.codefresh.io/api/admin/customers/${CUSTOMER_ID}/${ACCOUNT_ID}/assignAccountToCustomer\""
      - lang: node.js
        source: sdk.customers.assignAccount({ customerId, accountId }, { ...REQUEST_BODY_OBJ })
  /admin/customers/{customerId}/updateCustomerLimits:
    put:
      x-action: updateCustomerLimits
      x-entityId: params.customerId
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Customers
      operationId: customers-update-limits
      parameters:
      - in: path
        name: customerId
        schema:
          type: string
        description: Customer ID
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
      summary: Update limits
      x-sdk-interface: customers.updateLimits
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X PUT \\\n    -H \"Authorization: ${API_KEY}\" \\\n    -H 'Content-Type: application/json; charset=utf-8' \\\n    -d \"${REQUEST_BODY_OBJ}\" \\\n    \"https://g.codefresh.io/api/admin/customers/${CUSTOMER_ID}/updateCustomerLimits\""
      - lang: node.js
        source: sdk.customers.updateLimits({ customerId }, { ...REQUEST_BODY_OBJ })
  /admin/customers/{customerId}/{accountId}/detachAccountFromCustomer:
    post:
      x-action: detachAccountFromCustomer
      x-entityId: params.customerId
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Customers
      operationId: customers-detach-account
      parameters:
      - in: path
        name: customerId
        schema:
          type: string
        description: Customer ID
        required: true
      - in: path
        name: accountId
        schema:
          type: string
        description: Account ID
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
      summary: Detach account
      x-sdk-interface: customers.detachAccount
      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 \"${REQUEST_BODY_OBJ}\" \\\n    \"https://g.codefresh.io/api/admin/customers/${CUSTOMER_ID}/${ACCOUNT_ID}/detachAccountFromCustomer\""
      - lang: node.js
        source: sdk.customers.detachAccount({ customerId, accountId }, { ...REQUEST_BODY_OBJ })
  /admin/customers/{customerId}/{userId}/addCustomerAdmin:
    post:
      x-action: addCustomerAdmin
      x-entityId: params.customerId
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Customers
      operationId: customers-add-admin
      parameters:
      - in: path
        name: customerId
        schema:
          type: string
        description: Customer ID
        required: true
      - in: path
        name: userId
        schema:
          type: string
        description: User ID
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
      summary: Add admit
      x-sdk-interface: customers.addAdmin
      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 \"${REQUEST_BODY_OBJ}\" \\\n    \"https://g.codefresh.io/api/admin/customers/${CUSTOMER_ID}/${USER_ID}/addCustomerAdmin\""
      - lang: node.js
        source: sdk.customers.addAdmin({ customerId, userId }, { ...REQUEST_BODY_OBJ })
  /admin/customers/{customerId}/{userId}/removeCustomerAdmin:
    post:
      x-action: removeCustomerAdmin
      x-entityId: params.customerId
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Customers
      operationId: customers-remove-admin
      parameters:
      - in: path
        name: customerId
        schema:
          type: string
        description: Customer ID
        required: true
      - in: path
        name: userId
        schema:
          type: string
        description: User ID
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
      summary: Remove admin
      x-sdk-interface: customers.removeAdmin
      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 \"${REQUEST_BODY_OBJ}\" \\\n    \"https://g.codefresh.io/api/admin/customers/${CUSTOMER_ID}/${USER_ID}/removeCustomerAdmin\""
      - lang: node.js
        source: sdk.customers.removeAdmin({ customerId, userId }, { ...REQUEST_BODY_OBJ })
  /customers/{customerId}/createAccount:
    post:
      x-action: addNewAccount
      x-entityId: params.customerId
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Customers
      operationId: customers-add-new-account
      parameters:
      - in: path
        name: customerId
        schema:
          type: string
        description: Customer ID
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
      summary: Add new account
      x-sdk-interface: customers.addNewAccount
      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 \"${REQUEST_BODY_OBJ}\" \\\n    \"https://g.codefresh.io/api/customers/${CUSTOMER_ID}/createAccount\""
      - lang: node.js
        source: sdk.customers.addNewAccount({ customerId }, { ...REQUEST_BODY_OBJ })
  /customers/{customerId}/{accountId}/updateAccountLimits:
    post:
      x-action: updateAccountLimits
      x-entityId: params.customerId
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Customers
      operationId: customers-update-accounts-limits
      parameters:
      - in: path
        name: customerId
        schema:
          type: string
        description: Customer ID
        required: true
      - in: path
        name: accountId
        schema:
          type: string
        description: Account ID
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
      summary: Update account limits
      x-sdk-interface: customers.updateAccountLimits
      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 \"${REQUEST_BODY_OBJ}\" \\\n    \"https://g.codefresh.io/api/customers/${CUSTOMER_ID}/${ACCOUNT_ID}/updateAccountLimits\""
      - lang: node.js
        source: sdk.customers.updateAccountLimits({ customerId, accountId }, { ...REQUEST_BODY_OBJ })
  /customers/{customerId}/{userId}/addCustomerAdmin:
    post:
      x-action: addCustomerAdmin
      x-entityId: params.customerId
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Customers
      operationId: customers-add-customer-admin
      parameters:
      - in: path
        name: customerId
        schema:
          type: string
        description: Customer ID
        required: true
      - in: path
        name: userId
        schema:
          type: string
        description: User ID
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
      summary: Add customer admin
      x-sdk-interface: customers.addCustomerAdmin
      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 \"${REQUEST_BODY_OBJ}\" \\\n    \"https://g.codefresh.io/api/customers/${CUSTOMER_ID}/${USER_ID}/addCustomerAdmin\""
      - lang: node.js
        source: sdk.customers.addCustomerAdmin({ customerId, userId }, { ...REQUEST_BODY_OBJ })
  /customers/{customerId}/{userId}/removeCustomerAdmin:
    post:
      x-action: removeCustomerAdmin
      x-entityId: params.customerId
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Customers
      operationId: customers-remove-customer-admin
      parameters:
      - in: path
        name: customerId
        schema:
          type: string
        description: Customer id
        required: true
      - in: path
        name: userId
        schema:
          type: string
        description: User id
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
      summary: Remove customer admin
      x-sdk-interface: customers.removeCustomerAdmin
      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 \"${REQUEST_BODY_OBJ}\" \\\n    \"https://g.codefresh.io/api/customers/${CUSTOMER_ID}/${USER_ID}/removeCustomerAdmin\""
      - lang: node.js
        source: sdk.customers.removeCustomerAdmin({ customerId, userId }, { ...REQUEST_BODY_OBJ })
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 (139 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/codefresh/refs/heads/main/openapi/codefresh-customers-api-openapi.yml