---
title: "GET /v1/projects/{project_id}/ai-traffic/coverage"
method: GET
path: "/v1/projects/{project_id}/ai-traffic/coverage"
tags: ["ai-traffic"]
---

# GET /v1/projects/{project_id}/ai-traffic/coverage

`GET /v1/projects/{project_id}/ai-traffic/coverage`

## Request

- Base URL: `https://api.citeladder.com`
- URL: `https://api.citeladder.com/v1/projects/{project_id}/ai-traffic/coverage`
- Auth: HTTP bearer

## Path parameters

- `project_id` string, uuid, required

## Query parameters

- `range` string, nullable
- `start_date` string, date, nullable
- `end_date` string, date, nullable
- `purpose` string, nullable
- `verification` string, nullable
- `bot_id` string, nullable
- `status` integer, nullable
- `folder` string, nullable
- `resource_class` string, nullable
- `cursor` string, nullable
- `limit` integer, nullable

## Response `200`

Successful Response

- CrawlCoverageResponse
  - `items` object[], required
    - `source_id` string, uuid, required
    - `reporting_date` string, required
    - `reporting_timezone` string, required
    - `coverage` 'complete' | 'declared_complete' | 'partial' | 'unknown', required
    - `reason` string, required
    - `batch_count` number, required
    - `heartbeat_count` number, required
    - `max_gap_minutes` number, required
  - `sources` CrawlSource[], required
    - `id` string, uuid, required
    - `kind` 'webhook' | 'pull' | 'upload', required
    - `setup` 'cloudflare_worker' | 'cloudflare_logpush' | 'aws_firehose' | 'gcp_pubsub_pull' | 'custom' | 'upload', required
    - `preset` string, required
    - `buffer_interval_seconds` number, nullable, required
    - `format` string, required
    - `collection_point` string, required
    - `sampling` union, required
      - object
        - `kind` 'none', required
      - object
        - `kind` 'sampled', required
        - `rate` number, required
      - object
        - `kind` 'filtered', required
        - `description` string, required
    - `origin` string, required
    - `host` string, required
    - `status` 'active' | 'revoked', required
    - `state` 'active' | 'awaiting_verification' | 'stalled' | 'revoked', required
    - `stall_reason` 'no_receipts' | 'not_in_plan' | 'oversize' | 'verification_failed', required
    - `stalled_at` string, nullable, required
    - `pull` object, nullable, required
      - `subscription` string, required
      - `verification_nonce` string, required
      - `verified_at` string, nullable, required
      - `verification_checked_at` string, nullable, required
      - `verification_failure` 'label_mismatch' | 'push_subscription' | 'ack_deadline' | 'permission_denied' | 'not_found' | 'unavailable', required
      - `filter_catalog_version` string, required
      - `filter_confirmed_at` string, nullable, required
      - `filter_current` boolean, required
      - `declared_sample_rate` number, required
      - `last_pull_at` string, nullable, required
      - `last_drained_at` string, nullable, required
    - `token_prefix` string, nullable, required
    - `connection` 'not_connected' | 'awaiting_data' | 'connected', required
    - `last_accepted_batch` string, nullable, required
    - `last_processed_at` string, nullable, required
    - `rejected_lines` number, required
    - `overlapping_lines` number, required
    - `unsupported_uploads` number, required
    - `unsupported_batches` number, required
  - `next_cursor` string, nullable, required

---

[API](https://skmtc.dev/citeladder/apis/citeladder-api.md) · [All operations](https://skmtc.dev/citeladder/apis/citeladder-api/llms.txt) · [OpenAPI document](https://skmtc.dev/citeladder/apis/citeladder-api/revisions/8c9f6aea40c2?raw)
