REST API
The /api/v1 surface — documents, sending, and workspaces.
FolioSign exposes a JSON REST API under /api/v1. Authenticate with an API key (or a session token) as a bearer credential — see API keys.
The endpoints below are the ones most integrations need. For the complete surface — every endpoint, parameter and response, generated from the OpenAPI spec — see the [API reference](/docs/api). The machine-readable spec is served at /api/v1/openapi.json.
Documents
List documents, cursor-paginated, newest first.
Document detail with recipients and payments.
Builder blocks and variables.
Update a draft's blocks. Totals are recomputed server-side at render.
Per-recipient timeline and per-page view stats.
Recipients & sending
Replace the recipients on a draft.
Send a draft for signature.
Nudge a recipient, or all outstanding signers.
Re-mint a recipient's signing link and re-email it.
Void a draft or an in-flight document.
Create from a PDF, place a signature field, add the signer, and send.
Workspaces
On the Corporate plan an account holds several workspaces — separate documents, templates and teams under one bill. These endpoints need a session token, not an API key: creating a workspace changes what the account is billed for, so it stays a decision a signed-in owner or admin makes.
List your workspaces, with how many the plan allows and how many are used.
Create one under the same billing account. Refused once the allowance is reached.
Set the active workspace for this session — every other call is scoped to it.
Errors
Failures return the matching HTTP status and a consistent body:
{
"error": {
"code": "validation_error",
"message": "…",
"details": { }
}
}| Status | code | Meaning |
|---|---|---|
| 400 | validation_error | The request body or query failed validation. |
| 401 | unauthorized | Missing or invalid bearer credential. |
| 403 | forbidden | Authenticated, but not allowed to do that. |
| 404 | not_found | No such resource in your workspace. |
| 409 | conflict | The resource isn't in a state that allows this. |
OpenAPI
The full machine-readable spec is served live and stays in sync with the running API:
/api/v1/health and /api/v1/openapi.json are the only public paths — everything else requires a bearer credential.