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.
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
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
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
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
| Action | Method | Endpoint |
|---|---|---|
| Start publish job | POST | /documentations/{documentation_id}/publish |
| Get publish status | GET | /documentations/{documentation_id}/publish/status |
| Get latest publish | GET | /documentations/{documentation_id}/publish/latest |
| Get publish history | GET | /documentations/{documentation_id}/publish/history |
| Search a documentation | POST | /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.
| Action | Method | Endpoint |
|---|---|---|
| List versions | GET | /v1/documentation/{organization_id}/{documentation_id}/version |
| Create version | POST | /v1/documentation/{organization_id}/{documentation_id}/version |
| Get version by ID | GET | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id} |
| Update version | PUT | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id} |
| Delete version | DELETE | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id} |
| Set as default | POST | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/set-default |
| Set as latest | POST | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/set-latest |
| Set deprecated | POST | /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
| Action | Method | Endpoint |
|---|---|---|
| List sections | GET | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section |
| Create section | POST | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section |
| Get section by ID | GET | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/{section_id} |
| Update section | PUT | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/{section_id} |
| Delete section | DELETE | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/{section_id} |
| Reorder sections | POST | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/reorder |
| Get source summary | GET | /v1/documentation/{organization_id}/{documentation_id}/version/{version_id}/section/{section_id}/source |
| Move entry | POST | /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.
| Action | Method | Endpoint |
|---|---|---|
| Create documentation | POST | /v1/documentation/{organization_id} |
| List documentations | GET | /v1/documentation/{organization_id}/list |
| Get documentation by ID | GET | /v1/documentation/{organization_id}/{documentation_id} |
| Update documentation | PUT | /v1/documentation/{organization_id}/{documentation_id} |
| Delete documentation | DELETE | /v1/documentation/{organization_id}/{documentation_id} |
| Update configuration | PUT | /v1/documentation/{organization_id}/{documentation_id}/config |
| Initialize blank scaffold | POST | /v1/documentation/{organization_id}/{documentation_id}/initialize-blank |
| Initialize from AI prompt | POST | /v1/documentation/{organization_id}/{documentation_id}/initialize-from-ai |
Wizard Progress
Track and manage the setup wizard progress for new documentation projects.
| Action | Method | Endpoint |
|---|---|---|
| Get wizard progress | GET | /v1/organization/{organization_id}/wizard-progress/{documentation_id} |
| Upsert wizard progress | POST | /v1/organization/{organization_id}/wizard-progress/{documentation_id} |
| Delete wizard progress | DELETE | /v1/organization/{organization_id}/wizard-progress/{documentation_id} |
Task Management
Monitor the status of background tasks, such as AI initialization or large content migrations.
| Action | Method | Endpoint |
|---|---|---|
| Get task statuses | GET | /tasks/statuses |