openapi: 3.1.0 info: title: Theneo Import Projects API description: The Theneo API provides programmatic access to manage API documentation projects, workspaces, user access, and API specification imports on the Theneo platform. Theneo is an AI-powered API documentation tool that generates interactive docs from OpenAPI, Swagger, Postman, and GraphQL specifications. version: 1.0.0 contact: name: Theneo url: https://www.theneo.io/ license: name: Proprietary url: https://www.theneo.io/ servers: - url: https://api.theneo.io description: Theneo API security: - apiKey: [] tags: - name: Projects description: Manage API documentation projects. paths: /projects: get: operationId: getAllProjects summary: Get All Projects description: Retrieves a list of all API documentation projects accessible to the authenticated user. tags: - Projects responses: '200': description: A list of projects. content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' '401': description: Unauthorized. Invalid or missing API key. content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: addNewProject summary: Add New Project description: Creates a new API documentation project in the specified workspace. tags: - Projects requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateProjectRequest' responses: '201': description: Project created successfully. content: application/json: schema: $ref: '#/components/schemas/Project' '400': description: Bad request. Missing required parameters. content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized. Invalid or missing API key. content: application/json: schema: $ref: '#/components/schemas/Error' /projects/{projectId}: get: operationId: getProjectById summary: Get Project By ID description: Retrieves details of a specific project by its unique identifier. tags: - Projects parameters: - name: projectId in: path required: true description: The unique identifier of the project. schema: type: string responses: '200': description: Project details. content: application/json: schema: $ref: '#/components/schemas/Project' '401': description: Unauthorized. Invalid or missing API key. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Project not found. content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: deleteProject summary: Delete Project description: Deletes an API documentation project by its unique identifier. tags: - Projects parameters: - name: projectId in: path required: true description: The unique identifier of the project. schema: type: string responses: '200': description: Project deleted successfully. content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '401': description: Unauthorized. Invalid or missing API key. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Project not found. content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: Project: type: object properties: id: type: string description: The unique identifier of the project. name: type: string description: The name of the project. slug: type: string description: The URL-friendly slug of the project. workspaceId: type: string description: The identifier of the workspace this project belongs to. description: type: string description: A description of the project. published: type: boolean description: Whether the project documentation is published. createdAt: type: string format: date-time description: The timestamp when the project was created. updatedAt: type: string format: date-time description: The timestamp when the project was last updated. Error: type: object properties: error: type: string description: Error type or code. message: type: string description: A human-readable error message. CreateProjectRequest: type: object required: - name properties: name: type: string description: The name of the new project. workspace: type: string description: The workspace slug where the project should be created. description: type: string description: A description for the project. file: type: string description: Path to an API specification file to import during creation. link: type: string format: uri description: URL to an API specification file to import during creation. sample: type: boolean description: Whether to create the project with sample data. publish: type: boolean description: Whether to publish the project immediately after creation. SuccessResponse: type: object properties: success: type: boolean description: Whether the operation was successful. message: type: string description: A message describing the result. securitySchemes: apiKey: type: apiKey name: Authorization in: header description: API key for authentication. Generate from the Theneo dashboard. Can also be set via the THENEO_API_KEY environment variable when using the CLI or SDK.