Document360 API

The Document360 API provides programmatic access to manage knowledge base projects, articles, categories, drives, files, users, and teams. It enables integrating Document360 documentation workflows into CI/CD pipelines and external applications.

OpenAPI Specification

document360-document360-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Document360 API
  description: >-
    The Document360 API provides programmatic access to manage knowledge base
    projects, articles, categories, drives, files, users, and teams. It enables
    integrating Document360 documentation workflows into CI/CD pipelines and
    external applications.
  version: 2.0.0
  contact:
    name: Document360
    url: https://document360.com/
servers:
  - url: https://apihub.document360.io/v2
    description: Document360 API Hub
security:
  - apiToken: []
paths:
  /ProjectVersions:
    get:
      operationId: listProjectVersions
      summary: List Project Versions
      description: Retrieves the list of project versions in a Document360 knowledge base.
      tags:
        - Project Versions
      responses:
        '200':
          description: A list of project versions.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectVersion'
  /Articles:
    get:
      operationId: listArticles
      summary: List Articles
      description: Retrieves articles within a Document360 knowledge base project.
      tags:
        - Articles
      parameters:
        - name: projectVersionId
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A list of articles.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Article'
    post:
      operationId: createArticle
      summary: Create Article
      description: Creates a new article in the knowledge base.
      tags:
        - Articles
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Article'
      responses:
        '201':
          description: Article created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Article'
  /Articles/{id}:
    get:
      operationId: getArticle
      summary: Get Article
      description: Retrieves a single article by its identifier.
      tags:
        - Articles
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The requested article.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Article'
    put:
      operationId: updateArticle
      summary: Update Article
      description: Updates an existing article.
      tags:
        - Articles
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Article'
      responses:
        '200':
          description: Article updated.
    delete:
      operationId: deleteArticle
      summary: Delete Article
      description: Deletes an article.
      tags:
        - Articles
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Article deleted.
  /Categories:
    get:
      operationId: listCategories
      summary: List Categories
      description: Retrieves categories within a project version.
      tags:
        - Categories
      parameters:
        - name: projectVersionId
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A list of categories.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Category'
    post:
      operationId: createCategory
      summary: Create Category
      description: Creates a new category.
      tags:
        - Categories
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Category'
      responses:
        '201':
          description: Category created.
  /Categories/{id}:
    get:
      operationId: getCategory
      summary: Get Category
      tags:
        - Categories
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The requested category.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
    put:
      operationId: updateCategory
      summary: Update Category
      tags:
        - Categories
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Category'
      responses:
        '200':
          description: Category updated.
    delete:
      operationId: deleteCategory
      summary: Delete Category
      tags:
        - Categories
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Category deleted.
  /Drive/Folders:
    get:
      operationId: listDriveFolders
      summary: List Drive Folders
      description: Retrieves folders in the Document360 Drive.
      tags:
        - Drive
      responses:
        '200':
          description: A list of drive folders.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DriveFolder'
  /Drive/Files:
    get:
      operationId: listDriveFiles
      summary: List Drive Files
      description: Retrieves files in the Document360 Drive.
      tags:
        - Drive
      responses:
        '200':
          description: A list of drive files.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DriveFile'
  /Users:
    get:
      operationId: listUsers
      summary: List Users
      description: Retrieves users associated with the project.
      tags:
        - Users
      responses:
        '200':
          description: A list of users.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
  /Teams:
    get:
      operationId: listTeams
      summary: List Teams
      description: Retrieves teams in the knowledge base.
      tags:
        - Teams
      responses:
        '200':
          description: A list of teams.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Team'
components:
  securitySchemes:
    apiToken:
      type: apiKey
      in: header
      name: api_token
  schemas:
    ProjectVersion:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        versionNumber:
          type: string
        languageCode:
          type: string
    Article:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        slug:
          type: string
        content:
          type: string
        contentMarkdown:
          type: string
        categoryId:
          type: string
        projectVersionId:
          type: string
        languageCode:
          type: string
        status:
          type: string
        createdAt:
          type: string
          format: date-time
        modifiedAt:
          type: string
          format: date-time
    Category:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        order:
          type: integer
        parentCategoryId:
          type: string
        projectVersionId:
          type: string
    DriveFolder:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        parentId:
          type: string
    DriveFile:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        url:
          type: string
        folderId:
          type: string
        size:
          type: integer
    User:
      type: object
      properties:
        id:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        emailId:
          type: string
        roleName:
          type: string
    Team:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        memberCount:
          type: integer