iAdvizeDocs

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: a path is resolved against the site's URL; a full address must be http or https and on the site's own origin (the origin of its URL or an allowed origin). An http address is upgraded to https, and a host that differs from an exactly allowed origin only by a leading `www.` is rewritten to it. The address is then normalized: the fragment, every `utm_` parameter, the click identifiers `gclid`, `gbraid`, `wbraid`, `dclid`, `fbclid`, `msclkid`, `ttclid`, `twclid`, `li_fat_id`, `igshid`, `yclid`, `srsltid`, `mc_cid`, `mc_eid`, `_ga`, `_gl` and `_kx`, and a trailing slash on a path other than `/` are removed; other query parameters are kept as written, in order. 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.

POST
/api/v1/sites/{siteId}/pages

Authorization

ApiKeyAuth
AuthorizationBearer <token>

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

siteId*string

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      }    ]  }}