---
title: "Get Document Placement"
method: GET
path: "/api/documents/{document_id}/placement"
tags: ["documents"]
---

# Get Document Placement

`GET /api/documents/{document_id}/placement`

## Request

- Base URL: `https://zsign.io` (the document declares no server; this is the origin it was published from)
- URL: `https://zsign.io/api/documents/{document_id}/placement`
- Auth: HTTP bearer

Owner-facing field positions + page geometry for a sent envelope.

Same JSON shape GET /api/documents/drafts/{id} returns, so the document
details overlay can reuse the editor's wire<->crop conversion
(frontend draftService.wireFieldToEditorField) instead of inventing a
third coordinate contract. JWT/org-scoped like /content -- this is a
dashboard internal, not the API-key GET /api/v1/documents/{id}/fields
(submitted values). Missing tags are an empty `parsed_fields` list,
not a 404: the owner still needs to see that nothing was placed.
A missing source PDF is also not a 404: stored `parsed_fields`
still return so a completed visual-placement envelope does not
look like a tag-less upload (AZL-178).

## Path parameters

- `document_id` string, uuid, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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