---
title: "Record hosted ETL run completion and freshness watermark"
method: POST
path: "/tenant/etl-runs/complete"
---

# Record hosted ETL run completion and freshness watermark

`POST /tenant/etl-runs/complete`

## Request

- Base URL: `https://api.gravityads.dev` (the document declares no server; this is the origin it was published from)
- URL: `https://api.gravityads.dev/tenant/etl-runs/complete`
- Auth: HTTP bearer

## Request body

- object
  - `run_id` string, required
  - `connection_id` string
  - `platform_account_id` string
  - `platform` 'google' | 'meta' | 'microsoft' | 'bing' | 'tiktok' | 'criteo' | 'media_go' | 'pinterest' | 'linkedin' | 'amazon', required
  - `account_id` string, required
  - `run_type` string
  - `source_type` string
  - `date_range_start` string, date
  - `date_range_end` string, date
  - `freshness_watermark` string, date
  - `source_observed_through` string, date
  - `extract_completed_through` string, date
  - `published_through` string, date
  - `serving_queryable_through` string, date
  - `source_response_hash` string
  - `zero_row_confirmed` boolean
  - `serving_verified` boolean
  - `freshness_status` string
  - `rows_synced` integer
  - `status` 'queued' | 'running' | 'succeeded' | 'partial' | 'failed', required
  - `error_code` string
  - `error_message` string
  - `retryable` boolean
  - `table_names` string[]
  - `stale_after_days` integer
  - `completed_at` string, date-time

## Response `200`

ETL run completion recorded

- object

---

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