Projects
Update a project
Update one or more fields of a project. Only the supplied fields are modified. Updatable fields: name, github_branch. Slug and custom domains are managed from the dashboard (renames and domain verification have side effects).
Update a project
curl --request PATCH \
--url 'https://api.nookdocs.com/v1/projects/{id}' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"github_branch": "<string>"
}'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"slug": "<string>",
"status": "pending",
"created_at": "2023-11-07T05:31:56Z",
"github_repo": "<string>",
"custom_domain": "<string>",
"github_branch": "main",
"last_deploy_at": "2023-11-07T05:31:56Z"
}Authorizations
AuthorizationstringheaderrequiredAPI key issued from your dashboard (Settings → API Keys). Format: nook_... — pass as Authorization: Bearer nook_.... Keys carry scopes (projects:read/write, pages:read, deployments:read/trigger, analytics:read) — calls without the required scope return 403.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path parameters
idstring (uuid)pathrequiredRequest bodyapplication/json
namestringbodygithub_branchstringbodyResponse
Project updated
idstring (uuid)requiredUnique project identifier
namestringrequiredHuman-readable project name
slugstringrequiredURL slug — used as the subdomain `{slug}.nookdocs.site`
statusenum<string>requiredCurrent project status
options:
pendingbuildingactivefailedcreated_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
errorstringrequiredMachine-readable error code (e.g. `invalid_request`, `unauthorized`, `not_found`)
messagestringrequiredHuman-readable error description