---
title: "Get all fields for a document"
method: GET
path: "/api/v1/documents/{id}/fields"
tags: ["Documents"]
---

# Get all fields for a document

`GET /api/v1/documents/{id}/fields`

## Request

- Base URL: `https://api.korala.ai`
- URL: `https://api.korala.ai/api/v1/documents/{id}/fields`
- Auth: one of:
  - API key in header `X-API-Key`
  - `bearer` (a scheme the document does not define)

## Path parameters

- `id` string, required

## Response `200`

- FieldDto[]
  - `valueKey` string, nullable: Repeated text value key, scoped to the owning signer.
  - `id` string, required
  - `documentId` string, required
  - `signerId` string, required
  - `fieldType` 'signature' | 'initials' | 'date' | 'text' | 'checkbox' | 'dropdown' | 'radio', required
  - `pageNumber` number, required
  - `xPosition` number, required
  - `yPosition` number, required
  - `width` number, required
  - `height` number, required
  - `label` string, nullable: Human-readable label shown to the signer for this field
  - `required` string, required
  - `value` string, nullable
  - `editable` boolean, required: When true, a prefilled value is a suggestion the signer can change before signing.
  - `sharedFill` boolean, required: One signer owns the field, but until they sign any signer able to act may fill or correct it — the employer preparing a part the employee confirms. Never true on signature or initials fields.
  - `signingDate` boolean, nullable: Date fields only. True fills the field with the date the signer signs: the signing page shows today and the signer does not type it. False makes it an ordinary date the signer enters. Refused on any other type. Null on a date made before the flag existed: a date on the signer’s own signature line is then the date of signing.
  - `signatureImageUrl` string, nullable
  - `filledAt` string, date-time, nullable
  - `filledBy` 'sender' | 'signer': Who wrote the current value: the sender (a non-editable template prefill or a signing-packet lock) or the signer (any fill, including bulk signing on their behalf). Null while unfilled.
  - `signingDateChangedAt` string, date-time, nullable: When the signer changed the date beside their signature from the automatic date of signing to one of their own. Null otherwise.
  - `acroFieldName` string, nullable: Embedded AcroForm field this field is linked to; values fill the PDF form field at completion instead of being overlay-stamped.
  - `acroOptionValue` string, nullable: For radio-group AcroForm fields: the option this field selects.
  - `options` string[], nullable: Allowed values for dropdown fields
  - `maxLength` number, nullable: Maximum characters accepted at fill time
  - `inputMask` string, nullable: Input mask where # represents one digit
  - `validationPattern` string, nullable: Regex the filled value must match
  - `validationMessage` string, nullable: Signer-facing error when validationPattern does not match
  - `dateFormat` string, nullable: Date fields only: format the auto-filled date is rendered in, e.g. 'MM-DD-YYYY'
  - `groupKey` string, nullable
  - `groupRequired` boolean, required: Whether at least one member of this group must be selected
  - `requiredWhenFieldId` string, uuid, nullable: Id of the field whose checked/filled state makes this field required (conditional requirement); null when unconditional
  - `requiredWhenValue` string, nullable: Exact controller value the condition triggers on; null means any checked/filled state
  - `fontSize` number, nullable: Point size the value is drawn at, imported from the PDF form field. Null means the size is fitted to the box.
  - `textColor` string, nullable: Color the value is drawn in, as #rrggbb
  - `textAlign` 'left' | 'center' | 'right': Horizontal alignment of the value inside the field box
  - `fontFamily` string, nullable: Base font the value is drawn in, imported from the PDF form field
  - `multiline` boolean, required: Whether the value may contain line breaks (a multiline form field)
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `400`: Malformed UUID in path parameter (`id`).

---

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