Doctave Sites API
Manage documentation sites and their configurations.
Manage documentation sites and their configurations.
openapi: 3.1.0
info:
title: Doctave Deployments Sites API
description: The Doctave API provides programmatic access to manage documentation sites, deployments, pages, and search on the Doctave docs-as-code platform. It allows teams to automate documentation workflows, trigger deployments, manage site configurations, and integrate documentation search into their own applications and developer portals.
version: 1.0.0
contact:
name: Doctave
url: https://www.doctave.com/
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://api.doctave.com/v1
description: Doctave Production API
security:
- bearerAuth: []
tags:
- name: Sites
description: Manage documentation sites and their configurations.
paths:
/sites:
get:
operationId: listSites
summary: Doctave List Sites
description: Returns a list of all documentation sites associated with the authenticated account.
tags:
- Sites
responses:
'200':
description: A list of documentation sites.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Site'
'401':
description: Authentication credentials are missing or invalid.
post:
operationId: createSite
summary: Doctave Create Site
description: Creates a new documentation site with the provided configuration.
tags:
- Sites
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SiteInput'
responses:
'201':
description: The newly created documentation site.
content:
application/json:
schema:
$ref: '#/components/schemas/Site'
'400':
description: The request body is invalid.
'401':
description: Authentication credentials are missing or invalid.
/sites/{siteId}:
get:
operationId: getSite
summary: Doctave Get Site
description: Returns the details of a specific documentation site.
tags:
- Sites
parameters:
- $ref: '#/components/parameters/SiteId'
responses:
'200':
description: The requested documentation site.
content:
application/json:
schema:
$ref: '#/components/schemas/Site'
'401':
description: Authentication credentials are missing or invalid.
'404':
description: The specified site was not found.
put:
operationId: updateSite
summary: Doctave Update Site
description: Updates the configuration of an existing documentation site.
tags:
- Sites
parameters:
- $ref: '#/components/parameters/SiteId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SiteInput'
responses:
'200':
description: The updated documentation site.
content:
application/json:
schema:
$ref: '#/components/schemas/Site'
'400':
description: The request body is invalid.
'401':
description: Authentication credentials are missing or invalid.
'404':
description: The specified site was not found.
delete:
operationId: deleteSite
summary: Doctave Delete Site
description: Deletes a documentation site and all associated content.
tags:
- Sites
parameters:
- $ref: '#/components/parameters/SiteId'
responses:
'204':
description: The site was successfully deleted.
'401':
description: Authentication credentials are missing or invalid.
'404':
description: The specified site was not found.
components:
schemas:
SiteInput:
type: object
properties:
name:
type: string
description: Display name of the documentation site.
slug:
type: string
description: URL-friendly slug for the site.
description:
type: string
description: A brief description of the documentation site.
customDomain:
type: string
description: Custom domain configured for the site.
repository:
type: string
description: Source repository URL for the documentation content.
branch:
type: string
description: Git branch used for building the site.
visibility:
type: string
enum:
- public
- private
description: Whether the site is publicly accessible or private.
required:
- name
Site:
type: object
properties:
id:
type: string
description: Unique identifier for the documentation site.
name:
type: string
description: Display name of the documentation site.
slug:
type: string
description: URL-friendly slug for the site.
description:
type: string
description: A brief description of the documentation site.
customDomain:
type: string
description: Custom domain configured for the site.
repository:
type: string
description: Source repository URL for the documentation content.
branch:
type: string
description: Git branch used for building the site.
visibility:
type: string
enum:
- public
- private
description: Whether the site is publicly accessible or private.
createdAt:
type: string
format: date-time
description: Timestamp when the site was created.
updatedAt:
type: string
format: date-time
description: Timestamp when the site was last updated.
required:
- id
- name
- slug
parameters:
SiteId:
name: siteId
in: path
required: true
description: The unique identifier of the documentation site.
schema:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Authentication token obtained from the Doctave dashboard or via API key management.