Guides & Tutorials
Firma.dev API v1.9.0: OTP Verification, Template Document Replacement, and Schema Updates

v1.9.0 is a focused release built on top of v1.8.0 with no breaking changes. If you're integrated today, nothing breaks. Two new capabilities are now available when you need them: Signer Email OTP verification and Template Document Replacement.
What's in v1.9.0
What | Type | Details |
|---|---|---|
Signer Email OTP | New feature + schema field |
|
Template Document Replacement | New feature + endpoint |
|
Both changes are additive. No fields were removed, no endpoint behavior was changed, no migration is required from v1.8.0.
New: Signer Email OTP Verification
The require_otp_verification setting adds an identity verification step before a signer can access a document. When enabled, signers see a verification screen on opening their signing link, receive a 6-digit code to their email, and must enter it before the document loads.
The setting is a tri-state field: true, false, or null. Null means inherit from the level above. The override chain runs company → workspace → template → signing request, with signing request taking highest priority.
Level | Field | Behavior |
|---|---|---|
Company |
| Baseline default for all workspaces |
Workspace Settings |
| Overrides company; |
Template |
| Overrides workspace; |
Signing Request Settings |
| Highest priority; |
Enable OTP at the workspace level
All signing requests in this workspace now require OTP by default.
Override OTP off for a specific signing request
This request skips OTP regardless of the workspace setting.
Schema Changes
Object | Field | Type |
|---|---|---|
|
|
|
|
|
|
New: Replace Template Document
The new POST /templates/{id}/replace-document endpoint lets you swap the underlying PDF on a template while keeping all field placements, signer assignments, and settings intact.
The replacement document must meet two validation requirements: same page count as the original, and page dimensions within 1pt tolerance. These constraints exist to ensure field positions remain valid after the swap. If either check fails, the API returns a 400 with a clear error.
Error cases:
Status | Cause |
|---|---|
| Page count mismatch |
| Page dimension mismatch (exceeds 1pt tolerance) |
| Invalid or corrupt PDF |
New Endpoints
Method | Path | Description |
|---|---|---|
|
| Replace template PDF while preserving all field placements |
Upgrading From v1.8.0
No action required. The checklist:
No fields removed from any existing object
No behavior changes to existing endpoints
require_otp_verificationdefaults tonull(inherits), so existing integrations are unaffected until you explicitly set itPOST /templates/{id}/replace-documentis a new endpoint, not a replacement for anything
Full API documentation is at docs.firma.dev. The complete API changelog is at docs.firma.dev/guides/api-changelog.
Get your API key and start building for free, no credit card required.
Related articles
Our platform is designed to empower businesses of all sizes to work smarter and achieve their goals with confidence.






