Choreo · Capability

Choreo API Management API

The Choreo API Management API provides programmatic access to manage the full lifecycle of APIs on the WSO2 Choreo platform. It allows API creators to create, publish, version, and manage APIs, configure rate limiting policies, and manage API documentation. Choreo is an AI-native internal developer platform that simplifies building, deploying, and managing cloud-native applications.

Run with Naftiko ChoreoAPI

What You Can Do

GET
Listorganizations — Choreo List organizations
/organizations
GET
Listprojects — Choreo List projects
/organizations/{orgId}/projects
POST
Createproject — Choreo Create a project
/organizations/{orgId}/projects
GET
Listcomponents — Choreo List components
/organizations/{orgId}/projects/{projectId}/components
POST
Createcomponent — Choreo Create a component
/organizations/{orgId}/projects/{projectId}/components
GET
Getcomponent — Choreo Get a component
/organizations/{orgId}/projects/{projectId}/components/{componentId}
DELETE
Deletecomponent — Choreo Delete a component
/organizations/{orgId}/projects/{projectId}/components/{componentId}
GET
Listbuilds — Choreo List builds
/organizations/{orgId}/projects/{projectId}/components/{componentId}/builds
POST
Createbuild — Choreo Trigger a build
/organizations/{orgId}/projects/{projectId}/components/{componentId}/builds
GET
Listdeployments — Choreo List deployments
/organizations/{orgId}/projects/{projectId}/components/{componentId}/deployments
POST
Createdeployment — Choreo Promote a build to an environment
/organizations/{orgId}/projects/{projectId}/components/{componentId}/deployments
GET
Listapis — Choreo List APIs
/organizations/{orgId}/apis
GET
Getapi — Choreo Get API details
/organizations/{orgId}/apis/{apiId}
GET
Listenvironments — Choreo List environments
/organizations/{orgId}/environments

MCP Tools

listorganizations

Choreo List organizations

read-only idempotent
listprojects

Choreo List projects

read-only idempotent
createproject

Choreo Create a project

listcomponents

Choreo List components

read-only idempotent
createcomponent

Choreo Create a component

getcomponent

Choreo Get a component

read-only idempotent
deletecomponent

Choreo Delete a component

idempotent
listbuilds

Choreo List builds

read-only idempotent
createbuild

Choreo Trigger a build

listdeployments

Choreo List deployments

read-only idempotent
createdeployment

Choreo Promote a build to an environment

listapis

Choreo List APIs

read-only idempotent
getapi

Choreo Get API details

read-only idempotent
listenvironments

Choreo List environments

read-only idempotent

Capability Spec

choreo-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Choreo API Management API
  description: The Choreo API Management API provides programmatic access to manage the full lifecycle of APIs on the WSO2
    Choreo platform. It allows API creators to create, publish, version, and manage APIs, configure rate limiting policies,
    and manage API documentation. Choreo is an AI-native internal developer platform that simplifies building, deploying,
    and managing cloud-native applications.
  tags:
  - Choreo
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: choreo
    baseUri: https://console.choreo.dev/api/v1
    description: Choreo API Management API HTTP API.
    authentication:
      type: bearer
      token: '{{CHOREO_TOKEN}}'
    resources:
    - name: organizations
      path: /organizations
      operations:
      - name: listorganizations
        method: GET
        description: Choreo List organizations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: organizations-orgid-projects
      path: /organizations/{orgId}/projects
      operations:
      - name: listprojects
        method: GET
        description: Choreo List projects
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
          description: Organization identifier.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createproject
        method: POST
        description: Choreo Create a project
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
          description: Organization identifier.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: organizations-orgid-projects-projectid-component
      path: /organizations/{orgId}/projects/{projectId}/components
      operations:
      - name: listcomponents
        method: GET
        description: Choreo List components
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
          description: Organization identifier.
        - name: projectId
          in: path
          type: string
          required: true
          description: Project identifier.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcomponent
        method: POST
        description: Choreo Create a component
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
          description: Organization identifier.
        - name: projectId
          in: path
          type: string
          required: true
          description: Project identifier.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: organizations-orgid-projects-projectid-component
      path: /organizations/{orgId}/projects/{projectId}/components/{componentId}
      operations:
      - name: getcomponent
        method: GET
        description: Choreo Get a component
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        - name: componentId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletecomponent
        method: DELETE
        description: Choreo Delete a component
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        - name: componentId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: organizations-orgid-projects-projectid-component
      path: /organizations/{orgId}/projects/{projectId}/components/{componentId}/builds
      operations:
      - name: listbuilds
        method: GET
        description: Choreo List builds
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        - name: componentId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createbuild
        method: POST
        description: Choreo Trigger a build
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        - name: componentId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: organizations-orgid-projects-projectid-component
      path: /organizations/{orgId}/projects/{projectId}/components/{componentId}/deployments
      operations:
      - name: listdeployments
        method: GET
        description: Choreo List deployments
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        - name: componentId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createdeployment
        method: POST
        description: Choreo Promote a build to an environment
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        - name: componentId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: organizations-orgid-apis
      path: /organizations/{orgId}/apis
      operations:
      - name: listapis
        method: GET
        description: Choreo List APIs
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
          description: Organization identifier.
        - name: limit
          in: query
          type: integer
          description: Maximum number of results to return.
        - name: offset
          in: query
          type: integer
          description: Number of results to skip.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: organizations-orgid-apis-apiid
      path: /organizations/{orgId}/apis/{apiId}
      operations:
      - name: getapi
        method: GET
        description: Choreo Get API details
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
        - name: apiId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: organizations-orgid-environments
      path: /organizations/{orgId}/environments
      operations:
      - name: listenvironments
        method: GET
        description: Choreo List environments
        inputParameters:
        - name: orgId
          in: path
          type: string
          required: true
          description: Organization identifier.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: choreo-rest
    description: REST adapter for Choreo API Management API.
    resources:
    - path: /organizations
      name: listorganizations
      operations:
      - method: GET
        name: listorganizations
        description: Choreo List organizations
        call: choreo.listorganizations
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/projects
      name: listprojects
      operations:
      - method: GET
        name: listprojects
        description: Choreo List projects
        call: choreo.listprojects
        with:
          orgId: rest.orgId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/projects
      name: createproject
      operations:
      - method: POST
        name: createproject
        description: Choreo Create a project
        call: choreo.createproject
        with:
          orgId: rest.orgId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/projects/{projectId}/components
      name: listcomponents
      operations:
      - method: GET
        name: listcomponents
        description: Choreo List components
        call: choreo.listcomponents
        with:
          orgId: rest.orgId
          projectId: rest.projectId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/projects/{projectId}/components
      name: createcomponent
      operations:
      - method: POST
        name: createcomponent
        description: Choreo Create a component
        call: choreo.createcomponent
        with:
          orgId: rest.orgId
          projectId: rest.projectId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/projects/{projectId}/components/{componentId}
      name: getcomponent
      operations:
      - method: GET
        name: getcomponent
        description: Choreo Get a component
        call: choreo.getcomponent
        with:
          orgId: rest.orgId
          projectId: rest.projectId
          componentId: rest.componentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/projects/{projectId}/components/{componentId}
      name: deletecomponent
      operations:
      - method: DELETE
        name: deletecomponent
        description: Choreo Delete a component
        call: choreo.deletecomponent
        with:
          orgId: rest.orgId
          projectId: rest.projectId
          componentId: rest.componentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/projects/{projectId}/components/{componentId}/builds
      name: listbuilds
      operations:
      - method: GET
        name: listbuilds
        description: Choreo List builds
        call: choreo.listbuilds
        with:
          orgId: rest.orgId
          projectId: rest.projectId
          componentId: rest.componentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/projects/{projectId}/components/{componentId}/builds
      name: createbuild
      operations:
      - method: POST
        name: createbuild
        description: Choreo Trigger a build
        call: choreo.createbuild
        with:
          orgId: rest.orgId
          projectId: rest.projectId
          componentId: rest.componentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/projects/{projectId}/components/{componentId}/deployments
      name: listdeployments
      operations:
      - method: GET
        name: listdeployments
        description: Choreo List deployments
        call: choreo.listdeployments
        with:
          orgId: rest.orgId
          projectId: rest.projectId
          componentId: rest.componentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/projects/{projectId}/components/{componentId}/deployments
      name: createdeployment
      operations:
      - method: POST
        name: createdeployment
        description: Choreo Promote a build to an environment
        call: choreo.createdeployment
        with:
          orgId: rest.orgId
          projectId: rest.projectId
          componentId: rest.componentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/apis
      name: listapis
      operations:
      - method: GET
        name: listapis
        description: Choreo List APIs
        call: choreo.listapis
        with:
          orgId: rest.orgId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/apis/{apiId}
      name: getapi
      operations:
      - method: GET
        name: getapi
        description: Choreo Get API details
        call: choreo.getapi
        with:
          orgId: rest.orgId
          apiId: rest.apiId
        outputParameters:
        - type: object
          mapping: $.
    - path: /organizations/{orgId}/environments
      name: listenvironments
      operations:
      - method: GET
        name: listenvironments
        description: Choreo List environments
        call: choreo.listenvironments
        with:
          orgId: rest.orgId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: choreo-mcp
    transport: http
    description: MCP adapter for Choreo API Management API for AI agent use.
    tools:
    - name: listorganizations
      description: Choreo List organizations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: choreo.listorganizations
      outputParameters:
      - type: object
        mapping: $.
    - name: listprojects
      description: Choreo List projects
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: choreo.listprojects
      with:
        orgId: tools.orgId
      inputParameters:
      - name: orgId
        type: string
        description: Organization identifier.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: createproject
      description: Choreo Create a project
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: choreo.createproject
      with:
        orgId: tools.orgId
      inputParameters:
      - name: orgId
        type: string
        description: Organization identifier.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listcomponents
      description: Choreo List components
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: choreo.listcomponents
      with:
        orgId: tools.orgId
        projectId: tools.projectId
      inputParameters:
      - name: orgId
        type: string
        description: Organization identifier.
        required: true
      - name: projectId
        type: string
        description: Project identifier.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: createcomponent
      description: Choreo Create a component
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: choreo.createcomponent
      with:
        orgId: tools.orgId
        projectId: tools.projectId
      inputParameters:
      - name: orgId
        type: string
        description: Organization identifier.
        required: true
      - name: projectId
        type: string
        description: Project identifier.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getcomponent
      description: Choreo Get a component
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: choreo.getcomponent
      with:
        orgId: tools.orgId
        projectId: tools.projectId
        componentId: tools.componentId
      inputParameters:
      - name: orgId
        type: string
        description: orgId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      - name: componentId
        type: string
        description: componentId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: deletecomponent
      description: Choreo Delete a component
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: choreo.deletecomponent
      with:
        orgId: tools.orgId
        projectId: tools.projectId
        componentId: tools.componentId
      inputParameters:
      - name: orgId
        type: string
        description: orgId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      - name: componentId
        type: string
        description: componentId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listbuilds
      description: Choreo List builds
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: choreo.listbuilds
      with:
        orgId: tools.orgId
        projectId: tools.projectId
        componentId: tools.componentId
      inputParameters:
      - name: orgId
        type: string
        description: orgId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      - name: componentId
        type: string
        description: componentId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: createbuild
      description: Choreo Trigger a build
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: choreo.createbuild
      with:
        orgId: tools.orgId
        projectId: tools.projectId
        componentId: tools.componentId
      inputParameters:
      - name: orgId
        type: string
        description: orgId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      - name: componentId
        type: string
        description: componentId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listdeployments
      description: Choreo List deployments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: choreo.listdeployments
      with:
        orgId: tools.orgId
        projectId: tools.projectId
        componentId: tools.componentId
      inputParameters:
      - name: orgId
        type: string
        description: orgId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      - name: componentId
        type: string
        description: componentId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: createdeployment
      description: Choreo Promote a build to an environment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: choreo.createdeployment
      with:
        orgId: tools.orgId
        projectId: tools.projectId
        componentId: tools.componentId
      inputParameters:
      - name: orgId
        type: string
        description: orgId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      - name: componentId
        type: string
        description: componentId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listapis
      description: Choreo List APIs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: choreo.listapis
      with:
        orgId: tools.orgId
        limit: tools.limit
        offset: tools.offset
      inputParameters:
      - name: orgId
        type: string
        description: Organization identifier.
        required: true
      - name: limit
        type: integer
        description: Maximum number of results to return.
      - name: offset
        type: integer
        description: Number of results to skip.
      outputParameters:
      - type: object
        mapping: $.
    - name: getapi
      description: Choreo Get API details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: choreo.getapi
      with:
        orgId: tools.orgId
        apiId: tools.apiId
      inputParameters:
      - name: orgId
        type: string
        description: orgId
        required: true
      - name: apiId
        type: string
        description: apiId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listenvironments
      description: Choreo List environments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: choreo.listenvironments
      with:
        orgId: tools.orgId
      inputParameters:
      - name: orgId
        type: string
        description: Organization identifier.
        required: true
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    CHOREO_TOKEN: CHOREO_TOKEN