openapi: 3.1.0 info: title: Choreo API Management Alerts Components 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. version: 1.0.0 contact: name: WSO2 Choreo url: https://choreo.dev/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 x-provider-slug: choreo x-api-slug: api-management servers: - url: https://console.choreo.dev/api/v1 description: Choreo Console API security: - bearerAuth: [] - oauth2: - read - write tags: - name: Components description: Manage components (services, APIs, web apps, jobs) within projects. paths: /organizations/{orgId}/projects/{projectId}/components: get: operationId: listComponents summary: Choreo List components description: Retrieve a list of components within a project. Components represent services, APIs, web apps, jobs, and other deployable units. tags: - Components parameters: - name: orgId in: path required: true schema: type: string description: Organization identifier. - name: projectId in: path required: true schema: type: string description: Project identifier. responses: '200': description: Successful response with list of components. content: application/json: schema: type: object properties: list: type: array items: $ref: '#/components/schemas/Component' '401': description: Unauthorized. '404': description: Project not found. post: operationId: createComponent summary: Choreo Create a component description: Create a new component within a project. A component can be a service, API proxy, web application, scheduled job, manual trigger, or event handler. tags: - Components parameters: - name: orgId in: path required: true schema: type: string description: Organization identifier. - name: projectId in: path required: true schema: type: string description: Project identifier. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ComponentCreate' responses: '201': description: Component created successfully. content: application/json: schema: $ref: '#/components/schemas/Component' '400': description: Bad request. '401': description: Unauthorized. /organizations/{orgId}/projects/{projectId}/components/{componentId}: get: operationId: getComponent summary: Choreo Get a component description: Retrieve details of a specific component. tags: - Components parameters: - name: orgId in: path required: true schema: type: string - name: projectId in: path required: true schema: type: string - name: componentId in: path required: true schema: type: string responses: '200': description: Successful response with component details. content: application/json: schema: $ref: '#/components/schemas/Component' '401': description: Unauthorized. '404': description: Component not found. delete: operationId: deleteComponent summary: Choreo Delete a component description: Delete a specific component from a project. tags: - Components parameters: - name: orgId in: path required: true schema: type: string - name: projectId in: path required: true schema: type: string - name: componentId in: path required: true schema: type: string responses: '204': description: Component deleted successfully. '401': description: Unauthorized. '404': description: Component not found. components: schemas: Component: type: object properties: id: type: string description: Unique identifier for the component. name: type: string description: Name of the component. type: type: string enum: - Service - REST API Proxy - GraphQL API Proxy - Web Application - Scheduled Job - Manual Trigger - Event Handler - Webhook description: Type of the component. description: type: string description: Description of the component. repoUrl: type: string description: Git repository URL. branch: type: string description: Git branch. buildpackId: type: string description: Buildpack used for the component. projectId: type: string orgId: type: string status: type: string enum: - Active - Inactive createdAt: type: string format: date-time ComponentCreate: type: object required: - name - type - repoUrl properties: name: type: string description: Name of the component. type: type: string enum: - Service - REST API Proxy - GraphQL API Proxy - Web Application - Scheduled Job - Manual Trigger - Event Handler - Webhook description: Type of the component. description: type: string repoUrl: type: string description: Git repository URL. branch: type: string description: Git branch. default: main buildpackId: type: string description: Buildpack identifier. subPath: type: string description: Sub-path within the repository. securitySchemes: oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://console.choreo.dev/oauth2/authorize tokenUrl: https://console.choreo.dev/oauth2/token scopes: read: Read access write: Write access bearerAuth: type: http scheme: bearer bearerFormat: JWT