ai

PUT /v1/ai/site-builds/{siteBuildId}/files

Replace one generated file's contents.

All ai endpoints

Authentication

Send an API key as a bearer token. The key must carry the sites.create permission; a key without it is refused with 403, not 404.

This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

curl -X PUT https://api.zinndigital.com/v1/ai/site-builds/{siteBuildId}/files \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "path": <string>, "content": <string> }'

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

Writes `content` to `path` in this draft, creating the file if it does not exist. Adding `robots.txt` to a generated site is the same act as correcting `index.html`, so both are allowed; the size and file-count caps are what bound it. The path goes through the same validator the builder's own output does — relative, no traversal, and a suffix a static host will serve and that cannot execute on our side. Images cannot be edited here because they are not text. **Refused on a published build** (`published`). A published draft's files are what visitors are seeing; editing them here would make the record disagree with the live site silently, until somebody republished for an unrelated reason. Requires `sites.create`.

Parameters

NameTypeRequiredWhat it is
siteBuildId (path)UuidYes

Request body

NameTypeRequiredWhat it is
pathstringYesRelative path inside the generated site, e.g. `index.html`.
contentstringYesThe file's complete new contents. May be empty.

Response

NameTypeRequiredWhat it is
buildSiteBuildYesOne "describe a site and we build it" run. `files` is present on the **detail** and create responses and absent from the **list**, deliberately: a generated tree can be a hundre…
trialSiteBuilderTrialNoThe **one-time** free allowance for the AI site builder. One grant per organization, for ever — not monthly, and not per site. `granted` is true because the credit was actually…

Errors this endpoint can return

401 · 403 · 404 · 422 · 429