Skip to main content
GET /v1/scans

List Scans.

List scans for your organization with optional filtering by status and type. Results are ordered by creation time, newest first.

Authentication

Requires a valid API key. Only returns scans belonging to your organization.

Query parameters

Parameter Type Default Description
limit integer 20 Number of scans to return (1-100).
offset integer 0 Number of scans to skip for pagination.
status string all Filter by status: queued, scanning, completed, partial, failed.
type string all Filter by scan type: security, performance, accessibility, seo.

Response

{
  "scans": [
    {
      "id": "scan_abc123",
      "type": "security",
      "url": "https://example.com",
      "status": "completed",
      "score": 72,
      "grade": "C",
      "created_at": "2026-03-30T12:00:00Z",
      "completed_at": "2026-03-30T12:01:15Z"
    },
    {
      "id": "scan_def456",
      "type": "accessibility",
      "url": "https://example.com",
      "status": "scanning",
      "score": null,
      "grade": null,
      "created_at": "2026-03-30T12:02:00Z",
      "completed_at": null
    }
  ],
  "total": 42,
  "limit": 20,
  "offset": 0,
  "quota": {
    "used": 42,
    "limit": 200,
    "remaining": 158,
    "tier": "PRO"
  }
}

Response fields

Field Type Description
scans array List of scan objects with id, type, url, status, score, grade, and timestamps.
total integer Total number of scans matching the filter criteria.
limit integer The limit used for this request.
offset integer The offset used for this request.
quota object Current month's usage and quota for your organization.

Code example

# List completed security scans, page 2
curl "https://appvet.dev/v1/scans?status=completed&type=security&limit=20&offset=20" \
  -H "Authorization: Bearer avk_live_your_key_here"

Error responses

Status Code Description
400 INVALID_PARAMS Invalid query parameter value (e.g., limit out of range, unknown status).
401 UNAUTHORIZED Missing or invalid API key.