Choreo Projects API

Manage projects within organizations.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

choreo-projects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Choreo API Management Alerts Projects 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: Projects
  description: Manage projects within organizations.
paths:
  /organizations/{orgId}/projects:
    get:
      operationId: listProjects
      summary: Choreo List projects
      description: Retrieve a list of projects within an organization.
      tags:
      - Projects
      parameters:
      - name: orgId
        in: path
        required: true
        schema:
          type: string
        description: Organization identifier.
      responses:
        '200':
          description: Successful response with list of projects.
          content:
            application/json:
              schema:
                type: object
                properties:
                  list:
                    type: array
                    items:
                      $ref: '#/components/schemas/Project'
        '401':
          description: Unauthorized.
        '404':
          description: Organization not found.
    post:
      operationId: createProject
      summary: Choreo Create a project
      description: Create a new project within an organization.
      tags:
      - Projects
      parameters:
      - name: orgId
        in: path
        required: true
        schema:
          type: string
        description: Organization identifier.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectCreate'
      responses:
        '201':
          description: Project created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
components:
  schemas:
    ProjectCreate:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Name of the project.
        description:
          type: string
          description: Description of the project.
    Project:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the project.
        name:
          type: string
          description: Name of the project.
        description:
          type: string
          description: Description of the project.
        orgId:
          type: string
          description: Organization identifier.
        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