---
title: "Export an area of a sheet with its markups as a PDF"
method: POST
path: "/v1/blueprints/{blueprint_id}/markups/clip"
tags: ["Blueprints / Markups"]
---

# Export an area of a sheet with its markups as a PDF

`POST /v1/blueprints/{blueprint_id}/markups/clip`

## Request

- Base URL: `https://api.kamai.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kamai.io/v1/blueprints/{blueprint_id}/markups/clip`
- Auth: HTTP bearer

Clip & export: a one-page PDF (A4 or Letter) of the boxed area with its markups, a
title block, a notes list and a small key plan, as a short-lived download link (`url`,
valid for `expires_in` seconds). Use it to send one part of a drawing for review.
The rest of the sheet stays inside the file, cropped out of view.

409 when the sheet's PDF is not available; 422 for a bad box or a sheet too large to
clip (export the whole sheet instead).

## Path parameters

- `blueprint_id` string, required

## Request body

- ClipBody
  - `box` number[], required: [x0, y0, x1, y1], the area to clip, fractions of the page.
  - `page` 'A4' | 'Letter': Paper size of the PDF.
  - `notes` boolean: Add a notes list: each markup in the area with its Δ number or kind, its text and its room.
  - `key_plan` boolean: Add a small key plan showing where the area sits on the sheet.
  - `lang` string: Language of the PDF's labels: en, he, ar, fr, es or de (others read English); he and ar lay out right to left.
  - `expires_in` integer: Seconds the download link stays valid, 60..3600.

## Response `200`

Successful Response

- ClipResponse
  - `blueprint_id` string, required: The sheet.
  - `name` string, required: The sheet's label, as printed in the title block of the clip.
  - `url` string, required: A signed download link to the PDF; it stops working after `expires_in` seconds.
  - `file_name` string, required: The PDF's file name.
  - `bytes` integer, required: The PDF's size in bytes.
  - `expires_in` integer, required: Seconds the link stays valid.
  - `page` 'A4' | 'Letter', required: The paper size.
  - `markups` integer, required: Markups that fall inside the clipped area.

## Other responses

- `404`: The sheet is not in one of your projects, or the markup is not on this sheet.
- `409`: The sheet has no page size yet (still processing), or, for a clip, its PDF is not available.
- `422`: The request is refused. A bad box, or a sheet too large to clip. These answer `{"detail": {"error", "details"}}`. A parameter or body field of the wrong type or out of its range is refused before the request is read, with `{"detail": [{"loc", "msg", "type"}, ...]}`.
- `503`: Markups are not available on this server yet.

---

[API](https://skmtc.dev/kamai/apis/kamai-api.md) · [All operations](https://skmtc.dev/kamai/apis/kamai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kamai/apis/kamai-api/revisions/78f938546270?raw)
