Codefresh Repos API

repos

Operations 10

GET /repos/webhooks/{repoOwner}/{repoName}/{provider}/{context} Get trigger #
GET /repos List git repos (github, bitbucket, etc) #
POST /repos/refresh Refresh the list of cached git repos for behind firewall git contexts #
GET /repos/refresh Get info on the last refresh of the list of cached git repos for behind… #
GET /repos/existing List #
GET /repos/settings/{repoOwner}/{repoName} Get settings #
GET /repos/{owner}/{repo} Get git repo #
POST /services Create #
GET /services/{name} Get #
DELETE /services/{name} 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-repos-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-repos-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 Repos 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: Repos
  description: repos
  x-id: repos
paths:
  /repos/webhooks/{repoOwner}/{repoName}/{provider}/{context}:
    get:
      summary: Get trigger
      x-sdk-interface: repos.getTrigger
      tags:
      - Repos
      operationId: get-git-triggers
      parameters:
      - description: name of owner of repository
        in: path
        name: repoOwner
        required: true
        schema:
          type: string
      - description: repository name
        in: path
        name: repoName
        required: true
        schema:
          type: string
      - in: path
        name: provider
        description: Repo provider
        schema:
          type: string
        required: true
      - in: path
        name: context
        description: Repo context
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      x-endpoint:
        isEndpoint: false
        auth:
          middleware:
          - auth.isAuthenticated
          acl:
            resource: repos
        handler: repos.getTrigger
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/repos/webhooks/${REPO_OWNER}/${REPO_NAME}/${PROVIDER}/${CONTEXT}\""
      - lang: node.js
        source: "sdk.repos.getTrigger({\n    repoOwner,\n    repoName,\n    provider,\n    context\n})"
  /repos:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                    id:
                      type: string
                    provider:
                      type: string
                    features:
                      type: object
                      properties:
                        create_branch:
                          type: boolean
                        merge_branch:
                          type: boolean
                        remove_branch:
                          type: boolean
                        pull_request:
                          type: boolean
                    name:
                      type: string
                    private:
                      type: boolean
                    pushed_at:
                      type: string
                    open_issues:
                      type: integer
                    clone_url:
                      type: string
                    ssh_url:
                      type: string
                    owner:
                      type: object
                      properties:
                        login:
                          type: string
                        avatar_url:
                          type: string
                    org:
                      type: string
                    default_branch:
                      type: string
                    permissions:
                      type: object
                      properties:
                        admin:
                          type: string
                    context:
                      type: string
          description: list of repos by git integration
      tags:
      - Repos
      operationId: repos-git-list
      parameters:
      - in: query
        name: context
        schema:
          type: string
        description: Context
      summary: List git repos (github, bitbucket, etc)
      x-sdk-interface: repos.git.list
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/repos?context=${CONTEXT}\""
      - lang: node.js
        source: sdk.repos.git.list({ context })
  /repos/refresh:
    post:
      responses:
        '201':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Repos
      operationId: refresh-repos-git-list
      parameters:
      - in: query
        name: context
        schema:
          type: string
        description: Context
      requestBody:
        content:
          application/json:
            schema:
              properties:
                repos:
                  items:
                    type: string
                  type: array
      x-sdk-interface: repos.git.refresh
      summary: Refresh the list of cached git repos for behind firewall git contexts
      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/repos/refresh?context=${CONTEXT}\""
      - lang: node.js
        source: sdk.repos.git.refresh({ context }, { ...REQUEST_BODY_OBJ })
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Repos
      operationId: repos-git-get-refresh
      parameters:
      - in: query
        name: context
        schema:
          type: string
        description: Context
      x-sdk-interface: repos.git.lastRefresh
      summary: Get info on the last refresh of the list of cached git repos for behind…
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/repos/refresh?context=${CONTEXT}\""
      - lang: node.js
        source: sdk.repos.git.lastRefresh({ context })
  /repos/existing:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Repos
      operationId: repos-list
      parameters:
      - in: query
        name: context
        schema:
          type: string
        description: Context
      - in: query
        name: thin
        schema:
          type: string
        allowEmptyValue: true
        description: Thin
      summary: List
      x-sdk-interface: repos.list
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/repos/existing?context=${CONTEXT}&thin=${THIN}\""
      - lang: node.js
        source: sdk.repos.list({ context, thin })
  /repos/settings/{repoOwner}/{repoName}:
    get:
      parameters:
      - description: name of owner of repository
        in: path
        name: repoOwner
        required: true
        schema:
          type: string
      - description: repository name
        in: path
        name: repoName
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Repos
      operationId: repos-get-settings
      summary: Get settings
      x-sdk-interface: repos.getSettings
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/repos/settings/${REPO_OWNER}/${REPO_NAME}\""
      - lang: node.js
        source: sdk.repos.getSettings({ repoOwner, repoName })
  /repos/{owner}/{repo}:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Repos
      operationId: repos-git-get-repo
      parameters:
      - in: path
        name: owner
        schema:
          type: string
        required: true
        description: Owner
      - in: path
        name: repo
        schema:
          type: string
        required: true
        description: Repo
      - in: query
        name: context
        schema:
          type: string
        description: Context
      summary: Get git repo
      x-sdk-interface: repos.git.get
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/repos/${OWNER}/${REPO}?context=${CONTEXT}\""
      - lang: node.js
        source: sdk.repos.git.get({ owner, repo, context })
  /services:
    post:
      parameters:
      - description: The git context name
        in: query
        name: context
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      deprecated: true
      tags:
      - Repos
      operationId: repos-create
      requestBody:
        content:
          application/json:
            schema:
              properties:
                serviceDetails:
                  properties:
                    name:
                      type: string
                    scm:
                      properties:
                        name:
                          type: string
                        owner:
                          properties:
                            name:
                              type: string
                          type: object
                      type: object
                  type: object
              type: object
      summary: Create
      x-sdk-interface: repos.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 \"{\\\"serviceDetails\\\":{\\\"name\\\":\\\"${NAME_STR}\\\",\\\"scm\\\":{\\\"name\\\":\\\"${NAME_STR}\\\",\\\"owner\\\":{\\\"name\\\":\\\"${NAME_STR}\\\"}}}}\" \\\n    \"https://g.codefresh.io/api/services?context=${CONTEXT}\""
      - lang: node.js
        source: "sdk.repos.create({ context }, {\n    serviceDetails: {\n        name: `${NAME_STR}`,\n        scm: {\n            name: `${NAME_STR}`,\n            owner: {\n                name: `${NAME_STR}`\n            }\n        }\n    }\n})"
  /services/{name}:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Repos
      operationId: repos-get
      parameters:
      - in: path
        name: name
        schema:
          type: string
        required: true
        description: Name
      - in: query
        name: context
        schema:
          type: string
        description: Context
      summary: Get
      x-sdk-interface: repos.get
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/services/${NAME}?context=${CONTEXT}\""
      - lang: node.js
        source: sdk.repos.get({ name, context })
    delete:
      x-action: serviceDeleted
      x-entityId:
        pathName: params.name
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Repos
      operationId: repos-delete
      parameters:
      - in: path
        name: name
        schema:
          type: string
        required: true
        description: Name
      - in: query
        name: context
        schema:
          type: string
        description: Context
      summary: Delete
      x-sdk-interface: repos.delete
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X DELETE \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/services/${NAME}?context=${CONTEXT}\""
      - lang: node.js
        source: sdk.repos.delete({ name, context })
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-repos-api-openapi.yml