Codefresh Projects API

projects

Operations 7

POST /projects Create #
GET /projects List #
GET /projects/tags Get projects tags #
GET /projects/name/{name} Get by name #
GET /projects/{id} Get #
PATCH /projects/{id} Patch #
DELETE /projects/{id} Delete #

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-projects-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-projects-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 Projects 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: Projects
  description: projects
  x-id: projects
paths:
  /projects:
    post:
      x-action: createProject
      x-audit:
        name:
          path: body.projectName
          source: req
        id:
          path: id
          source: res
      x-sdk-interface: projects.create
      operationId: projects-create
      summary: Create
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                projectName:
                  type: string
                tags:
                  type: array
                  items:
                    type: string
                variables:
                  type: array
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                      value:
                        type: string
      responses:
        '200':
          description: Project response
          content:
            application/json:
              schema:
                properties:
                  accountId:
                    type: string
                  projectName:
                    type: string
                  tags:
                    type: array
                    items:
                      type: string
                  updatedAt:
                    type: string
                  metadata:
                    type: object
                    properties:
                      createdAt:
                        type: string
                  variables:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        value:
                          type: string
                  id:
                    type: string
      tags:
      - Projects
      x-endpoint:
        isEndpoint: false
        auth:
          acl:
            resource: project
            abac: true
          middleware:
          - auth.isAuthenticated
        postMiddleware:
        - global.iseMiddleware
        handler: projects.createProject
      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 \"{\\\"projectName\\\":\\\"${PROJECT_NAME_STR}\\\",\\\"tags\\\":[\\\"${TAGS_ARR_STR}\\\"],\\\"variables\\\":[{\\\"key\\\":\\\"${KEY_STR}\\\",\\\"value\\\":\\\"${VALUE_STR}\\\"}]}\" \\\n    \"https://g.codefresh.io/api/projects\""
      - lang: node.js
        source: "sdk.projects.create({\n    projectName: `${PROJECT_NAME_STR}`,\n    tags: [\n        `${TAGS_ARR_STR}`\n    ],\n    variables: [\n        {\n            key: `${KEY_STR}`,\n            value: `${VALUE_STR}`\n        }\n    ]\n})"
    get:
      x-sdk-interface: projects.list
      operationId: projects-list
      summary: List
      parameters:
      - in: query
        name: limit
        description: limit
        schema:
          type: string
      - in: query
        name: offset
        description: offset
        schema:
          type: string
      - in: query
        name: name
        description: name
        schema:
          type: string
      - in: query
        name: tags
        description: tags
        schema:
          type: string
      responses:
        '200':
          description: Project response
          content:
            application/json:
              schema:
                type: array
                items:
                  properties:
                    accountId:
                      type: string
                    projectName:
                      type: string
                    updatedAt:
                      type: string
                    metadata:
                      type: object
                      properties:
                        createdAt:
                          type: string
                    image:
                      type: string
                    tags:
                      type: array
                      items:
                        type: string
                    variables:
                      type: array
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                          value:
                            type: string
                    pipelinesNumber:
                      type: integer
                    id:
                      type: string
                    favorite:
                      type: boolean
      tags:
      - Projects
      x-endpoint:
        isEndpoint: false
        auth:
          acl:
            resource: project
            abac: true
          middleware:
          - auth.isAuthenticated
        postMiddleware:
        - global.iseMiddleware
        handler: projects.getProjects
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/projects?limit=${LIMIT}&offset=${OFFSET}&name=${NAME}&tags=${TAGS}\""
      - lang: node.js
        source: "sdk.projects.list({\n    limit,\n    offset,\n    name,\n    tags\n})"
  /projects/tags:
    get:
      x-sdk-interface: projects.getProjectsTags
      operationId: projects-get-projects-tags
      summary: Get projects tags
      parameters:
      - in: query
        name: tagsNameRegex
        description: regex to filter
        schema:
          type: string
      responses:
        '200':
          description: Project response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
      tags:
      - Projects
      x-endpoint:
        isEndpoint: false
        auth:
          acl:
            resource: project
            abac: true
          middleware:
          - auth.isAuthenticated
        postMiddleware:
        - global.iseMiddleware
        handler: projects.getProjectsTags
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/projects/tags?tagsNameRegex=${TAGS_NAME_REGEX}\""
      - lang: node.js
        source: sdk.projects.getProjectsTags({ tagsNameRegex })
  /projects/name/{name}:
    get:
      x-sdk-interface: projects.getByName
      operationId: projects-get-by-name
      summary: Get by name
      parameters:
      - in: path
        name: name
        description: project name
        schema:
          type: string
        required: true
      - in: query
        name: tags
        description: Tags for filter
        schema:
          type: string
      responses:
        '200':
          description: Project response
          content:
            application/json:
              schema:
                properties:
                  accountId:
                    type: string
                  projectName:
                    type: string
                  updatedAt:
                    type: string
                  metadata:
                    type: object
                    properties:
                      createdAt:
                        type: string
                  image:
                    type: string
                  tags:
                    type: array
                    items:
                      type: string
                  variables:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        value:
                          type: string
                  pipelinesNumber:
                    type: integer
                  id:
                    type: string
                  favorite:
                    type: boolean
      tags:
      - Projects
      x-endpoint:
        isEndpoint: false
        auth:
          acl:
            resource: project
            abac: true
            identifiersLocation: params.name
          middleware:
          - auth.isAuthenticated
        postMiddleware:
        - global.iseMiddleware
        handler: projects.getProjectByName
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/projects/name/${NAME}?tags=${TAGS}\""
      - lang: node.js
        source: sdk.projects.getByName({ name, tags })
  /projects/{id}:
    get:
      x-sdk-interface: projects.get
      operationId: projects-get
      summary: Get
      parameters:
      - description: ID of an object
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Project response
          content:
            application/json:
              schema:
                properties:
                  accountId:
                    type: string
                  projectName:
                    type: string
                  updatedAt:
                    type: string
                  metadata:
                    type: object
                    properties:
                      createdAt:
                        type: string
                  image:
                    type: string
                  tags:
                    type: array
                    items:
                      type: string
                  variables:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        value:
                          type: string
                  pipelinesNumber:
                    type: integer
                  id:
                    type: string
                  favorite:
                    type: boolean
      tags:
      - Projects
      x-endpoint:
        isEndpoint: false
        auth:
          acl:
            resource: project
            abac: true
            identifiersLocation: params.id
          middleware:
          - auth.isAuthenticated
        postMiddleware:
        - global.iseMiddleware
        handler: projects.getProjectById
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/projects/${ID}\""
      - lang: node.js
        source: sdk.projects.get({ id })
    patch:
      x-action: updateProject
      x-entityId:
        pathId: params.id
        pathName: body.name
      x-allowed:
        body:
        - projectName
        - tags
        - image
        - metadata
      x-sdk-interface: projects.patch
      operationId: projects-patch
      summary: Patch
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-allowed:
                body:
                - projectName
                - tags
      parameters:
      - description: ID of an object
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Projects
      x-endpoint:
        isEndpoint: false
        auth:
          acl:
            resource: project
            abac: true
            identifiersLocation: params.id
          middleware:
          - auth.isAuthenticated
        postMiddleware:
        - global.iseMiddleware
        handler: projects.updateProject
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X PATCH \\\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/projects/${ID}\""
      - lang: node.js
        source: sdk.projects.patch({ id }, { ...REQUEST_BODY_OBJ })
    delete:
      x-action: deleteProject
      x-entityId:
        pathId: params.id
      x-sdk-interface: projects.delete
      operationId: projects-delete
      summary: Delete
      parameters:
      - description: ID of an object
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Projects
      x-endpoint:
        isEndpoint: false
        auth:
          acl:
            resource: project
            abac: true
            identifiersLocation: params.id
          middleware:
          - auth.isAuthenticated
        postMiddleware:
        - global.iseMiddleware
        handler: projects.deleteProject
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X DELETE \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/projects/${ID}\""
      - lang: node.js
        source: sdk.projects.delete({ id })
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 (140 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/codefresh/refs/heads/main/openapi/codefresh-projects-api-openapi.yml