hosting

GET /v1/sites/{siteId}/media-offload

Whether this site's media is offloaded to object storage, and how.

All hosting endpoints

Authentication

Send an API key as a bearer token. The key must carry the storage.view 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 GET https://api.zinndigital.com/v1/sites/{siteId}/media-offload \
  -H "Authorization: Bearer zdk_live_…"

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

A site with no offload configured answers `200` with `configured: false`, **not** `404`. "This site does not offload its media" is an answer; a `404` would be indistinguishable from "no such site", which is what the screen would then have to show the customer. Requires `storage.view`.

Parameters

NameTypeRequiredWhat it is
siteId (path)UuidYesSite ID (UUIDv7).

Response

NameTypeRequiredWhat it is
configuredbooleanYes`false` when this site has no offload set up. The rest of the fields are then absent. A site with no offload is a `200`, never a `404`.
idstringNo
site_idstringNo
bucket_idstringNo
statusstring<awaiting_pairing, active, paused, revoked>No
prefixstringNoThe key prefix this site's objects live under.
rewrite_urlsbooleanNoWhether the plugin points media URLs at the bucket. Off means "upload a copy but keep serving locally", which is how a cautious customer migrates.
delete_localbooleanNoWhether the plugin removes the local file after a confirmed upload. Defaults to off, and even when on the plugin refuses to delete after a partial upload.
custom_domainstringNoThe site's OWN media domain, as the customer typed it, or `""`. This is what belongs in the settings input box. See `public_base_url` for where media is actually served from — t…
public_base_urlstringNoWhere this site's media is actually served from, after the site's own domain, the footprint rule and the bucket's shared hostname have been resolved. `""` means no URL is rewrit…
needs_custom_domainbooleanNo`true` when this site is serving media locally only because it has no media domain of its own — a footprint-free site awaiting a CNAME. Distinguishes the one empty-`public_base_…
accepts_uploadsbooleanNoWhether the plugin may currently upload. Requires both an active offload and a usable bucket.
pairedbooleanNoWhether a plugin token has been issued. The token and its hash are never returned.
plugin_versionstringNo
last_seen_atstringNoWhen the plugin last called. `null` means it never has.
objects_offloadedintegerNoWhat the plugin reports it has moved. A diagnostic for the screen, never an input to billing — storage is metered by measuring the bucket.
bytes_offloadedintegerNo
created_atstringNo

Errors this endpoint can return

401 · 403 · 404 · 429