List a site's exclusions
Returns what the site keeps out of discovery, newest first: the addresses of pages removed after a sitemap import or shopper traffic found them, and path rules. Exclusions never apply to pages added by hand. `meta` carries the counts by kind. `limit` is 1 to 500 (100 by default).
Authorization
ApiKeyAuth A WorkOS org-scoped API key, created from the dashboard's organization settings page. Identifies the tenant every read and write is scoped to. Missing, malformed, unknown, revoked, expired, or non-organization-owned keys all return 401 (no distinction, so the response can't be used to probe which keys or org ids exist).
In: header
Path Parameters
The site id (prefixed site_). A site id that isn't yours is a 404, same as any other cross-tenant id.
Query Parameters
Only exclusions of this kind.
Value in
- "address"
- "rule"
How many exclusions, 1 to 500.
1 <= value <= 500100Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/api/v1/sites/string/pages/exclusions"{ "data": [ { "id": "spgx_01kvnwmagvf27rc9cze5rm9e1r", "kind": "rule", "value": "blogs/*", "pagesRemoved": 60, "createdByType": "api_key", "createdAt": "2026-10-03T09:10:00.000Z" }, { "id": "spgx_01kvnwmagwf27rc9d7zef4qksf", "kind": "address", "value": "https://shop.example/pages/old-sale", "pagesRemoved": 0, "createdByType": "member", "createdAt": "2026-10-03T09:05:00.000Z" } ], "meta": { "rules": 1, "addresses": 1, "total": 2 }}Get a sitemap import
Returns one import with its state, outcome and counts. While it runs, the counts are those so far. An import with no progress for 30 minutes reads `failed`. An import of another site answers `404`.
Add exclusion rules
Adds path rules, at most 50 per site. Each rule removes at once every page of source `sitemap` or `tag` whose path it matches (their starter questions stay) and keeps later imports and traffic from adding such pages again. Pages added by hand are never removed. A rule the site already holds is reported in `alreadyExcluded`. A malformed rule refuses the whole request with `invalid_exclusion_rule`, and going past 50 rules with `exclusion_rule_limit_reached`; nothing is changed then. Recorded in the audit log with counts only, attributed to the API key.