Skip to main content
This document provides a detailed changelog of all Firma API versions, documenting new features, breaking changes, and improvements between each release.

Version Summary

VersionRelease TypeKey Changes
v01.10.00Minor ReleaseConditional Fields, DOCX Support, Audit Trail, Signature Frame Control
v01.09.00Minor ReleaseOTP Verification, Replace Template Document
v01.08.00Minor ReleaseEmail Templates API, Language Support, Webhook Observability
v01.07.00Minor ReleaseHand-Drawn Signatures, Legacy Settings Fields
v01.06.00Minor ReleaseSplit PDF Downloads, Field Type Normalization
v01.05.00Patch ReleaseEmail Validation Warnings
v01.04.00Minor ReleaseNew Field Types, PATCH Field Operations, Template User Matching
v01.03.00Minor ReleaseEmail Domains API, Credit Cost, Declined Status
v01.02.00Minor ReleaseEnhanced User Fields, Ready-to-Send Indicators
v01.01.00Minor ReleaseTemplate CRUD, API Key Management, Comprehensive Updates
v01.00.02Patch ReleaseCustom Fields API
v01.00.01Initial ReleaseCore API Features

v01.10.00

Release Date: March 10, 2026

New Features

Conditional Field Logic

Fields now support conditional rules for both required status and visibility. Two new nullable properties are available on field objects:
  • required_conditions — When set, overrides the static required flag. The field is required only when the conditions evaluate to true based on other field values.
  • visibility_conditions — When set, the field is hidden unless the conditions evaluate to true. Hidden fields are not validated on submission.
Conditions use a nested group structure with logical operators:
SchemaDescription
ConditionSetTop-level container with logic (and/or) operator and an array of groups
ConditionGroupContains an array of conditions, combined using the opposite of the parent’s logic operator
ConditionEvaluates a single field by field_id, operator, and optional value
Supported operators: is_filled, is_empty, equals, not_equals, contains, not_contains, greater_than, less_than, greater_than_or_equal, less_than_or_equal Example — Make a field required only when another field is filled:
{
  "required_conditions": {
    "logic": "and",
    "groups": [
      {
        "conditions": [
          {
            "field_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "operator": "is_filled"
          }
        ]
      }
    ]
  }
}

DOCX Document Support

All document upload endpoints now accept DOCX files in addition to PDF. DOCX files are automatically converted to PDF on upload. This applies to:
  • Template creation (POST /templates)
  • Template document replacement (POST /templates/{id}/replace-document)
  • Signing request creation (POST /signing-requests)
  • Template/signing request updates (PUT and PATCH)

Audit Trail Endpoint

A new endpoint retrieves the complete audit trail for a signing request, combining admin actions (created, edited, sent, cancelled) and signer actions (viewed, signed, declined, downloaded). Events are sorted chronologically. Endpoint: GET /signing-requests/{id}/audit Response fields:
FieldTypeDescription
iduuidAudit event ID
timestampdate-timeWhen the event occurred
sourcestringadmin or signer
eventstringEvent type identifier
descriptionstringHuman-readable event description
actorobject | nullWho performed the action
ip_addressstring | nullIP address (signer events only)
detailsobject | nullAdditional event-specific metadata

Signature Frame Control

A new show_signature_frame setting controls whether a visual frame with Signature ID is rendered around signatures in completed PDFs. Available at company, workspace, and signing request levels.
LevelFieldBehavior
Companyshow_signature_frameSets the default (enabled by default)
Workspace Settingsshow_signature_frameOverrides company default; null inherits
Signing Request Settingsshow_signature_frameOverrides workspace default; null inherits
Values:
  • true — Show signature frame with Signature ID
  • false — Hide signature frame
  • null — Inherit from parent level

Force Remove Conditions on User Deletion

When deleting recipients whose fields are referenced by conditions in other fields, a new force_remove_conditions boolean parameter controls behavior:
  • false (default) — The request is rejected with an error listing the dependent fields
  • true — Automatically removes the condition references and proceeds with deletion
This applies to both template and signing request user deletion operations.

Schema Changes

Field

Added FieldTypeDescription
required_conditionsConditionSet | nullConditional rules for when this field is required
visibility_conditionsConditionSet | nullConditional rules for when this field is visible

New Schemas

SchemaDescription
ConditionSetA set of condition groups with nested logic (contains logic and groups)
ConditionGroupA group of conditions (contains conditions array)
ConditionA single condition evaluating a field’s value (contains field_id, operator, value)

SigningRequestSettings / WorkspaceSettings / Company

Added FieldTypeDescription
show_signature_frameboolean | nullWhether to render signature frames in completed PDFs

Template & Signing Request User Deletion

Added ParameterTypeDescription
force_remove_conditionsbooleanForce-remove condition references when deleting users whose fields are referenced (default: false)

New Endpoints

EndpointMethodDescription
/signing-requests/{id}/auditGETGet signing request audit trail

Migration Guide

No breaking changes. All new features are additive:
  • Conditional field properties default to null (no conditions)
  • show_signature_frame defaults to null (inherit, which is enabled by default)
  • force_remove_conditions defaults to false (preserving existing rejection behavior)
  • DOCX support is transparent — existing PDF uploads continue to work unchanged
  • The audit trail endpoint is purely additive

v01.09.00

Release Date: March 5, 2026

New Features

OTP Email Verification

A new require_otp_verification setting allows you to require signers to verify their email address with a one-time code before accessing signing documents. This adds an extra layer of identity verification. Where it’s available:
LevelFieldBehavior
Companyrequire_otp_verificationSets the default for all workspaces
Workspace Settingsrequire_otp_verificationOverrides company default; null inherits from company
Signing Request Settingsrequire_otp_verificationOverrides workspace default; null inherits from workspace
Values:
  • true — Require OTP verification before document access
  • false — Do not require OTP verification
  • null — Inherit from parent level (workspace → company, signing request → workspace)
Example — Enable OTP at workspace level:
PATCH /workspace-settings/{workspace_id}
{
  "settings": {
    "require_otp_verification": true
  }
}
Example — Override for a specific signing request:
PATCH /signing-requests/{id}
{
  "settings": {
    "require_otp_verification": false
  }
}

Replace Template Document

A new endpoint allows replacing a template’s PDF document while preserving all field placements. This is useful when you need to update a document (e.g., fixing a typo) without recreating all the field configurations. Endpoint: POST /templates/{id}/replace-document Requirements:
  • The replacement document must have the same page count as the original
  • Page dimensions must match within 1pt tolerance
  • Document must be provided as a base64-encoded PDF
Example:
POST /templates/{template_id}/replace-document
{
  "document": "JVBERi0xLjQKJeLjz9..."
}
Error cases:
ErrorCause
400Page count mismatch
400Page dimension mismatch (exceeds 1pt tolerance)
400Invalid or corrupt PDF document

Schema Changes

SigningRequestSettings

Added FieldTypeDescription
require_otp_verificationboolean | nullRequire OTP email verification; null inherits from workspace

WorkspaceSettings

Added FieldTypeDescription
require_otp_verificationboolean | nullRequire OTP email verification; null inherits from company

New Endpoints

EndpointMethodDescription
/templates/{id}/replace-documentPOSTReplace template PDF while preserving fields

Migration Guide

No breaking changes. The require_otp_verification field defaults to null (inherit), so existing behavior is unchanged. The replace document endpoint is purely additive.

v01.08.00

Release Date: March 3, 2026

New Features

Email Templates API

A new Email Templates endpoint group allows you to customize the notification emails sent during the signing process. Templates can be configured at both company and workspace levels, with workspace-level templates overriding company-level defaults. Supported email types:
Email TypeWhen Sent
signing_inviteWhen a signing request is sent to a recipient
next_signerWhen it’s the next signer’s turn in a signing order
signing_expiredWhen a signing request expires
signing_cancelledWhen a signing request is cancelled
signing_declinedWhen a signer declines
New endpoints:
EndpointDescription
GET /workspace/{workspace_id}/email-templatesList workspace email templates
GET /workspace/{workspace_id}/email-templates/{email_type}Get a specific workspace email template
PUT /workspace/{workspace_id}/email-templates/{email_type}Create or update a workspace email template
DELETE /workspace/{workspace_id}/email-templates/{email_type}Delete a workspace email template
GET /company/email-templatesList company email templates
PUT /company/email-templates/{email_type}Create or update a company email template
DELETE /company/email-templates/{email_type}Delete a company email template
GET /email-templates/defaults/{language}Get built-in default templates for a language
GET /email-templates/placeholdersGet available template placeholders
Template hierarchy: Workspace templates → Company templates → Built-in defaults. Templates support HTML bodies with placeholders like {{signing_link}}, {{signer_name}}, etc. A warning is returned if the body does not contain {{signing_link}}. Example:
PUT /workspace/{workspace_id}/email-templates/signing_request
{
  "subject": "Please sign: {{document_name}}",
  "body": "<p>Hi {{signer_name}},</p><p>Please sign using this link: {{signing_link}}</p>"
}

Language Support

New language field added to both the Company and WorkspaceSettings schemas to support multi-language email templates.
FieldTypeValuesDefault
languagestringen, es, it, pt, fr, de, elen

Schema Changes

Timestamp Corrections

Timestamp field names have been corrected in the spec to match actual API responses:
SchemaPrevious SpecCorrected
Companydate_created, date_changedcreated_date, updated_date
Workspacedate_created, date_changedcreated_date, updated_date
Templatedate_created, date_changedcreated_date, updated_date
Reminderdate_created, date_changedcreated_at, updated_at
Webhookdate_created, date_changedcreated_at, updated_at
These are spec corrections only — the API responses have not changed. If your integration already handles the actual API response fields, no code changes are needed.

Company Schema

ChangeDetails
Correctedcompany_namename (matches actual API response)
Addedlanguage (enum, default "en")
Correcteddate_created/date_changedcreated_date/updated_date

Template Schema (Expanded)

The Template schema now includes inline recipients and fields when fetching a single template (GET /templates/{id}), reducing the need for separate API calls.
Added FieldTypeDescription
page_countintegerNumber of pages in the document
expiration_hoursintegerHours until signing requests expire (default: 168)
settingsSigningRequestSettingsTemplate-level settings
recipientsarrayTemplate recipients (inline)
fieldsarrayTemplate fields (inline)

Signing Request Response Shapes

The monolithic SigningRequest schema has been split into endpoint-specific response shapes:
SchemaUsed By
SigningRequestListItemGET /signing-requests (list)
SigningRequestCreateResponsePOST /signing-requests, POST /documents
SigningRequestDetailGET /signing-requests/{id} (unchanged from v1.7.0)
The list and create responses now include inline recipients and fields arrays, and use standardized timestamp fields (created_date, sent_date, finished_date, etc.).

SigningRequestSettings

use_signing_order (boolean, default false) is now included in the settings object. Previously this was only available as a deprecated top-level integer field.

Reminder Schema

Added FieldDescription
recipient_idSpecific recipient to send reminder to (signing request context)
sent_onTimestamp when the reminder was actually sent

Webhook Schema

Added FieldTypeDescription
descriptionstringWebhook description
consecutive_failuresintegerNumber of consecutive delivery failures
auto_disabled_atdatetimeWhen the webhook was auto-disabled due to failures

SendSigningRequestResponse (Corrected)

The spec now accurately reflects the actual response shape:
Previous SpecCorrected
success (boolean)message (string)
sentTo (email)signing_request_id (uuid)
sentAt (datetime)recipients_notified (integer), sent_date, expires_at

WorkspaceSettings

Added FieldDescription
nameWorkspace name
languageWorkspace language for email templates

v01.07.00

Release Date: February 25, 2026

New Features

Hand-Drawn Only Signatures

A new hand_drawn_only setting allows you to require signers to hand-draw their signatures instead of using typed or font-based options. Added to SigningRequestSettings schema:
FieldTypeDefaultDescription
hand_drawn_onlybooleanfalseWhen enabled, signers can only hand-draw their signatures
This setting is available in all places where signing request settings are configured:
  • Creating signing requests (POST /signing-requests)
  • Creating and sending signing requests (POST /signing-requests/create-and-send)
  • Comprehensive updates (PUT /signing-requests/{id})
  • Partial updates (PATCH /signing-requests/{id})
  • Template creation and updates
Example:
{
  "settings": {
    "hand_drawn_only": true,
    "use_signing_order": false,
    "allow_download": true
  }
}

Schema Changes

Deprecated Legacy Settings Fields

The SigningRequest schema now includes deprecated top-level integer fields that mirror the boolean settings object. These exist for backward compatibility and should not be used in new integrations:
Deprecated FieldTypeUse Instead
use_signing_orderinteger (0/1)settings.use_signing_order
allow_downloadinteger (0/1)settings.allow_download
allow_editing_before_sendinginteger (0/1)settings.allow_editing_before_sending
hand_drawn_onlyinteger (0/1)settings.hand_drawn_only
attach_pdf_on_finishinteger (0/1)settings.attach_pdf_on_finish
These deprecated fields use 0/1 integers instead of booleans. Always use the settings object for new integrations.

Migration Guide

No breaking changes. The hand_drawn_only setting defaults to false, preserving existing behavior. Deprecated top-level integer fields are purely additive.

v01.06.00

Release Date: February 12, 2026
Download OpenAPI Spec

New Features

Split PDF Downloads

Completed signing requests now support downloading the signed document and audit trail certificate as separate files, in addition to the existing combined download. New fields on SigningRequest schema:
FieldDescription
document_only_download_urlSigned URL to download just the signed document (without certificate/audit trail pages)
document_only_download_errorError indicator if the document-only file is inaccessible
certificate_only_download_urlSigned URL to download just the certificate/audit trail pages
certificate_only_download_errorError indicator if the certificate-only file is inaccessible
Notes:
  • Only available when the split PDF feature has been applied to the signing request
  • URLs expire after 1 hour — fetch the signing request again for a fresh URL
  • Error fields return "file_not_accessible" if the file path exists but the file is missing
Example Response (partial):
{
  "id": "sr-uuid",
  "status": "finished",
  "final_document_download_url": "https://storage.example.com/combined.pdf",
  "document_only_download_url": "https://storage.example.com/document.pdf",
  "document_only_download_error": null,
  "certificate_only_download_url": "https://storage.example.com/certificate.pdf",
  "certificate_only_download_error": null
}

Schema Changes

Field Type Normalization

Field type enums now accept both original and normalized forms across all schemas. The API normalizes inputs automatically:
InputNormalized To
initialsinitial
textareatext_area
Affected schemas:
SchemaChange
TemplateField.typeinitialsinitial; enum now includes both initial and initials variants
Field.type (signing requests)Now accepts initial/initials and textarea/text_area
SigningRequestField.field_typeinitialsinitial, textareatext_area
Template PATCH field.typeNow accepts both forms with normalization
Signing Request PATCH field.typeNow accepts both forms with normalization

Migration Guide

No breaking changes. Both old and new field type names are accepted. The split PDF download fields are purely additive.

v01.05.00

Release Date: February 5, 2026
Download OpenAPI Spec

New Features

Email Validation Warnings

Signing request endpoints now return non-blocking warnings when recipient email addresses have potentially invalid formats (e.g., unusual TLDs, missing dots). These warnings help identify potential delivery issues without failing the request. Affected Endpoints:
EndpointResponse Field
POST /signing-requests (create)warnings array
PATCH /signing-requests/{id} (partial update)warning field
PUT /signing-requests/{id} (comprehensive update)warnings array
Example Response:
{
  "signing_request": { ... },
  "warnings": [
    "Recipient email 'user@compny' may have an invalid format"
  ]
}
Notes:
  • Warnings are non-blocking — the request still succeeds
  • Useful for flagging potential typos or invalid email domains
  • Check the warnings or warning field in the response to surface these to users

Migration Guide

No breaking changes. Email validation warnings are purely additive and do not affect existing integrations.

v01.04.00

Release Date: January 31, 2026
Download OpenAPI Spec

New Features

New Field Types

Three new field types have been added:
Field TypeDescription
textareaMulti-line text input field
urlClickable link field (automatically read-only)
radio_buttonsRadio button group (renamed from radio)
URL Field Details:
  • Automatically set to read_only: true
  • Use read_only_value to set the target URL
  • Use format_rules.urlDisplayText to customize the display text
Example:
{
  "field": {
    "type": "url",
    "position": { "x": 100, "y": 200, "width": 150, "height": 30 },
    "page_number": 1,
    "read_only_value": "https://example.com/terms",
    "format_rules": { "urlDisplayText": "View Terms & Conditions" }
  }
}

PATCH Field Operations

Both Template and Signing Request PATCH endpoints now support single-field operations: Template PATCH (PATCH /templates/{id}):
  • Can now update properties, a single user, OR a single field
  • Include field object in request body
  • Include field.id to update existing field, omit to create new
Signing Request PATCH (PATCH /signing-requests/{id}):
  • Can now update properties, a single recipient, OR a single field
  • Same field object structure as templates
Example - Create new field:
{
  "field": {
    "type": "text",
    "x": 100,
    "y": 200,
    "width": 200,
    "height": 30,
    "page": 1,
    "required": true,
    "assigned_to_user_id": "user-uuid"
  }
}
Example - Update existing field:
{
  "field": {
    "id": "field-uuid",
    "x": 120,
    "y": 220
  }
}

Template User Matching for Recipients

When creating signing requests from templates, you can now use template_user_id to explicitly match recipients to template users:
{
  "template_id": "template-uuid",
  "recipients": [
    {
      "template_user_id": "template-user-uuid",
      "first_name": "Jane",
      "last_name": "Smith",
      "email": "jane@example.com"
    }
  ]
}
  • template_user_id is the preferred method for matching
  • order remains available as a fallback

Schema Changes

Field Type Enum

Updated from:
["text", "signature", "date", "checkbox", "initials", "dropdown", "radio"]
To:
["text", "signature", "date", "checkbox", "initials", "dropdown", "radio_buttons", "textarea", "url"]

Recipient Schema

  • Signing request creation now uses shared Recipient schema reference
  • Added template_user_id property for explicit template user matching

v01.03.00

Download OpenAPI Spec

New Features

Email Domains API

A complete new API category for configuring custom email domains for sending signing request emails: New Endpoints:
  • GET /company/domains - List all company email domains
  • POST /company/domains - Add a new email domain
  • GET /company/domains/{id} - Get domain details
  • DELETE /company/domains/{id} - Delete a domain
  • POST /company/domains/{id}/verify-ownership - Verify domain ownership via TXT record
  • POST /company/domains/{id}/finalize - Complete domain setup with email provider
  • POST /company/domains/{id}/verify-dns - Verify SPF, DKIM, DMARC records
  • POST /company/domains/{id}/set-primary - Set primary sending domain
New Schemas:
  • Domain - Email domain configuration with verification status
  • DomainDnsRecord - DNS record details for domain verification

Credit Cost Tracking

  • Added credit_cost field to Template schema - Number of credits consumed when sending
  • Added credit_cost field to SigningRequest schema - Credits consumed when sent

Signing Request Declined Status

  • Added declined to SigningRequest.status enum values
  • Added date_declined field to SigningRequest schema

Schema Improvements

Template Fields

  • Added date_default field for setting default date values (ISO 8601 format)
  • Enhanced multi_group_id description: explains mutually exclusive field grouping for checkboxes/radio buttons
  • Added clarification that page_number is 1-indexed and must not exceed document page count

Signing Request Fields

  • Enhanced multi_group_id description with same improvements as template fields

v01.02.00

Download OpenAPI Spec

Enhanced User Information

TemplateUser Schema Enhancements

Added comprehensive recipient information fields:
  • first_name - Recipient first name
  • last_name - Recipient last name
  • phone_number - Contact phone number
  • street_address - Street address
  • city - City
  • state_province - State or province
  • postal_code - Postal/ZIP code
  • country - Country
  • title - Job title
  • company - Company name

Ready-to-Send Indicators

New fields to help determine recipient readiness:
  • required_fields - List of required recipient data fields based on template configuration
  • missing_fields - List of required fields that are currently empty
  • required_read_only_fields - Read-only fields needing pre-filled values
  • ready_to_send - Boolean indicating if recipient has all required data

SigningRequestUser Schema Enhancements

Same enhancements as TemplateUser, plus:
  • declined_on - Timestamp when recipient declined to sign
  • decline_reason - Reason provided by recipient for declining
  • custom_fields - Custom field values for the recipient
  • has_value property in required_read_only_fields - Indicates if read-only field has a value

Response Format Changes

Template users endpoint (GET /templates/{id}/users) now returns:
{
  "results": [
    {
      "id": "uuid",
      "name": "John Doe",
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com",
      "designation": "Signer",
      "order": 1,
      "required_fields": ["email", "first_name"],
      "missing_fields": [],
      "ready_to_send": true
    }
  ]
}

v01.01.00

Download OpenAPI Spec

New Endpoints

Template Management

Full CRUD support for templates:
  • POST /templates - Create a new template with base64-encoded PDF
  • PATCH /templates/{id} - Partial update (properties OR single user)
  • PUT /templates/{id} - Comprehensive update (properties, users, fields, reminders)
  • DELETE /templates/{id} - Soft delete a template

Template Sub-Resources

  • GET /templates/{id}/users - Get all template recipients
  • GET /templates/{id}/fields - Get all template fields
  • GET /templates/{id}/reminders - Get all template reminders

API Key Management

New endpoints for workspace API key lifecycle:
  • POST /workspaces/{id}/api-key/regenerate - Generate new API key with 24-hour grace period
  • POST /workspaces/{id}/api-key/expire - Immediately expire pending keys

Enhanced Operations

Comprehensive Updates

The PUT endpoint for templates supports:
  • template_properties - Update metadata and settings
  • users - Upsert users (include id to update, omit to create)
  • deleted_users - Delete users with field handling strategy (delete or reassign)
  • fields - Upsert fields
  • reminders - Upsert reminders
Example request:
{
  "template_properties": {
    "name": "Updated Template",
    "settings": {
      "allow_editing_before_sending": true
    }
  },
  "users": [
    {
      "id": "existing-uuid",
      "email": "updated@example.com"
    },
    {
      "first_name": "New",
      "last_name": "Signer",
      "email": "new@example.com",
      "designation": "Signer",
      "order": 2
    }
  ],
  "deleted_users": [
    {
      "user_id": "user-to-delete",
      "field_action": "reassign",
      "reassign_to_user_id": "existing-uuid"
    }
  ]
}

v01.00.02

Download OpenAPI Spec

New Features

Custom Fields API

Added custom field definition management for workspaces, templates, and signing requests. New Tag:
  • Custom Fields - Custom field definition management
New Schemas:
WorkspaceCustomField
{
  "id": "uuid",
  "field_name": "string",
  "field_label": "string",
  "is_preset": true,
  "preset_value": "string",
  "created_at": "datetime",
  "updated_at": "datetime"
}
TemplateCustomField
{
  "id": "uuid",
  "field_name": "string",
  "field_label": "string",
  "created_at": "datetime",
  "updated_at": "datetime"
}
SigningRequestCustomField
{
  "id": "uuid",
  "field_name": "string",
  "field_label": "string",
  "copied_from_template": true,
  "created_at": "datetime",
  "updated_at": "datetime"
}

Schema Improvements

TemplateField Schema

Enhanced with clearer descriptions and additional properties:
  • Explicit type property with enum values
  • position object with x, y, width, height
  • read_only and read_only_value for pre-filled fields

v01.00.01

Download OpenAPI Spec

Initial Release

The initial release of the Firma Partner API with the following core features:

API Tags / Categories

  • Company - Company information and settings
  • Workspaces - Workspace management operations
  • Templates - Template management operations
  • Signing Requests - Document signing request operations
  • Webhooks - Webhook configuration and management
  • JWT Management - JWT token generation and revocation
  • Legacy - Deprecated endpoints for backward compatibility

Authentication

  • API key authentication via Authorization header
  • Optional Bearer prefix support

Rate Limiting

Tiered rate limits based on operation type:
  • Read operations (GET): 200 requests/minute
  • Write operations (POST/PUT/PATCH/DELETE): 120 requests/minute
  • Webhook CRUD: 60 requests/minute
  • Webhook test: 10 requests/minute
  • API key operations: 1 request/minute
  • Secret rotation: 1 request/minute

Core Schemas

Company
  • id, company_name, account_owner, account_owner_email
  • website, icon_url, credits (read-only)
  • date_created, date_changed
Workspace
  • id, name, protected, api_key
  • date_created, date_changed
Template
  • id, name, description
  • document_url (pre-signed, expires)
  • document_url_expires_at
  • date_created, date_changed
SigningRequest
  • id, name, description
  • document_url, document_url_expires_at
  • document_page_count, status, expiration_hours
  • settings, template_id
  • Date fields: date_created, date_sent, date_finished, date_cancelled, expires_at
  • certificate object with generation status
  • final_document_download_url, final_document_download_error
Recipient
  • Core: id, first_name, last_name, email, designation, order
  • Address: street_address, city, state_province, postal_code, country
  • Professional: phone_number, title, company
  • custom_fields for additional data
  • Temporary ID support for document-based creation
Field
  • id, type, position, page_number, required
  • recipient_id, variable_name
  • Type-specific: dropdown_options, date_default, date_signing_default
  • Read-only: read_only, read_only_value, prefilled_data
  • Formatting: format_rules, validation_rules
Webhook
  • id, url, events, enabled
  • date_created, date_changed

JWT Management

  • Generate JWT for template embedding
  • Generate JWT for signing request embedding
  • Revoke JWT tokens

Migration Guide

Migrating from v01.00.01 to v01.00.02

  • No breaking changes
  • Custom Fields API available for use

Migrating from v01.00.02 to v01.01.00

  • No breaking changes
  • New template management endpoints available
  • API key regeneration endpoints available

Migrating from v01.01.00 to v01.02.00

  • No breaking changes
  • Template and signing request users now include additional fields
  • ready_to_send boolean available to check recipient readiness

Migrating from v01.02.00 to v01.03.00

  • No breaking changes
  • Email domain configuration available for custom sending domains
  • declined status added to signing request status enum
  • Credit cost tracking available on templates and signing requests

Migrating from v01.03.00 to v01.04.00

  • No breaking changes
  • radio field type renamed to radio_buttons (both still accepted)
  • New field types available: textarea, url
  • PATCH endpoints now support single-field operations
  • Use template_user_id for explicit template user matching in signing requests

Migrating from v01.04.00 to v01.05.00

  • No breaking changes
  • Email validation warnings are purely additive

Migrating from v01.05.00 to v01.06.00

  • No breaking changes
  • Split PDF download URLs available on completed signing requests
  • Field type inputs initials/initial and textarea/text_area both accepted with automatic normalization

Migrating from v01.06.00 to v01.07.00

  • No breaking changes
  • New hand_drawn_only setting available in signing request settings (defaults to false)
  • Deprecated top-level integer settings fields now visible in SigningRequest schema — use settings object instead

Migrating from v01.07.00 to v01.08.00

  • No breaking changes — schema field name corrections reflect actual API responses
  • New Email Templates API for customizing signing notification emails
  • language field added to Company and WorkspaceSettings
  • Template schema expanded with inline recipients, fields, settings, page_count, expiration_hours
  • use_signing_order added to SigningRequestSettings
  • Webhook schema includes description, consecutive_failures, auto_disabled_at
  • Signing request responses split into endpoint-specific shapes with inline data

Migrating from v01.08.00 to v01.09.00

  • No breaking changes
  • New require_otp_verification setting available at company, workspace, and signing request levels
  • New POST /templates/{id}/replace-document endpoint for replacing template PDFs while preserving fields

Migrating from v01.09.00 to v01.10.00

  • No breaking changes
  • Conditional field logic available via required_conditions and visibility_conditions on fields
  • DOCX files now accepted alongside PDF in all document upload endpoints
  • New GET /signing-requests/{id}/audit endpoint for retrieving audit trails
  • New show_signature_frame setting at company, workspace, and signing request levels
  • New force_remove_conditions parameter on user deletion operations