---
title: "Check the user's UI against real references"
method: POST
path: "/api/v1/checks"
tags: ["checks"]
---

# Check the user's UI against real references

`POST /api/v1/checks`

## Request

- Base URL: `https://screenrove.com`
- URL: `https://screenrove.com/api/v1/checks`
- Auth: none declared

Compare the user's UI structure against Screenrove's catalog of real products. Describe what
the user has (screen type, sections, flow steps, plan count) and get a report showing the
closest real-world references with factual comparisons.

Use only the fields the user provides; leave out personal names, pricing, or customer data.
The report includes step counts, section counts, observed actions, and factual comparisons—
not recommendations.

Use this when the user wants to validate their UI against real products, understand if their
flow has more or fewer steps than competitors, or see how similar screens are structured.

## Request body

- object
  - `description` string, required: One or two sentences on what the screen is for and how it is laid out, e.g. "Pricing page with three plan cards, a monthly/yearly toggle and a feature table".
  - `screenType` 'landing' | 'pricing' | 'feature-page' | 'sign-up' | 'sign-in' | 'verification' | 'onboarding-step' | 'plan-picker' | 'empty-state' | 'dashboard' | 'list' | 'detail' | 'create-form' | 'search' | 'picker' | 'booking' | 'checkout' | 'marketplace' | 'settings' | 'docs' | 'menu' | 'lesson': What kind of screen it is.
  - `sections` string[]: Page sections top to bottom, e.g. ["Hero", "Plan cards", "FAQ"].
  - `flowSteps` string[]: For a multi-screen flow, each step's title in order, e.g. ["Sign up", "Verify email", "Create workspace"].
  - `flowType` 'signup-onboarding' | 'search' | 'checkout' | 'booking' | 'marketplace': What the flow does, so step counts are only compared with flows of the same kind. Inferred from screenType when omitted.
  - `primaryAction` string: The main button or action, e.g. "Start free trial".
  - `planCount` integer: For pricing screens, how many plans are shown.
  - `kind` 'flow' | 'marketing' | 'product': Only compare with this kind of capture.
  - `product` string: Only compare with this product id.
  - `limit` integer: How many references to return, 1 to 5.

## Response `200`

Closest references with comparisons.

- CheckResult
  - `report` string: Markdown summary of the comparison.
  - `references` object[]
    - `id` string
    - `product` string
    - `kind` 'flow' | 'marketing' | 'product': flow is an onboarding step, marketing a public web page, product an in-app screen.
    - `title` string
    - `notes` string
    - `imageUrl` string
    - `previewUrl` string: Screen-sized preview (the top of long pages). Present on pick options.
    - `productName` string: Present on pick options.
    - `screenType` string
    - `why` string
    - `facts` string[]
  - `next` string

## Other responses

- `400`: The request could not be used.

---

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