Skip to content
API & IntegrationsDocumentation

API: Projects

List, create, update, configure settings, and delete projects.

Project Endpoints

GET/v1/projectsAuthenticated

List all projects in the authenticated organisation, ordered by creation date descending.

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

Response

{
  "data": [
    {
      "id": "clxk1234",
      "name": "Marketing Site",
      "domain": "https://example.com",
      "status": "active",
      "createdAt": "2024-01-15T09:00:00Z"
    }
  ]
}

Status Codes

200 OK401 Unauthorized403 Forbidden500 Internal Server Error
POST/v1/projectsAuthenticated

Create a new project under the authenticated organisation.

curl -X POST https://api.ablelytics.com/v1/projects \
  -H "x-api-key: $ABLELYTICS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Marketing Site","domain":"https://example.com"}'

Request Body

{
  "name": "Marketing Site",
  "domain": "https://example.com",
  "description": "Public-facing website"
}

Response

{
  "data": {
    "id": "clxk1234",
    "name": "Marketing Site",
    "domain": "https://example.com",
    "status": "active",
    "createdAt": "2024-01-15T09:00:00Z"
  }
}

Status Codes

201 Created400 Bad Request401 Unauthorized403 Forbidden500 Internal Server Error
PATCH/v1/projects/:idAuthenticated

Update project name, domain, description, or status. Only provided fields are changed.

curl -X PATCH https://api.ablelytics.com/v1/projects/PROJECT_ID \
  -H "x-api-key: $ABLELYTICS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Marketing Site v2"}'

Request Body

{
  "name": "Marketing Site v2",
  "status": "active"
}

Response

{
  "data": {
    "id": "clxk1234",
    "name": "Marketing Site v2",
    "domain": "https://example.com",
    "status": "active",
    "updatedAt": "2024-01-16T12:00:00Z"
  }
}

Status Codes

200 OK400 Bad Request401 Unauthorized404 Not Found500 Internal Server Error
PATCH/v1/projects/:id/settingsAuthenticated

Replace the settings object on the project. Used to configure crawl depth, page limits, and scan options.

curl -X PATCH https://api.ablelytics.com/v1/projects/PROJECT_ID/settings \
  -H "x-api-key: $ABLELYTICS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"settings":{"maxPages":500,"crawlDepth":5}}'

Request Body

{
  "settings": {
    "maxPages": 500,
    "crawlDepth": 5
  }
}

Response

{
  "data": {
    "id": "clxk1234",
    "settings": {
      "maxPages": 500,
      "crawlDepth": 5
    }
  }
}

Status Codes

200 OK401 Unauthorized404 Not Found500 Internal Server Error
DELETE/v1/projects/:idAuthenticated

Permanently delete a project and all associated pages, scans, runs, and reports. This action cannot be undone.

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

Response

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

Status Codes

200 OK401 Unauthorized404 Not Found500 Internal Server Error