Skip to main content

Projects

Upload project logo

Upload a logo for the project. Supports two modes:

File upload — Send as multipart/form-data with light and/or dark file fields.

URL import — Send as application/json with light and/or dark URLs. The server downloads the images and stores them.

If only light is provided, it is used for both light and dark modes. Logos are stored in NookDocs storage and served from the project's domain.

PUT/projects/{id}/logo
Upload project logo
curl --request PUT \
  --url 'https://api.nookdocs.com/v1/projects/{id}/logo' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --data '{
  "dark": "<string>",
  "light": "<string>"
}'
{
  "logo": {
    "dark": "<string>",
    "light": "<string>"
  }
}

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
Project ID

Request bodymultipart/form-data

Logo files or URLs. For file upload use `multipart/form-data`, for URL import use `application/json`.

darkstring (binary)body
Dark mode logo file (optional — falls back to light)
lightstring (binary)body
Light mode logo file (SVG, PNG, JPEG, or WebP, max 2MB)

Response

application/json

Logo uploaded successfully

logoobject