> ## Documentation Index
> Fetch the complete documentation index at: https://docs.interchange.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get measurement freshness

> Find gaps in measurement coverage relative to the flight schedule

`GET /api/v2/buyer/advertisers/{advertiserId}/measurement-freshness`

Checks for gaps in measurement data coverage relative to a flight schedule and the registered source cadence. Run this during flight to confirm data is actually arriving for the geos and weeks you expect.

## Request

<CodeGroup>
  ```bash curl theme={null}
  curl "https://api.interchange.io/api/v2/buyer/advertisers/12345/measurement-freshness?flightStart=2026-03-01&flightEnd=2026-04-30&geos=US-CA,US-OR,US-WA" \
    -H "Authorization: Bearer $SCOPE3_API_KEY"
  ```
</CodeGroup>

## Parameters

| Field          | Type   | Required | Notes                                                       |
| -------------- | ------ | -------- | ----------------------------------------------------------- |
| `advertiserId` | string | Yes      | Path parameter — the owning advertiser                      |
| `flightStart`  | string | Yes      | Date `YYYY-MM-DD` start of the flight window                |
| `flightEnd`    | string | No       | Date `YYYY-MM-DD` end of the flight window. Defaults to now |
| `geos`         | string | Yes      | Comma-separated geos to check coverage for                  |

## Response

```json theme={null}
{
  "gaps": [
    {
      "source": "acme_orders",
      "sourceName": "Acme Orders",
      "outcomeType": "incremental_revenue",
      "cadence": "weekly",
      "lagWeeks": 1,
      "expectedWeekStart": "2026-04-01T00:00:00Z",
      "expectedWeekEnd": "2026-04-07T23:59:59Z",
      "geosMissing": ["US-WA"],
      "geosPresent": ["US-CA", "US-OR"],
      "daysOverdue": 12
    }
  ],
  "totalMissing": 1,
  "mostOverdue": {
    "source": "acme_orders",
    "sourceName": "Acme Orders",
    "outcomeType": "incremental_revenue",
    "cadence": "weekly",
    "lagWeeks": 1,
    "expectedWeekStart": "2026-04-01T00:00:00Z",
    "expectedWeekEnd": "2026-04-07T23:59:59Z",
    "geosMissing": ["US-WA"],
    "geosPresent": ["US-CA", "US-OR"],
    "daysOverdue": 12
  },
  "lastUploadDate": "2026-04-19T08:00:00Z",
  "baselineCoverage": {
    "weeksPresent": 7,
    "weeksExpected": 8,
    "geosPresent": 2,
    "geosExpected": 3
  }
}
```

`gaps[]` lists each source / week / geo combination where expected data has not arrived. `totalMissing` is the gap count; `mostOverdue` is the single gap with the highest `daysOverdue` (or `null` when there are none). `lastUploadDate` is the most recent record received (or `null`), and `baselineCoverage` summarizes how many expected weeks and geos are present (or `null` when no flight baseline is configured).

## Errors

* `400 VALIDATION_ERROR` — missing `flightStart` or `geos`, or a malformed date.
* `404 NOT_FOUND` — `advertiserId` does not exist or is not visible to the authenticated account.

See [Errors](/v2/reference/errors) for the full error contract.

## Related

<CardGroup cols={2}>
  <Card title="Measurement tasks" href="/v2/buyer/measurement/tasks" icon="list-check">
    All measurement operations
  </Card>

  <Card title="Measurement overview" href="/v2/guides/measurement-incrementality" icon="chart-line">
    Pipeline, belief state, and concepts
  </Card>

  <Card title="Upload measurement records" href="/v2/buyer/measurement/tasks/upload-measurement-records" icon="upload">
    Fill the gaps with outcome records
  </Card>
</CardGroup>
