Theneo Projects API

Manage API documentation projects.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

theneo-projects-api-openapi.yml Raw ↑
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.