openapi: 3.1.0
info:
title: Doctave Deployments 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: Deployments
description: Trigger and monitor documentation site deployments.
paths:
/sites/{siteId}/deployments:
get:
operationId: listDeployments
summary: Doctave List Deployments
description: Returns a list of all deployments for a specific documentation site, ordered by creation date.
tags:
- Deployments
parameters:
- $ref: '#/components/parameters/SiteId'
responses:
'200':
description: A list of deployments for the site.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Deployment'
'401':
description: Authentication credentials are missing or invalid.
'404':
description: The specified site was not found.
post:
operationId: createDeployment
summary: Doctave Create Deployment
description: Triggers a new deployment for the documentation site, building and publishing the latest content from the configured source.
tags:
- Deployments
parameters:
- $ref: '#/components/parameters/SiteId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentInput'
responses:
'201':
description: The newly created deployment.
content:
application/json:
schema:
$ref: '#/components/schemas/Deployment'
'400':
description: The request body is invalid.
'401':
description: Authentication credentials are missing or invalid.
'404':
description: The specified site was not found.
/sites/{siteId}/deployments/{deploymentId}:
get:
operationId: getDeployment
summary: Doctave Get Deployment
description: Returns the details and status of a specific deployment.
tags:
- Deployments
parameters:
- $ref: '#/components/parameters/SiteId'
- $ref: '#/components/parameters/DeploymentId'
responses:
'200':
description: The requested deployment.
content:
application/json:
schema:
$ref: '#/components/schemas/Deployment'
'401':
description: Authentication credentials are missing or invalid.
'404':
description: The specified deployment was not found.
components:
schemas:
DeploymentInput:
type: object
properties:
branch:
type: string
description: Git branch to deploy from.
commitSha:
type: string
description: Specific commit SHA to deploy.
Deployment:
type: object
properties:
id:
type: string
description: Unique identifier for the deployment.
siteId:
type: string
description: Identifier of the site this deployment belongs to.
status:
type: string
enum:
- pending
- building
- deploying
- live
- failed
description: Current status of the deployment.
commitSha:
type: string
description: Git commit SHA that triggered the deployment.
branch:
type: string
description: Git branch used for this deployment.
triggeredBy:
type: string
description: User or system that triggered the deployment.
createdAt:
type: string
format: date-time
description: Timestamp when the deployment was created.
finishedAt:
type: string
format: date-time
description: Timestamp when the deployment finished.
buildLog:
type: string
description: URL to the build log for this deployment.
required:
- id
- siteId
- status
parameters:
DeploymentId:
name: deploymentId
in: path
required: true
description: The unique identifier of the deployment.
schema:
type: string
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.