Sideko API Projects API

Manage API projects within the Sideko platform. Projects organize OpenAPI specifications and the tooling generated from them.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

sideko-api-projects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Sideko API Projects API
  description: The Sideko REST API enables developers to programmatically manage API projects, generate SDKs in six languages, generate Model Context Protocol (MCP) servers, deploy CLI tools, create mock servers, lint OpenAPI specifications, and publish API documentation. The API powers the Sideko platform which transforms OpenAPI specifications into complete developer tooling suites (SDKs, MCP, Docs, Mocks, CLIs) automatically.
  version: '1.1'
  contact:
    name: Sideko Support
    url: https://docs.sideko.dev/
    email: support@sideko.dev
  termsOfService: https://www.sideko.dev/legal/terms
  license:
    name: Proprietary
    url: https://www.sideko.dev/legal/terms
servers:
- url: https://api.sideko.dev/v1
  description: Sideko Production API
security:
- ApiKeyAuth: []
tags:
- name: API Projects
  description: Manage API projects within the Sideko platform. Projects organize OpenAPI specifications and the tooling generated from them.
paths:
  /api-projects:
    get:
      operationId: listApiProjects
      summary: List API Projects
      description: Returns a paginated list of all API projects in the authenticated organization. Each project contains one or more API versions defined by OpenAPI specifications.
      tags:
      - API Projects
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          default: 1
        description: Page number for pagination
      - name: limit
        in: query
        schema:
          type: integer
          default: 20
          maximum: 100
        description: Number of results per page
      responses:
        '200':
          description: List of API projects returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProjectList'
        '401':
          description: Invalid or missing API key
    post:
      operationId: createApiProject
      summary: Create API Project
      description: Creates a new API project in the authenticated organization. The project will hold OpenAPI specifications and serve as the container for generated SDKs, documentation, and mock servers.
      tags:
      - API Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApiProjectRequest'
      responses:
        '201':
          description: API project created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProject'
        '400':
          description: Invalid request parameters
        '401':
          description: Invalid or missing API key
        '409':
          description: Project with this name already exists
  /api-projects/{projectId}:
    get:
      operationId: getApiProject
      summary: Get API Project
      description: Returns the details of a specific API project by its unique identifier, including project metadata, versions, and associated tooling.
      tags:
      - API Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: API project details returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProject'
        '401':
          description: Invalid or missing API key
        '404':
          description: API project not found
    put:
      operationId: updateApiProject
      summary: Update API Project
      description: Updates the metadata of an existing API project, including the project name, description, and configuration settings.
      tags:
      - API Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateApiProjectRequest'
      responses:
        '200':
          description: API project updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProject'
        '400':
          description: Invalid request parameters
        '401':
          description: Invalid or missing API key
        '404':
          description: API project not found
    delete:
      operationId: deleteApiProject
      summary: Delete API Project
      description: Permanently deletes an API project and all associated versions, generated SDKs, documentation, and mock server configurations.
      tags:
      - API Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '204':
          description: API project deleted successfully
        '401':
          description: Invalid or missing API key
        '404':
          description: API project not found
components:
  schemas:
    ApiProjectList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ApiProject'
        total:
          type: integer
          description: Total number of projects
        page:
          type: integer
          description: Current page number
        limit:
          type: integer
          description: Number of results per page
    CreateApiProjectRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Name for the API project
        description:
          type: string
          description: Optional description of the API
    ApiProject:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the project
        name:
          type: string
          description: Human-readable name of the API project
        description:
          type: string
          description: Description of the API and its purpose
        slug:
          type: string
          description: URL-safe identifier for the project
        versionCount:
          type: integer
          description: Number of API versions in this project
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the project was created
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the project was last updated
    UpdateApiProjectRequest:
      type: object
      properties:
        name:
          type: string
          description: New name for the API project
        description:
          type: string
          description: Updated description of the API
  parameters:
    projectId:
      name: projectId
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: Unique identifier of the API project
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-sideko-key
      description: Sideko API key for authentication
externalDocs:
  description: Sideko API Reference
  url: https://docs.sideko.dev/reference/