API Reference: Core Documentation Controlling Documentation Publishing via API

Automate your documentation lifecycle and manage content visibility programmatically using the GitDocAI API. Whether you are integrating with a CI/CD pipeline or building a custom content management dashboard, these endpoints allow you to trigger publish jobs, manage versioning, and organize your documentation sections.

Publishing Workflows

Trigger, monitor, and audit your documentation builds.

Version Management

Create new versions, set defaults, and deprecate outdated content.

Section Organization

Structure, reorder, and manage the building blocks of your docs.

The Publishing Lifecycle

Publishing documentation is an asynchronous process. Instead of waiting for a build to finish in a single request, you trigger a job and then check its status until it completes.

flowchart LR
    A["Update Sections"] --> B["Trigger Publish"]
    B --> C{"Check Status"}
    C -->|"In Progress"| C
    C -->|"Completed"| D["Live Documentation"]

Triggering a Publish Job

You can easily integrate documentation publishing into your automated deployment scripts.

  1. 1

    Start the publish job

    Call the publish endpoint to initiate a new documentation build.

    curl -X POST "https://api.gitdocai.com/documentations/{documentation_id}/publish" 
      -H "Authorization: Bearer YOUR_API_KEY"
  2. 2

    Monitor the status

    Use the status endpoint to check the progress of your build.

    curl -X GET "https://api.gitdocai.com/documentations/{documentation_id}/publish/status" 
      -H "Authorization: Bearer YOUR_API_KEY"
  3. 3

    Review the history (Optional)

    Fetch the publish history to audit past builds and deployments.

To get the details of your most recently completed build, use the GET /documentations/{documentation_id}/publish/latest endpoint instead of parsing the entire history array.

Publishing Endpoints

ActionMethodEndpoint
Start publish jobPOST/documentations/{documentation_id}/publish
Get publish statusGET/documentations/{documentation_id}/publish/status
Get latest publishGET/documentations/{documentation_id}/publish/latest
Get publish historyGET/documentations/{documentation_id}/publish/history
Search a documentationPOST/documentations/{organization_id}/{documentation_id}/search

Managing Versions

Versions allow you to maintain multiple iterations of your documentation simultaneously (for example, v1.0 and v2.0). Using the API, you can control which version users see by default and gracefully phase out older versions.

Setting a version as deprecated will typically display a warning banner to your readers. Ensure you have designated a new "latest" version before deprecating an old one.

ActionMethodEndpoint
List versionsGET/v1/documentation/{organization_id}/{documentation_id}/version
Create versionPOST/v1/documentation/{organization_id}/{documentation_id}/version
Get version by IDGET/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}
Update versionPUT/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}
Delete versionDELETE/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}
Set as defaultPOST/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/set-default
Set as latestPOST/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/set-latest
Set deprecatedPOST/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/set-deprecated

Organizing Sections

Sections define the structure, hierarchy, and navigation of your documentation within a specific version. You can programmatically create, update, delete, and reorder these sections.

How do I reorder sections?

Use the POST /v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/reorder endpoint. You will need to provide an array of section IDs in the desired order within your request body.

What is a source-of-truth summary?

The GET .../section/{section_id}/source endpoint returns a summary of the underlying files and data sources that make up a specific section. This is highly useful for auditing where your content originates before it gets published.

Section Endpoints

ActionMethodEndpoint
List sectionsGET/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section
Create sectionPOST/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section
Get section by IDGET/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/{section_id}
Update sectionPUT/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/{section_id}
Delete sectionDELETE/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/{section_id}
Reorder sectionsPOST/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/reorder
Get source summaryGET/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/{section_id}/source
Move entryPOST/v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/{section_id}/entry/{entry_id}/move

Managing Documentations

Use the API to create, configure, and initialize entire documentation projects at the organization level.

ActionMethodEndpoint
Create documentationPOST/v1/documentation/{organization_id}
List documentationsGET/v1/documentation/{organization_id}/list
Get documentation by IDGET/v1/documentation/{organization_id}/{documentation_id}
Update documentationPUT/v1/documentation/{organization_id}/{documentation_id}
Delete documentationDELETE/v1/documentation/{organization_id}/{documentation_id}
Update configurationPUT/v1/documentation/{organization_id}/{documentation_id}/config
Initialize blank scaffoldPOST/v1/documentation/{organization_id}/{documentation_id}/initialize-blank
Initialize from AI promptPOST/v1/documentation/{organization_id}/{documentation_id}/initialize-from-ai

Wizard Progress

Track and manage the setup wizard progress for new documentation projects.

ActionMethodEndpoint
Get wizard progressGET/v1/organization/{organization_id}/wizard-progress/{documentation_id}
Upsert wizard progressPOST/v1/organization/{organization_id}/wizard-progress/{documentation_id}
Delete wizard progressDELETE/v1/organization/{organization_id}/wizard-progress/{documentation_id}

Task Management

Monitor the status of background tasks, such as AI initialization or large content migrations.

ActionMethodEndpoint
Get task statusesGET/tasks/statuses