Skip to content
API & IntegrationsDocumentation

API: Pages and Collection

Manage pages and trigger async page collection (crawl).

Page Endpoints

GET/v1/projects/:id/pagesAuthenticated

List pages in the project, ordered by creation date. Supports cursor pagination.

Query Parameters

NameTypeRequiredDescription
limitintegeroptionalPages to return. Default 50, max 500.
afterstringoptionalCursor from pagination.nextCursor to fetch the next page.
curl -H "x-api-key: $ABLELYTICS_API_KEY" \
  "https://api.ablelytics.com/v1/projects/PROJECT_ID/pages?limit=100"

Response

{
  "data": [
    {
      "id": "pageId",
      "url": "https://example.com/about",
      "title": "About Us",
      "statusCode": 200,
      "createdAt": "2024-01-15T09:00:00Z"
    }
  ],
  "pagination": {
    "limit": 50,
    "nextCursor": "cm9wa3BqMzQ1Ng",
    "hasMore": true
  }
}

Status Codes

200 OK401 Unauthorized404 Not Found500 Internal Server Error
POST/v1/projects/:id/pagesAuthenticated

Manually add a page to the project. Useful for pages behind authentication or not discoverable by the crawler.

curl -X POST https://api.ablelytics.com/v1/projects/PROJECT_ID/pages \
  -H "x-api-key: $ABLELYTICS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/dashboard","title":"User Dashboard"}'

Request Body

{
  "url": "https://example.com/dashboard",
  "title": "User Dashboard"
}

Response

{
  "data": {
    "id": "pageId",
    "url": "https://example.com/dashboard",
    "title": "User Dashboard",
    "statusCode": null,
    "createdAt": "2024-01-15T09:00:00Z"
  }
}

Status Codes

201 Created400 Bad Request401 Unauthorized404 Not Found500 Internal Server Error
DELETE/v1/projects/:id/pages/:pageIdAuthenticated

Remove a page from the project. Associated scan results are retained.

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

Response

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

Status Codes

200 OK401 Unauthorized404 Not Found500 Internal Server Error

Collect Pages (Crawl)

POST/v1/projects/:id/collect-pagesAuthenticated

Queue an async page collection job. The crawler discovers internal links from your project domain and adds them as pages. Returns immediately with a runId to poll.

curl -X POST \
  https://api.ablelytics.com/v1/projects/PROJECT_ID/collect-pages \
  -H "x-api-key: $ABLELYTICS_API_KEY"

Response

{
  "data": {
    "runId": "clxr7890",
    "status": "queued",
    "message": "Page collection started. Poll GET /v1/runs/clxr7890 for status."
  }
}

Status Codes

202 Accepted401 Unauthorized404 Not Found500 Internal Server Error
  • This is an async operation — response is 202 Accepted, not 200.
  • Poll GET /v1/runs/:runId every 5–10 seconds until status is done or failed.
  • Newly discovered pages are automatically added to the project.