API reference
Templates
List and read reusable envelope templates.
2 endpoints. Every path below is relative to the base URL.
On this page
https://api-uat.softsages.com/coreGET/api/v1/inkfree/templates
List templates
Requires the X-API-Key header
Returns the tenant's reusable templates, newest first, capped at 100 items. Folder rows are excluded; only sendable templates are returned.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
since | query | string | Optional | Keyset cursor: ISO 8601 local date-time of the last item from the previous page. No Z suffix and no numeric offset; both are rejected with 400.Example: 2026-01-15T10:30:00 |
after | query | string | Optional | Template id of the last item from the previous page.Example: tpl_abc123 |
Responses
Up to 100 templates.
Returns PdfSignRequest[]
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Optional | Envelope or template id. A 36-character UUID; env_xyz789 here is a readability placeholder. |
emailSubject | string | Optional | Subject line of the signing invitation. |
emailMessage | string | Optional | Body of the signing invitation. |
signers | DocumentSigner[] | Optional | Signers, in signing order when signerOrderRequired is true. |
files | PdfFile[] | Optional | Documents in the envelope, with their field placement. |
status | string | Optional | Current status: Draft (not sent yet), InReview (waiting for the approvers), Scheduled (queued until scheduleTime), Pending (signers invited), Signed (complete), Declined, Rejected (an approver rejected it), Voided or Expired. |
approval | object | Optional | The approval step, when the sender added approvers. An EMAIL approver is emailed and approves on Inkfree's page; an EMBEDDED approver (every approver on an embedded draft) approves inside your app through a signing token minted for their email. The envelope stays InReview until they have all approved (or becomes Rejected if one rejects). |
└approvalNeeded | boolean | Optional | |
└orderNeeded | boolean | Optional | True when approvers act one after another in the order listed. |
└reviewers | DocumentSigner[] | Optional | The approvers, with status (Pending, Approved, Rejected, Skipped), deliveryMode and, for an EMAIL approver, their Inkfree approval url. |
signRequestConfig | object | Optional | The sender's signer permissions. |
└allowDocumentDownload | boolean | Optional | Signers Inkfree emails may download the documents from Inkfree's page.default: true |
└sendNotificationOnCompletion | boolean | Optional | default: true |
└attachDocumentToMailOnCompletion | boolean | Optional | Attach the signed copies to the completion email.default: true |
└allowSignatureDelegation | boolean | Optional | Signers Inkfree emails may delegate to someone else. Never applies to EMBEDDED signers.default: true |
requestedBy | DocumentSigner | Optional | |
templateName | string | Optional | Name of the template, when this object is a template. |
templateId | string | Optional | Id of the template this envelope was created from, if any. |
currentSigners | string[] | Optional | Emails of signers whose turn it currently is. |
signedBy | string | Optional | Signers who have completed signing. |
signerOrderRequired | boolean | Optional | When true, signers are invited sequentially rather than all at once.default: false |
selfSigned | boolean | Optional | True when the sender is also the only signer.default: false |
expirationDays | integer | Optional | Days until the envelope expires. |
scheduleTime | string | Optional | Scheduled send time in MM/dd/yyyy HH:mm:ss, if the envelope is queued for later dispatch. |
createdOn | string | Optional | Creation timestamp, formatted MM/dd/yyyy HH:mm:ss, not ISO 8601. |
updatedOn | string | Optional | Last update timestamp, formatted MM/dd/yyyy HH:mm:ss, not ISO 8601. Reformat before using it as a since cursor. |
updatedBy | string | Optional | Who last updated the envelope. |
auditId | string | Optional | Identifier of the associated audit trail. |
since is not an ISO 8601 local date-time.
Returns Error
The API key is missing, malformed, unknown, expired, revoked, or inactive.
Returns Error
{
"code": 401,
"message": "Invalid API key"
}Per-key rate limit exceeded. Back off and retry.
Returns Error
{
"code": 429,
"message": "Rate limit exceeded. Try again later."
}Example request
curl "https://api-uat.softsages.com/core/api/v1/inkfree/templates" \
-H "X-API-Key: sk_live_YOUR_API_KEY"GET/api/v1/inkfree/templates/{id}
Get a template
Requires the X-API-Key header
Returns a single template, including its signer slots. Each slot's id is the value to pass as signerIndex when sending via POST /api/v1/inkfree/envelopes/from-template/{templateId}.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Required | Template id, a 36-character UUID.Example: tpl_abc123 |
Responses
The template.
Returns PdfSignRequest
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Optional | Envelope or template id. A 36-character UUID; env_xyz789 here is a readability placeholder. |
emailSubject | string | Optional | Subject line of the signing invitation. |
emailMessage | string | Optional | Body of the signing invitation. |
signers | DocumentSigner[] | Optional | Signers, in signing order when signerOrderRequired is true. |
files | PdfFile[] | Optional | Documents in the envelope, with their field placement. |
status | string | Optional | Current status: Draft (not sent yet), InReview (waiting for the approvers), Scheduled (queued until scheduleTime), Pending (signers invited), Signed (complete), Declined, Rejected (an approver rejected it), Voided or Expired. |
approval | object | Optional | The approval step, when the sender added approvers. An EMAIL approver is emailed and approves on Inkfree's page; an EMBEDDED approver (every approver on an embedded draft) approves inside your app through a signing token minted for their email. The envelope stays InReview until they have all approved (or becomes Rejected if one rejects). |
└approvalNeeded | boolean | Optional | |
└orderNeeded | boolean | Optional | True when approvers act one after another in the order listed. |
└reviewers | DocumentSigner[] | Optional | The approvers, with status (Pending, Approved, Rejected, Skipped), deliveryMode and, for an EMAIL approver, their Inkfree approval url. |
signRequestConfig | object | Optional | The sender's signer permissions. |
└allowDocumentDownload | boolean | Optional | Signers Inkfree emails may download the documents from Inkfree's page.default: true |
└sendNotificationOnCompletion | boolean | Optional | default: true |
└attachDocumentToMailOnCompletion | boolean | Optional | Attach the signed copies to the completion email.default: true |
└allowSignatureDelegation | boolean | Optional | Signers Inkfree emails may delegate to someone else. Never applies to EMBEDDED signers.default: true |
requestedBy | DocumentSigner | Optional | |
templateName | string | Optional | Name of the template, when this object is a template. |
templateId | string | Optional | Id of the template this envelope was created from, if any. |
currentSigners | string[] | Optional | Emails of signers whose turn it currently is. |
signedBy | string | Optional | Signers who have completed signing. |
signerOrderRequired | boolean | Optional | When true, signers are invited sequentially rather than all at once.default: false |
selfSigned | boolean | Optional | True when the sender is also the only signer.default: false |
expirationDays | integer | Optional | Days until the envelope expires. |
scheduleTime | string | Optional | Scheduled send time in MM/dd/yyyy HH:mm:ss, if the envelope is queued for later dispatch. |
createdOn | string | Optional | Creation timestamp, formatted MM/dd/yyyy HH:mm:ss, not ISO 8601. |
updatedOn | string | Optional | Last update timestamp, formatted MM/dd/yyyy HH:mm:ss, not ISO 8601. Reformat before using it as a since cursor. |
updatedBy | string | Optional | Who last updated the envelope. |
auditId | string | Optional | Identifier of the associated audit trail. |
The API key is missing, malformed, unknown, expired, revoked, or inactive.
Returns Error
{
"code": 401,
"message": "Invalid API key"
}Template not found, or it belongs to another tenant.
Returns Error
{
"code": 404,
"message": "template not found"
}Per-key rate limit exceeded. Back off and retry.
Returns Error
{
"code": 429,
"message": "Rate limit exceeded. Try again later."
}Example request
curl "https://api-uat.softsages.com/core/api/v1/inkfree/templates/tpl_abc123" \
-H "X-API-Key: sk_live_YOUR_API_KEY"