Skip to main content

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).

PATCH/projects/{id}
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

Authorizationstringheaderrequired

API 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)pathrequired

Request bodyapplication/json

namestringbody
github_branchstringbody

Response

application/json

Project updated

idstring (uuid)required
Unique project identifier
namestringrequired
Human-readable project name
slugstringrequired
URL slug — used as the subdomain `{slug}.nookdocs.site`
statusenum<string>required
Current project status
options:pendingbuildingactivefailed
created_atstring (date-time)required
Project creation timestamp
github_repostring
Connected GitHub repo in `owner/name` format
custom_domainstring
Custom domain (e.g. `docs.acme.com`) if configured
github_branchstring
Branch synced for deployments
last_deploy_atstring (date-time)
Timestamp of the most recent successful deployment