---
title: "Clear Calibration"
method: DELETE
path: "/api/v1/pages/{page_id}/calibration"
tags: ["pages"]
---

# Clear Calibration

`DELETE /api/v1/pages/{page_id}/calibration`

Return a page to the uncalibrated state.

Rejected 422 `page_calibration_clear_would_orphan_measurements` if live
page-scale measurements of any geometry kind exist — counts included,
ADR-0207 — and no on_orphan was supplied;
on_orphan=delete soft-deletes them in the same transaction. No
recompute. Idempotent on a fully-uncalibrated page.

Per docs/superpowers/specs/2026-07-17-rud146-clear-calibration-design.md §2.

## Path parameters

- `page_id` string, uuid, required

## Query parameters

- `revision_set_id` string, uuid, nullable, required
- `on_orphan` 'delete', nullable

## Response `200`

Successful Response

- ClearPageCalibrationResponse — Result of DELETE /pages/{page_id}/calibration. `deleted_measurement_count` counts the page-scale linear/area measurements soft-deleted via on_orphan=delete (0 when the page had none, or was already uncalibrated). Kept in the body — a caller passing on_orphan=delete up front never sees the 422's ids.
  - `page` PageDetail, required — Page + derived fields for the editor. `current_extraction_id` is `None` if the page hasn't been parsed yet; `text_element_count` is the number of text elements produced by that current extraction (zero if unparsed).
    - `id` string, uuid, required
    - `drawing_id` string, uuid, required
    - `page_number` integer, required
    - `sheet_number` string, nullable
    - `sheet_title` string, nullable
    - `width` string, required
    - `height` string, required
    - `view_x0` number, nullable, required
    - `view_y0` number, nullable, required
    - `view_x1` number, nullable, required
    - `view_y1` number, nullable, required
    - `user_unit` number, required
    - `rotate` integer, required
    - `scale` string, nullable
    - `scale_ratio` string, nullable
    - `calibration` CalibrationDataOutput — User-entered calibration tuple, the shape stored in pages.calibration JSONB.
      - `drawing_distance` string, required
      - `drawing_units` 'in' | 'ft' | 'mm' | 'cm' | 'm', required
      - `actual_distance` string, required
      - `actual_units` 'in' | 'ft' | 'mm' | 'cm' | 'm', required
      - `source` 'standard' | 'manual' | 'calibrate', required
      - `description` string, required
    - `scale_source` 'autoset' | 'user' | 'import', nullable
    - `synthetic` boolean
    - `scale_suggestion` PageScaleSuggestion — What the autoset detector read off this sheet, and how much we trust it. Present whenever the current `page_scale_results` row carries exactly one distinct real (non-NTS, ratio-bearing) candidate. Absent when the sheet states no scale AND when it states several — presenting one of several as "the sheet's scale" would be worse than showing nothing (RUD-315). `ratio` is ADR-0024 canonical form (real inches per PDF point). `measured_ratio` is populated only for `contradicted`, and carries whichever evidence disagreed with the notation: the mean implied ratio of the persisted witnesses when geometry contradicted it (ADR-0144), or the VLM's independently read notation when the two readers disagreed (RUD-353). Geometry takes precedence — a witness-backed contradiction always reports the witnesses.
      - `state` 'verified' | 'contradicted' | 'unverified', required
      - `notation` string, required
      - `ratio` string, required
      - `measured_ratio` string, nullable
    - `scale_read_count` integer
    - `has_takeoff` boolean, required
    - `has_note` boolean, required
    - `markup_count` integer, required
    - `open_markup_count` integer, required
    - `current_extraction_id` string, uuid, nullable
    - `sheet_number_source` 'vlm' | 'user', nullable
    - `sheet_title_source` 'vlm' | 'user', nullable
    - `text_element_count` integer
  - `deleted_measurement_count` integer, required

## Other responses

- `4XX` — Client Error
- `5XX` — Server Error

---

[API](https://skmtc.dev/rudus/apis/rudus-api.md) · [All operations](https://skmtc.dev/rudus/apis/rudus-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rudus/rudus-api/revisions/5673f72c8a5d/schema)
