Choreo Subscriptions API

Manage API subscriptions.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

choreo-subscriptions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Choreo API Management Alerts Subscriptions 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: Subscriptions
  description: Manage API subscriptions.
paths:
  /subscriptions:
    get:
      operationId: listSubscriptions
      summary: Choreo List subscriptions
      description: Retrieve a list of subscriptions. Can be filtered by application or API.
      tags:
      - Subscriptions
      parameters:
      - name: applicationId
        in: query
        schema:
          type: string
        description: Filter by application identifier.
      - name: apiId
        in: query
        schema:
          type: string
        description: Filter by API identifier.
      - 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 subscriptions.
          content:
            application/json:
              schema:
                type: object
                properties:
                  list:
                    type: array
                    items:
                      $ref: '#/components/schemas/Subscription'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          description: Unauthorized.
    post:
      operationId: createSubscription
      summary: Choreo Subscribe to an API
      description: Create a new subscription to an API through an application. A business plan must be selected which determines the rate limit.
      tags:
      - Subscriptions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionCreate'
      responses:
        '201':
          description: Subscription created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
  /subscriptions/{subscriptionId}:
    delete:
      operationId: deleteSubscription
      summary: Choreo Unsubscribe from an API
      description: Remove a subscription to an API.
      tags:
      - Subscriptions
      parameters:
      - name: subscriptionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Subscription removed successfully.
        '401':
          description: Unauthorized.
        '404':
          description: Subscription not found.
components:
  schemas:
    Pagination:
      type: object
      properties:
        total:
          type: integer
          description: Total number of results.
        limit:
          type: integer
        offset:
          type: integer
    SubscriptionCreate:
      type: object
      required:
      - applicationId
      - apiId
      - businessPlan
      properties:
        applicationId:
          type: string
          description: Application identifier.
        apiId:
          type: string
          description: API identifier.
        businessPlan:
          type: string
          description: Business plan to subscribe under. Determines rate limit for the subscription.
    Subscription:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the subscription.
        applicationId:
          type: string
          description: Application identifier.
        apiId:
          type: string
          description: API identifier.
        businessPlan:
          type: string
          description: Business plan for the subscription.
        status:
          type: string
          enum:
          - UNBLOCKED
          - BLOCKED
          - PROD_ONLY_BLOCKED
          description: Status of the subscription.
        createdAt:
          type: string
          format: date-time
  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