openapi: 3.1.0 info: title: Choreo API Management Alerts Applications 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: Applications description: Manage applications for API consumption. paths: /applications: get: operationId: listApplications summary: Choreo List applications description: Retrieve a list of applications owned by the authenticated user. An application in Choreo is a logical representation of a physical application such as a mobile app, web app, or device. tags: - Applications parameters: - name: limit in: query schema: type: integer default: 25 - name: offset in: query schema: type: integer default: 0 responses: '200': description: Successful response with list of applications. content: application/json: schema: type: object properties: list: type: array items: $ref: '#/components/schemas/Application' pagination: $ref: '#/components/schemas/Pagination' '401': description: Unauthorized. post: operationId: createApplication summary: Choreo Create an application description: Create a new application to subscribe to APIs and generate credentials. tags: - Applications requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ApplicationCreate' responses: '201': description: Application created successfully. content: application/json: schema: $ref: '#/components/schemas/Application' '400': description: Bad request. '401': description: Unauthorized. /applications/{applicationId}: get: operationId: getApplication summary: Choreo Get an application description: Retrieve details of a specific application. tags: - Applications parameters: - name: applicationId in: path required: true schema: type: string responses: '200': description: Successful response with application details. content: application/json: schema: $ref: '#/components/schemas/Application' '401': description: Unauthorized. '404': description: Application not found. put: operationId: updateApplication summary: Choreo Update an application description: Update details of an existing application. tags: - Applications parameters: - name: applicationId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ApplicationCreate' responses: '200': description: Application updated successfully. content: application/json: schema: $ref: '#/components/schemas/Application' '400': description: Bad request. '401': description: Unauthorized. delete: operationId: deleteApplication summary: Choreo Delete an application description: Delete an application and all its subscriptions. tags: - Applications parameters: - name: applicationId in: path required: true schema: type: string responses: '204': description: Application deleted successfully. '401': description: Unauthorized. '404': description: Application not found. components: schemas: Pagination: type: object properties: total: type: integer description: Total number of results. limit: type: integer offset: type: integer Application: type: object properties: id: type: string description: Unique identifier for the application. name: type: string description: Name of the application. description: type: string description: Description of the application. throttlingPolicy: type: string description: Throttling policy applied to the application. status: type: string enum: - APPROVED - CREATED - REJECTED description: Current status of the application. createdAt: type: string format: date-time ApplicationCreate: type: object required: - name - throttlingPolicy properties: name: type: string description: Name of the application. description: type: string description: Description of the application. throttlingPolicy: type: string description: Throttling policy for the application. 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