openapi: 3.1.0 info: title: API-Fiddle API Fiddle Export Projects 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: Projects description: Manage API design projects. paths: /projects: get: operationId: listProjects summary: API-Fiddle List projects description: Retrieves a paginated list of projects accessible to the authenticated user. tags: - Projects parameters: - name: limit in: query description: Maximum number of projects to return. schema: type: integer default: 20 - name: offset in: query description: Number of projects to skip for pagination. schema: type: integer default: 0 responses: '200': description: A list of projects. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Project' total: type: integer limit: type: integer offset: type: integer post: operationId: createProject summary: API-Fiddle Create a project description: Creates a new API design project. tags: - Projects requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProjectInput' responses: '201': description: The newly created project. content: application/json: schema: $ref: '#/components/schemas/Project' /projects/{projectId}: get: operationId: getProject summary: API-Fiddle Get a project description: Retrieves a single project by its identifier. tags: - Projects parameters: - $ref: '#/components/parameters/projectId' responses: '200': description: The requested project. content: application/json: schema: $ref: '#/components/schemas/Project' '404': description: Project not found. put: operationId: updateProject summary: API-Fiddle Update a project description: Updates an existing project. tags: - Projects parameters: - $ref: '#/components/parameters/projectId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProjectInput' responses: '200': description: The updated project. content: application/json: schema: $ref: '#/components/schemas/Project' delete: operationId: deleteProject summary: API-Fiddle Delete a project description: Deletes a project and all associated specifications. tags: - Projects parameters: - $ref: '#/components/parameters/projectId' responses: '204': description: Project deleted successfully. components: schemas: 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. workspaceId: type: string description: Identifier of the workspace this project belongs to. visibility: type: string enum: - private - public - shared description: Visibility level of the 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. ProjectInput: type: object properties: name: type: string description: Name of the project. description: type: string description: Description of the project. workspaceId: type: string description: Identifier of the workspace to place the project in. visibility: type: string enum: - private - public - shared required: - name parameters: projectId: name: projectId in: path required: true description: The unique identifier of the project. schema: type: string securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT