> ## 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.

# Update measurement source

> Partially update a registered measurement source

`PATCH /api/v2/buyer/advertisers/{advertiserId}/measurement-sources/{sourceId}`

Updates a measurement source. Send only the fields you want to change; omitted fields keep their current values. `sourceKey` is fixed at creation and cannot be changed here.

## Request

<CodeGroup>
  ```bash curl theme={null}
  curl -X PATCH https://api.interchange.io/api/v2/buyer/advertisers/12345/measurement-sources/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
    -H "Authorization: Bearer $SCOPE3_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "status": "paused",
      "signalWeight": 0.5,
      "lagWeeks": 2
    }'
  ```
</CodeGroup>

## Parameters

| Field               | Type      | Required | Notes                                                               |
| ------------------- | --------- | -------- | ------------------------------------------------------------------- |
| `advertiserId`      | string    | Yes      | Path parameter — the owning advertiser                              |
| `sourceId`          | string    | Yes      | Path parameter — the source ID                                      |
| `name`              | string    | No       | Human-readable label                                                |
| `outcomeType`       | string    | No       | Primary outcome the source reports                                  |
| `outcomeTypes`      | string\[] | No       | Additional outcome types                                            |
| `granularity`       | string    | No       | Reporting grain (e.g. `geo_week`)                                   |
| `lagWeeks`          | integer   | No       | Expected reporting lag in weeks                                     |
| `cadence`           | enum      | No       | `continuous`, `daily`, `weekly`, `biweekly`, `monthly`, `quarterly` |
| `provider`          | string    | No       | Partner name                                                        |
| `ingestionMethod`   | string    | No       | How records arrive                                                  |
| `attributionConfig` | object    | No       | Free-form provider attribution settings                             |
| `signalWeight`      | number    | No       | Weight in belief updates, 0–1                                       |
| `status`            | enum      | No       | `pending`, `active`, `paused`                                       |
| `notes`             | string    | No       | Free-text notes                                                     |

## Response

```json theme={null}
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "advertiserId": "12345",
  "sourceKey": "acme_incr_rev",
  "name": "Acme Incrementality",
  "outcomeType": "incremental_revenue",
  "outcomeTypes": [],
  "granularity": "geo_week",
  "cadence": "weekly",
  "provider": "acme-mmm",
  "lagWeeks": 2,
  "signalWeight": 0.5,
  "status": "paused",
  "createdAt": "2026-01-15T10:30:00Z",
  "updatedAt": "2026-03-20T14:45:00Z"
}
```

Returns the full source after the patch.

## Errors

* `400 VALIDATION_ERROR` — invalid `cadence`/`status` or `signalWeight` outside 0–1.
* `404 NOT_FOUND` — `sourceId` (or `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="Get measurement source" href="/v2/buyer/measurement/tasks/get-measurement-source" icon="magnifying-glass">
    Read the current source
  </Card>
</CardGroup>
