Skip to content
API & IntegrationsDocumentation

API: Page Sets

Create and manage page sets for focused scans and reports.

Page Set Endpoints

GET/v1/projects/:id/page-setsAuthenticated

List all page sets for the project.

curl -H "x-api-key: $ABLELYTICS_API_KEY" \
  https://api.ablelytics.com/v1/projects/PROJECT_ID/page-sets

Response

{
  "data": [
    {
      "id": "setId",
      "name": "Checkout Flow",
      "filterSpec": { "regex": "/checkout" },
      "pageCount": 12,
      "createdAt": "2024-01-15T09:00:00Z"
    }
  ]
}

Status Codes

200 OK401 Unauthorized404 Not Found500 Internal Server Error
POST/v1/projects/:id/page-setsAuthenticated

Create a page set using a URL filter pattern, explicit page IDs, or both.

curl -X POST https://api.ablelytics.com/v1/projects/PROJECT_ID/page-sets \
  -H "x-api-key: $ABLELYTICS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Checkout Flow","regex":"/checkout"}'

Request Body

{
  "name": "Checkout Flow",
  "regex": "/checkout",
  "excludePatterns": ["/checkout/success"],
  "pageIds": ["pageA", "pageB"]
}

Response

{
  "data": {
    "id": "setId",
    "name": "Checkout Flow",
    "filterSpec": {
      "regex": "/checkout",
      "excludePatterns": ["/checkout/success"]
    },
    "pageCount": 14
  }
}

Status Codes

201 Created400 Bad Request401 Unauthorized404 Not Found500 Internal Server Error
PATCH/v1/projects/:id/page-sets/:setIdAuthenticated

Update a page set's name, filter pattern, or explicit page list.

curl -X PATCH \
  https://api.ablelytics.com/v1/projects/PROJECT_ID/page-sets/SET_ID \
  -H "x-api-key: $ABLELYTICS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Checkout Primary"}'

Request Body

{
  "name": "Checkout Primary",
  "pageIds": ["pageA", "pageB", "pageC"]
}

Response

{
  "data": {
    "id": "setId",
    "name": "Checkout Primary",
    "pageCount": 3,
    "updatedAt": "2024-01-16T12:00:00Z"
  }
}

Status Codes

200 OK401 Unauthorized404 Not Found500 Internal Server Error
DELETE/v1/projects/:id/page-sets/:setIdAuthenticated

Delete a page set. Does not delete the pages it referenced.

curl -X DELETE \
  https://api.ablelytics.com/v1/projects/PROJECT_ID/page-sets/SET_ID \
  -H "x-api-key: $ABLELYTICS_API_KEY"

Response

{
  "data": { "id": "setId", "deleted": true }
}

Status Codes

200 OK401 Unauthorized404 Not Found500 Internal Server Error
GET/v1/projects/:id/page-sets/:setId/pagesAuthenticated

Resolve and return the pages that belong to this set, applying filter patterns against the project's page list.

Query Parameters

NameTypeRequiredDescription
limitintegeroptionalPages to return. Default 50, max 500.
afterstringoptionalPagination cursor.
curl -H "x-api-key: $ABLELYTICS_API_KEY" \
  https://api.ablelytics.com/v1/projects/PROJECT_ID/page-sets/SET_ID/pages

Response

{
  "data": [
    { "id": "pageId", "url": "https://example.com/checkout", "title": "Checkout" }
  ],
  "pagination": { "limit": 50, "nextCursor": null, "hasMore": false }
}

Status Codes

200 OK401 Unauthorized404 Not Found500 Internal Server Error