---
title: "Describe a DXF drawing as structured JSON"
method: GET
path: "/describe"
---

# Describe a DXF drawing as structured JSON

`GET /describe`

## Request

- Base URL: `https://aspicio-api.frontsail.app`
- URL: `https://aspicio-api.frontsail.app/describe`
- Auth: none required

Returns units, bounds and size, entity and segment counts, per-layer entries with the color actually drawn, per-type entity counts, skipped (unsupported) types, and the drawing's text content (title blocks and dimension values included). Use for structural questions — layers, counts, dimensions, what the drawing says.

## Query parameters

- `src` string, uri, required
- `space` string

## Response `200`

Structured summary of the drawing

- DrawingSummary
  - `format` string, required: Which format was read ("dxf", "pdf")
  - `units` string, required: Drawing unit label ("mm", "in", …) or "" when unitless
  - `bounds` object, nullable, required: World-space extents, or null for an empty drawing
    - `minX` number, required
    - `minY` number, required
    - `maxX` number, required
    - `maxY` number, required
  - `size` object, nullable, required: Bounding-box size in drawing units
    - `width` number, required
    - `height` number, required
  - `space` string, nullable, required: Which space this summary is scoped to, or null when it covers the whole drawing (in which case bounds/size describe spaces[0], the space render returns)
  - `entityCount` integer, required
  - `segmentCount` integer, required
  - `spaces` SpaceSummary[], required: Every space in the drawing (a PDF's pages, a DXF's model space and layouts), model space first. These do not sum to entityCount: a DXF sheet's viewports re-show model geometry, so an entity can be drawn in two spaces while existing once
    - `name` string, required: Pass to the `space` parameter to scope to it
    - `entityCount` integer, required
    - `segmentCount` integer, required
    - `bounds` object, nullable, required
      - `minX` number, required
      - `minY` number, required
      - `maxX` number, required
      - `maxY` number, required
    - `size` object, nullable, required
      - `width` number, required
      - `height` number, required
  - `layers` LayerSummary[], required
    - `name` string, required
    - `entityCount` integer, required
    - `visible` boolean, required
    - `color` string, required: The color actually drawn on this layer (entity overrides included), #rrggbb
  - `entityTypes` object, required: Top-level entities per DXF type
  - `unsupported` object, required: Per-type counts of skipped (unsupported) entities
  - `texts` string[]: Unique TEXT/MTEXT strings, including inside blocks reachable via inserts and dimensions (title blocks, dimension values)

## Other responses

- `400`: Bad input (missing/invalid src, unknown space, private address refused)
- `413`: DXF exceeds the 8 MB limit
- `422`: The file could not be parsed as DXF
- `429`: Rate limit exceeded (per client IP)
- `502`: Fetching the src URL failed

---

[API](https://skmtc.dev/frontsail/apis/aspicio-dxf-and-pdf-api.md) · [All operations](https://skmtc.dev/frontsail/apis/aspicio-dxf-and-pdf-api/llms.txt) · [OpenAPI document](https://skmtc.dev/frontsail/apis/aspicio-dxf-and-pdf-api/revisions/4a240a4a33d3?raw)
