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.
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
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