---
title: "Start a scan of one of your verified domains (one per domain per 24 hours)"
method: POST
path: "/readiness/scan"
tags: ["readiness"]
---

# Start a scan of one of your verified domains (one per domain per 24 hours)

`POST /readiness/scan`

## Request

- Base URL: `https://portal.fractionalteams.com/api/v1`
- URL: `https://portal.fractionalteams.com/api/v1/readiness/scan`
- Auth: HTTP bearer

Asynchronous: answers 202 with the scan id; poll getReadinessScan until status is complete or partial (typically 5–30 s). The domain must be on the client's scan list and verified (DNS TXT or well-known file, set up on the portal account page). Requires the aeo scope and a key whose user holds the manage-integrations grant.

## Request body

- ReadinessScanRequest
  - `target` string, required: A domain on the client's scan list, e.g. www.example.com

## Response `200`

Never returned, documented for tooling that requires a 200; the success response is 202

- ReadinessScanStarted
  - `scan_id` integer, required
  - `domain` string, required
  - `status` 'running', required

## Other responses

- `202`: Scan started
- `401`: Missing or invalid API key (a malformed ftpk_ key never falls back to the demo workspace).
- `403`: Missing aeo scope, or the key's user cannot manage scan targets
- `404`: The domain is not on this client's scan list
- `409`: Target not verified, paused, or a scan is already running
- `429`: Rate limit exceeded (120 requests per minute per key). Honour Retry-After / RateLimit-Reset.

---

[API](https://skmtc.dev/fractionalteams/apis/fractional-teams-portal-api.md) · [All operations](https://skmtc.dev/fractionalteams/apis/fractional-teams-portal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fractionalteams/apis/fractional-teams-portal-api/revisions/9f81154af4dc?raw)
