---
title: "Download Assembly Dxf"
method: POST
path: "/api/assemblies/{slug}/dxf"
tags: ["assemblies"]
---

# Download Assembly Dxf

`POST /api/assemblies/{slug}/dxf`

## Request

- Base URL: `https://api.civilquants.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.civilquants.com/api/assemblies/{slug}/dxf`
- Auth: none declared

Stream the full CAD DXF for an assembly's current parameter set.

Mirrors the entitlement gate on POST /compute: anonymous → 402,
user without active subscription → 402. The DXF carries the same
9-cell title block + warranty disclaimer the paid Excel/PDF
artefacts do (CLAUDE.md pin 10 §15 invariant).

## Path parameters

- `slug` string, required

## Headers

- `authorization` string, nullable

## Request body

- CivilquantsApiRoutesAssembliesComputeRequest
  - `parameters` object
  - `standard` 'CESMM4' | 'NRM2' | 'SMM7' | 'MMHW', required
  - `project` ProjectMeta: Option C free-text Project entity per 25th-fire (filed 2026-05-19, in-scope for the architectural rewrite per INBOX 26th-fire Amendment C). Thin-slice precursor to a full Project entity in v1.1: just two optional free-text fields that the workspace surfaces at the top of every assembly form and that propagate to the BoQ header, the PDF cover sheet, and the DXF title block. No DB persistence, no cross-assembly rollup — those land in v1.1.
    - `name` string, nullable: Free-text project name, e.g. "Phase 2 Drainage Works".
    - `reference` string, nullable: Free-text project reference, e.g. "PRJ-2026-042".
  - `render_artefacts` boolean, nullable: Opt-in to eagerly render + persist the Excel/DXF/PDF export bundle (signed-URL artefacts) inline on this compute. Omitted / null / false means OFF, so the interactive workspace recompute path — debounced POST /compute on every parameter change — stays pure-engine fast and never launches the Puppeteer/Chromium PDF sidecar. Exports are fetched on demand via the dedicated /excel /pdf /dxf endpoints; only callers that genuinely want inline download URLs in one round-trip (e.g. an agent batch) set this True. Nullable default (mirroring `project`) keeps it an optional request field in the generated client. Still subject to the same server-side entitlement + export-gate checks.

## Response `200`

Streamed DXF file, content-type application/dxf.

## Other responses

- `422`: Validation Error

---

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