---
title: "Normalize a crawl request and preview its current modeled cost for free"
method: POST
path: "/api/v1/preflight"
tags: ["Discovery"]
---

# Normalize a crawl request and preview its current modeled cost for free

`POST /api/v1/preflight`

## Request

- Base URL: `https://xcatcher.top`
- URL: `https://xcatcher.top/api/v1/preflight`
- Auth: none required

Requires no authentication, creates no quote or task, and moves no funds. The later live 402 requirement remains authoritative.

## Request body

- CrawlPreflightRequest
  - `users` string[], required
  - `mode` 'normal' | 'deep'

## Response `200`

Normalized request and no-side-effect cost preview

- CrawlPreflight
  - `success` boolean, required
  - `normalized_request` object, required
    - `users` string[], required
    - `mode` 'normal' | 'deep', required
  - `estimate` object, required
    - `handle_count` integer, required
    - `cost_points` integer, required
    - `amount_usd` string, required
    - `amount_usdc_atomic` string, required
    - `asset` string, required
    - `network` string, required
    - `pricing_version` string, required
    - `pricing_model` 'progressive_normal_v1' | 'linear_deep_v1', required
    - `billing_basis` 'normalized_requested_handles', required
    - `minimum_task_usd` string, required
    - `applied_tiers` object[], required
      - `from_handle` integer, required
      - `to_handle` integer, required
      - `quantity` integer, required
      - `usd_per_handle` string, required
      - `subtotal_usd` string, required
  - `effects` object, required
    - `authentication_required` boolean, required
    - `creates_quote` boolean, required
    - `creates_task` boolean, required
    - `moves_funds` boolean, required
  - `next` object, required
  - `result_columns` string[], required

## Other responses

- `400`: Invalid mode or handle input

---

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