Read pages again
Queues up to 50 pages for a new read. A page that is already being read is skipped and reported as `already_reading`, and an id that is not a page of this site is reported as `page_not_found`. The answer is `202` when at least one page was queued, and `200` when none was. Read the progress from the pages.
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.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/api/v1/sites/string/pages/read" \ -H "Content-Type: application/json" \ -d '{ "pageIds": [ "spg_01kvnwmagvf27rc9cze5rm9e1r" ] }'{ "data": { "accepted": [ "string" ], "skipped": [ { "pageId": "string", "reason": "string" } ], "started": true }}Add pages
Judges a list of addresses and, unless `dryRun` is true, adds the accepted ones as pages and starts reading them in the background. The rules are the dashboard's: an address must be https and on the site's own origin, it is normalized (fragment, `utm_` parameters and a trailing slash removed), a repeat is ignored, and above 50 non-empty lines the whole request is refused with `invalid_request` and nothing is created. The answer names the outcome of every line. The answer is `202` when a read was started: read the progress from the pages. It is `200` for a dry run, and when no line was accepted.
Generate starter questions
Asks for starter questions from up to 50 read pages, with the dashboard's guards: only read product and category pages are eligible, a page needs a language the site serves, and the site's daily budget caps how many pages are generated. The questions are written switched off, so a person reviews them before they reach shoppers. Pages that are not accepted are listed with their reason. The answer is `202` when at least one page was accepted: read the outcome from the page and from `GET /sites/{siteId}/pages/{pageId}/generations`. It is `200` when none was. When every page was skipped because the daily budget is used, the answer is `429` with the code `generation_limit_reached` and a `Retry-After` that gives the seconds until the budget resets at the next UTC midnight.