---
title: "Run or read the cached public visibility scan for a domain"
method: POST
path: "/api/scan"
tags: ["Public"]
---

# Run or read the cached public visibility scan for a domain

`POST /api/scan`

## Request

- Base URL: `https://www.hireeli.io`
- URL: `https://www.hireeli.io/api/scan`
- Auth: none declared

Anonymous and public-tenant isolated. The seven-day cache, domain lease and public request/cost caps are reused; callers cannot request a fresh-cache bypass.

## Request body

- ScanRequest
  - `domain` string, required

## Response `200`

Public scan result.

- ScanResult
  - `domain` string, required
  - `score` integer, required
  - `visibility` integer, nullable
  - `readability` integer, required
  - `usability` integer, required
  - `quotes` object[]
  - `gaps` object[]
  - `scannedAt` string, date-time, required

## Other responses

- `400`: Invalid domain.
- `429`: Request or durable protocol cap reached.
- `503`: A required security, billing, cap, audit, evidence or storage check is unavailable. Writes fail closed.

---

[API](https://skmtc.dev/hireeli/apis/eli-api.md) · [All operations](https://skmtc.dev/hireeli/apis/eli-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hireeli/apis/eli-api/revisions/3272729fecd2?raw)
