---
title: "Can this PDF be converted to CAD, and what does it cost this user?"
method: GET
path: "/documents/{document_id}/cad"
tags: ["CAD"]
---

# Can this PDF be converted to CAD, and what does it cost this user?

`GET /documents/{document_id}/cad`

## Request

- Base URL: `https://api.aginera.ai/partner/v1`
- URL: `https://api.aginera.ai/partner/v1/documents/{document_id}/cad`
- Auth: OAuth 2 (authorization code, authorization URL `https://auth.aginera.ai/oauth/authorize`, token URL `https://auth.aginera.ai/oauth/token`; client credentials, token URL `https://login.microsoftonline.com/65f567a9-6e6a-4f81-863c-aea4ece1f8eb/oauth2/v2.0/token`, scopes: `cad:convert`)

Checks a ready PDF document (vector linework, or a scan that traces) and returns the website's own pricing for this user: DXF of every sheet is free (watermarked on free accounts); a clean DWG is a one-time $2 purchase per document (or 40 credits for paying customers); files over 50 MB are part of that purchase; paid plans are not charged. Converts and charges nothing. Requires a delegated (user) token — a service credential gets consent_required.

## Path parameters

- `document_id` string, required

## Response `200`

OK

- CadStatus
  - `document_id` string, required
  - `filename` string, required
  - `convertible` boolean, required: Whether Aginera can turn this PDF into CAD (vector linework, or a scan that traced to linework).
  - `reason` string, nullable, required: Why not, when convertible is false: not_pdf, raster_or_unreadable, no_vector_linework.
  - `page_count` integer, nullable, required
  - `scan_traced` boolean, required
  - `trade_hint` object, nullable, required
    - `trade` string, nullable, required
    - `label` string, nullable, required
    - `confidence` number, required
  - `access` 'purchased' | 'unlocked' | 'free', required: purchased = the $2 CAD file was bought for this document; unlocked = a paid plan (no gate); free = free tier (DXF watermarked, DWG needs the purchase).
  - `paid` boolean, required: The cad_dwg purchase exists for this document.
  - `pricing` object, required
    - `mode` 'dwg_paid' | 'first_sheet_free', required
    - `dxf` object, required
      - `price_usd` number, required
      - `watermarked` boolean, required
      - `note` string, required
    - `dwg` object, required
      - `usd_cents` integer, required
      - `price_usd` number, required
      - `credits` integer, required
      - `purchase_required` boolean, required
      - `note` string, required
    - `local_currency_note` string, required
  - `size` object, required
    - `min_dxf_mb` number, nullable, required
    - `free_size_exceeded` boolean, required
  - `next_step` string, required

## Other responses

- `default`: Error (RFC 7807)

---

[API](https://skmtc.dev/aginera/apis/aginera-takeoff-estimation-api.md) · [All operations](https://skmtc.dev/aginera/apis/aginera-takeoff-estimation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/aginera/apis/aginera-takeoff-estimation-api/revisions/39115958da1e?raw)
