{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/formify-eu/json-schema/formify-eu-template-signature-field-schema.json",
  "title": "TemplateSignatureField",
  "description": "A signature field as stored on a template, returned by `GET /templates/{templateId}`.\n\nThis is a **read-only** shape. It mirrors `SignatureField`, but describes what the template has saved\nrather than what you may send, so it differs in three ways:\n\n- `signatureType` can additionally be `not_set`, for legacy fields saved before a signature type was\n  required. Such a field cannot be posted back unchanged — pick a real type when you create the document.\n- `phoneNumberDeliveryMethod` and `disableInvitationMessage` are never returned: they are not stored on a\n  template, they are chosen per document.\n- `signatureBox` is `null` when `signaturePlacement` is `new_page`, and `idScanBox` is `null` unless the\n  field has ID-scan coordinates stored.\n\nEvery other value round-trips: you can take a field from here, add the signee's contact details, and pass\nit straight to `POST /docs` as part of `signeeDetails`.",
  "x-generated": "2026-11-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/formify-eu-openapi.json#/components/schemas/TemplateSignatureField",
  "type": "object",
  "properties": {
    "fullName": {
      "type": [
        "string",
        "null"
      ],
      "description": "What the field is called on the template. Often a **role label** such as `\"Buyer\"` rather than a\nperson, since a template is usually built before its signers are known. Replace it with the real\nname when you create a document from the template."
    },
    "emailAddress": {
      "type": [
        "string",
        "null"
      ],
      "format": "email",
      "description": "Email address of the contact stored on this field, if the template has one."
    },
    "phoneNumber": {
      "type": [
        "string",
        "null"
      ],
      "description": "Phone number of the contact stored on this field, if the template has one."
    },
    "signatureType": {
      "type": "string",
      "enum": [
        "digital_ink",
        "bankid_identification",
        "digital_ink_id_scan",
        "face_liveness",
        "not_set"
      ],
      "description": "Type of signature / identity verification method stored on the field.\n\n- `digital_ink`: The signee draws their signature using a mouse, touchpad, or finger.\n- `bankid_identification`: The signee signs using Swedish BankID (requires `signatureBankId` capability).\n- `digital_ink_id_scan`: The signee verifies identity with an ID scan and then signs with digital ink (requires `signatureIdScan` capability). A document created from this template will contain an image of the signee's identity document — see the legal basis note on `signatureType` under `POST /docs`.\n- `face_liveness`: The signee verifies identity using an ID scan together with a video selfie biometric liveness check (requires `signatureFaceLiveness` capability).\n- `not_set`: No type is stored on this field. Read-only — choose one of the values above when creating a document from this template."
    },
    "signaturePlacement": {
      "type": "string",
      "enum": [
        "existing",
        "new_page"
      ],
      "default": "existing",
      "description": "Whether the signature sits on an existing page (`existing`) or on a signature page appended to the document (`new_page`)."
    },
    "signatureBox": {
      "type": [
        "object",
        "null"
      ],
      "description": "Placement of the signature field on the page. `null` when `signaturePlacement` is `new_page`.\n\nBase size before scaling:\n- Width: 219 points\n- Height: 58 points",
      "properties": {
        "page": {
          "type": "integer",
          "description": "Page number the signature box sits on. The first page has index 0."
        },
        "x": {
          "type": "integer",
          "description": "X-coordinate of the signature box, in points."
        },
        "y": {
          "type": "integer",
          "description": "Y-coordinate of the signature box, in points."
        },
        "scale": {
          "type": "number",
          "format": "float",
          "description": "Scale applied to the whole signature field. Between 0.25 and 1.5."
        }
      }
    },
    "idScanBox": {
      "type": [
        "object",
        "null"
      ],
      "description": "Placement of the scanned ID placeholder. `null` unless the field stores ID-scan coordinates, which\nonly applies when `signatureType` is `digital_ink_id_scan`.\n\nBase size before scaling:\n- Width: 218 points\n- Height: 138 points",
      "properties": {
        "page": {
          "type": "integer",
          "description": "Page number the ID scan placeholder sits on. The first page has index 0."
        },
        "x": {
          "type": "integer",
          "description": "X-coordinate of the ID scan placeholder, in points."
        },
        "y": {
          "type": "integer",
          "description": "Y-coordinate of the ID scan placeholder, in points."
        },
        "scale": {
          "type": "number",
          "format": "float",
          "description": "Scale applied to the ID scan placeholder. Between 0.25 and 1.5."
        }
      }
    },
    "signingOrder": {
      "type": "integer",
      "default": 1,
      "description": "The signing turn stored on this field. Only has an effect on a document created with `enableSigningOrder: true`."
    }
  }
}