ai

POST /v1/ai/site-builds/{siteBuildId}/publications

Publish a draft to a destination, taking a backup first when it destroys.

Όλα τα τελικά σημεία ai

Πισtoποίηση

Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Το κλειδί πρέπει να διαθέτει το δικαίωμα hosting.deploy.manage· ένα κλειδί που δεν το διαθέτει απορρίπτεται με 403, όχι 404.

Αυτό το τελικό σημείο δεν δέχεται αναγνωριστικό οργανισμού. Το κλειδί σας προσδιορίζει ήδη τον οργανισμό στον οποίο ανήκει, και η απάντηση περιορίζεται σε αυτόν.

Δοκιμάστε το

Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.

curl -X POST https://api.zinndigital.com/v1/ai/site-builds/{siteBuildId}/publications \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "site_id": <Uuid>, "disposition": <SiteMakerDisposition> }'

Συνδεθήκατε; Η κονσόλα API στον πίνακα ελέγχου σας συμπληρώνει το πραγματικό αναγνωριστικό του οργανισμού σας και το δικό σας κλειδί, και εκτελεί το αίτημα στο ζωντανό API, ώστε να μπορείτε να δείτε την πραγματική απόκριση. Ανοίξτε αυτό το τελικό σημείο στην κονσόλα API

Λεπτομέρειες

Starts a durable publication and returns **202**, not 201: the work has been accepted and is running. A 201 would say the site is published when the backup has not started, and a customer reads "created" as "done". `disposition` decides what happens to whatever is already on the destination: * `add_to` — every existing file is kept byte-for-byte and only new paths are written. A collision is **renamed** (`about.html` becomes `about-new.html`), never merged and never overwritten. * `revamp` — markup, stylesheets and scripts are replaced; content, data files and `robots.txt`, `sitemap.xml`, `.htaccess` and `ads.txt` are kept. A file type we have never seen defaults to kept. * `replace` — the whole tree becomes the draft. **Destructive.** A `replace` requires `confirm_hostname` to equal the site's own primary domain, typed. A boolean flag would be satisfied by any client that set it — including a retry and every future caller that copied the previous request body — so it would confirm that a field exists rather than that a human read the domain. Anything that would overwrite live files takes a **full backup first** and waits for it to finish. That includes a `revamp` that happens to overwrite real pages: the requirement is keyed on what the publication does, not on which word was chosen. A site whose hosting cannot produce a backup is refused rather than published, because we cannot make the change reversible there. One live publication per destination at a time; a second is refused with `409`. Requires `hosting.deploy.manage`, and the target site is scoped by that same authority.

Παράμετροι

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
siteBuildId (path)UuidΝαι

Σώμα αίτησης

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
site_idUuidΝαιUUIDv7 identifier — sortable by creation time (docs/02 §8).
dispositionSiteMakerDispositionΝαιWhat to do with what is already on the destination. `add_to` keeps every existing byte, `revamp` replaces presentation and keeps content, `replace` is destructive and requires a…
confirm_hostnamestringΌχιThe site's own primary domain, typed by a human. Required for `replace` and compared exactly (case and surrounding space are ignored). ⛔ Not a boolean: a flag is satisfied by an…
install_pluginsstring[]ΌχιSlugs from the curated catalogue. Re-vetted server-side; anything else is dropped and counted. The client's list is a request, never an authority.
include_generated_pluginbooleanΌχιRegenerate and re-scan the custom plugin, and install it if it passes.

Απάντηση

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
publicationSiteMakerPublicationΝαι

Σφάλματα που μπορεί να επιστρέψει αυτό το τελικό σημείο

401 · 403 · 404 · 409 · 422 · 429