---
title: "Metrics View Beacon"
method: POST
path: "/v1/metrics/view"
tags: ["metrics-beacon"]
---

# Metrics View Beacon

`POST /v1/metrics/view`

## Request

- Base URL: `https://api.storyflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.storyflo.com/v1/metrics/view`
- Auth: none declared

Record an onsite article page-view. Fire-and-forget — always 200,
never raises.

Flag OFF → accepted no-op (``recorded: false``). Flag ON → appends a
``distribution_events`` row (event_type=view, channel=onsite) unless an
identical (article, ip_hash) view already landed this UTC day, in which
case it returns ``recorded: false, reason: deduped``. A DB failure still
returns 200 with ``recorded: false`` so page loads are never disturbed.

## Request body

- ViewBeaconBody
  - `article_id` string, required
  - `ip` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/storyflo/apis/storyflo-inference-router.md) · [All operations](https://skmtc.dev/storyflo/apis/storyflo-inference-router/llms.txt) · [OpenAPI document](https://skmtc.dev/storyflo/apis/storyflo-inference-router/revisions/c3a1a735ac7a?raw)
