Create a project
Create a new docs project under the authenticated organization. The slug must be unique across the platform — pick something specific to your brand.
POST/projects
Authorization
Requires: BearerAuth
Request body
namestringbodyrequiredDisplay name for the project (1–80 characters)
slugstringbodyrequiredURL slug — used as the subdomain. Lowercase letters, numbers, and hyphens only.
github_repostringbodyOptional `owner/name` GitHub repo to auto-connect after creation
Response
201 — Project created
idstring (uuid)requiredUnique project identifier
namestringrequiredHuman-readable project name
slugstringrequiredURL slug — used as the subdomain `{slug}.codivdocs.com`
statusenum (pending, building, active...)requiredCurrent project status
created_atstring (date-time)requiredProject creation timestamp
github_repostringConnected GitHub repo in `owner/name` format
custom_domainstringCustom domain (e.g. `docs.acme.com`) if configured
github_branchstringBranch synced for deployments
last_deploy_atstring (date-time)Timestamp of the most recent successful deployment
400 — Validation error (invalid slug, name too long, etc.)
errorstringrequiredMachine-readable error code (e.g. `invalid_request`, `unauthorized`, `not_found`)
messagestringrequiredHuman-readable error description
409 — Slug already taken
errorstringrequiredMachine-readable error code (e.g. `invalid_request`, `unauthorized`, `not_found`)
messagestringrequiredHuman-readable error description
Create a project
curl --request POST \
--url 'https://api.codivdocs.com/v1/projects' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"slug": "<string>",
"github_repo": "<string>"
}'{
"id": "00000000-0000-0000-0000-000000000000",
"name": "<string>",
"slug": "<string>",
"status": "pending",
"created_at": "2026-04-13T03:20:59.401Z",
"github_repo": "<string>",
"custom_domain": "<string>",
"github_branch": "main",
"last_deploy_at": "2026-04-13T03:20:59.401Z"
}