Codefresh Abac API

abac

Operations 10

POST /abac Create rule #
GET /abac List rules #
POST /abac/batch Create or delete rules #
GET /abac/resource/{resource} Get rules by resource #
POST /abac/tags/rule/{rule} Update rule tags #
POST /abac/tags/rules Create rules tags #
GET /abac/team/{teamId} Get rules by team id #
POST /abac/teamRules Create rules in batch #
GET /abac/{rule} Get rule #
DELETE /abac/{rule} Delete rule #

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-abac-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-abac-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 Abac 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: Abac
  description: abac
  x-id: abac
paths:
  /abac:
    post:
      x-action: createGrantRule
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Abac
      operationId: abac-rules-create
      requestBody:
        content:
          application/json:
            schema:
              properties:
                tags:
                  items:
                    type: string
                  type: array
                action:
                  type: string
                resource:
                  type: string
                relatedResource:
                  type: string
                team:
                  type: string
              type: object
        required: true
      summary: Create rule
      parameters: []
      x-sdk-interface: abac.rules.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 \"{\\\"tags\\\":[\\\"${TAGS_ARR_STR}\\\"],\\\"action\\\":\\\"${ACTION_STR}\\\",\\\"resource\\\":\\\"${RESOURCE_STR}\\\",\\\"relatedResource\\\":\\\"${RELATED_RESOURCE_STR}\\\",\\\"team\\\":\\\"${TEAM_STR}\\\"}\" \\\n    \"https://g.codefresh.io/api/abac\""
      - lang: node.js
        source: "sdk.abac.rules.create({\n    tags: [\n        `${TAGS_ARR_STR}`\n    ],\n    action: `${ACTION_STR}`,\n    resource: `${RESOURCE_STR}`,\n    relatedResource: `${RELATED_RESOURCE_STR}`,\n    team: `${TEAM_STR}`\n})"
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Abac
      operationId: abac-rules-list
      summary: List rules
      parameters: []
      x-sdk-interface: abac.rules.list
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/abac\""
      - lang: node.js
        source: sdk.abac.rules.list()
  /abac/batch:
    post:
      x-action: updateRules
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Abac
      operationId: abac-rules-create-or-delete
      requestBody:
        content:
          application/json:
            schema:
              properties:
                create:
                  items:
                    properties:
                      teams:
                        type: array
                        items:
                          type: string
                      actions:
                        type: array
                        items:
                          type: string
                      resource:
                        type: string
                      relatedResource:
                        type: string
                      tags:
                        type: array
                        items:
                          type: string
                  type: array
                delete:
                  items:
                    type: string
                  type: array
              type: object
        required: true
      summary: Create or delete rules
      parameters: []
      x-sdk-interface: abac.rules.createOrDelete
      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 \"{\\\"create\\\":[${CREATE_ARR_OBJ}],\\\"delete\\\":[\\\"${DELETE_ARR_STR}\\\"]}\" \\\n    \"https://g.codefresh.io/api/abac/batch\""
      - lang: node.js
        source: "sdk.abac.rules.createOrDelete({\n    create: [\n        { ...CREATE_ARR_OBJ }\n    ],\n    delete: [\n        `${DELETE_ARR_STR}`\n    ]\n})"
  /abac/resource/{resource}:
    get:
      parameters:
      - description: The id of the resource
        in: path
        name: resource
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Abac
      operationId: abac-list-by-resource
      summary: Get rules by resource
      x-sdk-interface: abac.rules.listByResource
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/abac/resource/${RESOURCE}\""
      - lang: node.js
        source: sdk.abac.rules.listByResource({ resource })
  /abac/tags/rule/{rule}:
    post:
      x-action: updateRule
      x-entityId:
        pathId: params.rule
        pathName: body.tags[0]
      parameters:
      - description: The id of the rule
        in: path
        name: rule
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Abac
      operationId: abac-rules-tags-update
      requestBody:
        content:
          application/json:
            schema:
              properties:
                tags:
                  items:
                    type: string
                  type: array
              type: object
        required: true
      summary: Update rule tags
      x-sdk-interface: abac.rules.tags.update
      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 \"{\\\"tags\\\":[\\\"${TAGS_ARR_STR}\\\"]}\" \\\n    \"https://g.codefresh.io/api/abac/tags/rule/${RULE}\""
      - lang: node.js
        source: "sdk.abac.rules.tags.update({ rule }, {\n    tags: [\n        `${TAGS_ARR_STR}`\n    ]\n})"
  /abac/tags/rules:
    post:
      x-action: updateTagsForRules
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Abac
      operationId: abac-rules-tags-create
      requestBody:
        content:
          application/json:
            schema:
              properties:
                tags:
                  items:
                    type: string
                  type: array
                rules:
                  items:
                    type: string
                  type: array
              type: object
        required: true
      summary: Create rules tags
      parameters: []
      x-sdk-interface: abac.rules.tags.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 \"{\\\"tags\\\":[\\\"${TAGS_ARR_STR}\\\"],\\\"rules\\\":[\\\"${RULES_ARR_STR}\\\"]}\" \\\n    \"https://g.codefresh.io/api/abac/tags/rules\""
      - lang: node.js
        source: "sdk.abac.rules.tags.create({\n    tags: [\n        `${TAGS_ARR_STR}`\n    ],\n    rules: [\n        `${RULES_ARR_STR}`\n    ]\n})"
  /abac/team/{teamId}:
    get:
      parameters:
      - description: The id of the team
        in: path
        name: teamId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Abac
      operationId: abac-list-by-team
      summary: Get rules by team id
      x-sdk-interface: abac.rules.listByTeam
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/abac/team/${TEAM_ID}\""
      - lang: node.js
        source: sdk.abac.rules.listByTeam({ teamId })
  /abac/teamRules:
    post:
      x-action: createRulesForTeam
      x-entityId:
        pathName: body.teams[0]
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Abac
      operationId: abac-rules-create-in-batch
      requestBody:
        content:
          application/json:
            schema:
              properties:
                teams:
                  type: array
                  items:
                    type: string
                actions:
                  type: array
                  items:
                    type: string
                resource:
                  type: string
                relatedResource:
                  type: string
                tags:
                  type: array
                  items:
                    type: string
        required: true
      summary: Create rules in batch
      parameters: []
      x-sdk-interface: abac.rules.createInBatch
      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/abac/teamRules\""
      - lang: node.js
        source: sdk.abac.rules.createInBatch({ ...REQUEST_BODY_OBJ })
  /abac/{rule}:
    get:
      parameters:
      - description: The id of the rule
        in: path
        name: rule
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Abac
      operationId: abac-rules-get
      summary: Get rule
      x-sdk-interface: abac.rules.get
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X GET \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/abac/${RULE}\""
      - lang: node.js
        source: sdk.abac.rules.get({ rule })
    delete:
      x-action: deleteRuleForTeam
      x-entityId:
        pathName: params.rule
      parameters:
      - description: The id of the rule
        in: path
        name: rule
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: json
      tags:
      - Abac
      operationId: abac-rules-delete
      summary: Delete rule
      x-sdk-interface: abac.rules.delete
      x-code-samples:
      - lang: curl
        source: "curl  \\\n    -X DELETE \\\n    -H \"Authorization: ${API_KEY}\" \\\n    \"https://g.codefresh.io/api/abac/${RULE}\""
      - lang: node.js
        source: sdk.abac.rules.delete({ rule })
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 (138 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/codefresh/refs/heads/main/openapi/codefresh-abac-api-openapi.yml