---
title: "Record a UTM-tagged landing arrival"
method: POST
path: "/api/landing/visit"
---

# Record a UTM-tagged landing arrival

`POST /api/landing/visit`

## Request

- Base URL: `https://app.atisbo.dev`
- URL: `https://app.atisbo.dev/api/landing/visit`
- Auth: none declared

Called by the marketing site's own beacon to attribute an outbound-email click to the lead it was sent to. Not useful to call directly: a request with no UTM parameters is accepted but produces no row, and no cookie, IP, or user agent is ever stored.

## Headers

- `X-API-Version` string

## Response `202`

Accepted (a row is written only if at least one UTM value was present).

- object
  - `ok` boolean, required
  - `recorded` boolean

## Other responses

- `400`: Malformed or invalid payload, or an X-API-Version header that is not a well-formed semantic version (code: invalid_api_version).
- `413`: Body exceeded the 4 KB limit.
- `429`: Rate limit reached for this IP.

---

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