API-Fiddle Specifications API

Manage API specifications within projects.

OpenAPI Specification

api-fiddle-specifications-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API-Fiddle API Fiddle Export Specifications API
  description: The API Fiddle API provides programmatic access to the API Fiddle design platform, enabling management of projects, specifications, workspaces, sharing, and export capabilities. It allows developers to automate API design workflows, collaborate on OpenAPI specifications, and integrate API Fiddle into their development pipelines.
  version: 1.0.0
  contact:
    name: API Fiddle
    url: https://api-fiddle.com/
servers:
- url: https://api.api-fiddle.com/v1
  description: Production
security:
- bearerAuth: []
tags:
- name: Specifications
  description: Manage API specifications within projects.
paths:
  /projects/{projectId}/specifications:
    get:
      operationId: listSpecifications
      summary: API-Fiddle List specifications
      description: Retrieves all specifications belonging to a project.
      tags:
      - Specifications
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: A list of specifications.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Specification'
    post:
      operationId: createSpecification
      summary: API-Fiddle Create a specification
      description: Creates a new API specification within a project.
      tags:
      - Specifications
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpecificationInput'
      responses:
        '201':
          description: The newly created specification.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Specification'
  /projects/{projectId}/specifications/{specificationId}:
    get:
      operationId: getSpecification
      summary: API-Fiddle Get a specification
      description: Retrieves a single specification by its identifier.
      tags:
      - Specifications
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/specificationId'
      responses:
        '200':
          description: The requested specification.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Specification'
    put:
      operationId: updateSpecification
      summary: API-Fiddle Update a specification
      description: Updates an existing specification.
      tags:
      - Specifications
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/specificationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpecificationInput'
      responses:
        '200':
          description: The updated specification.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Specification'
    delete:
      operationId: deleteSpecification
      summary: API-Fiddle Delete a specification
      description: Deletes a specification from a project.
      tags:
      - Specifications
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/specificationId'
      responses:
        '204':
          description: Specification deleted successfully.
components:
  parameters:
    specificationId:
      name: specificationId
      in: path
      required: true
      description: The unique identifier of the specification.
      schema:
        type: string
    projectId:
      name: projectId
      in: path
      required: true
      description: The unique identifier of the project.
      schema:
        type: string
  schemas:
    Specification:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the specification.
        projectId:
          type: string
          description: Identifier of the parent project.
        name:
          type: string
          description: Name of the specification.
        description:
          type: string
          description: Description of the specification.
        version:
          type: string
          description: Version label for the specification.
        format:
          type: string
          enum:
          - openapi-3.0
          - openapi-3.1
          description: The OpenAPI format version used.
        content:
          type: string
          description: The raw specification content.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    SpecificationInput:
      type: object
      properties:
        name:
          type: string
          description: Name of the specification.
        description:
          type: string
          description: Description of the specification.
        version:
          type: string
          description: Version label.
        format:
          type: string
          enum:
          - openapi-3.0
          - openapi-3.1
        content:
          type: string
          description: The raw specification content.
      required:
      - name
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT