---
title: "Landing passport — free"
method: POST
path: "/landings/check"
tags: ["Landings"]
---

# Landing passport — free

`POST /landings/check`

## Request

- Base URL: `https://vibemarketolog.ru/api/agent`
- URL: `https://vibemarketolog.ru/api/agent/landings/check`
- Auth: HTTP bearer

Real-browser check at 1280/390/360 px before launch: mobile horizontal scroll, CTA on the first screen, lead form with 152-FZ consent, privacy link, no external CDN, first-screen media, readability, H1. vm-gen:ID references to your own generations are resolved. 30 checks per hour.

## Request body

- object
  - `html` string, required
  - `html_b` string
  - `assets` object[]
    - `path` string, required
    - `content_base64` string, required

## Response `200`

OK

## Other responses

- `402`: insufficient_balance / email_confirmation_required
- `403`: sandbox_not_allowed
- `422`: passport_failed / bad_input / variant_b_identical
- `429`: rate_limited / daily_spend_limit_exceeded / already_running

---

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