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.
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" \ -H "Content-Type: application/json" \ -d '{ "lines": [ "/products/trail-shoe", "https://shop.example/collections/summer" ], "dryRun": false }'{ "data": { "dryRun": true, "counts": { "accepted": 1, "ignored": 0, "refused": 0 }, "started": false, "lines": [ { "line": 1, "input": "/products/trail-shoe", "status": "accepted", "reason": null, "url": "https://shop.example/products/trail-shoe", "cleaned": false, "pageId": null } ] }}List a site's pages
Returns the pages of this site, newest first, with the site's totals by status and type and the generation budget for the current UTC day. The totals count every page whatever the filters. A list never carries the extracted text: get one page for it. Filters combine with AND. `limit` is 1 to 100 (50 by default), and a cursor is bound to the filters it was issued for.
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.