Sideko API Versions API

Manage versioned OpenAPI specifications inside an API project. Each version is the source of truth that drives SDK, MCP, mock-server, and documentation generation.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

sideko-api-versions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Sideko API Projects API Versions 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 Versions
  description: Manage versioned OpenAPI specifications inside an API project. Each version is the source of truth that drives SDK, MCP, mock-server, and documentation generation.
paths:
  /api-projects/{projectId}/versions:
    get:
      operationId: listApiVersions
      summary: List API Versions
      description: Returns all versions of an API project. Each version corresponds to a distinct OpenAPI specification uploaded to the project.
      tags:
      - API Versions
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: List of API versions returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiVersionList'
        '401':
          description: Invalid or missing API key
        '404':
          description: API project not found
    post:
      operationId: createApiVersion
      summary: Create API Version
      description: Uploads a new OpenAPI specification to create a new version of the API project. Accepts OpenAPI 3.0 and 3.1 specifications in JSON or YAML format and runs Sideko linting before accepting the version.
      tags:
      - API Versions
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateApiVersionRequest'
      responses:
        '201':
          description: API version created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiVersion'
        '400':
          description: Invalid OpenAPI specification
        '401':
          description: Invalid or missing API key
        '404':
          description: API project not found
  /api-projects/{projectId}/versions/{versionId}/download:
    get:
      operationId: downloadApiVersionSpec
      summary: Download API Version Spec
      description: Returns the raw OpenAPI specification (JSON or YAML) for a specific API project version. Matches the CLI command `sideko api version download`.
      tags:
      - API Versions
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/versionId'
      - name: format
        in: query
        description: Preferred output format for the downloaded specification
        schema:
          type: string
          enum:
          - json
          - yaml
          default: yaml
      responses:
        '200':
          description: OpenAPI specification returned successfully
          content:
            application/yaml:
              schema:
                type: string
            application/json:
              schema:
                type: object
        '401':
          description: Invalid or missing API key
        '404':
          description: API version not found
components:
  schemas:
    CreateApiVersionRequest:
      type: object
      required:
      - spec
      properties:
        spec:
          type: string
          format: binary
          description: OpenAPI specification file (JSON or YAML)
        version:
          type: string
          description: Override the version from the spec info.version field
    ApiVersionList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ApiVersion'
        total:
          type: integer
    ApiVersion:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the API version
        projectId:
          type: string
          format: uuid
          description: ID of the parent API project
        version:
          type: string
          description: Version string from the OpenAPI spec info.version
        specFormat:
          type: string
          enum:
          - openapi3_0
          - openapi3_1
          description: OpenAPI specification format version
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the version was created
  parameters:
    versionId:
      name: versionId
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: Unique identifier of the API version
    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/