Actions

Add pages

POST /api/v1/projects/{id}/pages

Adds URLs on the project’s domain. Plan page limit applies; duplicates, off-site and invalid URLs are counted, not added.

API key access
Read and write
Project permission
Edit pages
Success
200 — Processed

Parameters

Path

ParameterTypeNotes
id required string Project id

Request body

JSON, with Content-Type: application/json.

FieldTypeNotes
urls required array of string at least 1 item · at most 200 items

Example request

Replace tk_live_YOUR_KEY with your API key and the ids with your own.

curl -X POST 'https://trackerv2.marketingplanet.global/api/v1/projects/6650a4c2e1b3d5f7a9c1e301/pages' \
  -H 'Authorization: Bearer tk_live_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "urls": [
    "https://acmeretail.com/products/trail-runner-3",
    "https://acmeretail.com/sale",
    "https://othersite.com/not-ours"
  ]
}'

Example response

200 OK
{
  "data": {
    "added": 2,
    "duplicates": 0,
    "invalid": 0,
    "offsite": 1,
    "duplicateInBatch": 0,
    "capped": 0,
    "alreadyBroken": 0,
    "submitted": 3,
    "pagesCount": 130
  }
}

Response fields

FieldTypeNotes
data object
data.added integer
data.duplicates integer
data.invalid integer
data.offsite integer
data.duplicateInBatch integer
data.capped integer
data.alreadyBroken integer
data.submitted integer
data.pagesCount integer

Errors

Besides the errors any request can return (bad or missing key, plan, scope, rate limit), this endpoint can return:

Statuserror.codeMeaning
400invalid-requestA parameter or body field is missing or invalid; error.message says which.
400too-many-urlsMore than 200 URLs in one request. Split them into batches.
404not-foundThe resource does not exist or you cannot open it. Tracker does not reveal which.
403flag-editPagesYour project membership does not include editing pages.
403forbiddenThe account is restricted: reads still work, but changes that add or modify projects, pages or monitors are blocked (error.accountStatus is restricted).

Errors always look like { "error": { "code": "…", "message": "…" } }. See Errors & limits.