hosting

GET /v1/sites/export

Download the sites in scope as a CSV.

所有 hosting 端点

身份验证

请将 API 密钥作为 bearer 令牌发送。此端点在规范中未指明具体的权限,因此请为您的密钥赋予所需的最小权限,并通过检查响应来确认,而不是盲目假设。

您的组织 ID 应填在此处

此端点将 org_id 作为查询参数。不填则调用涵盖您的整个租户子树;发送该参数则将调用范围缩小到一个组织。

您的组织ID位于控制面板的API密钥屏幕上,就在密钥本身的旁边。这是您在每次调用时使用的相同ID。

免费试用

将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。

curl -X GET https://api.zinndigital.com/v1/sites/export \
  -H "Authorization: Bearer zdk_live_…"

已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点

详细信息

The same sites `listSites` would return for the same query, as a streamed `text/csv` attachment — V1 parity (`deploy.views.SiteExport`, "Choose sites → Export to CSV"), recorded as unported in `docs/35` §0.3c until W29-U. ⛔⛔ **Server-side over the WHOLE matching set, and that is the point of it existing as an endpoint at all.** `listSites` is cursor-paginated, so a CSV assembled in the browser would contain one page and would look exactly like a complete file — no error, no truncation marker, and nothing a customer could use to tell the difference. There is deliberately **no `limit`**: a bound here would silently exclude rows and nothing downstream would ever pick up the remainder. ⛔ It shares the list's filter chain rather than reproducing it, so "export" means "export what I am looking at" by construction. Every filter below behaves exactly as it does on `listSites`, including narrowing to nothing — rather than 403-ing — for an `org_id` outside the caller's scope. ⛔⛔ **It requires `Authorization`, so it cannot be fetched with a plain `<a href>`.** A browser anchor navigation sends no bearer token and the engine has no cookie authentication to fall back on, so an anchor answers **401** and the customer sees nothing happen. Download it with an authenticated `fetch` and hand the result to the browser as a blob. This is not hypothetical: the estate shipped three staff download buttons built as anchors and every one of them was dead (`docs/72` D14200). The header row is English and is **not** localized: the consumer is a spreadsheet or a script, and a header that changed with the viewer's locale would make one customer's file unreadable by another's tooling. Column order is part of the contract — new columns are appended, never inserted.

参数

名称类型必填内容简介
org_id (query)UuidRestrict to one organization in the caller's scope.
status (query)SiteStatusFilter by site lifecycle status.
product_line (query)stringFilter by product line code.
group (query)stringRestrict to the sites in one site group.
search (query)stringCase-insensitive substring match on the primary domain or the name, applied in the database across the whole collection in scope.

此端点可能返回的错误

401 · 403