---
title: "vision.ui.check · OpenVibe.Services"
canonical: "https://openvibe.services/docs/capabilities/vision.ui.check"
updated: null
---

# vision.ui.check · OpenVibe.Services

HTML: [vision.ui.check · OpenVibe.Services](https://openvibe.services/docs/capabilities/vision.ui.check)

# `vision.ui.check`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

Not grantable to apps (active, first-party).

Run OpenVibe.Vision's UI check: POST /api/v1/ui-check takes HTML, a public URL or a screenshot plus an optional viewport and returns overflow, cut-off text, low contrast, overlap and layering findings with counts and severity; GET /api/v1/ui-checks/:id reads a saved check. OpenVibe.Design's Arena is the caller today; a signed-in person may also use it. The check runs entirely on Vision's host (static HTML/CSS parsing, or OCR boxes and pixel sampling for a screenshot): it executes no JavaScript and fetches only a public URL through the SSRF guard.

- Owner: vision (token audience `openvibe.vision`)
- Version: 1.0
- Status: active
- Visibility: first-party
- Resource constraints: none
- Quota class: vision-ui-check
- Permissions: vision:ui-check
- Input: [vision.ui-check-request@1](/docs/contracts/vision.ui-check-request)
- Output: vision.ui-check-result@1
- Events: —
- Implemented by: - `POST /api/v1/ui-check`
- `GET /api/v1/ui-checks/:id`

[These routes in the API explorer](/docs/api/vision#cap-vision.ui.check)
