---
title: "POST /v2/reporting/observations"
method: POST
path: "/v2/reporting/observations"
tags: ["reporting"]
---

# POST /v2/reporting/observations

`POST /v2/reporting/observations`

## Request

- Base URL: `https://api.aifinpay.io`
- URL: `https://api.aifinpay.io/v2/reporting/observations`
- Auth: API key in header `AIFP-Reporting-Token`

Reporting v2: observations never authorize payments or access. Current scope and explicit coverage; no-store. Capability is header-only; strict registered/first-party Origin checks also apply. Default-off operator flag; independent approval and deployment are separate.

## Headers

- `Origin` string, uri, required

## Request body

- ReportingBrowserEvent
  - `version` 2, required
  - `id` string, uuid, required
  - `name` 'paywall_viewed' | 'payment_link_opened' | 'merchant_onboarding_opened', required
  - `at` string, date-time, required

## Response `200`

Evidence-bound reporting response

- ReportingAck
  - `version` 2, required
  - `accepted` integer, required
  - `duplicates` integer, required
  - `received_at` string, date-time, required

## Other responses

- `400`: Safe reporting error; no payload or credential echo
- `401`: Safe reporting error; no payload or credential echo
- `403`: Safe reporting error; no payload or credential echo
- `404`: Safe reporting error; no payload or credential echo
- `409`: Safe reporting error; no payload or credential echo
- `410`: Safe reporting error; no payload or credential echo
- `413`: Safe reporting error; no payload or credential echo
- `422`: Safe reporting error; no payload or credential echo
- `429`: Safe reporting error; no payload or credential echo
- `503`: Safe reporting error; no payload or credential echo

---

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