API reference
hosting
396 endpoints in this area. Each one has its own page with its parameters, its response and a request you can run.
| Method | Path | What it does | Permission |
|---|---|---|---|
| GET | /v1/bulk-jobs | Your bulk jobs, newest first. | sites.view |
| POST | /v1/bulk-jobs | Run one operation across many sites. | sites.view |
| POST | /v1/bulk-jobs/installed-plugins | What is already installed across a bulk selection. | sites.view |
| POST | /v1/bulk-jobs/preview | What a bulk job would do, per site, before you confirm it. | sites.view |
| GET | /v1/bulk-jobs/{bulkJobId} | One bulk job and its per-site report. | sites.view |
| POST | /v1/bulk-jobs/{bulkJobId}/retry-failed | Run a bulk job's failures again. | sites.view |
| GET | /v1/cdn/targets | Where a NEW site's CDN could be served from. | sites.create |
| POST | /v1/connector/backup/claim | Ask whether a backup is due — called by the Zinn® WordPress connector plugin. | No API key |
| POST | /v1/connector/backup/complete | Report a finished backup — called by the Zinn® WordPress connector plugin. | No API key |
| POST | /v1/connector/diagnostics | A support report a site owner chose to send — called by any Zinn® WordPress plugin. | No API key |
| GET | /v1/connector/status | Is this site's connector credential still live? — called by the Zinn® WordPress plugin. | No API key |
| GET | /v1/hosting/fleet-applications | List the applications we install ourselves on our own fleet. | Any API key |
| GET | /v1/hosting/locations | List the data centres a new site may be created in. | Any API key |
| GET | /v1/index-monitoring | What this organisation monitors for search indexing, and what it may add. | sites.view |
| POST | /v1/index-monitoring | Monitor another page, or a whole site hosted elsewhere. | sites.view |
| DELETE | /v1/index-monitoring/targets/{targetId} | Stop monitoring one target. | sites.view |
| POST | /v1/media-offload/claim | The WordPress plugin, redeeming a pairing code for a scoped token. | No API key |
| POST | /v1/media-offload/report | What the WordPress plugin says it has offloaded so far. | Its own token |
| POST | /v1/media-offload/uploads | Presigned upload URLs for a batch of media files. | Its own token |
| GET | /v1/migrations | Every migration across the organisation, newest first. | sites.view |
| POST | /v1/migrations | Create the site and start migrating onto it, in one call. | sites.create |
| POST | /v1/migrations/agent | Ask the AI migration agent to move a site, in words. | sites.view |
| GET | /v1/migrations/agent/conversations | Your migration assistant conversations, most recently used first. | sites.view |
| GET | /v1/migrations/agent/conversations/{conversationId} | One conversation, every turn, with what the agent did on each. | sites.view |
| GET | /v1/migrations/ai-move/eligibility | May this organisation have a free AI Move, and if not, why not. | sites.view |
| GET | /v1/migrations/ai-moves | The organisation's AI Moves, newest first. | sites.view |
| POST | /v1/migrations/ai-moves | Ask our AI to move a site here — free, overseen by our team. | hosting.import.manage |
| GET | /v1/migrations/ai-moves/{moveId} | One AI Move and where it is. | sites.view |
| PUT | /v1/migrations/ai-moves/{moveId}/access | Send fresh access for an AI Move (the secure form). | hosting.import.manage |
| POST | /v1/migrations/ai-moves/{moveId}/cancel | Cancel an AI Move; the access given is deleted at once. | hosting.import.manage |
| POST | /v1/migrations/ai-moves/{moveId}/continue | Tell a waiting AI Move to look again (after an upgrade or an answer). | hosting.import.manage |
| POST | /v1/migrations/ai-moves/{moveId}/go | Switch an AI Move over now (the GO). | hosting.import.manage |
| POST | /v1/migrations/discover | Identify a host from its hostname, with no site yet. | hosting.import.manage |
| GET | /v1/migrations/discoveries/{discoveryId} | Poll a discovery started without a site. | hosting.import.manage |
| POST | /v1/migrations/probe | Sign in to the old host and show what is there, with no site yet. | hosting.import.manage |
| GET | /v1/offsite-destinations | Places this organisation lets us send backups to. | sites.view |
| POST | /v1/offsite-destinations | Add a place to send backups to, after proving we can write, read and delete there. | hosting.backup.manage |
| DELETE | /v1/offsite-destinations/{destinationId} | Remove a destination and forget its credentials and encryption key. | hosting.backup.manage |
| POST | /v1/offsite-destinations/{destinationId}/key | Show the encryption key, so a copy can be opened without us. | hosting.backup.manage |
| POST | /v1/offsite-destinations/{destinationId}/test | Prove the round trip again and record the answer. | hosting.backup.manage |
| GET | /v1/private-network | The organisation's private access network. | sites.view |
| POST | /v1/private-network/devices | Enrol a device and return its configuration once. | network.private.manage |
| DELETE | /v1/private-network/devices/{seatId} | Revoke a device. | network.private.manage |
| POST | /v1/private-network/devices/{seatId}/rotate | Issue a fresh configuration for a device, invalidating the old one. | network.private.manage |
| GET | /v1/public/status-pages/hosts/{hostname} | A published status page's public snapshot, by its active own address. | No API key |
| GET | /v1/public/status-pages/{slug} | A published status page's public snapshot, by its fallback slug. | No API key |
| GET | /v1/scheduled-tasks | List every scheduled task on the account. | sites.panel_access, sites.view |
| GET | /v1/site-blueprints | List your site blueprints. | sites.view |
| POST | /v1/site-blueprints | Capture a built site as a reusable blueprint. | sites.blueprint.manage |
| DELETE | /v1/site-blueprints/{siteBlueprintId} | Delete a site blueprint. | sites.blueprint.manage |
| GET | /v1/site-blueprints/{siteBlueprintId} | Read one site blueprint. | sites.view |
| PATCH | /v1/site-blueprints/{siteBlueprintId} | Rename a blueprint, or edit its notes. | sites.blueprint.manage |
| POST | /v1/site-blueprints/{siteBlueprintId}/screenshot | Mint a time-limited URL for a blueprint's screenshot. | sites.view |
| POST | /v1/site-cache-health/ingest | Receive a site's hourly Zinn® Cache Pro cache-health report (signed webhook). | No API key |
| POST | /v1/site-events/ingest | Receive a site's report about its own changes (signed webhook). | No API key |
| GET | /v1/site-groups | The organisation's site groups. | sites.view |
| POST | /v1/site-groups | Create a site group. | sites.groups.manage |
| DELETE | /v1/site-groups/{groupId} | Delete a site group. | sites.groups.manage |
| GET | /v1/site-groups/{groupId} | One site group. | sites.view |
| PATCH | /v1/site-groups/{groupId} | Rename or recolour a site group. | sites.groups.manage |
| DELETE | /v1/site-groups/{groupId}/sites | Remove sites from a group. | sites.groups.manage |
| GET | /v1/site-groups/{groupId}/sites | The sites in a group. | sites.view |
| POST | /v1/site-groups/{groupId}/sites | Add sites to a group. | sites.groups.manage |
| PUT | /v1/site-groups/{groupId}/sites | Replace a group's membership. | sites.groups.manage |
| GET | /v1/site-imports | List the org's Wayback restores and migrations. | sites.view |
| POST | /v1/site-imports | Restore a site from a web archive, or migrate one in. | hosting.import.manage |
| GET | /v1/site-imports/platform | What the archived site was built on, and what a restore can recover. | sites.view |
| GET | /v1/site-imports/snapshots | What a web archive holds for a domain, by day. | sites.view |
| GET | /v1/site-imports/{importId} | One import job's state and progress. | sites.view |
| POST | /v1/site-imports/{importId}/cancel | Cancel a running import. | hosting.import.manage |
| GET | /v1/site-moves | Sites moving onto your hosting from PBN hosting, and your free site slots. | sites.view |
| POST | /v1/site-moves/{moveId}/retry | Try a failed move-in again from your own panel. | sites.create |
| GET | /v1/sites | List sites in scope. | sites.view |
| POST | /v1/sites | Create a site. | sites.blueprint.manage, sites.create |
| POST | /v1/sites/bulk-vendor-operation | Run one hosting-platform operation across many of your sites at once. | sites.view |
| GET | /v1/sites/capacity | Whether this organization may create another site, and how much room is left. | billing.view, sites.create |
| GET | /v1/sites/deleted | List my deleted sites, and when each stops being recoverable. | sites.view |
| POST | /v1/sites/deleted/{deletedSiteId}/restore | Restore a deleted site. | sites.create |
| GET | /v1/sites/deployable-plans | The plans this organization can deploy a site into right now. | billing.view, sites.create |
| GET | /v1/sites/export | Download the sites in scope as a CSV. | sites.view |
| GET | /v1/sites/provider-options | List the options available for a new site. | sites.create |
| GET | /v1/sites/servers | The servers the caller's sites run on, with how many sites each. | sites.view |
| DELETE | /v1/sites/{siteId} | Schedule a site's permanent deletion. | sites.view |
| GET | /v1/sites/{siteId} | Get a site. | sites.view |
| GET | /v1/sites/{siteId}/apm | Ranked transactions, ranked hotspots and the hourly timeline for a site. | sites.view |
| GET | /v1/sites/{siteId}/apm/traces | List the individual profiled requests kept for a site. | sites.view |
| GET | /v1/sites/{siteId}/apm/traces/{traceId} | Show where one kept request's milliseconds went. | sites.view |
| DELETE | /v1/sites/{siteId}/app/previews/{previewId} | Take a branch preview down and withdraw its address. | hosting.deploy.manage |
| GET | /v1/sites/{siteId}/app/releases | The application releases on the server, newest first, with the live one marked. | sites.view |
| POST | /v1/sites/{siteId}/app/releases/{release}/activate | Switch the live application to a release already on the server — an instant rollback. | hosting.deploy.manage |
| POST | /v1/sites/{siteId}/app/restart | Restart the site's application processes. | hosting.deploy.manage |
| GET | /v1/sites/{siteId}/application-access | The sign-in details for the application installed on a site. | sites.view |
| GET | /v1/sites/{siteId}/backups | List a site's backups and what its plan grants. | sites.view |
| POST | /v1/sites/{siteId}/backups | Take an on-demand backup of a site. | hosting.backup.manage |
| POST | /v1/sites/{siteId}/backups/restore | Restore a site from one of its backups. | hosting.backup.manage |
| POST | /v1/sites/{siteId}/backups/transfer-in | Move an externally hosted site onto Zinn® hosting from a backup we hold. | hosting.backup.manage |
| POST | /v1/sites/{siteId}/backups/{backupId}/download | Mint a time-limited download URL for one of a site's backups. | hosting.backup.export |
| GET | /v1/sites/{siteId}/build-env | The build variable NAMES a site holds — never their values. | sites.view |
| PUT | /v1/sites/{siteId}/build-env | Replace a site's whole build environment. | hosting.deploy.manage |
| GET | /v1/sites/{siteId}/cache-health | Get a site's latest Zinn® Cache Pro cache-health report. | sites.view |
| POST | /v1/sites/{siteId}/cache/purge | Clear a site's server-side cache. | sites.cache.purge |
| GET | /v1/sites/{siteId}/cdn | Get a site's CDN configuration. | sites.view |
| PUT | /v1/sites/{siteId}/cdn | Choose a site's CDN tier. | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/cdn/analytics | Read edge traffic for a site's CDN zone. | sites.view |
| GET | /v1/sites/{siteId}/cdn/budget | This site's slice of the account's metered CDN spend. | sites.view |
| PATCH | /v1/sites/{siteId}/cdn/budget | Set this site's metered CDN spend ceiling. | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/cdn/canonical-host | Which hostname serves, which redirects, and whether HTTPS is forced. | sites.view |
| PATCH | /v1/sites/{siteId}/cdn/canonical-host | Choose www or non-www, and whether to force HTTPS. | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/cdn/firewall-rules | List a site's custom edge firewall rules. | sites.view |
| PUT | /v1/sites/{siteId}/cdn/firewall-rules | Replace a site's custom edge firewall rules. | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/cdn/offers | The CDNs this site's product line can actually buy. | sites.view |
| GET | /v1/sites/{siteId}/cdn/origin-host | The origin hostname a hostname-only CDN pulls from, and the record to add. | sites.view |
| POST | /v1/sites/{siteId}/cdn/origin-host/check | Re-read public DNS for the customer's origin record and use it when it answers. | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/cdn/page-rules | List the legacy page rules on a site's zone. | sites.view |
| DELETE | /v1/sites/{siteId}/cdn/page-rules/{ruleId} | Remove one page rule. | hosting.cdn.manage |
| PATCH | /v1/sites/{siteId}/cdn/page-rules/{ruleId} | Turn one page rule on or off. | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/cdn/profile | Read a site's recommended CDN profile and where the zone has drifted from it. | sites.view |
| PATCH | /v1/sites/{siteId}/cdn/profile | Choose whether we keep the recommended CDN profile applied automatically. | hosting.cdn.manage |
| POST | /v1/sites/{siteId}/cdn/profile | Re-apply the recommended CDN profile to a site's zone. | hosting.cdn.manage |
| POST | /v1/sites/{siteId}/cdn/purge | Purge a site's CDN cache. | sites.cache.purge |
| GET | /v1/sites/{siteId}/cdn/security | Read a site's CDN security and bot settings. | sites.view |
| PUT | /v1/sites/{siteId}/cdn/security | Change a site's CDN security and bot settings. | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/cdn/settings | Read a site's CDN zone settings. | sites.view |
| PUT | /v1/sites/{siteId}/cdn/settings | Change a site's CDN zone settings. | hosting.cdn.manage |
| DELETE | /v1/sites/{siteId}/cdn/swap | Abandon a CDN move and put the site back. | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/cdn/swap | The site's most recent CDN move, and what it is waiting for. | hosting.cdn.manage |
| POST | /v1/sites/{siteId}/cdn/swap | Move this site's CDN to a named destination. | hosting.cdn.manage |
| POST | /v1/sites/{siteId}/cdn/switch | Deprecated: start a move of this site's CDN (use startSiteCdnSwap). | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/cdn/targets | Where this site's CDN could be served from. | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/cdn/tiered-cache | Read tiered caching and smart routing for a site's zone. | sites.view |
| PUT | /v1/sites/{siteId}/cdn/tiered-cache | Turn tiered caching on or off. | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/certificate | The TLS certificate serving this site. | sites.view |
| DELETE | /v1/sites/{siteId}/chat-agent | Remove the agent and everything it had indexed. | sites.chat_agent.manage |
| GET | /v1/sites/{siteId}/chat-agent | The AI chat agent on this site — how it is configured and what it knows. | sites.view |
| PATCH | /v1/sites/{siteId}/chat-agent | Change the agent's name, personality, brand or the domains it may appear on. | sites.chat_agent.manage |
| POST | /v1/sites/{siteId}/chat-agent | Switch on the chat agent for this site. | sites.chat_agent.manage |
| POST | /v1/sites/{siteId}/chat-agent/preview | Ask your own agent a question, as a visitor would. | sites.view |
| POST | /v1/sites/{siteId}/chat-agent/reindex | Re-read every source, so the agent knows what the site says today. | sites.chat_agent.manage |
| POST | /v1/sites/{siteId}/chat-agent/sources | Tell the agent what to read, and read it now. | sites.chat_agent.manage |
| DELETE | /v1/sites/{siteId}/chat-agent/sources/{sourceId} | Stop the agent using this source, and forget what it read from it. | sites.chat_agent.manage |
| GET | /v1/sites/{siteId}/cleaner | Read a site's Site Cleaner state. | sites.view |
| POST | /v1/sites/{siteId}/cleaner/clean | Clean a site. | sites.view |
| POST | /v1/sites/{siteId}/cleaner/jobs/{jobId}/undo | Undo a clean (restore its backup). | sites.view |
| POST | /v1/sites/{siteId}/cleaner/scan | Scan a site for things to clean (free). | sites.view |
| PUT | /v1/sites/{siteId}/cleaner/schedule | Set a site's scheduled clean. | sites.view |
| POST | /v1/sites/{siteId}/cleaner/stop | Stop the account's Site Cleaner renewing. | sites.view |
| POST | /v1/sites/{siteId}/clone | Copy this site onto a new domain, as a new site. | sites.create |
| GET | /v1/sites/{siteId}/clones | Every copy made from this site, newest first. | sites.view |
| POST | /v1/sites/{siteId}/clones/{cloneId}/retry | Finish a copy that failed, onto the same new site. | hosting.backup.manage |
| DELETE | /v1/sites/{siteId}/cms-target | Stop publishing to this site's CMS. | links.edit |
| GET | /v1/sites/{siteId}/cms-target | Where this site's posts go. | links.view |
| PUT | /v1/sites/{siteId}/cms-target | Tell us where this site's posts should go. | links.edit |
| POST | /v1/sites/{siteId}/cms-target/test | Check the credential actually works, against the real CMS. | links.edit |
| GET | /v1/sites/{siteId}/content | Whether anything has been published to a site yet. | sites.view |
| GET | /v1/sites/{siteId}/crawler-block | Get a site's blocked-crawler selection. | sites.view |
| PUT | /v1/sites/{siteId}/crawler-block | Replace a site's blocked-crawler selection. | sites.crawler.manage |
| GET | /v1/sites/{siteId}/crawler-policy | Get a site's SEO-crawler-blocking (PBN footprint) policy. | sites.view |
| PUT | /v1/sites/{siteId}/crawler-policy | Set a site's SEO-crawler-blocking policy. | sites.crawler.manage |
| GET | /v1/sites/{siteId}/database | Get a site's database size and panel links. | sites.view |
| POST | /v1/sites/{siteId}/database-slots/{purchaseId}/stop | Stop a bought extra-database slot renewing. | sites.view |
| GET | /v1/sites/{siteId}/databases | List a site's MySQL databases and the room to add more. | sites.view |
| POST | /v1/sites/{siteId}/databases | Create an extra MySQL database on a site. | sites.view |
| DELETE | /v1/sites/{siteId}/databases/{databaseId} | Delete an extra database from a site — backed up first. | sites.view |
| DELETE | /v1/sites/{siteId}/deletion | Stop a site's scheduled deletion. | sites.view |
| GET | /v1/sites/{siteId}/deletion | Get a site's scheduled deletion. | sites.view |
| GET | /v1/sites/{siteId}/deploy | Get a site's deploy target and status. | sites.view |
| POST | /v1/sites/{siteId}/deploy | Deploy or redeploy a site. | hosting.deploy.manage |
| GET | /v1/sites/{siteId}/deployments | A site's deploy history, most recent first. | sites.view |
| GET | /v1/sites/{siteId}/deployments/{deploymentId} | One deploy, with its build log. | sites.view |
| GET | /v1/sites/{siteId}/deployments/{deploymentId}/build-log | The hosting provider's own build log for one deploy. | sites.view |
| POST | /v1/sites/{siteId}/deployments/{deploymentId}/redeploy | Roll back by re-publishing an earlier deploy's commit. | hosting.deploy.manage |
| GET | /v1/sites/{siteId}/domain-pointing | Does this site's domain actually reach us? | sites.view |
| GET | /v1/sites/{siteId}/edge-domains | The custom domains bound to this site's deploy target. | sites.view |
| POST | /v1/sites/{siteId}/edge-domains | Point a domain at this site's deploy target. | hosting.deploy.manage |
| DELETE | /v1/sites/{siteId}/edge-domains/{hostname} | Stop serving this hostname from the deploy target. | hosting.deploy.manage |
| GET | /v1/sites/{siteId}/edge-domains/{hostname}/dns | What this domain actually resolves to right now. | sites.view |
| POST | /v1/sites/{siteId}/edge-domains/{hostname}/dns | Publish this domain's DNS records for the customer. | hosting.deploy.manage |
| DELETE | /v1/sites/{siteId}/external-backup | Remove our access to an externally hosted site. | hosting.backup.manage |
| GET | /v1/sites/{siteId}/external-backup | How we reach an externally hosted site to back it up. | sites.view |
| PUT | /v1/sites/{siteId}/external-backup | Connect an externally hosted site so we can back it up. | hosting.backup.manage |
| GET | /v1/sites/{siteId}/firewall | Get a site's own firewall, the platform rules beneath it, and its flood status. | sites.view |
| PUT | /v1/sites/{siteId}/firewall | Change a site's own firewall rules. | sites.view |
| GET | /v1/sites/{siteId}/firewall/blocked | List the newest requests the site's firewall refused. | sites.view |
| GET | /v1/sites/{siteId}/ftp-users | List a site's FTP accounts. | sites.view |
| POST | /v1/sites/{siteId}/ftp-users | Create an FTP account on a site. | sites.view |
| DELETE | /v1/sites/{siteId}/ftp-users/{ftpUserId} | Delete an FTP account from a site. | sites.view |
| GET | /v1/sites/{siteId}/geo-restriction | Which countries may reach this site. | sites.view |
| PUT | /v1/sites/{siteId}/geo-restriction | Restrict this site to chosen countries, or refuse named ones. | hosting.cdn.manage |
| GET | /v1/sites/{siteId}/hourly-backups | Read a site's hourly backups add-on. | sites.view |
| POST | /v1/sites/{siteId}/hourly-backups/stop | Stop a site's hourly backups renewing. | sites.view |
| POST | /v1/sites/{siteId}/ide-assist | Ask the AI assistant about one file in the site's web editor. | No API key |
| GET | /v1/sites/{siteId}/ide-assist/credit | What the site's web editor shows beside its assistant. | No API key |
| GET | /v1/sites/{siteId}/ide-assist/models | The AI models the site's web editor may use. | No API key |
| POST | /v1/sites/{siteId}/ide-chat | One turn of the web editor's AI chat. | No API key |
| POST | /v1/sites/{siteId}/ide-events | Record something the customer did in the site's web editor. | No API key |
| POST | /v1/sites/{siteId}/ide-mcp | The platform MCP server, reached from inside the site's web editor. | No API key |
| GET | /v1/sites/{siteId}/index-check | A hosted site's search-index status. | sites.view |
| GET | /v1/sites/{siteId}/index-check/history | A hosted site's recent search-index checks. | sites.view |
| DELETE | /v1/sites/{siteId}/media-offload | Revoke the plugin's token and stop new uploads. | storage.manage |
| GET | /v1/sites/{siteId}/media-offload | Whether this site's media is offloaded to object storage, and how. | storage.view |
| PUT | /v1/sites/{siteId}/media-offload | Turn media offload on for a site, or change how it behaves. | storage.manage |
| POST | /v1/sites/{siteId}/media-offload/pairing | Mint a short-lived code that pairs the WordPress plugin to this site. | storage.manage |
| GET | /v1/sites/{siteId}/metrics | Get a site's current usage metrics. | sites.view |
| GET | /v1/sites/{siteId}/migrations | The site's migrations, newest first. | sites.view |
| POST | /v1/sites/{siteId}/migrations | Migrate a site in from another host. | hosting.import.manage |
| POST | /v1/sites/{siteId}/migrations/discover | Work out which control panel a host runs, from the hostname alone. | hosting.import.manage |
| GET | /v1/sites/{siteId}/migrations/discoveries/{discoveryId} | Poll a discovery until it has an answer. | hosting.import.manage |
| POST | /v1/sites/{siteId}/migrations/managed-request | Ask our team to migrate this site for you — free, no limit. | hosting.import.manage |
| POST | /v1/sites/{siteId}/migrations/probe | Sign in to the old host and show what is there. | hosting.import.manage |
| GET | /v1/sites/{siteId}/migrations/{migrationId} | One migration's state and progress. | sites.view |
| POST | /v1/sites/{siteId}/migrations/{migrationId}/cancel | Stop a running migration. | hosting.import.manage |
| POST | /v1/sites/{siteId}/migrations/{migrationId}/cutover | Re-sync the mail that arrived during the move. | hosting.import.manage |
| POST | /v1/sites/{siteId}/migrations/{migrationId}/rollback | Put the site back to how it was before this migration. | hosting.backup.manage |
| DELETE | /v1/sites/{siteId}/offsite | Stop copying this site's backups offsite. | hosting.backup.manage |
| GET | /v1/sites/{siteId}/offsite | Where this site's backups are copied offsite, and every copy made. | sites.view |
| PUT | /v1/sites/{siteId}/offsite | Send this site's backups to a destination. | hosting.backup.manage |
| POST | /v1/sites/{siteId}/offsite/copies/{copyId}/retry | Try a failed copy again. | hosting.backup.manage |
| POST | /v1/sites/{siteId}/offsite/restore | Overwrite the site from a copy held in the customer's own storage. | hosting.backup.manage |
| GET | /v1/sites/{siteId}/origin-load | Is this site's server slow to answer, and what kind of request is slow. | sites.view |
| POST | /v1/sites/{siteId}/panel-sessions | Mint one single-use panel link, at the moment the customer clicks. | sites.panel_access, sites.view |
| GET | /v1/sites/{siteId}/performance | Get a site's caching and acceleration settings. | sites.view |
| PUT | /v1/sites/{siteId}/performance | Update a site's caching and acceleration settings. | hosting.performance.manage |
| GET | /v1/sites/{siteId}/performance/slow-requests | List the slowest traced requests for a site. | sites.view |
| GET | /v1/sites/{siteId}/performance/slow-requests/{taskId}/{requestId} | Show where one request's milliseconds went. | sites.view |
| GET | /v1/sites/{siteId}/php-config | Get a site's changeable PHP settings. | sites.view |
| PUT | /v1/sites/{siteId}/php-config | Set a site's PHP settings. | sites.view |
| GET | /v1/sites/{siteId}/php-settings | Get a site's PHP extensions, php.ini settings and resource tier. | sites.view |
| PUT | /v1/sites/{siteId}/php-settings | Set a site's PHP extensions and php.ini settings. | sites.view |
| GET | /v1/sites/{siteId}/php-version | Get a site's PHP version. | sites.view |
| PUT | /v1/sites/{siteId}/php-version | Switch a site's PHP version. | hosting.php.manage |
| GET | /v1/sites/{siteId}/plan | List the plans a site could move to, priced. | sites.view |
| POST | /v1/sites/{siteId}/plan | Move a site onto another plan. | sites.view |
| GET | /v1/sites/{siteId}/plugin-guard | What the plugin guard found on, or refused for, one site. | sites.view |
| POST | /v1/sites/{siteId}/plugin-guard/hits/{hitId}/review | Ask our team to check a plugin-guard finding you think is a mistake. | sites.view |
| POST | /v1/sites/{siteId}/plugin-guard/holds/{holdId}/release | Release an update hold on your site so the held version can be applied again. | sites.panel_access |
| POST | /v1/sites/{siteId}/plugin-guard/integrity/{findingId}/repair | Repair a site integrity finding now (re-install WordPress core files, quarantine unknown core files, or put the site address back). | sites.panel_access |
| GET | /v1/sites/{siteId}/preview-urls | Get the URLs at which a site can be viewed before its DNS resolves. | sites.view |
| POST | /v1/sites/{siteId}/previews | Build a branch as a preview, without touching the live site. | hosting.deploy.manage |
| GET | /v1/sites/{siteId}/protection | Get every protection control for a site. | sites.view |
| PUT | /v1/sites/{siteId}/protection/countries | Replace a site's country rule. | sites.view |
| POST | /v1/sites/{siteId}/protection/directories | Password-protect a folder on a site. | sites.view |
| POST | /v1/sites/{siteId}/protection/directories/remove | Take the password off a folder on a site. | sites.view |
| GET | /v1/sites/{siteId}/protection/file-permissions | Run the vendor's file-permission check on a site. | sites.view |
| POST | /v1/sites/{siteId}/protection/file-permissions | Apply the vendor's recommended permissions on a site. | sites.view |
| PUT | /v1/sites/{siteId}/protection/hotlink | Replace a site's hotlink-protection rules. | sites.view |
| PUT | /v1/sites/{siteId}/protection/ip-addresses | Replace a site's blocked IP addresses. | sites.view |
| GET | /v1/sites/{siteId}/quota | Get a site's enforced disk and inode ceilings, and its usage against them. | sites.view |
| GET | /v1/sites/{siteId}/quota/resources | What this site is allowed per resource, what it is using, and what more costs. | sites.view |
| POST | /v1/sites/{siteId}/quota/resources/{resource}/downgrade | Reduce a site's allowance — refused while the site is over the target. | sites.view |
| POST | /v1/sites/{siteId}/quota/resources/{resource}/upgrade | Buy more disk or file allowance for one site. | sites.view |
| GET | /v1/sites/{siteId}/registry | What the public registry says about a hosted site's domain. | sites.view |
| POST | /v1/sites/{siteId}/rename-domain | Change a site's primary domain (asynchronous). | sites.create |
| DELETE | /v1/sites/{siteId}/repo | Disconnect the repository and remove its webhook. | hosting.deploy.manage |
| GET | /v1/sites/{siteId}/repo | Get the repository a site deploys from. | sites.view |
| PUT | /v1/sites/{siteId}/repo | Connect (or re-connect) a repository to a site. | hosting.deploy.manage |
| GET | /v1/sites/{siteId}/repo/branches | List the connected repository's branches. | hosting.deploy.manage |
| GET | /v1/sites/{siteId}/repo/sync | Two-way sync settings, state and recent runs for a site. | sites.view |
| PUT | /v1/sites/{siteId}/repo/sync | Turn two-way sync on or off for a site. | hosting.deploy.manage |
| POST | /v1/sites/{siteId}/repo/sync/resolve | Clear a held sync by choosing which side wins. | hosting.deploy.manage |
| POST | /v1/sites/{siteId}/repo/sync/run | Sync this site with its repository now. | hosting.deploy.manage |
| POST | /v1/sites/{siteId}/retry-provisioning | Build a failed site again. | sites.view |
| GET | /v1/sites/{siteId}/scheduled-tasks | List a site's scheduled tasks. | sites.view |
| POST | /v1/sites/{siteId}/scheduled-tasks | Create a scheduled task on a site. | sites.view |
| DELETE | /v1/sites/{siteId}/scheduled-tasks/{taskId} | Delete a site's scheduled task. | sites.panel_access, sites.view |
| PATCH | /v1/sites/{siteId}/scheduled-tasks/{taskId} | Change some fields of a site's scheduled task. | sites.panel_access, sites.view |
| PUT | /v1/sites/{siteId}/scheduled-tasks/{taskId} | Change a site's scheduled task. | sites.panel_access, sites.view |
| POST | /v1/sites/{siteId}/scheduled-tasks/{taskId}/run | Run a scheduled task now. | sites.panel_access, sites.view |
| GET | /v1/sites/{siteId}/scheduled-tasks/{taskId}/runs | List a scheduled task's last runs and their output. | sites.panel_access, sites.view |
| GET | /v1/sites/{siteId}/security | A site's malware state and live findings. | sites.view |
| POST | /v1/sites/{siteId}/security/scan | Scan a site for malware now. | sites.view |
| GET | /v1/sites/{siteId}/seo-metrics | A hosted site's SEO authority metrics. | sites.view |
| POST | /v1/sites/{siteId}/seo-metrics/check | Run an on-demand authority check for a hosted site. | sites.view |
| GET | /v1/sites/{siteId}/seo-metrics/history | A hosted site's authority readings over time. | sites.view |
| GET | /v1/sites/{siteId}/seo-settings | How often this site's SEO metrics are checked, and what is shown. | sites.view |
| PUT | /v1/sites/{siteId}/seo-settings | Choose the schedule, providers and visible metrics for this site. | sites.seo.manage |
| GET | /v1/sites/{siteId}/site-blueprint-deploy | What has been deployed onto this site from a blueprint. | sites.view |
| POST | /v1/sites/{siteId}/site-blueprint-deploy | Replace a site's content with a blueprint's. | hosting.backup.manage |
| GET | /v1/sites/{siteId}/ssh-keys | List a site's authorised SSH keys. | sites.view |
| POST | /v1/sites/{siteId}/ssh-keys | Authorise a public key for SSH on a site. | sites.view |
| DELETE | /v1/sites/{siteId}/ssh-keys/{handle} | Withdraw an authorised SSH key from a site. | sites.view |
| GET | /v1/sites/{siteId}/subdomains | List a site's subdomains. | sites.view |
| POST | /v1/sites/{siteId}/subdomains | Add a subdomain to a site. | sites.view |
| DELETE | /v1/sites/{siteId}/subdomains/{subdomainName} | Delete a subdomain from a site. | sites.view |
| DELETE | /v1/sites/{siteId}/transfer | Withdraw this site's pending transfer offer. | sites.view |
| GET | /v1/sites/{siteId}/transfer | Get this site's most recent transfer offer. | sites.view |
| POST | /v1/sites/{siteId}/transfer | Offer this site to another organization. | sites.view |
| POST | /v1/sites/{siteId}/transfer/preview | Check whether a site could be transferred to another organization. | sites.view |
| GET | /v1/sites/{siteId}/turnstile | Get whether the Turnstile login check is on for a site, and where a change is. | sites.view |
| PUT | /v1/sites/{siteId}/turnstile | Switch the Turnstile login check on or off for a site. | sites.view |
| POST | /v1/sites/{siteId}/upgrade-to-php | Upgrade a static HTML site to PHP hosting, in place. | hosting.php.manage |
| GET | /v1/sites/{siteId}/usage | Get one site's metered visits for the current billing period. | sites.view |
| GET | /v1/sites/{siteId}/vitals | Get a site's homepage Core Web Vitals. | sites.view |
| POST | /v1/sites/{siteId}/vitals/checks | Measure one page of this site on demand. | sites.view |
| GET | /v1/sites/{siteId}/vitals/checks/{checkId} | Poll one on-demand page check. | sites.view |
| GET | /v1/sites/{siteId}/vitals/history | Get a site's speed history and change timeline. | sites.view |
| GET | /v1/sites/{siteId}/web-logs | Get the tail of a site's access and error logs. | sites.view |
| GET | /v1/sites/{siteId}/wordpress | Get the WordPress install on a site. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/abilities | Our plugins' AI agent abilities on the site. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/abilities/run | Run one of our plugins' abilities on the site. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/activity | What changed on this WordPress, and who changed it. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/checksum | Check a site's WordPress core files against the published checksums. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/checksum | Restore a site's modified WordPress core files. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/cli | Run one allow-listed WP-CLI command on the site. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/cron | List a site's scheduled WordPress tasks. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/cron | Run one scheduled task now. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/database-check | Check a site's WordPress database connection. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/maintenance | Is the site showing WordPress's maintenance page? | sites.view |
| PUT | /v1/sites/{siteId}/wordpress/maintenance | Turn maintenance mode on or off. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/plugins | List the plugins installed on a site's WordPress. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/plugins | Install a plugin on a site's WordPress. | sites.view |
| DELETE | /v1/sites/{siteId}/wordpress/plugins/{pluginName} | Remove a plugin from a site's WordPress. | sites.view |
| PUT | /v1/sites/{siteId}/wordpress/plugins/{pluginName} | Activate or deactivate a plugin on a site. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/plugins/{pluginName}/update | Update one plugin to its latest release. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/reinstall | Reinstall the live WordPress on a site. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/roles | List the roles a site's WordPress defines. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/search-replace | Rewrite a string throughout a site's WordPress database. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/settings | Get a site's WordPress options. | sites.view |
| PUT | /v1/sites/{siteId}/wordpress/settings | Set one WordPress option on a site. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/stack-cache | Install the server-side cache plugin on a site. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/staging | Get a site's WordPress staging clones. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/staging | Copy a site's live WordPress onto staging. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/staging/publish | Publish a site's staging WordPress over the live site. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/staging/reinstall | Reinstall the WordPress on a site's staging copy. | sites.view |
| DELETE | /v1/sites/{siteId}/wordpress/staging/{cloneId} | Delete a site's WordPress staging clone. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/themes | List the themes installed on a site's WordPress. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/themes | Install a theme on a site's WordPress. | sites.view |
| DELETE | /v1/sites/{siteId}/wordpress/themes/{themeName} | Remove a theme from a site's WordPress. | sites.view |
| PUT | /v1/sites/{siteId}/wordpress/themes/{themeName} | Activate or deactivate a theme on a site. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/themes/{themeName}/update | Update one theme to its latest release. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/update | Update WordPress core on a site. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/update-policy | What this site is set to update by itself, and where it has drifted. | sites.view |
| PUT | /v1/sites/{siteId}/wordpress/update-policy | Set the site's auto-update policy and apply it to WordPress. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/uploads | Start a resumable upload of a plugin or theme zip. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/uploads/{uploadId} | Read a resumable upload — its progress and which parts have arrived. | sites.view |
| POST | /v1/sites/{siteId}/wordpress/uploads/{uploadId}/complete | Finish a resumable upload; the platform assembles and installs it. | sites.panel_access, sites.view |
| PUT | /v1/sites/{siteId}/wordpress/uploads/{uploadId}/parts/{partNumber} | Send one part of a resumable upload. | sites.panel_access, sites.view |
| GET | /v1/sites/{siteId}/wordpress/users | List the accounts on a site's WordPress. | sites.panel_access |
| POST | /v1/sites/{siteId}/wordpress/users | Create an account on a site's WordPress. | sites.view |
| DELETE | /v1/sites/{siteId}/wordpress/users/{wpUserId} | Delete an account from a site's WordPress. | sites.view |
| PUT | /v1/sites/{siteId}/wordpress/users/{wpUserId}/password | Set a WordPress account's password. | sites.view |
| PUT | /v1/sites/{siteId}/wordpress/users/{wpUserId}/role | Change a WordPress account's role. | sites.view |
| GET | /v1/sites/{siteId}/wordpress/vulnerabilities | Published advisories against the plugin and theme versions installed here. | sites.view |
| GET | /v1/sites/{siteId}/wp-credentials | The WordPress admin login for a site. | sites.view |
| POST | /v1/sites/{siteId}/wp-credentials | Generate a new WordPress admin password for a site. | sites.view |
| POST | /v1/sites/{siteId}/wp-login | Mint a one-click WordPress admin login token. | sites.wp_login |
| GET | /v1/sites/{site_id}/translation | Whether this site is translated, and how far along it is. | sites.view |
| PATCH | /v1/sites/{site_id}/translation | Choose which languages this site serves to visitors. | sites.translation.manage |
| GET | /v1/sites/{site_id}/translation/bundle/{locale} | One locale of a site's translated content, for the site itself to render. | sites.view |
| POST | /v1/sites/{site_id}/translation/refresh | Read the site again now, rather than waiting for the next pass. | sites.translation.manage |
| GET | /v1/sites/{site_id}/translation/served | The languages this site publishes, for the site itself to follow. | sites.view |
| POST | /v1/sites/{site_id}/translation/sources | The site tells us every translatable string it has. | sites.translation.manage |
| GET | /v1/storage/buckets | The organisation's object storage buckets. | storage.view |
| POST | /v1/storage/buckets | Provision Zinn® storage, or attach a bucket of your own. | storage.manage |
| DELETE | /v1/storage/buckets/{bucketId} | Forget a bucket. | storage.manage |
| GET | /v1/storage/buckets/{bucketId} | One bucket. | storage.view |
| GET | /v1/transfers | List every site transfer this account is a party to. | sites.view |
| POST | /v1/transfers/{transferId}/accept | Accept an incoming site transfer. | sites.view |
| POST | /v1/transfers/{transferId}/decline | Decline an incoming site transfer. | sites.view |
| GET | /v1/uptime/monitors | The web addresses this organisation has asked us to watch. | sites.view |
| POST | /v1/uptime/monitors | Start watching a web address. | uptime.manage |
| DELETE | /v1/uptime/monitors/{monitor_id} | Stop watching a web address. | uptime.manage |
| GET | /v1/uptime/monitors/{monitor_id} | One monitored address, with its history. | sites.view |
| PATCH | /v1/uptime/monitors/{monitor_id} | Pause, resume or rename a monitored address. | uptime.manage |
| GET | /v1/uptime/status-pages | The organisation's public status pages (Zinn® SEO zs-608). | sites.view |
| POST | /v1/uptime/status-pages | Create a public status page for the organisation's uptime monitors. | sites.view, uptime.manage |
| DELETE | /v1/uptime/status-pages/{page_id} | Delete a status page (its own address is detached first). | sites.view, uptime.manage |
| GET | /v1/uptime/status-pages/{page_id} | One status page's settings. | sites.view |
| PATCH | /v1/uptime/status-pages/{page_id} | Change a status page's settings (any subset). | sites.view, uptime.manage |
| DELETE | /v1/uptime/status-pages/{page_id}/hostname | Stop serving the page at its own address (never refused — it stops a charge). | sites.view, uptime.manage |
| GET | /v1/uptime/status-pages/{page_id}/hostname | Ask the edge whether the own address is serving yet. | sites.view, uptime.manage |
| POST | /v1/uptime/status-pages/{page_id}/hostname | Serve the page at the customer's own address (e.g. status.theirsite.com). | sites.view, uptime.manage |
| DELETE | /v1/uptime/status-pages/{page_id}/{kind} | Remove the page's logo or favicon. | sites.view, uptime.manage |
| PUT | /v1/uptime/status-pages/{page_id}/{kind} | Upload the page's logo or favicon (PNG, JPEG, WebP or GIF, up to 256 KB). | sites.view, uptime.manage |
| GET | /v1/vector/indexes | The organisation's vector indexes. | vector.view |
| POST | /v1/vector/indexes | Create a vector index. | vector.manage |
| DELETE | /v1/vector/indexes/{indexId} | Delete a vector index and every vector in it. | vector.manage |
| GET | /v1/vector/indexes/{indexId} | One vector index. | vector.view |
| POST | /v1/vector/indexes/{indexId}/query | Find the nearest vectors. | vector.manage |
| POST | /v1/vector/indexes/{indexId}/vectors | Insert or replace vectors. | vector.manage |
| POST | /v1/vector/indexes/{indexId}/vectors/delete | Delete vectors by id. | vector.manage |
| POST | /v1/vector/indexes/{indexId}/vectors/fetch | Read vectors back by id. | vector.manage |
| GET | /v1/vector/usage | Vector storage and query usage against the plan. | vector.view |
| POST | /v1/webhooks/git/{provider}/{repoId} | Ingest a push from a customer's git provider and deploy it. | No API key |
| GET | /v1/wordpress/cli-commands | The WP-CLI commands the console will run. | Any API key |
| GET | /v1/wordpress/overview | Count the caller's whole WordPress estate by posture. | sites.view |
| GET | /v1/wordpress/plugin-directory | Search the WordPress plugin directory. | sites.view |
| GET | /v1/wordpress/plugin-directory/{slug} | One plugin from the WordPress directory. | sites.view |
| POST | /v1/wordpress/refresh | Collect a named handful of sites in one call. | sites.view |
| GET | /v1/wordpress/sites | List every WordPress site the caller owns, across all product lines. | sites.view |
| GET | /v1/wordpress/sites/{siteId} | One WordPress site's stored posture, with its component listings. | sites.view |
| GET | /v1/wordpress/sites/{siteId}/credentials | Who can sign in to this site's WordPress, and where. | sites.view |
| POST | /v1/wordpress/sites/{siteId}/credentials/rotate | Set a new password on one WordPress administrator, shown once. | sites.view |
| POST | /v1/wordpress/sites/{siteId}/refresh | Ask this site's platform for its WordPress posture now. | sites.panel_access, sites.view |
| GET | /v1/wordpress/templates | List the WordPress templates a customer may apply. | sites.view |
| GET | /v1/wordpress/theme-directory | Search the WordPress theme directory. | sites.view |
| GET | /v1/wordpress/theme-directory/{slug} | One theme from the WordPress directory. | sites.view |