SignSecure Sign PadSignSecure Sign Pad
Form fields

Save Form Fields

Create or replace form fields on an envelope. Envelope must be in `draft` status. Supported field types: `text`, `textarea`, `email`, `number`, `date`, `checkbox`, `radio`, `dropdown`, `signature`. Text fields accept optional styling (`fontFamily`, `fontWeight`, `fontStyle`, `fontSize`, `textColor`, `multiline`) that is honored when the value is rendered into the final PDF. Checkbox fields support `showLabel`, `checkboxSize`, and `checkboxLabelFontSize`. Radio fields are configured via `radioGroup` (options, layout, direction, spacing, radio size, label font size).

POST
/envelopes/{envelopeId}/fields

Create or replace form fields on an envelope. Envelope must be in draft status.

Supported field types: text, textarea, email, number, date, checkbox, radio, dropdown, signature.

Text fields accept optional styling (fontFamily, fontWeight, fontStyle, fontSize, textColor, multiline) that is honored when the value is rendered into the final PDF. Checkbox fields support showLabel, checkboxSize, and checkboxLabelFontSize. Radio fields are configured via radioGroup (options, layout, direction, spacing, radio size, label font size).

Authorization

bearerAuth
AuthorizationBearer <token>

API key as Bearer token. Format: signsecure_xxxxxxxx...

In: header

Path Parameters

envelopeId*string

The envelope ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.signpad.signsecure.in/api/v1/envelopes/string/fields" \  -H "Content-Type: application/json" \  -d '{    "fields": [      {        "type": "text",        "fieldKey": "string",        "pageNumber": 1,        "x": 0,        "y": 0,        "width": 0,        "height": 0      }    ]  }'
{
  "message": "string",
  "fields": [
    {
      "id": "string",
      "type": "text",
      "fieldKey": "string",
      "pageNumber": 0,
      "x": 0,
      "y": 0,
      "width": 0,
      "height": 0,
      "label": "string",
      "required": true,
      "readOnly": true,
      "recipientId": "string",
      "defaultValue": null,
      "placeholder": "string",
      "options": [
        "string"
      ],
      "validation": {
        "min": 0,
        "max": 0,
        "pattern": "string",
        "minLength": 0,
        "maxLength": 0
      },
      "multiline": true,
      "showLabel": true,
      "fontFamily": "sans-serif",
      "fontWeight": "normal",
      "fontStyle": "normal",
      "fontSize": 0,
      "textColor": "string",
      "checkboxSize": 0,
      "checkboxLabelFontSize": 0,
      "radioGroup": {
        "options": [
          {
            "value": "string",
            "label": "string",
            "pageNumber": 0,
            "x": 0,
            "y": 0,
            "width": 0,
            "height": 0
          }
        ],
        "layout": "AUTO",
        "direction": "VERTICAL",
        "spacing": 0,
        "radioSize": 0,
        "labelFontSize": 0
      }
    }
  ],
  "total": 0
}

{
  "code": "VALIDATION_ERROR",
  "message": "fields.0.type: Invalid enum value",
  "requestId": "req_abc123",
  "timestamp": "2026-03-11T10:30:00.000Z",
  "details": {
    "validation": {
      "fieldErrors": {
        "fields.0.type": [
          "Invalid enum value"
        ]
      },
      "formErrors": [],
      "issues": [
        {
          "path": "fields.0.type",
          "message": "Invalid enum value",
          "code": "invalid_enum_value"
        }
      ]
    }
  }
}

{
  "code": "UNAUTHORIZED",
  "message": "Invalid or missing API key",
  "requestId": "req_abc123",
  "timestamp": "2026-03-11T10:30:00.000Z"
}

{
  "code": "FORBIDDEN",
  "message": "API key is disabled",
  "requestId": "req_abc123",
  "timestamp": "2026-03-11T10:30:00.000Z"
}

{
  "code": "NOT_FOUND",
  "message": "Envelope not found",
  "requestId": "req_abc123",
  "timestamp": "2026-03-11T10:30:00.000Z"
}
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "An internal error occurred",
  "requestId": "req_abc123",
  "timestamp": "2026-03-11T10:30:00.000Z"
}