Choreo Applications API

Manage applications for API consumption.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

choreo-applications-api-openapi.yml Raw ↑
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