# For AI Agents (/latest/ai)
This documentation is built to be read by AI agents and LLM tools, not just humans. Every page is available as clean Markdown, and the whole site is published in the [`llms.txt`](https://llmstxt.org) format so an agent can discover, fetch, and reason over it without scraping HTML.
**If you are an AI agent:** fetch `/openapi/llms.txt` first to discover the page map, then request any individual page as Markdown by appending `.md` to its URL.
## Prompt for your AI agent [#prompt-for-your-ai-agent]
Working with an AI assistant (Claude, ChatGPT, Cursor, Copilot, and similar)? Copy the prompt below and paste it into your agent — it teaches the agent to read these docs efficiently. The URLs are filled in with this site's current address automatically.
## Site map — `llms.txt` [#site-map--llmstxt]
[`/openapi/llms.txt`](/llms.txt) is a compact, structured index of every page in the docs — titles, links, and one-line descriptions, grouped exactly like the sidebar. Start here to see what exists and where to look next.
## Everything at once — `llms-full.txt` [#everything-at-once--llms-fulltxt]
[`/openapi/llms-full.txt`](/llms-full.txt) concatenates every page into a single Markdown document: the overview, this page, resources, and all API reference endpoints across every published version. Fetch this when you want the entire documentation set in one request.
## Any page as Markdown — `.md` [#any-page-as-markdown--md]
Append `.md` to any docs page URL to get just that page as Markdown, with no site chrome. For example:
* `/openapi/latest/resources` → `/openapi/latest/resources.md`
* `/openapi/latest/reference/Clickwrap/consents-consent-get` → `/openapi/latest/reference/Clickwrap/consents-consent-get.md`
This is the cheapest way to pull a single endpoint's details without downloading the full corpus.
## What reference pages contain [#what-reference-pages-contain]
API reference pages are generated from our OpenAPI specification and rendered here as an interactive playground. In the Markdown output, each endpoint carries its **title, URL, HTTP method, and description**.
For complete request and response schemas, parameters, and examples, use the raw OpenAPI document instead — download it from the [Resources](./resources) page, which also links a ready-to-run Postman collection.
## Versions [#versions]
The docs are versioned (for example, **latest** and **v1**), and the per-page `.md` endpoints follow the same version-first URLs you see in the sidebar. Both `llms.txt` and `llms-full.txt` include every published version, so pick the URLs under the version you intend to target.
# Overview (/latest)
## Welcome to the Doctavian API [#welcome-to-the-doctavian-api]
This is the **latest** version of the Doctavian API — the most current release, updated as new features ship. It gives you full programmatic access to both Doctavian capabilities:
* **Documents** — for turning templates and data into finished PDFs, DOCX, XLSX, and more
* **Signatures** — for building and tracking legally binding envelopes end to end. Every endpoint here reflects what's actually live in production today.
### Version selector [#version-selector]
Use the **version selector** at the top of the sidebar to switch between versions; the **Reference** list below always reflects whichever one you're viewing.
Starting a new integration? Stay on **latest**. Maintaining an existing one? Pin to a specific version (like **v1**) so updates here don't change what you've already built.
## New to Doctavian? [#new-to-doctavian]
Set up your credentials and download the Postman collection — every endpoint pre-configured, OAuth login built in, so your first successful call takes minutes. Head to [Get Started](https://developers.doctavian.com/get-started) to begin.
## Reference [#reference]
Browse the **Reference** in the sidebar to explore every endpoint. Each operation is fully interactive — inspect the request and response schema, set your credentials, and fire live calls without leaving the page.
## Need the bigger picture first? [#need-the-bigger-picture-first]
The [developer portal](https://developers.doctavian.com) covers concepts, how-to guides, and everything else beyond raw endpoints — a good place to start if you want context before diving into the reference itself.
# Resources (/latest/resources)
Everything you need to start calling the Doctavian API outside this portal is ready to go. Pick whichever fits your workflow.
## Postman collection [#postman-collection]
Doctavian Postman collection is the fastest way from zero to a live API response. Every endpoint is pre-configured, OAuth login is built in, and the headers are constructed for you automatically — so your first successful call takes minutes, not an afternoon of reading docs.
## OpenAPI specification [#openapi-specification]
For those who want to experiment on their own. The OpenAPI document describes every endpoint, request, and response — import it into your own tooling, generate clients, or explore it however you like.
# For AI Agents (/v1/ai)
This documentation is built to be read by AI agents and LLM tools, not just humans. Every page is available as clean Markdown, and the whole site is published in the [`llms.txt`](https://llmstxt.org) format so an agent can discover, fetch, and reason over it without scraping HTML.
**If you are an AI agent:** fetch `/openapi/llms.txt` first to discover the page map, then request any individual page as Markdown by appending `.md` to its URL.
## Prompt for your AI agent [#prompt-for-your-ai-agent]
Working with an AI assistant (Claude, ChatGPT, Cursor, Copilot, and similar)? Copy the prompt below and paste it into your agent — it teaches the agent to read these docs efficiently. The URLs are filled in with this site's current address automatically.
## Site map — `llms.txt` [#site-map--llmstxt]
[`/openapi/llms.txt`](/llms.txt) is a compact, structured index of every page in the docs — titles, links, and one-line descriptions, grouped exactly like the sidebar. Start here to see what exists and where to look next.
## Everything at once — `llms-full.txt` [#everything-at-once--llms-fulltxt]
[`/openapi/llms-full.txt`](/llms-full.txt) concatenates every page into a single Markdown document: the overview, this page, resources, and all API reference endpoints across every published version. Fetch this when you want the entire documentation set in one request.
## Any page as Markdown — `.md` [#any-page-as-markdown--md]
Append `.md` to any docs page URL to get just that page as Markdown, with no site chrome. For example:
* `/openapi/latest/resources` → `/openapi/latest/resources.md`
* `/openapi/latest/reference/Clickwrap/consents-consent-get` → `/openapi/latest/reference/Clickwrap/consents-consent-get.md`
This is the cheapest way to pull a single endpoint's details without downloading the full corpus.
## What reference pages contain [#what-reference-pages-contain]
API reference pages are generated from our OpenAPI specification and rendered here as an interactive playground. In the Markdown output, each endpoint carries its **title, URL, HTTP method, and description**.
For complete request and response schemas, parameters, and examples, use the raw OpenAPI document instead — download it from the [Resources](./resources) page, which also links a ready-to-run Postman collection.
## Versions [#versions]
The docs are versioned (for example, **latest** and **v1**), and the per-page `.md` endpoints follow the same version-first URLs you see in the sidebar. Both `llms.txt` and `llms-full.txt` include every published version, so pick the URLs under the version you intend to target.
# Overview (/v1)
## Welcome to the Doctavian API [#welcome-to-the-doctavian-api]
This is the **latest** version of the Doctavian API — the most current release, updated as new features ship. It gives you full programmatic access to both Doctavian capabilities:
* **Documents** — for turning templates and data into finished PDFs, DOCX, XLSX, and more
* **Signatures** — for building and tracking legally binding envelopes end to end. Every endpoint here reflects what's actually live in production today.
### Version selector [#version-selector]
Use the **version selector** at the top of the sidebar to switch between versions; the **Reference** list below always reflects whichever one you're viewing.
Starting a new integration? Stay on **latest**. Maintaining an existing one? Pin to a specific version (like **v1**) so updates here don't change what you've already built.
## New to Doctavian? [#new-to-doctavian]
Set up your credentials and download the Postman collection — every endpoint pre-configured, OAuth login built in, so your first successful call takes minutes. Head to [Get Started](https://developers.doctavian.com/get-started) to begin.
## Reference [#reference]
Browse the **Reference** in the sidebar to explore every endpoint. Each operation is fully interactive — inspect the request and response schema, set your credentials, and fire live calls without leaving the page.
## Need the bigger picture first? [#need-the-bigger-picture-first]
The [developer portal](https://developers.doctavian.com) covers concepts, how-to guides, and everything else beyond raw endpoints — a good place to start if you want context before diving into the reference itself.
# Resources (/v1/resources)
Everything you need to start calling the Doctavian API outside this portal is ready to go. Pick whichever fits your workflow.
## Postman collection [#postman-collection]
Doctavian Postman collection is the fastest way from zero to a live API response. Every endpoint is pre-configured, OAuth login is built in, and the headers are constructed for you automatically — so your first successful call takes minutes, not an afternoon of reading docs.
## OpenAPI specification [#openapi-specification]
For those who want to experiment on their own. The OpenAPI document describes every endpoint, request, and response — import it into your own tooling, generate clients, or explore it however you like.
# Get metered-dimension limits (/latest/reference/Common/limits-common-limits-get)
## `GET /common/limits/get`
**Get metered-dimension limits**
Returns the caller's metered-dimension limit configuration (subscription- and user-level, monthly and yearly).
### Parameters
- `scope` (query, string) _(enum: "Global", "User", "Subscription", "Account")_ — Case-insensitive match against the allowed values below. An unrecognized value returns `INVALID_SCOPE_VALUE` (400).
- `application` (query, string) _(enum: "MDS", "MD", "MCLM", "MHCW", "MH")_ — Case-insensitive match against the allowed values below. An unrecognized value returns `INVALID_APPLICATION_VALUE` (400).
- `subscriptionId` (query, string) _(format: uuid)_ — If present, must be a GUID belonging to the caller; substitutes that subscription's context for the caller's own subscription. Otherwise the caller's own subscription context is used.
### Responses
#### `200` — OK
`application/json`:
- `result` (object)
- `data` (object)
- `settings` (array)
- `name` (string) — Raw dimension name from the database.
- `allocatedResources` (string) — Human-readable display string, not a machine-parseable number — e.g. "1000 per month", "500 per year", "250 per 2 years", or "Unlimited". Clients needing the numeric limit should read subscriptionLimits/userLimits instead.
- `displayName` (string)
- `groups` (string) — Comma-joined string of group names (e.g. "Group A,Group B") — NOT a JSON array, despite representing a list conceptually.
- `pricePerUnit` (number) _(format: float)_ — Omitted from the response when null.
- `subscriptionLimits` (LimitGroupDto)
- `monthly` (array) — Empty array (never null/omitted) when no matching *_SUBSCRIPTION_MONTH/*_USER_MONTH setting exists.
- `id` (string) _(format: uuid)_
- `key` (string)
- `value` (string) — Current effective value. Always a string on the wire even though limit values are semantically integers.
- `defaultValue` (string)
- `meta` (SettingMetaDto)
- `application` (string)
- `scope` (SettingScopeMetaDto) — Scope metadata for a setting definition (Meta.Scope).
- _(…)_
- `category` (SettingCategoryMetaDto) — Category (or sub-category) metadata for a setting definition. Same shape is reused for both Meta.category and Meta.subCategory.
- _(…)_
- `subCategory` (SettingCategoryMetaDto) — Category (or sub-category) metadata for a setting definition. Same shape is reused for both Meta.category and Meta.subCategory.
- _(…)_
- `group` (SettingGroupMetaDto) — Group metadata for a setting definition (Meta.group).
- _(…)_
- `yearly` (array) — Empty array (never null/omitted) when no matching *_SUBSCRIPTION_YEAR/*_USER_YEAR setting exists.
- `id` (string) _(format: uuid)_
- `key` (string)
- `value` (string) — Current effective value. Always a string on the wire even though limit values are semantically integers.
- `defaultValue` (string)
- `meta` (SettingMetaDto)
- `application` (string)
- `scope` (SettingScopeMetaDto) — Scope metadata for a setting definition (Meta.Scope).
- _(…)_
- `category` (SettingCategoryMetaDto) — Category (or sub-category) metadata for a setting definition. Same shape is reused for both Meta.category and Meta.subCategory.
- _(…)_
- `subCategory` (SettingCategoryMetaDto) — Category (or sub-category) metadata for a setting definition. Same shape is reused for both Meta.category and Meta.subCategory.
- _(…)_
- `group` (SettingGroupMetaDto) — Group metadata for a setting definition (Meta.group).
- _(…)_
- `userLimits` (LimitGroupDto)
- `monthly` (array) — Empty array (never null/omitted) when no matching *_SUBSCRIPTION_MONTH/*_USER_MONTH setting exists.
- `id` (string) _(format: uuid)_
- `key` (string)
- `value` (string) — Current effective value. Always a string on the wire even though limit values are semantically integers.
- `defaultValue` (string)
- `meta` (SettingMetaDto)
- `application` (string)
- `scope` (SettingScopeMetaDto) — Scope metadata for a setting definition (Meta.Scope).
- _(…)_
- `category` (SettingCategoryMetaDto) — Category (or sub-category) metadata for a setting definition. Same shape is reused for both Meta.category and Meta.subCategory.
- _(…)_
- `subCategory` (SettingCategoryMetaDto) — Category (or sub-category) metadata for a setting definition. Same shape is reused for both Meta.category and Meta.subCategory.
- _(…)_
- `group` (SettingGroupMetaDto) — Group metadata for a setting definition (Meta.group).
- _(…)_
- `yearly` (array) — Empty array (never null/omitted) when no matching *_SUBSCRIPTION_YEAR/*_USER_YEAR setting exists.
- `id` (string) _(format: uuid)_
- `key` (string)
- `value` (string) — Current effective value. Always a string on the wire even though limit values are semantically integers.
- `defaultValue` (string)
- `meta` (SettingMetaDto)
- `application` (string)
- `scope` (SettingScopeMetaDto) — Scope metadata for a setting definition (Meta.Scope).
- _(…)_
- `category` (SettingCategoryMetaDto) — Category (or sub-category) metadata for a setting definition. Same shape is reused for both Meta.category and Meta.subCategory.
- _(…)_
- `subCategory` (SettingCategoryMetaDto) — Category (or sub-category) metadata for a setting definition. Same shape is reused for both Meta.category and Meta.subCategory.
- _(…)_
- `group` (SettingGroupMetaDto) — Group metadata for a setting definition (Meta.group).
- _(…)_
- `statusCode` (integer)
- `message` (string)
- `origin` (string) — Echoed verbatim from the request's X-Origin header, unvalidated.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `400` — Query parameter failed validation (`INVALID_APPLICATION_VALUE` or `INVALID_SCOPE_VALUE`).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — Caller is authenticated but not authorized to perform this action.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — Unexpected server error.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Issue a new encrypted service token (/latest/reference/Common/service-common-service-token-post)
## `POST /common/service/token`
**Issue a new encrypted service token**
Issues a short-lived, encrypted bearer token for the already-authenticated caller.
### Responses
#### `200` — OK
`application/json`:
_string_
#### `500` — Any failure during token generation — including an auth failure from the underlying token validation step — is caught uniformly and surfaced under this single generic code. Deliberately not documented as a range of specific auth error codes, since the masking is real code behavior, not a documentation gap to correct.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Get visible setting definitions and values (/latest/reference/Common/settings-common-settings-get)
## `GET /common/settings/get`
**Get visible setting definitions and values**
Returns setting definitions with their current effective values, filtered to those the caller's role/scope permits.
### Parameters
- `scope` (query, string) _(enum: "Global", "User", "Subscription", "Account")_ — Case-insensitive match against the allowed values below. An unrecognized value returns `INVALID_SCOPE_VALUE` (400).
- `application` (query, string) _(enum: "MDS", "MD", "MCLM", "MHCW", "MH")_ — Case-insensitive match against the allowed values below. An unrecognized value returns `INVALID_APPLICATION_VALUE` (400).
- `subscriptionId` (query, string) _(format: uuid)_ — If present, must be a GUID belonging to the caller; substitutes that subscription's context for the caller's own subscription. Otherwise the caller's own subscription context is used.
### Responses
#### `200` — OK
`application/json`:
- `result` (object)
- `data` (object)
- `settings` (array)
- `id` (string) _(format: uuid)_
- `key` (string)
- `label` (string)
- `description` (string)
- `value` (string)
- `defaultValue` (string)
- `type` (string) — Free-form string describing the setting's value type.
- `icon` (string)
- `allowedValues` (array) — Null (not an empty array) when the setting has no enumerated allowed values configured.
- `value` (string)
- `label` (string)
- `description` (string)
- `icon` (string)
- `meta` (SettingMetaDto)
- `application` (string)
- `scope` (SettingScopeMetaDto) — Scope metadata for a setting definition (Meta.Scope).
- `id` (string) _(format: uuid)_ — Omitted from the response when Guid.Empty (global WhenWritingDefault default-omission policy), not emitted as an explicit empty GUID.
- `name` (string)
- `priority` (integer) — Omitted from the response when 0, not emitted as an explicit 0.
- `category` (SettingCategoryMetaDto) — Category (or sub-category) metadata for a setting definition. Same shape is reused for both Meta.category and Meta.subCategory.
- `id` (string) _(format: uuid)_ — Omitted when Guid.Empty.
- `name` (string)
- `description` (string)
- `sortOrder` (integer) — Omitted when 0.
- `subCategory` (SettingCategoryMetaDto) — Category (or sub-category) metadata for a setting definition. Same shape is reused for both Meta.category and Meta.subCategory.
- `id` (string) _(format: uuid)_ — Omitted when Guid.Empty.
- `name` (string)
- `description` (string)
- `sortOrder` (integer) — Omitted when 0.
- `group` (SettingGroupMetaDto) — Group metadata for a setting definition (Meta.group).
- `id` (string) _(format: uuid)_ — Omitted when Guid.Empty.
- `key` (string)
- `name` (string)
- `description` (string)
- `sortOrder` (integer) — Omitted when 0.
- `statusCode` (integer)
- `message` (string)
- `origin` (string) — Echoed verbatim from the request's X-Origin header, unvalidated.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `400` — Query parameter failed validation (`INVALID_APPLICATION_VALUE` or `INVALID_SCOPE_VALUE`).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — Caller is authenticated but not authorized to perform this action.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — Unexpected server error.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Update one or more setting values (/latest/reference/Common/settings-common-settings-update)
## `PUT /common/settings/update`
**Update one or more setting values**
Applies a batch of setting writes. Each item is checked against the caller's role/scope permission and the per-setting validation rules before being persisted as a single batch.
### Request body (`application/json`)
- `settings` (array) **required** — Required. An empty array is a safe no-op.
- `settingDefinitionId` (string) _(format: uuid)_ — If unknown (no matching setting definition), the item is skipped without error.
- `settingScopeId` (string) _(format: uuid)_ — GUID of the scope entity (user/account/subscription) this setting override applies to.
- `scope` (string) — One of "user", "account", "subscription" (case-insensitive).
- `value` (string) — Interpretation depends on which setting `key` this item's `settingDefinitionId` resolves to — see the operation description for the small set of keys with real, enforced validation. Blank/whitespace resets the setting to its default value on next read.
- `entityId` (string) _(format: uuid)_ — Target user/account/subscription for the write. For scope "user" any client-supplied value here is ignored and always overwritten with the caller's own id.
### Responses
#### `200` — OK
`application/json`:
- `result` (object)
- `data` (string) _(enum: "Success")_ — Plain literal success string — not an object.
- `statusCode` (integer)
- `message` (string)
- `origin` (string) — Echoed verbatim from the request's X-Origin header, unvalidated.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `400` — Validation failed for one or more settings in the batch. Possible codes: VALIDATION_ERROR, ENVELOPE_FIRST_REMINDER_DAYS_OUT_OF_RANGE, ENVELOPE_REPEATING_REMINDER_DAYS_OUT_OF_RANGE, ENVELOPE_EXPIRY_DAYS_TOO_LOW, ENVELOPE_EXPIRY_ALERT_DAYS_TOO_LOW, ENVELOPE_EXPIRY_ALERT_DAYS_EXCEEDS_EXPIRATION, NO_SIGNATURE_INPUT_METHOD, NO_DOCUMENT_SOURCE, INVALID_REDIRECT_AFTER_SIGNING_URL, INVALID_CONTACT_EMAIL.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — Caller's role does not permit this write (`PERMISSION_DENIED`).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — Unexpected server error; the whole batch is rolled back if this occurs.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Health-ping placeholder (/latest/reference/Common/status-common-status)
## `GET /common/status`
**Health-ping placeholder**
The only fully anonymous, unauthenticated operation in this group (AuthorizationLevel.Anonymous; never calls the custom bearer/JWT validation used by every other operation here). It is a genuine placeholder: no dependencies, no logic, always returns HTTP 200 with an empty string body as long as the Function host itself is up. Do not confuse this with the unrelated GET /common/diagnostic/status endpoint (not in this group), which uses the StatusResult model and requires standard auth. The APIM-level subscription-key gate (X-Api-Key / x-api-key) may still legitimately apply at the gateway regardless of this operation's own Anonymous auth level — that is a distinct layer from the Function's own (absent, here) auth check.
### Responses
#### `200` — OK
`application/json`:
_string_
# Get a dashboard or self-service summary (/latest/reference/Common/summary-common-summary)
## `GET /common/summary`
**Get a dashboard or self-service summary**
Returns one of two response shapes, selected by the required `type` query parameter: `dashboard` returns per-caller envelope/task counts; `self-service` returns subscription/user/limit-breach aggregates the caller can administer.
### Parameters
- `type` (query, string) **required** _(enum: "dashboard", "self-service")_ — Matched case-insensitively against `dashboard`/`self-service`. A missing or unrecognized value returns `INVALID_SUMMARY_TYPE` (400).
### Responses
#### `200` — OK
`application/json`:
- `result` (object)
- `data` (any) — Shape is selected entirely by the request's `type` query parameter — `dashboard` returns DashboardSummaryDto, `self-service` returns SelfServiceSummaryDto. Neither variant carries an internal discriminator field of its own.
- `statusCode` (integer)
- `message` (string)
- `origin` (string) — Echoed verbatim from the request's X-Origin header, unvalidated.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `400` — The `type` query parameter was missing, empty, or did not match one of the two recognized literal values.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — Caller is authenticated but not authorized to perform this action.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — Unexpected server error.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Create a user contact (/latest/reference/Common/user-common-user-contact-create)
## `POST /common/user/contact/create`
**Create a user contact**
Creates a contact owned by the calling user. `sharedWithAccount` is always derived from the caller's account settings; any value sent in the request body is ignored.
### Request body (`application/json`)
- `id` (string) _(format: uuid)_ — Any client-supplied value here is ignored on Create — the persisted contact's id is server-generated.
- `name` (string) — Contact name. No length limit is enforced.
- `email` (string) — Contact email. No format validation is enforced.
- `sharedWithAccount` (boolean) — Ignored on Create — always derived from the caller's own account settings. Included here only to document the wire shape. Contrast with Update, where this field is a normal writable field.
- `subscriptionUserGuid` (string) _(format: uuid)_ — Display-only; not used on input.
### Responses
#### `200` — OK
`application/json`:
- `result` (object)
- `data` (object)
- `userContact` (UserContactDto) — Response representation of a user contact.
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `sharedWithAccount` (boolean) — Absent from the response when false, rather than serialized as an explicit false (global WhenWritingDefault default-omission policy) — a missing key means false/not-shared, not "unspecified".
- `subscriptionUserGuid` (string) _(format: uuid)_ — Display-only; identifies the contact's owning user. Omitted when Guid.Empty.
- `statusCode` (integer)
- `message` (string)
- `origin` (string) — Echoed verbatim from the request's X-Origin header, unvalidated.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `400` — The caller's account is missing the ALLOW_CONTACT_SHARE setting required to derive sharedWithAccount on Create.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — Caller is authenticated but not authorized to perform this action.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — Unexpected server error.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Delete a user contact (/latest/reference/Common/user-common-user-contact-delete)
## `DELETE /common/user/contact/{userContactId}/delete`
**Delete a user contact**
Deletes a user contact owned by the calling user. Returns success even if no matching contact existed.
### Parameters
- `userContactId` (path, string) **required** _(format: uuid)_ — GUID of the user contact. A non-GUID value returns a 400 with a different response shape than the standard error envelope.
### Responses
#### `200` — OK
`application/json`:
- `result` (object)
- `data` (object)
- `userContact` (UserContactDeleteResultDto) — Returned with HTTP 200 regardless of whether a matching contact existed and was deleted.
- `id` (string) _(format: uuid)_
- `message` (string)
- `statusCode` (integer)
- `message` (string)
- `origin` (string) — Echoed verbatim from the request's X-Origin header, unvalidated.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `400` — A non-GUID `userContactId` returns a 400 with a different response shape than the standard error envelope.
`application/json`:
_object_
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — Caller is authenticated but not authorized to perform this action.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — Unexpected server error.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Get a user contact (/latest/reference/Common/user-common-user-contact-get)
## `GET /common/user/contact/{userContactId}/get`
**Get a user contact**
Retrieves a single user contact by id.
### Parameters
- `userContactId` (path, string) **required** _(format: uuid)_ — GUID of the user contact. A non-GUID value returns a 400 with a different response shape than the standard error envelope.
### Responses
#### `200` — OK
`application/json`:
- `result` (object)
- `data` (object)
- `userContact` (UserContactDto) — Response representation of a user contact.
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `sharedWithAccount` (boolean) — Absent from the response when false, rather than serialized as an explicit false (global WhenWritingDefault default-omission policy) — a missing key means false/not-shared, not "unspecified".
- `subscriptionUserGuid` (string) _(format: uuid)_ — Display-only; identifies the contact's owning user. Omitted when Guid.Empty.
- `statusCode` (integer)
- `message` (string)
- `origin` (string) — Echoed verbatim from the request's X-Origin header, unvalidated.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `400` — A non-GUID `userContactId` returns a 400 with a different response shape than the standard error envelope.
`application/json`:
_object_
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — Caller is authenticated but not authorized to perform this action.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — Unexpected server error.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# List the caller's user contacts (/latest/reference/Common/user-common-user-contact-list)
## `GET /common/user/contact/list`
**List the caller's user contacts**
Returns the caller's entire contact list in one response (no pagination, sorting, or filtering).
### Responses
#### `200` — OK
`application/json`:
- `result` (object)
- `data` (object)
- `userContacts` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `sharedWithAccount` (boolean) — Absent from the response when false, rather than serialized as an explicit false (global WhenWritingDefault default-omission policy) — a missing key means false/not-shared, not "unspecified".
- `subscriptionUserGuid` (string) _(format: uuid)_ — Display-only; identifies the contact's owning user. Omitted when Guid.Empty.
- `statusCode` (integer)
- `message` (string)
- `origin` (string) — Echoed verbatim from the request's X-Origin header, unvalidated.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — Caller is authenticated but not authorized to perform this action.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — Unexpected server error.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Update a user contact (/latest/reference/Common/user-common-user-contact-update)
## `PUT /common/user/contact/{userContactId}/update`
**Update a user contact**
Updates a user contact owned by the calling user. `subscriptionUserId` and `id` are always taken from the caller's identity and the path, respectively; any values sent for them in the request body are ignored.
### Parameters
- `userContactId` (path, string) **required** _(format: uuid)_ — GUID of the user contact. A non-GUID value returns a 400 with a different response shape than the standard error envelope.
### Request body (`application/json`)
- `id` (string) _(format: uuid)_ — Any client-supplied value here is ignored — the contact's id is always taken from the {userContactId} path segment instead.
- `name` (string)
- `email` (string)
- `sharedWithAccount` (boolean) — Ordinary writable field on Update, trusted as-is from the client (unlike Create, where this field is server-derived and any client value is discarded).
- `subscriptionUserGuid` (string) _(format: uuid)_ — Display-only; not used on input.
### Responses
#### `200` — OK
`application/json`:
- `result` (object)
- `data` (object)
- `userContact` (UserContactDto) — Response representation of a user contact.
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `sharedWithAccount` (boolean) — Absent from the response when false, rather than serialized as an explicit false (global WhenWritingDefault default-omission policy) — a missing key means false/not-shared, not "unspecified".
- `subscriptionUserGuid` (string) _(format: uuid)_ — Display-only; identifies the contact's owning user. Omitted when Guid.Empty.
- `statusCode` (integer)
- `message` (string)
- `origin` (string) — Echoed verbatim from the request's X-Origin header, unvalidated.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `400` — A non-GUID `userContactId` returns a 400 with a different response shape than the standard error envelope.
`application/json`:
_object_
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — Caller is authenticated but not authorized to perform this action.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — Unexpected server error.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Get the calling user's profile (/latest/reference/Common/user-common-user-get)
## `GET /common/user/get`
**Get the calling user's profile**
Returns the calling user's profile and membership details.
### Responses
#### `200` — OK
`application/json`:
- `result` (object)
- `data` (object)
- `user` (CurrentUserDto) — Response data for GET /common/user/get. Note: startDate/endDate/isActive are read directly off the membership record (SubscriptionMembers), while fullName/userEmail/id/settings are read off its nested SubscriptionUser sub-object — two distinct nested objects on an external type, flattened here with no naming cue as to which sub-object each field originated from.
- `id` (string) _(format: uuid)_
- `fullName` (string)
- `startDate` (string) _(format: date-time)_
- `endDate` (string) _(format: date-time)_
- `isActive` (boolean) — Absent from the response when false (global default-omission policy).
- `roleId` (string) _(format: uuid)_
- `userEmail` (string)
- `settings` (array) — Best-effort partial shape — only `settingKey`/`value` are confirmed populated.
- `settingKey` (string)
- `value` (string)
- `userDetails` (CurrentUserRoleDetailsDto) — Raw role scope/level ordinals. Do not assume a specific integer-to-label mapping when consuming this.
- `scope` (integer)
- `level` (integer)
- `statusCode` (integer)
- `message` (string)
- `origin` (string) — Echoed verbatim from the request's X-Origin header, unvalidated.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — Caller is authenticated but not authorized to perform this action.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — Unexpected server error.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Data Upload (/latest/reference/Documents/data-documents-data-upload)
## `POST /documents/data/upload`
**Data Upload**
Uploads a structured JSON data file to Storage so it can be referenced as a data source in later requests (e.g. document generation). Two request shapes are accepted, selected by Content-Type: (1) multipart/form-data with one or more `.json` files; (2) a raw JSON body with Content-Type: application/json, stored as-is as an opaque blob. Uploaded data is automatically removed from Storage after the next document-generation request that consumes it, whether that request succeeds or fails — re-upload if you need it again. Max size is enforced at the gateway (20MB Production, 10MB Staging).
### Parameters
- `X-Service-Authorization` (header, string) — Service-to-service auth token, used as an alternative to `Authorization` for service-principal callers.
- `X-Client-Authorization` (header, string) — Client auth token, used as an alternative to `Authorization` for client-application callers.
- `X-Email` (header, string) — Caller email, used for identity resolution when authenticating via a service or client auth token.
- `X-OAuth-Flow` (header, string) — Indicates which OAuth flow variant issued the Authorization token.
- `X-Origin` (header, string) — Free-form caller-supplied origin identifier. Not validated; echoed back verbatim into the response envelope's origin field. Optional.
- `X-Storage-Type` (header, string) **required** — Selects which storage container handles the request. This operation expects the value `document-data`.
### Request body (`multipart/form-data`)
- `file` (array) **required** — One or more JSON data files to upload (multi-file capable — one blob per file). Accepted extension: .json only, validated by filename suffix, not by parsing content. Order is preserved in the response.
### Request body (`application/json`)
_any_
### Responses
#### `201` — File(s) uploaded. Returns a storage id per file, usable as a data source in subsequent requests.
`application/json`:
- `result` (object) **required**
- `data` (object) **required**
- `files` (array) **required** — One entry per uploaded file. Form-data uploads return one entry per file in the same order they were sent; raw-body/JSON uploads always return exactly one entry.
- `id` (string) **required** _(format: uuid)_ — Server-generated storage identifier (GUID) for the uploaded file. Reference this in downstream requests.
- `fileName` (string) **required** — Stored file name. For form-data uploads this is the original client-supplied filename; for raw-body/JSON uploads it is a server-generated name (e.g. document${guid}.{extension} or data${guid}.json).
- `statusCode` (integer) **required** — HTTP status code of the operation. Always 201 for a successful upload.
- `message` (string) **required** — Outcome message. Always "Created" for a successful upload.
- `origin` (string) **required** — Value of the X-Origin request header, echoed back verbatim. Empty if the header was not supplied.
- `dateTime` (string) **required** _(format: date-time)_ — UTC timestamp when the response was generated.
- `operationId` (string) **required** — Server-side trace identifier for correlating logs and support requests. May be null.
#### `400` — Missing Content-Type header (VALIDATION_ERROR); a Content-Type other than exactly application/json combined with an empty/absent form body (FORM_DATA_EXPECTED); or a form-data file whose extension isn't .json (INVALID_DATA_FORMAT — note: extension-only check, file content is never parsed as JSON).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — The file could not be stored due to a server/storage error, or an unrecognized X-Storage-Type value. Real code: FILE_UPLOAD_FAILED.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Data Source Create (/latest/reference/Documents/data-source-documents-data-source-create)
## `POST /documents/datasource/create`
**Data Source Create**
Creates a new data source.
### Request body (`application/json`)
- `dataSourceGuid` (string) _(format: uuid)_ — Unique identifier of the data source.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the data source. Required, must be non-empty.
- `description` (string) — Optional description.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the underlying source.
- `query` (string) — Optional free-form query used to fetch data. Stored as-is; its syntax depends on the chosen loadMethod and is interpreted downstream. This API does not validate the format beyond rejecting a blank/whitespace value when the field is supplied.
- `variables` (string) — Optional free-form variables associated with the query. Stored as-is and interpreted downstream. Must not be blank/whitespace when supplied.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How data is loaded. Required.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Data source created successfully.
`application/json`:
- `result` (object)
- `data` (DataSourceModel)
- `dataSourceGuid` (string) _(format: uuid)_ — Unique identifier of the data source.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the data source. Required, must be non-empty.
- `description` (string) — Optional description.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the underlying source.
- `query` (string) — Optional free-form query used to fetch data. Stored as-is; its syntax depends on the chosen loadMethod and is interpreted downstream. This API does not validate the format beyond rejecting a blank/whitespace value when the field is supplied.
- `variables` (string) — Optional free-form variables associated with the query. Stored as-is and interpreted downstream. Must not be blank/whitespace when supplied.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How data is loaded. Required.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Data Source Delete (/latest/reference/Documents/data-source-documents-data-source-delete)
## `DELETE /documents/datasource/{dataSourceGuid}/delete`
**Data Source Delete**
Soft-deletes a data source by its GUID.
### Parameters
- `dataSourceGuid` (path, string) **required** _(format: uuid)_ — GUID of the data source to delete.
### Responses
#### `200` — Data source deleted successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `dataSourceGuid` (string) _(format: uuid)_
- `message` (string)
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Data Source Get (/latest/reference/Documents/data-source-documents-data-source-get)
## `GET /documents/datasource/{dataSourceGuid}/get`
**Data Source Get**
Retrieves a single data source by its GUID.
### Parameters
- `dataSourceGuid` (path, string) **required** _(format: uuid)_ — GUID of the data source.
### Responses
#### `200` — Data source retrieved successfully.
`application/json`:
- `result` (object)
- `data` (DataSourceModel)
- `dataSourceGuid` (string) _(format: uuid)_ — Unique identifier of the data source.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the data source. Required, must be non-empty.
- `description` (string) — Optional description.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the underlying source.
- `query` (string) — Optional free-form query used to fetch data. Stored as-is; its syntax depends on the chosen loadMethod and is interpreted downstream. This API does not validate the format beyond rejecting a blank/whitespace value when the field is supplied.
- `variables` (string) — Optional free-form variables associated with the query. Stored as-is and interpreted downstream. Must not be blank/whitespace when supplied.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How data is loaded. Required.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Data Source List (/latest/reference/Documents/data-source-documents-data-source-list)
## `GET /documents/datasource/list`
**Data Source List**
Returns a paginated, optionally filtered and sorted list of data sources.
### Parameters
- `top` (query, integer) — Maximum number of records to return (page size).
- `skip` (query, integer) — Number of records to skip (page offset).
- `orderby` (query, string) — Sort clause in the form `Column|DIRECTION`, e.g. `Name|DESC`. The column and direction are separated by a pipe (`|`).
- `filter` (query, string) — URL-encoded JSON array of filter clauses (see FilterDTO). Example (decoded): `[{"key":"Filter1","column":"Name","type":"string","condition":"CONTAINS","value":"Invoice"}]`.
### Responses
#### `200` — List of data sources retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `dataSources` (array)
- `dataSourceGuid` (string) _(format: uuid)_ — Unique identifier of the data source.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the data source. Required, must be non-empty.
- `description` (string) — Optional description.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the underlying source.
- `query` (string) — Optional free-form query used to fetch data. Stored as-is; its syntax depends on the chosen loadMethod and is interpreted downstream. This API does not validate the format beyond rejecting a blank/whitespace value when the field is supplied.
- `variables` (string) — Optional free-form variables associated with the query. Stored as-is and interpreted downstream. Must not be blank/whitespace when supplied.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How data is loaded. Required.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `rowCount` (integer) — Total number of records matching the query.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Data Source Update (/latest/reference/Documents/data-source-documents-data-source-update)
## `PUT /documents/datasource/{dataSourceGuid}/update`
**Data Source Update**
Updates an existing data source.
### Parameters
- `dataSourceGuid` (path, string) **required** _(format: uuid)_ — GUID of the data source to update.
### Request body (`application/json`)
- `dataSourceGuid` (string) _(format: uuid)_ — Unique identifier of the data source.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the data source. Required, must be non-empty.
- `description` (string) — Optional description.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the underlying source.
- `query` (string) — Optional free-form query used to fetch data. Stored as-is; its syntax depends on the chosen loadMethod and is interpreted downstream. This API does not validate the format beyond rejecting a blank/whitespace value when the field is supplied.
- `variables` (string) — Optional free-form variables associated with the query. Stored as-is and interpreted downstream. Must not be blank/whitespace when supplied.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How data is loaded. Required.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Data source updated successfully.
`application/json`:
- `result` (object)
- `data` (DataSourceModel)
- `dataSourceGuid` (string) _(format: uuid)_ — Unique identifier of the data source.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the data source. Required, must be non-empty.
- `description` (string) — Optional description.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the underlying source.
- `query` (string) — Optional free-form query used to fetch data. Stored as-is; its syntax depends on the chosen loadMethod and is interpreted downstream. This API does not validate the format beyond rejecting a blank/whitespace value when the field is supplied.
- `variables` (string) — Optional free-form variables associated with the query. Stored as-is and interpreted downstream. Must not be blank/whitespace when supplied.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How data is loaded. Required.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Create (/latest/reference/Documents/document-documents-document-create)
## `POST /documents/document/create`
**Document Create**
Creates a new document.
### Request body (`application/json`)
- `documentGuid` (string) _(format: uuid)_ — Unique identifier of the document.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `title` (string) **required** — Document title. Required, must be non-empty.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the document file.
- `url` (string) — Optional absolute URL to the document file. When supplied it must be a well-formed absolute URI.
- `path` (string) — Optional storage path/key of the document file.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the document. Required.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the document is delivered. Required.
- `viewAnonymousLink` (string) — Anonymous view link. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Anonymous edit link. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Authenticated-user view link. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Authenticated-user edit link. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Organization view link. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Organization edit link. Server-managed; ignored on write and populated on read.
- `succeededViewUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `succeededEditUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedViewUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedEditUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Document created successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `document` (DocumentModel)
- `documentGuid` (string) _(format: uuid)_ — Unique identifier of the document.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `title` (string) **required** — Document title. Required, must be non-empty.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the document file.
- `url` (string) — Optional absolute URL to the document file. When supplied it must be a well-formed absolute URI.
- `path` (string) — Optional storage path/key of the document file.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the document. Required.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the document is delivered. Required.
- `viewAnonymousLink` (string) — Anonymous view link. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Anonymous edit link. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Authenticated-user view link. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Authenticated-user edit link. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Organization view link. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Organization edit link. Server-managed; ignored on write and populated on read.
- `succeededViewUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `succeededEditUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedViewUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedEditUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Delete (/latest/reference/Documents/document-documents-document-delete)
## `DELETE /documents/document/{documentGuid}/delete`
**Document Delete**
Soft-deletes a document by its GUID.
### Parameters
- `documentGuid` (path, string) **required** _(format: uuid)_ — GUID of the document to delete.
### Responses
#### `200` — Document deleted successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentGuid` (string) _(format: uuid)_
- `message` (string)
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Get (/latest/reference/Documents/document-documents-document-get)
## `GET /documents/document/{documentGuid}/get`
**Document Get**
Retrieves a single document by its GUID.
### Parameters
- `documentGuid` (path, string) **required** _(format: uuid)_ — GUID of the document.
### Responses
#### `200` — Document retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `document` (DocumentModel)
- `documentGuid` (string) _(format: uuid)_ — Unique identifier of the document.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `title` (string) **required** — Document title. Required, must be non-empty.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the document file.
- `url` (string) — Optional absolute URL to the document file. When supplied it must be a well-formed absolute URI.
- `path` (string) — Optional storage path/key of the document file.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the document. Required.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the document is delivered. Required.
- `viewAnonymousLink` (string) — Anonymous view link. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Anonymous edit link. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Authenticated-user view link. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Authenticated-user edit link. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Organization view link. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Organization edit link. Server-managed; ignored on write and populated on read.
- `succeededViewUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `succeededEditUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedViewUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedEditUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document List (/latest/reference/Documents/document-documents-document-list)
## `GET /documents/document/list`
**Document List**
Returns a paginated, optionally filtered and sorted list of documents.
### Parameters
- `top` (query, integer) — Maximum number of records to return (page size).
- `skip` (query, integer) — Number of records to skip (page offset).
- `orderby` (query, string) — Sort clause in the form `Column|DIRECTION`, e.g. `Name|DESC`. The column and direction are separated by a pipe (`|`).
- `filter` (query, string) — URL-encoded JSON array of filter clauses (see FilterDTO). Example (decoded): `[{"key":"Filter1","column":"Name","type":"string","condition":"CONTAINS","value":"Invoice"}]`.
### Responses
#### `200` — List of documents retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documents` (array)
- `documentGuid` (string) _(format: uuid)_ — Unique identifier of the document.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `title` (string) **required** — Document title. Required, must be non-empty.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the document file.
- `url` (string) — Optional absolute URL to the document file. When supplied it must be a well-formed absolute URI.
- `path` (string) — Optional storage path/key of the document file.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the document. Required.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the document is delivered. Required.
- `viewAnonymousLink` (string) — Anonymous view link. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Anonymous edit link. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Authenticated-user view link. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Authenticated-user edit link. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Organization view link. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Organization edit link. Server-managed; ignored on write and populated on read.
- `succeededViewUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `succeededEditUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedViewUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedEditUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `rowCount` (integer) — Total number of records matching the query.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Reference (/latest/reference/Documents/document-documents-document-reference)
## `POST /documents/document/reference`
**Document Reference**
Document Reference
### Responses
#### `200`
# Document Update (/latest/reference/Documents/document-documents-document-update)
## `PUT /documents/document/{documentGuid}/update`
**Document Update**
Updates an existing document.
### Parameters
- `documentGuid` (path, string) **required** _(format: uuid)_ — GUID of the document to update.
### Request body (`application/json`)
- `documentGuid` (string) _(format: uuid)_ — Unique identifier of the document.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `title` (string) **required** — Document title. Required, must be non-empty.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the document file.
- `url` (string) — Optional absolute URL to the document file. When supplied it must be a well-formed absolute URI.
- `path` (string) — Optional storage path/key of the document file.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the document. Required.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the document is delivered. Required.
- `viewAnonymousLink` (string) — Anonymous view link. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Anonymous edit link. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Authenticated-user view link. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Authenticated-user edit link. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Organization view link. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Organization edit link. Server-managed; ignored on write and populated on read.
- `succeededViewUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `succeededEditUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedViewUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedEditUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Document updated successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `document` (DocumentModel)
- `documentGuid` (string) _(format: uuid)_ — Unique identifier of the document.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `title` (string) **required** — Document title. Required, must be non-empty.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the document file.
- `url` (string) — Optional absolute URL to the document file. When supplied it must be a well-formed absolute URI.
- `path` (string) — Optional storage path/key of the document file.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the document. Required.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the document is delivered. Required.
- `viewAnonymousLink` (string) — Anonymous view link. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Anonymous edit link. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Authenticated-user view link. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Authenticated-user edit link. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Organization view link. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Organization edit link. Server-managed; ignored on write and populated on read.
- `succeededViewUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `succeededEditUserEmailList` (string) — On success: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedViewUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `failedEditUserEmailList` (string) — On failure: Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Upload (/latest/reference/Documents/document-documents-document-upload)
## `POST /documents/document/upload`
**Document Upload**
General-purpose document upload to Storage, form-data only. Accepted extensions: .docx, .xlsx, .doc, .xls. When several files are sent in one request, their form-data order is preserved in the response. Each document is assigned a storage id that can be referenced in later processes such as Document Merge or signing envelopes. Max size is enforced at the gateway (20MB Production, 10MB Staging).
### Parameters
- `X-Service-Authorization` (header, string) — Service-to-service auth token, used as an alternative to `Authorization` for service-principal callers.
- `X-Client-Authorization` (header, string) — Client auth token, used as an alternative to `Authorization` for client-application callers.
- `X-Email` (header, string) — Caller email, used for identity resolution when authenticating via a service or client auth token.
- `X-OAuth-Flow` (header, string) — Indicates which OAuth flow variant issued the Authorization token.
- `X-Origin` (header, string) — Free-form caller-supplied origin identifier. Not validated; echoed back verbatim into the response envelope's origin field. Optional.
- `X-Storage-Type` (header, string) **required** — Selects which storage container handles the request. This operation expects the value `document-template`.
### Request body (`multipart/form-data`)
- `file` (array) **required** — One or more document files to upload. Accepted extensions: .docx, .xlsx, .doc, .xls (validated by filename extension, case-sensitively — an uppercase extension like .DOCX does not match). Order is preserved in the response.
### Responses
#### `201` — Document(s) uploaded. Returns a storage id per file, usable in downstream document/signature operations.
`application/json`:
- `result` (object) **required**
- `data` (object) **required**
- `files` (array) **required** — One entry per uploaded file. Form-data uploads return one entry per file in the same order they were sent; raw-body/JSON uploads always return exactly one entry.
- `id` (string) **required** _(format: uuid)_ — Server-generated storage identifier (GUID) for the uploaded file. Reference this in downstream requests.
- `fileName` (string) **required** — Stored file name. For form-data uploads this is the original client-supplied filename; for raw-body/JSON uploads it is a server-generated name (e.g. document${guid}.{extension} or data${guid}.json).
- `statusCode` (integer) **required** — HTTP status code of the operation. Always 201 for a successful upload.
- `message` (string) **required** — Outcome message. Always "Created" for a successful upload.
- `origin` (string) **required** — Value of the X-Origin request header, echoed back verbatim. Empty if the header was not supplied.
- `dateTime` (string) **required** _(format: date-time)_ — UTC timestamp when the response was generated.
- `operationId` (string) **required** — Server-side trace identifier for correlating logs and support requests. May be null.
#### `400` — A file has an extension outside .docx/.xlsx/.doc/.xls (INVALID_TEMPLATE_FORMAT), or the request was not multipart/form-data, or no file was supplied (FORM_DATA_EXPECTED — this container type has no JSON/raw-body alternative, so any non-form request lands here).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — The file could not be stored due to a server/storage error (`FILE_UPLOAD_FAILED`).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Document Download (/latest/reference/Documents/document-documents-download-document)
## `GET /documents/document/{documentId}/download`
**Document Download**
Downloads a previously stored document by its storage id and returns the raw file as an octet-stream. The caller must own the file (ownership is verified against the stored subscription-user metadata). Use the id returned by an upload or by document generation delivered to Storage.
### Parameters
- `documentId` (path, string) **required** _(format: uuid)_ — Storage id (GUID) of the document to download, as returned by an upload or generation response.
- `X-Service-Authorization` (header, string) — Service-to-service auth token, used as an alternative to `Authorization` for service-principal callers.
- `X-Client-Authorization` (header, string) — Client auth token, used as an alternative to `Authorization` for client-application callers.
- `X-Email` (header, string) — Caller email, used for identity resolution when authenticating via a service or client auth token.
- `X-OAuth-Flow` (header, string) — Indicates which OAuth flow variant issued the Authorization token.
- `X-Storage-Type` (header, string) **required** — Container-type key used to look up the blob. Must match whichever container the file was originally uploaded to: document-data, document-template, or document-input. Not strictly enforced as a closed enum; an unrecognized value surfaces as a generic FILE_DOWNLOAD_FAILED.
### Responses
#### `200` — Returns the stored document as a binary stream. The Content-Disposition file name and Content-Type reflect the stored file.
`application/octet-stream`:
_any_
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — The file exists but belongs to a different user. Real code: FILE_ACCESS_DENIED.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `404` — No file exists for the supplied id. Real code: NOT_FOUND_BY_ID.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — The file could not be retrieved due to a server/storage error. Real code: FILE_DOWNLOAD_FAILED.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Document Generate Async (/latest/reference/Documents/document-documents-generate-async)
## `POST /documents/document/generate/async`
**Document Generate Async**
This endpoint allows you to initiate an asynchronous document generation request. Similar to the [Documents Generate](https://apim-mavenheadless-dev-westeu.developer.azure-api.net/api-details#api=documents&operation=post-documentsgenerate)
endpoint, it enables you to generate documents (e.g. PDF, DOCX, XLSX) by specifying a template, supplying structured data, and configuring output options such as format, storage location, and delivery method. Unlike the synchronous variant, this endpoint immediately returns control to the caller and processes the document generation in the background, returning a response via a callback, promise, depending on your integration setup once the document is ready. This endpoint is useful when generating complex documents that may require longer processing times or when you prefer non-blocking operations.
### Parameters
- `X-Client-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJzZXNzaW9uLTQ0NyJ9.QFq6y3f6c2b7d1a9")_ — Encrypted (AES) JWT token to identify and authorize the calling client system responsible for requesting the document generation. This header is required when retrieving the template and/or data used to populate the template from the client’s side, and for delivering the final generated document on the client’s side.
- `X-Service-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJhbXBfc3Vic2NyaXB0aW9uIjoic3ViLTg4OSJ9.7f4d1a9c2b6e3f0a")_ — Encrypted (AES) JWT token to represent a user that doesn’t have a Microsoft Account and that is allowed to use the subscription.
- `X-Email` (header, string) _(default: "jane.doe@example.com")_ — Email of the user who starts the process, needed for GAS script processing
### Request body (`application/json`)
- `externalContext` (object)
- `id` (string) _(default: "12345")_ — External reference ID used for contextual tracking.
- `template` (object)
- `name` (string) _(default: "")_ — Template name (as known in Storage, Salesforce, or OneDrive).
- `urn` (string) **required** _(default: "9f86d081-884c-4d30-8934-9c1e6cbcb9f5")_ — Template identifier. Can be a Storage key, Salesforce ContentVersion ID, or OneDrive file ID.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx"; default: "xlsx")_ — Template file format without dot (e.g., docx, xlsx).
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Source of the template where it is stored (e.g., Storage, Salesforce, OneDrive).
- `options` (object)
- `docxLoadOptions` (string) _(default: "{ \"PreserveUnsupportedFeatures\": true }")_ — JSON string for DOCX load options, default "{\"PreserveUnsupportedFeatures\": true}".
- `relatedItems` (array)
- `name` (string) _(default: "")_ — Name of the related template. Must match the name used in the root template.
- `urn` (string) _(default: "")_ — Identifier of the related template, used to locate the file.
- `fileFormat` (string) _(default: "")_ — Format of the related template file (e.g., docx).
- `loadMethod` (string) _(enum: "Storage", "Salesforce", "OneDrive"; default: "")_ — Source system from which to load the related template (e.g., Storage, Salesforce, OneDrive).
- `data` (object)
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Source of the data (e.g., Storage, Salesforce, OneDrive).
- `urn` (string) **required** _(default: "a4f8c9d2-6b3e-4f1a-9c7d-2e5b8a1f4d6c")_ — Data identifier for the data source used to populate the template provided in the template URN (e.g., GraphQL endpoint, Storage key, OneDrive file ID).
- `variables` (array)
- `name` (string) _(default: "")_ — Variable name (e.g., myExpressionField).
- `value` (string) _(default: "")_ — Raw value or expression placeholder.
- `type` (string) _(enum: "fieldExpression", "graphql", "global"; default: "")_ — Type of variable.
- `query` (string) _(default: "")_ — JSON-encoded GraphQL query, used if loadMethod is GraphQL.
- `embedded` (string) _(default: "")_ — Arbitrary key-value pairs written into PDF document properties.
- `document` (object)
- `timezone` (string) **required** _(default: "(GMT+01:00) Central European Standard Time (Europe/Zagreb)")_ — Timezone used for date/time formatting.
- `locale` (string) **required** _(default: "en_US_POSIX")_ — Locale for language-specific formatting. Supported values follow the [Unicode CLDR Project](https://cldr.unicode.org/), such as [`en-GB`, `es-MX`, and others](https://github.com/unicode-org/cldr-json/tree/main/cldr-json/cldr-dates-full/main).
- `name` (string) **required** _(default: "Document")_ — Name of the generated document without file extension.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf"; default: "pdf")_ — Format of the generated document (e.g., docx, xlsx, pdf).
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Place where the document will be stored (e.g., Storage, Salesforce, OneDrive).
- `path` (string) _(default: "")_ — Target folder or path for delivery. Optional based on storage provider.
- `options` (object)
- `pdfSaveOptions` (string) _(default: "{ \"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750 }")_ — JSON string for PDF output settings, default "{\"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750}".
- `docxSaveOptions` (string) _(default: "")_ — JSON string for DOCX output customizations.
- `salesforce` (object)
- `fileId` (string) _(default: "")_ — ID of existing file (ContentDocument) to update/replace.
- `fileType` (string) _(enum: "File", "Attachment"; default: "")_ — File handling capabilities in Salesforce (e.g., File, Attachment).
- `fileParentId` (string) _(default: "")_ — Salesforce record to which the file is attached.
- `ownerId` (string) _(default: "")_ — Salesforce user or queue ID who should own the file.
- `onedrive` (object)
- `viewAnonymous` (boolean) _(default: false)_ — Allow public viewing via link of the generated document.
- `editAnonymous` (boolean) _(default: false)_ — Allow public editing via link of the generated document.
- `editUsers` (array) — List of users for the link with edit access.
- `viewUsers` (array) — List of users for the link with view access.
### Responses
#### `201` — This response indicates that the document was successfully generated and delivered using the specified deliveryMethod. It includes metadata about the generated document (such as name, format, and unique URN), usage metrics (e.g., pages generated), and contextual information useful for tracking and auditing the operation.
`application/json`:
- `result` (object) **required**
- `statusCode` (string) **required** _(enum: "201")_ — Confirming the document was successfully created.
- `message` (string) **required** — A simple status message.
- `data` (object) **required**
- `document` (object) **required**
- `deliveryMethod` (string) **required** _(enum: "Salesforce", "Storage", "OneDrive")_ — The source system where the generated document is stored.
- `name` (string) **required** — The name of the generated document (without file extension).
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf")_ — The format of the generated document.
- `urn` (string) **required** — A unique identifier used to retrieve or reference the generated document.
- `consumption` (array) **required**
- `dimension` (string) **required** _(enum: "pages-generated", "documents-generated")_ — The type of resource consumed (e.g., pages-generated, documents-generated).
- `value` (number) **required** — The measured quantity for the dimension.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the document generation request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the document generation was completed and the response returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this generation operation. Can be used for tracing, auditing, or support.
#### `400` — This response indicates that the request was invalid or improperly formed. It provides details about the error that occurred, including specific error codes, messages, and guidance for the user on how to resolve the issue.
`application/json`:
- `error` (object) **required**
- `statusCode` (string) **required** _(enum: "400")_ — Indicating a bad request was made.
- `message` (string) **required** — A high-level description of the error.
- `innerErrors` (array) **required**
- `code` (string) **required** — An error code indicating the type of issue encountered.
- `message` (string) **required** — A description of the specific error encountered.
- `userMessage` (string) **required** — A message intended for the end-user, advising on how to resolve the issue.
- `eventId` (string) **required** — A unique identifier for tracing the error in logs or debugging.
- `externalErrors` (array)
- `code` (string) — An error code from the external service.
- `message` (string) — A description of the external error.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the document generation request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the response was returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this operation. Can be used for tracing, auditing, or support.
# Document Manage Async (/latest/reference/Documents/document-documents-manage-async)
## `POST /documents/document/manage/async`
**Document Manage Async**
This endpoint allows you to initiate asynchronous document management operations, such as copying, moving, deleting (currently only supports OneDrive), or converting documents, across platforms like Storage, Salesforce, and OneDrive, without modifying their internal content. Unlike the synchronous version, it returns immediately and processes the requested operation in the background. The result can be tracked or received via promise or callback, depending on your integration setup. This approach is ideal for handling large files, slower systems, or when non-blocking execution is preferred.
### Parameters
- `X-Client-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJzZXNzaW9uLTQ0NyJ9.QFq6y3f6c2b7d1a9")_ — Encrypted (AES) JWT token to identify and authorize the calling client system responsible for requesting the document generation. This header is required when retrieving the template and/or data used to populate the template from the client’s side, and for delivering the final generated document on the client’s side.
- `X-Service-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJhbXBfc3Vic2NyaXB0aW9uIjoic3ViLTg4OSJ9.7f4d1a9c2b6e3f0a")_ — Encrypted (AES) JWT token to represent a user that doesn’t have a Microsoft Account and that is allowed to use the subscription.
- `X-Email` (header, string) _(default: "jane.doe@example.com")_ — Email of the user who starts the process, needed for GAS script processing
### Request body (`application/json`)
- `externalContext` (object)
- `id` (string) _(default: "12345")_ — External reference ID used for contextual tracking.
- `sourceDocument` (object)
- `urn` (string) **required** _(default: "e3b0c442-98fc-4e1a-8a3d-2c1b5f6e9a70")_ — URN of the source document stored in the system.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf"; default: "xlsx")_ — File format of the source document (e.g., docx, xlsx, pdf).
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Source of the document where it is store (e.g., Storage, Salesforce, OneDrive).
- `remove` (string) **required** _(default: "none")_ — Flag indicating whether to remove the source document (e.g., none, delete, permanentDelete).
- `options` (object)
- `docxLoadOptions` (string) _(default: "{ \"PreserveUnsupportedFeatures\": true }")_ — JSON string for DOCX load options, default "{\"PreserveUnsupportedFeatures\": true}".
- `targetDocument` (object)
- `name` (string) **required** _(default: "Document")_ — Name of the target document without file extension.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf"; default: "xlsx")_ — Format of the generated document (e.g., docx, xlsx, pdf).
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Place where the document will be stored (e.g., Storage, Salesforce, OneDrive).
- `path` (string) **required** _(default: "")_ — Target folder or path for delivery. Optional based on storage provider.
- `options` (object)
- `pdfSaveOptions` (string) _(default: "{ \"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750 }")_ — JSON string for PDF output settings, default "{\"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750}".
- `docxSaveOptions` (string) _(default: "")_ — JSON string for DOCX output customizations.
- `salesforce` (object)
- `networkId` (string) _(default: "")_ — ID of specific Salesforce Experience Cloud site or community where the generated document should be stored or associated.
- `fileId` (string) _(default: "")_ — ID of existing file (ContentDocument) to update/replace.
- `fileType` (string) _(enum: "File", "Attachment"; default: "")_ — File handling capabilities in Salesforce (e.g., File, Attachment).
- `fileParentId` (string) _(default: "")_ — Salesforce record to which the file is attached.
- `ownerId` (string) _(default: "")_ — Salesforce user or queue ID who should own the file.
- `onedrive` (object)
- `viewAnonymous` (boolean) _(default: false)_ — Allow public viewing via link of the generated document.
- `editAnonymous` (boolean) _(default: false)_ — Allow public editing via link of the generated document.
- `editUsers` (array) — List of users for the link with edit access.
- `viewUsers` (array) — List of users for the link with view access.
- `data` (object)
- `embedded` (string) _(default: "")_ — Arbitrary key-value pairs written into PDF document properties.
### Responses
#### `201` — This response confirms that the document management operation (such as copy, move, delete, or convert) was successfully completed. It returns metadata about the resulting document, including its name, format, storage location, and URN. The response also includes consumption metrics indicating how many documents and pages were processed, which are relevant for billing or quotas.
`application/json`:
- `result` (object) **required**
- `statusCode` (string) **required** _(enum: "201")_ — Confirming the document was successfully managed.
- `message` (string) **required** — A simple status message.
- `data` (object) **required**
- `document` (object) **required**
- `deliveryMethod` (string) **required** _(enum: "Salesforce", "Storage", "OneDrive")_ — The source system where the managed document is stored.
- `name` (string) **required** — The name of the managed document (without file extension).
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf")_ — The format of the managed document.
- `urn` (string) **required** — A unique identifier used to retrieve or reference the managed document.
- `consumption` (array) **required**
- `dimension` (string) **required** _(enum: "pages-managed", "documents-managed")_ — The type of resource consumed (e.g., pages-managed, documents-managed).
- `value` (number) **required** — The measured quantity for the dimension.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the document manage was completed and the response returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this operation. Can be used for tracing, auditing, or support.
#### `400` — This response indicates that the request was malformed or invalid due to missing or unsupported parameters, such as an incorrect file format or improperly structured payload. It includes detailed error information with specific error codes, messages, and a user-friendly explanation to help diagnose the issue.
`application/json`:
- `error` (object) **required**
- `statusCode` (string) **required** _(enum: "400")_ — Indicating a bad request was made.
- `message` (string) **required** — A high-level description of the error.
- `innerErrors` (array) **required**
- `code` (string) **required** — An error code indicating the type of issue encountered.
- `message` (string) **required** — A description of the specific error encountered.
- `userMessage` (string) **required** — A message intended for the end-user, advising on how to resolve the issue.
- `eventId` (string) **required** — A unique identifier for tracing the error in logs or debugging.
- `externalErrors` (array)
- `code` (string) — An error code from the external service.
- `message` (string) — A description of the external error.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the document manage request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the response was returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this operation. Can be used for tracing, auditing, or support.
# Document Merge Async (/latest/reference/Documents/document-documents-merge-async)
## `POST /documents/document/merge/async`
**Document Merge Async**
This endpoint initiates an asynchronous operation to merge multiple source documents into a single PDF, preserving the order specified in the request. Just like synchronous merge endpoint, it supports platforms like Storage, Salesforce, and OneDrive. Unlike the synchronous version, it returns immediately and processes the requested operation in the background. The result can be tracked or received via promise or callback, depending on your integration setup. This approach is ideal for handling large files, slower systems, or when non-blocking execution is preferred.
### Parameters
- `X-Client-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJzZXNzaW9uLTQ0NyJ9.QFq6y3f6c2b7d1a9")_ — Encrypted (AES) JWT token to identify and authorize the calling client system responsible for requesting the document generation. This header is required when retrieving the template and/or data used to populate the template from the client’s side, and for delivering the final generated document on the client’s side.
- `X-Service-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJhbXBfc3Vic2NyaXB0aW9uIjoic3ViLTg4OSJ9.7f4d1a9c2b6e3f0a")_ — Encrypted (AES) JWT token to represent a user that doesn’t have a Microsoft Account and that is allowed to use the subscription.
- `X-Email` (header, string) _(default: "jane.doe@example.com")_ — Email of the user who starts the process, needed for GAS script processing
### Request body (`application/json`)
- `externalContext` (object)
- `id` (string) _(default: "12345")_ — External reference ID used for contextual tracking.
- `sourceDocuments` (array)
- `urn` (string) **required** _(default: "e3b0c442-98fc-4e1a-8a3d-2c1b5f6e9a70")_ — URN of the source document stored in the system.
- `fileFormat` (string) **required** _(enum: "pdf"; default: "pdf")_ — File format of the source document (e.g., pdf).
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Source of the document where it is stored (e.g., Storage, Salesforce, OneDrive).
- `order` (integer) _(default: 1)_ — Order in which the document should be merged.
- `remove` (string) **required** _(default: "none")_ — Flag indicating whether to remove the source document after merging (e.g., none, delete, permanentDelete).
- `targetDocument` (object)
- `name` (string) **required** _(default: "Document")_ — Name of the target document without file extension.
- `fileFormat` (string) **required** _(enum: "pdf"; default: "pdf")_ — Format of the generated document (e.g., pdf).
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Place where the document will be stored (e.g., Storage, Salesforce, OneDrive).
- `path` (string) **required** _(default: "")_ — Target folder or path for delivery. Optional based on storage provider.
- `options` (object)
- `pdfSaveOptions` (string) _(default: "{ \"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750 }")_ — JSON string for PDF output settings, default "{\"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750}".
- `salesforce` (object)
- `networkId` (string) _(default: "")_ — ID of specific Salesforce Experience Cloud site or community where the generated document should be stored or associated.
- `fileId` (string) _(default: "")_ — ID of existing file (ContentDocument) to update/replace.
- `fileType` (string) _(enum: "File", "Attachment"; default: "")_ — File handling capabilities in Salesforce (e.g., File, Attachment).
- `fileParentId` (string) _(default: "")_ — Salesforce record to which the file is attached.
- `ownerId` (string) _(default: "")_ — Salesforce user or queue ID who should own the file.
- `onedrive` (object)
- `viewAnonymous` (boolean) _(default: false)_ — Allow public viewing via link of the generated document.
- `editAnonymous` (boolean) _(default: false)_ — Allow public editing via link of the generated document.
- `editUsers` (array) — List of users for the link with edit access.
- `viewUsers` (array) — List of users for the link with view access.
- `data` (object)
- `embedded` (string) _(default: "")_ — Arbitrary key-value pairs written into PDF document properties.
### Responses
#### `201` — This response confirms that the merge operation was successfully completed. It returns metadata about the newly created PDF document, including its name, delivery method, file format, and a unique URN that can be used to reference or download the file. Additionally, it provides consumption details, such as the number of documents merged and total pages processed.
`application/json`:
- `result` (object) **required**
- `statusCode` (string) **required** _(enum: "201")_ — Confirming the document was successfully merged.
- `message` (string) **required** — A simple status message.
- `data` (object) **required**
- `document` (object) **required**
- `deliveryMethod` (string) **required** _(enum: "Salesforce", "Storage", "OneDrive")_ — The source system where the merged document is stored.
- `name` (string) **required** — The name of the merged document (without file extension).
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf")_ — The format of the merged document.
- `urn` (string) **required** — A unique identifier used to retrieve or reference the merged document.
- `consumption` (array) **required**
- `dimension` (string) **required** _(enum: "pages-merged", "documents-merged")_ — The type of resource consumed (e.g., pages-merged, documents-merged).
- `value` (number) **required** — The measured quantity for the dimension.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the document merge request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the document merge was completed and the response returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this operation. Can be used for tracing, auditing, or support.
#### `400` — This response indicates that the merge request was invalid or improperly formed. It includes detailed error information such as status code, internal error codes, developer-facing messages, and user-friendly error descriptions to help diagnose the issue.
`application/json`:
- `error` (object) **required**
- `statusCode` (string) **required** _(enum: "400")_ — Indicating a bad request was made.
- `message` (string) **required** — A high-level description of the error.
- `innerErrors` (array) **required**
- `code` (string) **required** — An error code indicating the type of issue encountered.
- `message` (string) **required** — A description of the specific error encountered.
- `userMessage` (string) **required** — A message intended for the end-user, advising on how to resolve the issue.
- `eventId` (string) **required** — A unique identifier for tracing the error in logs or debugging.
- `externalErrors` (array)
- `code` (string) — An error code from the external service.
- `message` (string) — A description of the external error.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the document merge request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the response was returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this operation. Can be used for tracing, auditing, or support.
# Document Manage (/latest/reference/Documents/document-documents-post-documentmanage)
## `POST /documents/document/manage`
**Document Manage**
This endpoint performs external file operations on existing documents, such as copying, moving, deleting (currently only supports OneDrive), or converting documents, without modifying their internal content. It allows you to manage how and where documents are stored across supported platforms like Storage, Salesforce, and OneDrive.
**Copy**: If both source and target are provided in the payload, the document is duplicated from the source location to the target location. Requires the same fileFormat in both source and target document and source.remove must be "none".
**Move**: Transfers the document from the source to the target location with deletion from the source. Requires the same fileFormat in both source and target document and source.remove must be "delete" or "permanentDelete".
**Delete**: Deletes the specified document if only the source document is provided and source.remove is "delete" or "permanentDelete". Target document is not in the payload in this case.
**Convert**: Transforms the document format (e.g., docx → pdf, xlsx → pdf) while transferring it between same or different locations. Requires both source and target document with differing fileFormat values.
### Parameters
- `X-Client-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJzZXNzaW9uLTQ0NyJ9.QFq6y3f6c2b7d1a9")_ — Encrypted (AES) JWT token to identify and authorize the calling client system responsible for requesting the document generation. This header is required when retrieving the template and/or data used to populate the template from the client’s side, and for delivering the final generated document on the client’s side.
- `X-Service-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJhbXBfc3Vic2NyaXB0aW9uIjoic3ViLTg4OSJ9.7f4d1a9c2b6e3f0a")_ — Encrypted (AES) JWT token to represent a user that doesn’t have a Microsoft Account and that is allowed to use the subscription.
- `X-Email` (header, string) _(default: "jane.doe@example.com")_ — Email of the user who starts the process, needed for GAS script processing
### Request body (`application/json`)
- `externalContext` (object)
- `id` (string) _(default: "12345")_ — External reference ID used for contextual tracking.
- `sourceDocument` (object)
- `urn` (string) **required** _(default: "e3b0c442-98fc-4e1a-8a3d-2c1b5f6e9a70")_ — URN of the source document stored in the system.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf"; default: "xlsx")_ — File format of the source document (e.g., docx, xlsx, pdf).
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Source of the document where it is stored (e.g., Storage, Salesforce, OneDrive).
- `remove` (string) **required** _(default: "none")_ — Flag indicating whether to remove the source document (e.g., none, delete, permanentDelete)
- `options` (object)
- `docxLoadOptions` (string) _(default: "{ \"PreserveUnsupportedFeatures\": true }")_ — JSON string for DOCX load options, default "{\"PreserveUnsupportedFeatures\": true}".
- `targetDocument` (object)
- `name` (string) **required** _(default: "Document")_ — Name of the target document without file extension.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf"; default: "xlsx")_ — Format of the generated document (e.g., docx, xlsx, pdf).
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Place where the document will be stored (e.g., Storage, Salesforce, OneDrive).
- `path` (string) **required** _(default: "")_ — Target folder or path for delivery. Optional based on storage provider.
- `options` (object)
- `pdfSaveOptions` (string) _(default: "{ \"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750 }")_ — JSON string for PDF output settings, default "{\"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750}".
- `docxSaveOptions` (string) _(default: "")_ — JSON string for DOCX output customizations.
- `salesforce` (object)
- `networkId` (string) _(default: "")_ — ID of specific Salesforce Experience Cloud site or community where the generated document should be stored or associated.
- `fileId` (string) _(default: "")_ — ID of existing file (ContentDocument) to update/replace.
- `fileType` (string) _(enum: "File", "Attachment"; default: "")_ — File handling capabilities in Salesforce (e.g., File, Attachment).
- `fileParentId` (string) _(default: "")_ — Salesforce record to which the file is attached.
- `ownerId` (string) _(default: "")_ — Salesforce user or queue ID who should own the file.
- `onedrive` (object)
- `viewAnonymous` (boolean) _(default: false)_ — Allow public viewing via link of the generated document.
- `editAnonymous` (boolean) _(default: false)_ — Allow public editing via link of the generated document.
- `editUsers` (array) — List of users for the link with edit access.
- `viewUsers` (array) — List of users for the link with view access.
- `data` (object)
- `embedded` (string) _(default: "")_ — Arbitrary key-value pairs written into PDF document properties.
### Responses
#### `201` — This response confirms that the document management operation (such as copy, move, delete, or convert) was successfully completed. It returns metadata about the resulting document, including its name, format, storage location, and URN. The response also includes consumption metrics indicating how many documents and pages were processed, which are relevant for billing or quotas.
`application/json`:
- `result` (object) **required**
- `statusCode` (string) **required** _(enum: "201")_ — Confirming the document was successfully managed.
- `message` (string) **required** — A simple status message.
- `data` (object) **required**
- `document` (object) **required**
- `deliveryMethod` (string) **required** _(enum: "Salesforce", "Storage", "OneDrive")_ — The source system where the managed document is stored.
- `name` (string) **required** — The name of the managed document (without file extension).
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf")_ — The format of the managed document.
- `urn` (string) **required** — A unique identifier used to retrieve or reference the managed document.
- `consumption` (array) **required**
- `dimension` (string) **required** _(enum: "pages-managed", "documents-managed")_ — The type of resource consumed (e.g., pages-managed, documents-managed).
- `value` (number) **required** — The measured quantity for the dimension.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the request was completed and the response returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this operation. Can be used for tracing, auditing, or support.
#### `400` — This response indicates that the request was malformed or invalid due to missing or unsupported parameters, such as an incorrect file format or improperly structured payload. It includes detailed error information with specific error codes, messages, and a user-friendly explanation to help diagnose the issue.
`application/json`:
- `error` (object) **required**
- `statusCode` (string) **required** _(enum: "400")_ — Indicating a bad request was made.
- `message` (string) **required** — A high-level description of the error.
- `innerErrors` (array) **required**
- `code` (string) **required** — An error code indicating the type of issue encountered.
- `message` (string) **required** — A description of the specific error encountered.
- `userMessage` (string) **required** — A message intended for the end-user, advising on how to resolve the issue.
- `eventId` (string) **required** — A unique identifier for tracing the error in logs or debugging.
- `externalErrors` (array)
- `code` (string) — An error code from the external service.
- `message` (string) — A description of the external error.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the document manage request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the response was returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this operation. Can be used for tracing, auditing, or support.
# Document Merge (/latest/reference/Documents/document-documents-post-documentmerge)
## `POST /documents/document/merge`
**Document Merge**
This endpoint allows you to merge multiple PDF documents into a single consolidated PDF file, preserving the order you specify. The sequence of merged files is determined in the payload in each source document, and all source files must be in PDF format. The merged output can be stored in Storage, Salesforce, or OneDrive and source documents can optionally be removed from the source after merging.
### Parameters
- `X-Client-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJzZXNzaW9uLTQ0NyJ9.QFq6y3f6c2b7d1a9")_ — Encrypted (AES) JWT token to identify and authorize the calling client system responsible for requesting the document generation. This header is required when retrieving the template and/or data used to populate the template from the client’s side, and for delivering the final generated document on the client’s side.
- `X-Service-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJhbXBfc3Vic2NyaXB0aW9uIjoic3ViLTg4OSJ9.7f4d1a9c2b6e3f0a")_ — Encrypted (AES) JWT token to represent a user that doesn’t have a Microsoft Account and that is allowed to use the subscription.
- `X-Email` (header, string) _(default: "jane.doe@example.com")_ — Email of the user who starts the process, needed for GAS script processing
### Request body (`application/json`)
- `externalContext` (object)
- `id` (string) _(default: "12345")_ — External reference ID used for contextual tracking.
- `sourceDocuments` (array)
- `urn` (string) **required** _(default: "e3b0c442-98fc-4e1a-8a3d-2c1b5f6e9a70")_ — URN of the source document stored in the system.
- `fileFormat` (string) **required** _(enum: "pdf"; default: "pdf")_ — File format of the source document (e.g., pdf).
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Source of the document where it is stored (e.g., Storage, Salesforce, OneDrive).
- `order` (integer) _(default: 1)_ — Order in which the document should be merged.
- `remove` (string) **required** _(default: "none")_ — Flag indicating whether to remove the source document after merging (e.g., none, delete, permanentDelete).
- `targetDocument` (object)
- `name` (string) **required** _(default: "Document")_ — Name of the target document without file extension.
- `fileFormat` (string) **required** _(enum: "pdf"; default: "pdf")_ — Format of the generated document (e.g., pdf).
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Place where the document will be stored (e.g., Storage, Salesforce, OneDrive).
- `path` (string) **required** _(default: "")_ — Target folder or path for delivery. Optional based on storage provider.
- `options` (object)
- `pdfSaveOptions` (string) _(default: "{ \"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750 }")_ — JSON string for PDF output settings, default "{\"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750}".
- `salesforce` (object)
- `networkId` (string) _(default: "")_ — ID of specific Salesforce Experience Cloud site or community where the generated document should be stored or associated.
- `fileId` (string) _(default: "")_ — ID of existing file (ContentDocument) to update/replace.
- `fileType` (string) _(enum: "File", "Attachment"; default: "")_ — File handling capabilities in Salesforce (e.g., File, Attachment).
- `fileParentId` (string) _(default: "")_ — Salesforce record to which the file is attached.
- `ownerId` (string) _(default: "")_ — Salesforce user or queue ID who should own the file.
- `onedrive` (object)
- `viewAnonymous` (boolean) _(default: false)_ — Allow public viewing via link of the generated document.
- `editAnonymous` (boolean) _(default: false)_ — Allow public editing via link of the generated document.
- `editUsers` (array) — List of users for the link with edit access.
- `viewUsers` (array) — List of users for the link with view access.
- `data` (object)
- `embedded` (string) _(default: "")_ — Arbitrary key-value pairs written into PDF document properties.
### Responses
#### `201` — This response confirms that the merge operation was successfully completed. It returns metadata about the newly created PDF document, including its name, delivery method, file format, and a unique URN that can be used to reference or download the file. Additionally, it provides consumption details, such as the number of documents merged and total pages processed.
`application/json`:
- `result` (object) **required**
- `statusCode` (string) **required** _(enum: "201")_ — Confirming the document was successfully merged.
- `message` (string) **required** — A simple status message.
- `data` (object) **required**
- `document` (object) **required**
- `deliveryMethod` (string) **required** _(enum: "Salesforce", "Storage", "OneDrive")_ — The source system where the merged document is stored.
- `name` (string) **required** — The name of the merged document (without file extension).
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf")_ — The format of the merged document.
- `urn` (string) **required** — A unique identifier used to retrieve or reference the merged document.
- `consumption` (array) **required**
- `dimension` (string) **required** _(enum: "pages-merged", "documents-merged")_ — The type of resource consumed (e.g., pages-merged, documents-merged).
- `value` (number) **required** — The measured quantity for the dimension.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the document merge request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the document merge was completed and the response returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this operation. Can be used for tracing, auditing, or support.
#### `400` — This response indicates that the merge request was invalid or improperly formed. It includes detailed error information such as status code, internal error codes, developer-facing messages, and user-friendly error descriptions to help diagnose the issue.
`application/json`:
- `error` (object) **required**
- `statusCode` (string) **required** _(enum: "400")_ — Indicating a bad request was made.
- `message` (string) **required** — A high-level description of the error.
- `innerErrors` (array) **required**
- `code` (string) **required** — An error code indicating the type of issue encountered.
- `message` (string) **required** — A description of the specific error encountered.
- `userMessage` (string) **required** — A message intended for the end-user, advising on how to resolve the issue.
- `eventId` (string) **required** — A unique identifier for tracing the error in logs or debugging.
- `externalErrors` (array)
- `code` (string) — An error code from the external service.
- `message` (string) — A description of the external error.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the document merge request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the response was returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this operation. Can be used for tracing, auditing, or support.
# Document Generate (/latest/reference/Documents/document-documents-post-documentsgenerate)
## `POST /documents/document/generate`
**Document Generate**
This is an object representing a document request in the system. You can use this endpoint to generate documents (e.g. PDF, DOCX, XLSX) by specifying a template, providing the data to populate that template, and choosing where and how the final file should be delivered.
The document output can be stored in Storage, Salesforce, or OneDrive, and may include advanced options like anonymous sharing, file ownership, and metadata tagging.
You can also attach additional related templates, pass custom variables, and render dynamic content using GraphQL queries or stored data sources.
Related guide: [Document Template Configuration](https://docs.mavenmule.com/maven-documents/elements-reference)
### Parameters
- `X-Client-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJzZXNzaW9uLTQ0NyJ9.QFq6y3f6c2b7d1a9")_ — Encrypted (AES) JWT token to identify and authorize the calling client system responsible for requesting the document generation. This header is required when retrieving the template and/or data used to populate the template from the client’s side, and for delivering the final generated document on the client’s side. The JWT must contain the following claims: **sub **: Current user session. **Destination **: Path to which should be used to make a callback. **full_name **: Name of the user that made the request. **email **: The email address of the user that made the request. **iss **: The issuer claim identifies the principal that issued the JWT. URL of the issuer. **oid **: Object Id claim represents a unique Id of the user that made the request, for example in Salesforce case this will be User record Id. **clientId **: Id representing the client. Eg OrgId. **zoneInfo **: Zone information. **locale **: Localization information.
- `X-Service-Authorization` (header, string) _(default: "eyJhbGciOiJSUzI1NiJ9.eyJhbXBfc3Vic2NyaXB0aW9uIjoic3ViLTg4OSJ9.7f4d1a9c2b6e3f0a")_ — Encrypted (AES) JWT token to represent a user that doesn’t have a Microsoft Account and that is allowed to use the subscription. The JWT must contain the following claims: **amp_subscription **: The offering subscription key which is used to validate that the client has a valid license. **full_name **: Name of the user that made the request. **email **: The email address of the user that made the request. **iss **: The issuer claim identifies the principal that issued the JWT. URL of the issuer. **oid **: Object Id claim represents a unique Id of the user that made the request, for example in Salesforce case this will be User record Id. **zoneInfo **: Zone information. **locale **: Localization information.
- `X-Email` (header, string) _(default: "jane.doe@example.com")_ — Email of the user who starts the process, needed for GAS script processing
### Request body (`application/json`)
- `externalContext` (object)
- `id` (string) _(default: "12345")_ — External reference ID used for contextual tracking.
- `template` (object)
- `name` (string) _(default: "")_ — Template name (as known in Storage, Salesforce, or OneDrive).
- `urn` (string) **required** _(default: "9f86d081-884c-4d30-8934-9c1e6cbcb9f5")_ — Template identifier. Can be a Storage key, Salesforce ContentVersion ID, or OneDrive file ID.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx"; default: "xlsx")_ — Template file format without dot (e.g., docx, xlsx).
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Source of the template where it is stored (e.g., Storage, Salesforce, OneDrive).
- `options` (object)
- `docxLoadOptions` (string) _(default: "{ \"PreserveUnsupportedFeatures\": true }")_ — JSON string for DOCX load options, default "{\"PreserveUnsupportedFeatures\": true}".
- `relatedItems` (array)
- `name` (string) _(default: "")_ — Name of the related template. Must match the name used in the root template.
- `urn` (string) _(default: "")_ — Identifier of the related template, used to locate the file.
- `fileFormat` (string) _(default: "")_ — Format of the related template file (e.g., docx, xlsx).
- `loadMethod` (string) _(enum: "Storage", "Salesforce", "OneDrive"; default: "")_ — Source system from which to load the related template (e.g., Storage, Salesforce, OneDrive).
- `data` (object)
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Source of the data (e.g., Storage, Salesforce, OneDrive).
- `urn` (string) **required** _(default: "a4f8c9d2-6b3e-4f1a-9c7d-2e5b8a1f4d6c")_ — Data identifier for the data source used to populate the template provided in the template URN (e.g., GraphQL endpoint, Storage key, OneDrive file ID).
- `variables` (array)
- `name` (string) _(default: "")_ — Variable name (e.g., myExpressionField).
- `value` (string) _(default: "")_ — Raw value or expression placeholder.
- `type` (string) _(enum: "fieldExpression", "graphql", "global"; default: "")_ — Type of variable.
- `query` (string) _(default: "")_ — JSON-encoded GraphQL query, used if loadMethod is GraphQL.
- `embedded` (string) _(default: "")_ — Arbitrary key-value pairs written into PDF document properties.
- `document` (object)
- `timezone` (string) **required** _(default: "(GMT+01:00) Central European Standard Time (Europe/Zagreb)")_ — Timezone used for date/time formatting.
- `locale` (string) **required** _(default: "en_US_POSIX")_ — Locale for language-specific formatting. Supported values follow the [Unicode CLDR Project](https://cldr.unicode.org/), such as [`en-GB`, `es-MX`, and others](https://github.com/unicode-org/cldr-json/tree/main/cldr-json/cldr-dates-full/main).
- `name` (string) **required** _(default: "Document")_ — Name of the generated document without file extension.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf"; default: "pdf")_ — Format of the generated document (e.g., docx, xlsx, pdf).
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive"; default: "Storage")_ — Place where the document will be stored (e.g., Storage, Salesforce, OneDrive).
- `path` (string) _(default: "")_ — Target folder or path for delivery. Optional based on storage provider.
- `options` (object)
- `pdfSaveOptions` (string) _(default: "{ \"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750 }")_ — JSON string for PDF output settings, default "{\"ConformanceLevel\": \"PdfA3a\", \"Version\": \"PDF_1_7\", \"ImageDpi\": 750}".
- `docxSaveOptions` (string) _(default: "")_ — JSON string for DOCX output customizations.
- `salesforce` (object)
- `fileId` (string) _(default: "")_ — ID of existing file (ContentDocument) to update/replace.
- `fileType` (string) _(enum: "File", "Attachment"; default: "")_ — File handling capabilities in Salesforce (e.g., File, Attachment).
- `fileParentId` (string) _(default: "")_ — Salesforce record to which the file is attached.
- `ownerId` (string) _(default: "")_ — Salesforce user or queue ID who should own the file.
- `onedrive` (object)
- `viewAnonymous` (boolean) _(default: false)_ — Allow public viewing via link of the generated document.
- `editAnonymous` (boolean) _(default: false)_ — Allow public editing via link of the generated document.
- `editUsers` (array) — List of users for the link with edit access.
- `viewUsers` (array) — List of users for the link with view access.
### Responses
#### `201` — This response indicates that the document was successfully generated and delivered using the specified deliveryMethod. It includes metadata about the generated document (such as name, format, and unique URN), usage metrics (e.g., pages generated), and contextual information useful for tracking and auditing the operation.
`application/json`:
- `result` (object) **required**
- `statusCode` (string) **required** _(enum: "201")_ — Confirming the document was successfully created.
- `message` (string) **required** — A simple status message.
- `data` (object) **required**
- `document` (object) **required**
- `deliveryMethod` (string) **required** _(enum: "Salesforce", "Storage", "OneDrive")_ — The source system where the generated document is stored.
- `name` (string) **required** — The name of the generated document (without file extension).
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf")_ — The format of the generated document.
- `urn` (string) **required** — A unique identifier used to retrieve or reference the generated document.
- `consumption` (array) **required**
- `dimension` (string) **required** _(enum: "pages-generated", "documents-generated")_ — The type of resource consumed (e.g., pages-generated, documents-generated).
- `value` (number) **required** — The measured quantity for the dimension.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the document generation request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the document generation was completed and the response returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this generation operation. Can be used for tracing, auditing, or support.
#### `400` — This response indicates that the request was invalid or improperly formed. It provides details about the error that occurred, including specific error codes, messages, and guidance for the user on how to resolve the issue.
`application/json`:
- `error` (object) **required**
- `statusCode` (string) **required** _(enum: "400")_ — Indicating a bad request was made.
- `message` (string) **required** — A high-level description of the error.
- `innerErrors` (array) **required**
- `code` (string) **required** — An error code indicating the type of issue encountered.
- `message` (string) **required** — A description of the specific error encountered.
- `userMessage` (string) **required** — A message intended for the end-user, advising on how to resolve the issue.
- `eventId` (string) **required** — A unique identifier for tracing the error in logs or debugging.
- `externalErrors` (array)
- `code` (string) — An error code from the external service.
- `message` (string) — A description of the external error.
- `externalContext` (object) **required**
- `actionRequestId` (string) **required** — External reference ID used for contextual tracking.
- `origin` (string) **required** — The HTTP method and endpoint URL that initiated the document generation request.
- `dateTime` (string) **required** _(format: date-time)_ — The exact UTC timestamp when the response was returned.
- `userId` (string) **required** — The unique identifier of the user or system that initiated the request.
- `operationId` (string) **required** — A system-generated ID that uniquely identifies this operation. Can be used for tracing, auditing, or support.
# Document Request Delete (/latest/reference/Documents/document-request-documents-document-request-delete)
## `DELETE /documents/request/{documentRequestGuid}/delete`
**Document Request Delete**
Soft-deletes a document request by its GUID.
### Parameters
- `documentRequestGuid` (path, string) **required** _(format: uuid)_ — GUID of the document request to delete.
### Responses
#### `200` — Document request deleted successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentRequestGuid` (string) _(format: uuid)_
- `message` (string)
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Request Get (/latest/reference/Documents/document-request-documents-document-request-get)
## `GET /documents/request/{documentRequestGuid}/get`
**Document Request Get**
Retrieves a single document request by its GUID.
### Parameters
- `documentRequestGuid` (path, string) **required** _(format: uuid)_ — GUID of the document request.
### Responses
#### `200` — Document request retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentRequest` (DocumentRequestModel)
- `documentRequestGuid` (string) _(format: uuid)_ — Unique identifier of the request.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `documentTemplateGuid` (string) **required** _(format: uuid)_ — Template to generate from. Required (must be a non-empty GUID).
- `dataGuid` (string) **required** _(format: uuid)_ — Data source to merge. Required (must be a non-empty GUID).
- `documentGuid` (string) _(format: uuid)_ — Resulting document, once generated.
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Optional configuration that governs generation & delivery.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `recordId` (string) — Optional caller-supplied correlation/record id.
- `name` (string) **required** — Human-readable name of the request. Required, must be non-empty.
- `status` (string) **required** — Request status. Required, must be non-empty.
- `embeddedData` (string) — Optional JSON string of static data merged into this request.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (pdf only).
- `pdfVersion` (string) — Optional PDF version (pdf only).
- `language` (string) — Optional ISO language code.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `completedDate` (string) _(format: date-time)_ — Completion timestamp (UTC), when finished. Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Request List (/latest/reference/Documents/document-request-documents-document-request-list)
## `GET /documents/request/list`
**Document Request List**
Returns a paginated, optionally filtered and sorted list of document requests.
### Parameters
- `top` (query, integer) — Maximum number of records to return (page size).
- `skip` (query, integer) — Number of records to skip (page offset).
- `orderby` (query, string) — Sort clause in the form `Column|DIRECTION`, e.g. `Name|DESC`. The column and direction are separated by a pipe (`|`).
- `filter` (query, string) — URL-encoded JSON array of filter clauses (see FilterDTO). Example (decoded): `[{"key":"Filter1","column":"Name","type":"string","condition":"CONTAINS","value":"Invoice"}]`.
### Responses
#### `200` — List of document requests retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentRequests` (array)
- `documentRequestGuid` (string) _(format: uuid)_ — Unique identifier of the request.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `documentTemplateGuid` (string) **required** _(format: uuid)_ — Template to generate from. Required (must be a non-empty GUID).
- `dataGuid` (string) **required** _(format: uuid)_ — Data source to merge. Required (must be a non-empty GUID).
- `documentGuid` (string) _(format: uuid)_ — Resulting document, once generated.
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Optional configuration that governs generation & delivery.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `recordId` (string) — Optional caller-supplied correlation/record id.
- `name` (string) **required** — Human-readable name of the request. Required, must be non-empty.
- `status` (string) **required** — Request status. Required, must be non-empty.
- `embeddedData` (string) — Optional JSON string of static data merged into this request.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (pdf only).
- `pdfVersion` (string) — Optional PDF version (pdf only).
- `language` (string) — Optional ISO language code.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `completedDate` (string) _(format: date-time)_ — Completion timestamp (UTC), when finished. Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `rowCount` (integer) — Total number of records matching the query.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Request Update (/latest/reference/Documents/document-request-documents-document-request-update)
## `PUT /documents/request/{documentRequestGuid}/update`
**Document Request Update**
Updates an existing document request.
### Parameters
- `documentRequestGuid` (path, string) **required** _(format: uuid)_ — GUID of the document request to update.
### Request body (`application/json`)
- `documentRequestGuid` (string) _(format: uuid)_ — Unique identifier of the request.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `documentTemplateGuid` (string) **required** _(format: uuid)_ — Template to generate from. Required (must be a non-empty GUID).
- `dataGuid` (string) **required** _(format: uuid)_ — Data source to merge. Required (must be a non-empty GUID).
- `documentGuid` (string) _(format: uuid)_ — Resulting document, once generated.
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Optional configuration that governs generation & delivery.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `recordId` (string) — Optional caller-supplied correlation/record id.
- `name` (string) **required** — Human-readable name of the request. Required, must be non-empty.
- `status` (string) **required** — Request status. Required, must be non-empty.
- `embeddedData` (string) — Optional JSON string of static data merged into this request.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (pdf only).
- `pdfVersion` (string) — Optional PDF version (pdf only).
- `language` (string) — Optional ISO language code.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `completedDate` (string) _(format: date-time)_ — Completion timestamp (UTC), when finished. Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Document request updated successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentRequest` (DocumentRequestModel)
- `documentRequestGuid` (string) _(format: uuid)_ — Unique identifier of the request.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `documentTemplateGuid` (string) **required** _(format: uuid)_ — Template to generate from. Required (must be a non-empty GUID).
- `dataGuid` (string) **required** _(format: uuid)_ — Data source to merge. Required (must be a non-empty GUID).
- `documentGuid` (string) _(format: uuid)_ — Resulting document, once generated.
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Optional configuration that governs generation & delivery.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `recordId` (string) — Optional caller-supplied correlation/record id.
- `name` (string) **required** — Human-readable name of the request. Required, must be non-empty.
- `status` (string) **required** — Request status. Required, must be non-empty.
- `embeddedData` (string) — Optional JSON string of static data merged into this request.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (pdf only).
- `pdfVersion` (string) — Optional PDF version (pdf only).
- `language` (string) — Optional ISO language code.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `completedDate` (string) _(format: date-time)_ — Completion timestamp (UTC), when finished. Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Request Create (/latest/reference/Documents/document-request-documents-request-create)
## `POST /documents/request/create`
**Document Request Create**
Creates a new document request.
### Request body (`application/json`)
- `documentRequestGuid` (string) _(format: uuid)_ — Unique identifier of the request.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `documentTemplateGuid` (string) **required** _(format: uuid)_ — Template to generate from. Required (must be a non-empty GUID).
- `dataGuid` (string) **required** _(format: uuid)_ — Data source to merge. Required (must be a non-empty GUID).
- `documentGuid` (string) _(format: uuid)_ — Resulting document, once generated.
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Optional configuration that governs generation & delivery.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `recordId` (string) — Optional caller-supplied correlation/record id.
- `name` (string) **required** — Human-readable name of the request. Required, must be non-empty.
- `status` (string) **required** — Request status. Required, must be non-empty.
- `embeddedData` (string) — Optional JSON string of static data merged into this request.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (pdf only).
- `pdfVersion` (string) — Optional PDF version (pdf only).
- `language` (string) — Optional ISO language code.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `completedDate` (string) _(format: date-time)_ — Completion timestamp (UTC), when finished. Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Document request created successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentRequest` (DocumentRequestModel)
- `documentRequestGuid` (string) _(format: uuid)_ — Unique identifier of the request.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `documentTemplateGuid` (string) **required** _(format: uuid)_ — Template to generate from. Required (must be a non-empty GUID).
- `dataGuid` (string) **required** _(format: uuid)_ — Data source to merge. Required (must be a non-empty GUID).
- `documentGuid` (string) _(format: uuid)_ — Resulting document, once generated.
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Optional configuration that governs generation & delivery.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `recordId` (string) — Optional caller-supplied correlation/record id.
- `name` (string) **required** — Human-readable name of the request. Required, must be non-empty.
- `status` (string) **required** — Request status. Required, must be non-empty.
- `embeddedData` (string) — Optional JSON string of static data merged into this request.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (pdf only).
- `pdfVersion` (string) — Optional PDF version (pdf only).
- `language` (string) — Optional ISO language code.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `completedDate` (string) _(format: date-time)_ — Completion timestamp (UTC), when finished. Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Solution Configuration Create (/latest/reference/Documents/document-solution-configuration-documents-configuration-create)
## `POST /documents/configuration/create`
**Document Solution Configuration Create**
Creates a new document solution configuration.
### Request body (`application/json`)
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Unique identifier of the configuration.
- `documentSolutionGuid` (string) _(format: uuid)_ — Parent document solution this configuration belongs to.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the configuration. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode. When supplied must be one of the allowed values.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (applies when fileFormat is pdf).
- `pdfVersion` (string) — Optional PDF version (applies when fileFormat is pdf).
- `language` (string) — Optional ISO language code applied during generation.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone used for date/time formatting.
- `embeddedData` (string) — Optional JSON string of static data merged into every generation.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Document solution configuration created successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentSolutionConfiguration` (DocumentSolutionConfigurationModel)
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Unique identifier of the configuration.
- `documentSolutionGuid` (string) _(format: uuid)_ — Parent document solution this configuration belongs to.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the configuration. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode. When supplied must be one of the allowed values.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (applies when fileFormat is pdf).
- `pdfVersion` (string) — Optional PDF version (applies when fileFormat is pdf).
- `language` (string) — Optional ISO language code applied during generation.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone used for date/time formatting.
- `embeddedData` (string) — Optional JSON string of static data merged into every generation.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Solution Configuration Delete (/latest/reference/Documents/document-solution-configuration-documents-document-solution-configuration-delete)
## `DELETE /documents/configuration/{documentSolutionConfigurationGuid}/delete`
**Document Solution Configuration Delete**
Soft-deletes a document solution configuration by its GUID.
### Parameters
- `documentSolutionConfigurationGuid` (path, string) **required** _(format: uuid)_ — GUID of the document solution configuration to delete.
### Responses
#### `200` — Document solution configuration deleted successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_
- `message` (string)
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Solution Configuration Get (/latest/reference/Documents/document-solution-configuration-documents-document-solution-configuration-get)
## `GET /documents/configuration/{documentSolutionConfigurationGuid}/get`
**Document Solution Configuration Get**
Retrieves a single document solution configuration by its GUID.
### Parameters
- `documentSolutionConfigurationGuid` (path, string) **required** _(format: uuid)_ — GUID of the document solution configuration.
### Responses
#### `200` — Document solution configuration retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentSolutionConfiguration` (DocumentSolutionConfigurationModel)
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Unique identifier of the configuration.
- `documentSolutionGuid` (string) _(format: uuid)_ — Parent document solution this configuration belongs to.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the configuration. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode. When supplied must be one of the allowed values.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (applies when fileFormat is pdf).
- `pdfVersion` (string) — Optional PDF version (applies when fileFormat is pdf).
- `language` (string) — Optional ISO language code applied during generation.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone used for date/time formatting.
- `embeddedData` (string) — Optional JSON string of static data merged into every generation.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Solution Configuration List (/latest/reference/Documents/document-solution-configuration-documents-document-solution-configuration-list)
## `GET /documents/configuration/list`
**Document Solution Configuration List**
Returns a paginated, optionally filtered and sorted list of document solution configurations.
### Parameters
- `top` (query, integer) — Maximum number of records to return (page size).
- `skip` (query, integer) — Number of records to skip (page offset).
- `orderby` (query, string) — Sort clause in the form `Column|DIRECTION`, e.g. `Name|DESC`. The column and direction are separated by a pipe (`|`).
- `filter` (query, string) — URL-encoded JSON array of filter clauses (see FilterDTO). Example (decoded): `[{"key":"Filter1","column":"Name","type":"string","condition":"CONTAINS","value":"Invoice"}]`.
### Responses
#### `200` — List of document solution configurations retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentSolutionConfigurations` (array)
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Unique identifier of the configuration.
- `documentSolutionGuid` (string) _(format: uuid)_ — Parent document solution this configuration belongs to.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the configuration. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode. When supplied must be one of the allowed values.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (applies when fileFormat is pdf).
- `pdfVersion` (string) — Optional PDF version (applies when fileFormat is pdf).
- `language` (string) — Optional ISO language code applied during generation.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone used for date/time formatting.
- `embeddedData` (string) — Optional JSON string of static data merged into every generation.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `rowCount` (integer) — Total number of records matching the query.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Solution Configuration Update (/latest/reference/Documents/document-solution-configuration-documents-document-solution-configuration-update)
## `PUT /documents/configuration/{documentSolutionConfigurationGuid}/update`
**Document Solution Configuration Update**
Updates an existing document solution configuration.
### Parameters
- `documentSolutionConfigurationGuid` (path, string) **required** _(format: uuid)_ — GUID of the document solution configuration to update.
### Request body (`application/json`)
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Unique identifier of the configuration.
- `documentSolutionGuid` (string) _(format: uuid)_ — Parent document solution this configuration belongs to.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the configuration. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode. When supplied must be one of the allowed values.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (applies when fileFormat is pdf).
- `pdfVersion` (string) — Optional PDF version (applies when fileFormat is pdf).
- `language` (string) — Optional ISO language code applied during generation.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone used for date/time formatting.
- `embeddedData` (string) — Optional JSON string of static data merged into every generation.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Document solution configuration updated successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentSolutionConfiguration` (DocumentSolutionConfigurationModel)
- `documentSolutionConfigurationGuid` (string) _(format: uuid)_ — Unique identifier of the configuration.
- `documentSolutionGuid` (string) _(format: uuid)_ — Parent document solution this configuration belongs to.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the configuration. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional output document title.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — Output file format. Required.
- `processingType` (string) _(enum: "STANDARD", "BATCH", "SYNC")_ — Optional processing mode. When supplied must be one of the allowed values.
- `deliveryMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive", "Email")_ — How the generated document is delivered. Required.
- `path` (string) — Optional destination storage path/key.
- `pdfConformanceLevel` (string) — Optional PDF/A conformance level (applies when fileFormat is pdf).
- `pdfVersion` (string) — Optional PDF version (applies when fileFormat is pdf).
- `language` (string) — Optional ISO language code applied during generation.
- `locale` (string) — Optional locale used for formatting.
- `timeZone` (string) — Optional IANA time zone used for date/time formatting.
- `embeddedData` (string) — Optional JSON string of static data merged into every generation.
- `viewAnonymous` (boolean) — Allow anonymous view access to the output.
- `editAnonymous` (boolean) — Allow anonymous edit access to the output.
- `viewOrganization` (boolean) — Allow organization-wide view access.
- `editOrganization` (boolean) — Allow organization-wide edit access.
- `viewUser` (boolean) — Allow named-user view access (see viewUserEmailList).
- `editUser` (boolean) — Allow named-user edit access (see editUserEmailList).
- `viewUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `editUserEmailList` (string) — Comma-separated list of e-mail addresses. Each address is validated individually; an invalid address rejects the whole request.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Solution Delete (/latest/reference/Documents/document-solution-documents-document-solution-delete)
## `DELETE /documents/solution/{documentSolutionGuid}/delete`
**Document Solution Delete**
Soft-deletes a document solution by its GUID.
### Parameters
- `documentSolutionGuid` (path, string) **required** _(format: uuid)_ — GUID of the document solution to delete.
### Responses
#### `200` — Document solution deleted successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentSolutionGuid` (string) _(format: uuid)_
- `message` (string)
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Solution Get (/latest/reference/Documents/document-solution-documents-document-solution-get)
## `GET /documents/solution/{documentSolutionGuid}/get`
**Document Solution Get**
Retrieves a single document solution by its GUID.
### Parameters
- `documentSolutionGuid` (path, string) **required** _(format: uuid)_ — GUID of the document solution.
### Responses
#### `200` — Document solution retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentSolution` (DocumentSolutionModel)
- `documentSolutionGuid` (string) _(format: uuid)_ — Unique identifier of the document solution.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `dataGuid` (string) **required** _(format: uuid)_ — Identifier of the data source that feeds this solution. Required.
- `name` (string) **required** — Human-readable name of the solution. Required, must be non-empty.
- `description` (string) — Optional description.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Solution List (/latest/reference/Documents/document-solution-documents-document-solution-list)
## `GET /documents/solution/list`
**Document Solution List**
Returns a paginated, optionally filtered and sorted list of document solutions.
### Parameters
- `top` (query, integer) — Maximum number of records to return (page size).
- `skip` (query, integer) — Number of records to skip (page offset).
- `orderby` (query, string) — Sort clause in the form `Column|DIRECTION`, e.g. `Name|DESC`. The column and direction are separated by a pipe (`|`).
- `filter` (query, string) — URL-encoded JSON array of filter clauses (see FilterDTO). Example (decoded): `[{"key":"Filter1","column":"Name","type":"string","condition":"CONTAINS","value":"Invoice"}]`.
### Responses
#### `200` — List of document solutions retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentSolutions` (array)
- `documentSolutionGuid` (string) _(format: uuid)_ — Unique identifier of the document solution.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `dataGuid` (string) **required** _(format: uuid)_ — Identifier of the data source that feeds this solution. Required.
- `name` (string) **required** — Human-readable name of the solution. Required, must be non-empty.
- `description` (string) — Optional description.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `rowCount` (integer) — Total number of records matching the query.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Solution Update (/latest/reference/Documents/document-solution-documents-document-solution-update)
## `PUT /documents/solution/{documentSolutionGuid}/update`
**Document Solution Update**
Updates an existing document solution.
### Parameters
- `documentSolutionGuid` (path, string) **required** _(format: uuid)_ — GUID of the document solution to update.
### Request body (`application/json`)
- `documentSolutionGuid` (string) _(format: uuid)_ — Unique identifier of the document solution.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `dataGuid` (string) **required** _(format: uuid)_ — Identifier of the data source that feeds this solution. Required.
- `name` (string) **required** — Human-readable name of the solution. Required, must be non-empty.
- `description` (string) — Optional description.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Document solution updated successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentSolution` (DocumentSolutionModel)
- `documentSolutionGuid` (string) _(format: uuid)_ — Unique identifier of the document solution.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `dataGuid` (string) **required** _(format: uuid)_ — Identifier of the data source that feeds this solution. Required.
- `name` (string) **required** — Human-readable name of the solution. Required, must be non-empty.
- `description` (string) — Optional description.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Solution Create (/latest/reference/Documents/document-solution-documents-solution-create)
## `POST /documents/solution/create`
**Document Solution Create**
Creates a new document solution.
### Request body (`application/json`)
- `documentSolutionGuid` (string) _(format: uuid)_ — Unique identifier of the document solution.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `dataGuid` (string) **required** _(format: uuid)_ — Identifier of the data source that feeds this solution. Required.
- `name` (string) **required** — Human-readable name of the solution. Required, must be non-empty.
- `description` (string) — Optional description.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Document solution created successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentSolution` (DocumentSolutionModel)
- `documentSolutionGuid` (string) _(format: uuid)_ — Unique identifier of the document solution.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `dataGuid` (string) **required** _(format: uuid)_ — Identifier of the data source that feeds this solution. Required.
- `name` (string) **required** — Human-readable name of the solution. Required, must be non-empty.
- `description` (string) — Optional description.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Template Create (/latest/reference/Documents/document-template-documents-template-create)
## `POST /documents/template/create`
**Document Template Create**
Creates a new document template.
### Request body (`application/json`)
- `documentTemplateGuid` (string) _(format: uuid)_ — Unique identifier of the template.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the template. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional document title applied to generated output.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the template file.
- `url` (string) — Optional absolute URL to the template file. When supplied it must be a well-formed absolute URI.
- `viewAnonymousLink` (string) — Read-only sharing link for anonymous viewers. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Editing link for anonymous users. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Read-only sharing link for authenticated users. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Editing link for authenticated users. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Read-only sharing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Editing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the template. Required.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How the template file is loaded. Required.
- `path` (string) — Optional storage path/key of the template file.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Document template created successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentTemplate` (DocumentTemplateModel)
- `documentTemplateGuid` (string) _(format: uuid)_ — Unique identifier of the template.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the template. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional document title applied to generated output.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the template file.
- `url` (string) — Optional absolute URL to the template file. When supplied it must be a well-formed absolute URI.
- `viewAnonymousLink` (string) — Read-only sharing link for anonymous viewers. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Editing link for anonymous users. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Read-only sharing link for authenticated users. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Editing link for authenticated users. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Read-only sharing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Editing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the template. Required.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How the template file is loaded. Required.
- `path` (string) — Optional storage path/key of the template file.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Template Delete (/latest/reference/Documents/document-template-documents-template-delete)
## `DELETE /documents/template/{documentTemplateGuid}/delete`
**Document Template Delete**
Soft-deletes a document template by its GUID.
### Parameters
- `documentTemplateGuid` (path, string) **required** _(format: uuid)_ — GUID of the document template to delete.
### Responses
#### `200` — Document template deleted successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentTemplateGuid` (string) _(format: uuid)_
- `message` (string)
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Template Get (/latest/reference/Documents/document-template-documents-template-get)
## `GET /documents/template/{documentTemplateGuid}/get`
**Document Template Get**
Retrieves a single document template by its GUID.
### Parameters
- `documentTemplateGuid` (path, string) **required** _(format: uuid)_ — GUID of the document template.
### Responses
#### `200` — Document template retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentTemplate` (DocumentTemplateModel)
- `documentTemplateGuid` (string) _(format: uuid)_ — Unique identifier of the template.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the template. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional document title applied to generated output.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the template file.
- `url` (string) — Optional absolute URL to the template file. When supplied it must be a well-formed absolute URI.
- `viewAnonymousLink` (string) — Read-only sharing link for anonymous viewers. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Editing link for anonymous users. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Read-only sharing link for authenticated users. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Editing link for authenticated users. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Read-only sharing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Editing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the template. Required.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How the template file is loaded. Required.
- `path` (string) — Optional storage path/key of the template file.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Template List (/latest/reference/Documents/document-template-documents-template-list)
## `GET /documents/template/list`
**Document Template List**
Returns a paginated, optionally filtered and sorted list of document templates.
### Parameters
- `top` (query, integer) — Maximum number of records to return (page size).
- `skip` (query, integer) — Number of records to skip (page offset).
- `orderby` (query, string) — Sort clause in the form `Column|DIRECTION`, e.g. `Name|DESC`. The column and direction are separated by a pipe (`|`).
- `filter` (query, string) — URL-encoded JSON array of filter clauses (see FilterDTO). Example (decoded): `[{"key":"Filter1","column":"Name","type":"string","condition":"CONTAINS","value":"Invoice"}]`.
### Responses
#### `200` — List of document templates retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentTemplates` (array)
- `documentTemplateGuid` (string) _(format: uuid)_ — Unique identifier of the template.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the template. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional document title applied to generated output.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the template file.
- `url` (string) — Optional absolute URL to the template file. When supplied it must be a well-formed absolute URI.
- `viewAnonymousLink` (string) — Read-only sharing link for anonymous viewers. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Editing link for anonymous users. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Read-only sharing link for authenticated users. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Editing link for authenticated users. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Read-only sharing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Editing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the template. Required.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How the template file is loaded. Required.
- `path` (string) — Optional storage path/key of the template file.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `rowCount` (integer) — Total number of records matching the query.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Document Template Update (/latest/reference/Documents/document-template-documents-template-update)
## `PUT /documents/template/{documentTemplateGuid}/update`
**Document Template Update**
Updates an existing document template.
### Parameters
- `documentTemplateGuid` (path, string) **required** _(format: uuid)_ — GUID of the document template to update.
### Request body (`application/json`)
- `documentTemplateGuid` (string) _(format: uuid)_ — Unique identifier of the template.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the template. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional document title applied to generated output.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the template file.
- `url` (string) — Optional absolute URL to the template file. When supplied it must be a well-formed absolute URI.
- `viewAnonymousLink` (string) — Read-only sharing link for anonymous viewers. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Editing link for anonymous users. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Read-only sharing link for authenticated users. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Editing link for authenticated users. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Read-only sharing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Editing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the template. Required.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How the template file is loaded. Required.
- `path` (string) — Optional storage path/key of the template file.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Document template updated successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `documentTemplate` (DocumentTemplateModel)
- `documentTemplateGuid` (string) _(format: uuid)_ — Unique identifier of the template.
- `subscriptionGuid` (string) _(format: uuid)_ — Owning subscription. Server-managed; ignored on write and populated on read.
- `ownerGuid` (string) _(format: uuid)_ — Creating user. Server-managed; ignored on write and populated on read.
- `lastModifiedUserGuid` (string) _(format: uuid)_ — Last user to modify the record. Server-managed; ignored on write and populated on read.
- `name` (string) **required** — Human-readable name of the template. Required, must be non-empty.
- `description` (string) — Optional description.
- `title` (string) — Optional document title applied to generated output.
- `urn` (string) _(format: uuid)_ — Optional GUID resource identifier of the template file.
- `url` (string) — Optional absolute URL to the template file. When supplied it must be a well-formed absolute URI.
- `viewAnonymousLink` (string) — Read-only sharing link for anonymous viewers. Server-managed; ignored on write and populated on read.
- `editAnonymousLink` (string) — Editing link for anonymous users. Server-managed; ignored on write and populated on read.
- `viewUserLink` (string) — Read-only sharing link for authenticated users. Server-managed; ignored on write and populated on read.
- `editUserLink` (string) — Editing link for authenticated users. Server-managed; ignored on write and populated on read.
- `viewOrganizationLink` (string) — Read-only sharing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `editOrganizationLink` (string) — Editing link scoped to the organization. Server-managed; ignored on write and populated on read.
- `fileFormat` (string) **required** _(enum: "docx", "xlsx", "pdf", "gdoc", "gsheet")_ — File format of the template. Required.
- `loadMethod` (string) **required** _(enum: "Storage", "Salesforce", "OneDrive", "GoogleDrive")_ — How the template file is loaded. Required.
- `path` (string) — Optional storage path/key of the template file.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `isDeleted` (boolean) — Soft-delete flag. Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Option Value Delete (/latest/reference/Documents/option-value-documents-document-option-value-delete)
## `DELETE /documents/option/{optionValueGuid}/delete`
**Option Value Delete**
Deletes a single option value by its GUID.
### Parameters
- `optionValueGuid` (path, string) **required** _(format: uuid)_ — GUID of the option value to delete.
### Responses
#### `200` — Option value deleted successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `optionValueGuid` (string) _(format: uuid)_
- `message` (string)
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Option Value Get (/latest/reference/Documents/option-value-documents-document-option-value-get)
## `GET /documents/option/{optionValueGuid}/get`
**Option Value Get**
Retrieves a single option value by its GUID.
### Parameters
- `optionValueGuid` (path, string) **required** _(format: uuid)_ — GUID of the option value.
### Responses
#### `200` — Option value retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `optionValue` (OptionValueModel)
- `optionValueGuid` (string) _(format: uuid)_ — Unique identifier of the option value.
- `entityType` (string) — Type of entity the option is attached to (taken from the URL path on write). Free-form string, e.g. DocumentSolutionConfiguration or DocumentTemplate.
- `entityId` (string) _(format: uuid)_ — Identifier of the entity the option is attached to (taken from the URL path on write).
- `optionDefinitionId` (integer) — System option definition id. Provide a positive value for a system option; mutually exclusive with customKey.
- `customKey` (string) — Custom option key. Provide for a free-form option; mutually exclusive with optionDefinitionId. Max length 255.
- `customGroup` (string) — Optional grouping for a custom option. Only allowed together with customKey. Max length 128.
- `value` (string) — The option value.
- `effectiveKey` (string) — Resolved key (system key or custom key). Server-managed; ignored on write and populated on read.
- `effectiveGroup` (string) — Resolved group. Server-managed; ignored on write and populated on read.
- `systemType` (string) — Data type of the underlying system option definition. Server-managed; ignored on write and populated on read.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Option Value List (/latest/reference/Documents/option-value-documents-document-option-value-list)
## `GET /documents/option/{entityType}/{entityId}/list`
**Option Value List**
Returns all option values attached to the entity named in the path. This endpoint does not paginate.
### Parameters
- `entityType` (path, string) **required** — Type of the owning entity, e.g. "DocumentSolutionConfiguration" or "DocumentTemplate".
- `entityId` (path, string) **required** _(format: uuid)_ — GUID of the owning entity.
### Responses
#### `200` — Option values retrieved successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `optionValues` (array)
- `optionValueGuid` (string) _(format: uuid)_ — Unique identifier of the option value.
- `entityType` (string) — Type of entity the option is attached to (taken from the URL path on write). Free-form string, e.g. DocumentSolutionConfiguration or DocumentTemplate.
- `entityId` (string) _(format: uuid)_ — Identifier of the entity the option is attached to (taken from the URL path on write).
- `optionDefinitionId` (integer) — System option definition id. Provide a positive value for a system option; mutually exclusive with customKey.
- `customKey` (string) — Custom option key. Provide for a free-form option; mutually exclusive with optionDefinitionId. Max length 255.
- `customGroup` (string) — Optional grouping for a custom option. Only allowed together with customKey. Max length 128.
- `value` (string) — The option value.
- `effectiveKey` (string) — Resolved key (system key or custom key). Server-managed; ignored on write and populated on read.
- `effectiveGroup` (string) — Resolved group. Server-managed; ignored on write and populated on read.
- `systemType` (string) — Data type of the underlying system option definition. Server-managed; ignored on write and populated on read.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `rowCount` (integer) — Total number of records matching the query.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Option Value Replace (/latest/reference/Documents/option-value-documents-document-option-value-replace)
## `PUT /documents/option/{entityType}/{entityId}/replace`
**Option Value Replace**
Bulk-replaces the full set of option values for the entity named in the path. Every item in the array is validated with the same rules as create.
### Parameters
- `entityType` (path, string) **required** — Type of the owning entity, e.g. "DocumentSolutionConfiguration" or "DocumentTemplate".
- `entityId` (path, string) **required** _(format: uuid)_ — GUID of the owning entity.
### Request body (`application/json`)
- _array of:_
- `optionValueGuid` (string) _(format: uuid)_ — Unique identifier of the option value.
- `entityType` (string) — Type of entity the option is attached to (taken from the URL path on write). Free-form string, e.g. DocumentSolutionConfiguration or DocumentTemplate.
- `entityId` (string) _(format: uuid)_ — Identifier of the entity the option is attached to (taken from the URL path on write).
- `optionDefinitionId` (integer) — System option definition id. Provide a positive value for a system option; mutually exclusive with customKey.
- `customKey` (string) — Custom option key. Provide for a free-form option; mutually exclusive with optionDefinitionId. Max length 255.
- `customGroup` (string) — Optional grouping for a custom option. Only allowed together with customKey. Max length 128.
- `value` (string) — The option value.
- `effectiveKey` (string) — Resolved key (system key or custom key). Server-managed; ignored on write and populated on read.
- `effectiveGroup` (string) — Resolved group. Server-managed; ignored on write and populated on read.
- `systemType` (string) — Data type of the underlying system option definition. Server-managed; ignored on write and populated on read.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Entity options replaced successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `entityId` (string) _(format: uuid)_
- `entityType` (string)
- `message` (string)
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Option Value Update (/latest/reference/Documents/option-value-documents-document-option-value-update)
## `PUT /documents/option/{optionValueGuid}/update`
**Option Value Update**
Updates a single option value by its GUID.
### Parameters
- `optionValueGuid` (path, string) **required** _(format: uuid)_ — GUID of the option value to update.
### Request body (`application/json`)
- `optionValueGuid` (string) _(format: uuid)_ — Unique identifier of the option value.
- `entityType` (string) — Type of entity the option is attached to (taken from the URL path on write). Free-form string, e.g. DocumentSolutionConfiguration or DocumentTemplate.
- `entityId` (string) _(format: uuid)_ — Identifier of the entity the option is attached to (taken from the URL path on write).
- `optionDefinitionId` (integer) — System option definition id. Provide a positive value for a system option; mutually exclusive with customKey.
- `customKey` (string) — Custom option key. Provide for a free-form option; mutually exclusive with optionDefinitionId. Max length 255.
- `customGroup` (string) — Optional grouping for a custom option. Only allowed together with customKey. Max length 128.
- `value` (string) — The option value.
- `effectiveKey` (string) — Resolved key (system key or custom key). Server-managed; ignored on write and populated on read.
- `effectiveGroup` (string) — Resolved group. Server-managed; ignored on write and populated on read.
- `systemType` (string) — Data type of the underlying system option definition. Server-managed; ignored on write and populated on read.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Option value updated successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `optionValue` (OptionValueModel)
- `optionValueGuid` (string) _(format: uuid)_ — Unique identifier of the option value.
- `entityType` (string) — Type of entity the option is attached to (taken from the URL path on write). Free-form string, e.g. DocumentSolutionConfiguration or DocumentTemplate.
- `entityId` (string) _(format: uuid)_ — Identifier of the entity the option is attached to (taken from the URL path on write).
- `optionDefinitionId` (integer) — System option definition id. Provide a positive value for a system option; mutually exclusive with customKey.
- `customKey` (string) — Custom option key. Provide for a free-form option; mutually exclusive with optionDefinitionId. Max length 255.
- `customGroup` (string) — Optional grouping for a custom option. Only allowed together with customKey. Max length 128.
- `value` (string) — The option value.
- `effectiveKey` (string) — Resolved key (system key or custom key). Server-managed; ignored on write and populated on read.
- `effectiveGroup` (string) — Resolved group. Server-managed; ignored on write and populated on read.
- `systemType` (string) — Data type of the underlying system option definition. Server-managed; ignored on write and populated on read.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Option Value Create (/latest/reference/Documents/option-value-documents-option-value-create)
## `POST /documents/option/{entityType}/{entityId}/create`
**Option Value Create**
Creates one option value for the entity named in the path. Provide EITHER `optionDefinitionId` (system option) OR `customKey` (custom option), never both.
### Parameters
- `entityType` (path, string) **required** — Type of the owning entity, e.g. "DocumentSolutionConfiguration" or "DocumentTemplate".
- `entityId` (path, string) **required** _(format: uuid)_ — GUID of the owning entity.
### Request body (`application/json`)
- `optionValueGuid` (string) _(format: uuid)_ — Unique identifier of the option value.
- `entityType` (string) — Type of entity the option is attached to (taken from the URL path on write). Free-form string, e.g. DocumentSolutionConfiguration or DocumentTemplate.
- `entityId` (string) _(format: uuid)_ — Identifier of the entity the option is attached to (taken from the URL path on write).
- `optionDefinitionId` (integer) — System option definition id. Provide a positive value for a system option; mutually exclusive with customKey.
- `customKey` (string) — Custom option key. Provide for a free-form option; mutually exclusive with optionDefinitionId. Max length 255.
- `customGroup` (string) — Optional grouping for a custom option. Only allowed together with customKey. Max length 128.
- `value` (string) — The option value.
- `effectiveKey` (string) — Resolved key (system key or custom key). Server-managed; ignored on write and populated on read.
- `effectiveGroup` (string) — Resolved group. Server-managed; ignored on write and populated on read.
- `systemType` (string) — Data type of the underlying system option definition. Server-managed; ignored on write and populated on read.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
### Responses
#### `200` — Option value created successfully.
`application/json`:
- `result` (object)
- `data` (object)
- `optionValue` (OptionValueModel)
- `optionValueGuid` (string) _(format: uuid)_ — Unique identifier of the option value.
- `entityType` (string) — Type of entity the option is attached to (taken from the URL path on write). Free-form string, e.g. DocumentSolutionConfiguration or DocumentTemplate.
- `entityId` (string) _(format: uuid)_ — Identifier of the entity the option is attached to (taken from the URL path on write).
- `optionDefinitionId` (integer) — System option definition id. Provide a positive value for a system option; mutually exclusive with customKey.
- `customKey` (string) — Custom option key. Provide for a free-form option; mutually exclusive with optionDefinitionId. Max length 255.
- `customGroup` (string) — Optional grouping for a custom option. Only allowed together with customKey. Max length 128.
- `value` (string) — The option value.
- `effectiveKey` (string) — Resolved key (system key or custom key). Server-managed; ignored on write and populated on read.
- `effectiveGroup` (string) — Resolved group. Server-managed; ignored on write and populated on read.
- `systemType` (string) — Data type of the underlying system option definition. Server-managed; ignored on write and populated on read.
- `createdDate` (string) _(format: date-time)_ — Creation timestamp (UTC). Server-managed; ignored on write and populated on read.
- `lastModifiedDate` (string) _(format: date-time)_ — Last modification timestamp (UTC). Server-managed; ignored on write and populated on read.
- `statusCode` (integer) — HTTP status code of the operation.
- `message` (string) — Human-readable status message.
- `origin` (string) — Echoed Origin request header.
- `dateTime` (string) _(format: date-time)_ — UTC time the response was produced.
- `operationId` (string) — Distributed-trace correlation id.
#### `400` — Validation failed (e.g. missing required field or invalid enum value).
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
#### `401` — Missing or invalid authentication token / subscription key.
#### `404` — The requested resource was not found.
#### `500` — Unexpected server error. `eventId` correlates to server logs.
`application/json`:
- `code` (string) — Machine-readable error code.
- `message` (string) — Human-readable error message.
- `eventId` (string) — Correlation id for server-side (5xx) errors.
# Template Upload (/latest/reference/Documents/template-documents-templates-upload)
## `POST /documents/template/upload`
**Template Upload**
Uploads one or more template files to Storage so they can be referenced in later requests such as document generation. Form-data only. Accepted formats: DOCX, XLSX, DOC, XLS. When several files are sent, their form-data order is preserved in the response. Each template is assigned a storage id. Uploaded templates are automatically removed from Storage after the next document-generation request that consumes them, whether it succeeds or fails — re-upload if needed. Max size is enforced at the gateway (20MB Production, 10MB Staging).
### Parameters
- `X-Service-Authorization` (header, string) — Service-to-service auth token, used as an alternative to `Authorization` for service-principal callers.
- `X-Client-Authorization` (header, string) — Client auth token, used as an alternative to `Authorization` for client-application callers.
- `X-Email` (header, string) — Caller email, used for identity resolution when authenticating via a service or client auth token.
- `X-OAuth-Flow` (header, string) — Indicates which OAuth flow variant issued the Authorization token.
- `X-Origin` (header, string) — Free-form caller-supplied origin identifier. Not validated; echoed back verbatim into the response envelope's origin field. Optional.
- `X-Storage-Type` (header, string) **required** — Selects which storage container/validation branch handles the request. This operation expects the value document-template. Not strictly enforced as a closed enum server-side.
### Request body (`multipart/form-data`)
- `file` (array) **required** — One or more template files to upload. Accepted extensions: .docx, .xlsx, .doc, .xls (validated by filename extension, case-sensitively). Order is preserved in the response.
### Responses
#### `201` — Template(s) uploaded. Returns a storage id per file, usable as a template source in subsequent requests.
`application/json`:
- `result` (object) **required**
- `data` (object) **required**
- `files` (array) **required** — One entry per uploaded file. Form-data uploads return one entry per file in the same order they were sent; raw-body/JSON uploads always return exactly one entry.
- `id` (string) **required** _(format: uuid)_ — Server-generated storage identifier (GUID) for the uploaded file. Reference this in downstream requests.
- `fileName` (string) **required** — Stored file name. For form-data uploads this is the original client-supplied filename; for raw-body/JSON uploads it is a server-generated name (e.g. document${guid}.{extension} or data${guid}.json).
- `statusCode` (integer) **required** — HTTP status code of the operation. Always 201 for a successful upload.
- `message` (string) **required** — Outcome message. Always "Created" for a successful upload.
- `origin` (string) **required** — Value of the X-Origin request header, echoed back verbatim. Empty if the header was not supplied.
- `dateTime` (string) **required** _(format: date-time)_ — UTC timestamp when the response was generated.
- `operationId` (string) **required** — Server-side trace identifier for correlating logs and support requests. May be null.
#### `400` — A file has an extension outside .docx/.xlsx/.doc/.xls (INVALID_TEMPLATE_FORMAT), or the request was not multipart/form-data, or no file was supplied (FORM_DATA_EXPECTED).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — The file could not be stored due to a server/storage error (`FILE_UPLOAD_FAILED`).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Authorization Proxy (/latest/reference/Public/auth-authorization-proxy)
## `GET /auth/{provider}/authorize`
**Authorization Proxy**
Authorization Proxy
### Parameters
- `provider` (path, any) **required**
### Responses
#### `200`
# Token Proxy (/latest/reference/Public/auth-token-proxy)
## `POST /auth/{provider}/token`
**Token Proxy**
Token Proxy
### Parameters
- `provider` (path, any) **required**
### Responses
#### `200`
# Envelope Attachment Download (/latest/reference/Signatures/attachment-signatures-envelope-attachment-download)
## `GET /signatures/envelope/{envelopeId}/attachment/{attachmentId}/download`
**Envelope Attachment Download**
Downloads an attachment associated with an envelope, returned in its original format as uploaded. Genuinely supports TWO alternate, mutually exclusive auth contracts (intentional dual-mode design, not a bug): (1) anonymous mode — a Guid-parseable tid query parameter is present, and no Authorization header is required at all; the acting identity is resolved via the transaction token instead; or (2) authenticated mode — no valid tid is supplied, so a real Authorization bearer token IS required. Exactly one of {tid, Authorization} applies per call. Blob lookup uses a folder-per-envelope layout ({envelopeId}/{attachmentId}). When X-Storage-Type resolves to envelope-attachment specifically, an additional cross-type check guards against fetching an envelope-document/envelope-audit blob through this route; that extra check is skipped for the other two envelope container types.
### Parameters
- `envelopeId` (path, string) **required** _(format: uuid)_ — GUID of the envelope the attachment belongs to.
- `attachmentId` (path, string) **required** _(format: uuid)_ — GUID of the attachment to download.
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. When present and Guid-parseable, selects anonymous mode and no Authorization header is required. When absent or not Guid-parseable, authenticated mode applies and Authorization is required instead.
- `X-Service-Authorization` (header, string) — Service-to-service auth token, used as an alternative to `Authorization` in authenticated mode.
- `X-Client-Authorization` (header, string) — Client auth token, used as an alternative to `Authorization` in authenticated mode.
- `X-Email` (header, string) — Caller email, used for identity resolution in authenticated mode.
- `X-OAuth-Flow` (header, string) — Indicates which OAuth flow variant issued the Authorization token, in authenticated mode.
- `X-Storage-Type` (header, string) **required** — Container-type key used to look up the blob. Expected value for this operation is `envelope-attachment`; `envelope-document`/`envelope-audit` are also recognized container types.
### Responses
#### `200` — The response body contains the binary content of the attachment in its original format, as it was uploaded. Streamed directly to the client for download.
`application/octet-stream`:
_any_
#### `401` — Missing or invalid authentication (does not apply when a valid `tid` is supplied).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — The attachment exists but belongs to a different user (FILE_ACCESS_DENIED — this also covers the envelope-attachment cross-type check), or the anonymous-mode owner was resolved but their subscription is inactive/invalid (ENVELOPE_OWNER_INVALID_SUBSCRIPTION).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `404` — No attachment exists for the supplied ids (NOT_FOUND_BY_ID); the tid didn't resolve to a valid transaction/envelope pair (ENVELOPE_NOT_FOUND_TID); the resolved envelope owner no longer exists (ENVELOPE_OWNER_NOT_FOUND); or, in authenticated mode, the caller is neither the envelope's creator nor a signer on it (ENVELOPE_NOT_FOUND_USER_AND_ENVELOPE_ID).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — The file could not be retrieved due to a server/storage error, or an unrecognized X-Storage-Type value. Real code: FILE_DOWNLOAD_FAILED.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Envelope Attachment Upload (/latest/reference/Signatures/attachment-signatures-upload-attachment)
## `POST /signatures/envelope/{envelopeId}/attachment/upload`
**Envelope Attachment Upload**
Uploads one or more attachments to a specific envelope (e.g. supporting files, contracts, or other materials providing context for digital signing). Form-data only — there is no JSON/raw-body alternative for this operation. No file-extension or content-type validation of any kind is performed by the backend — this is the widest-open upload operation in the group; any file type is accepted. Genuinely supports TWO alternate, mutually exclusive auth contracts (intentional dual-mode design, not a bug), identical in structure to the sibling download operation: (1) anonymous mode — a Guid-parseable tid query parameter is present, and no Authorization header is required; or (2) authenticated mode — no valid tid is supplied, so a real Authorization bearer token IS required, and the caller must be the envelope's creator or a signer on it. After upload, each file is assigned a unique id that can be referenced in processes like envelope creation. Max File Size: Production 20 MB, Staging 10 MB.
### Parameters
- `envelopeId` (path, string) **required** _(format: uuid)_ — GUID of the envelope to attach the file(s) to.
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. When present and Guid-parseable, selects anonymous mode and no Authorization header is required. When absent or not Guid-parseable, authenticated mode applies and Authorization is required instead.
- `X-Service-Authorization` (header, string) — Service-to-service auth token, used as an alternative to `Authorization` in authenticated mode.
- `X-Client-Authorization` (header, string) — Client auth token, used as an alternative to `Authorization` in authenticated mode.
- `X-Email` (header, string) — Caller email, used for identity resolution in authenticated mode.
- `X-OAuth-Flow` (header, string) — Indicates which OAuth flow variant issued the Authorization token, in authenticated mode.
- `X-Origin` (header, string) — Free-form caller-supplied origin identifier. Not validated; echoed back verbatim into the response envelope's origin field. Optional.
- `X-Storage-Type` (header, string) **required** — Container-type key for the uploaded attachment. Expected value is `envelope-attachment`.
### Request body (`multipart/form-data`)
- `file` (array) **required** — One or more attachment files to upload. No extension or content-type validation is performed — any file type is accepted. Order is preserved in the response.
### Responses
#### `201` — This is the response returned when an attachment is successfully added to the envelope. The added attachment gets an id that can be referenced in other endpoints.
`application/json`:
- `result` (object) **required**
- `data` (object) **required**
- `files` (array) **required** — One entry per uploaded file. Form-data uploads return one entry per file in the same order they were sent; raw-body/JSON uploads always return exactly one entry.
- `id` (string) **required** _(format: uuid)_ — Server-generated storage identifier (GUID) for the uploaded file. Reference this in downstream requests.
- `fileName` (string) **required** — Stored file name. For form-data uploads this is the original client-supplied filename; for raw-body/JSON uploads it is a server-generated name (e.g. document${guid}.{extension} or data${guid}.json).
- `statusCode` (integer) **required** — HTTP status code of the operation. Always 201 for a successful upload.
- `message` (string) **required** — Outcome message. Always "Created" for a successful upload.
- `origin` (string) **required** — Value of the X-Origin request header, echoed back verbatim. Empty if the header was not supplied.
- `dateTime` (string) **required** _(format: date-time)_ — UTC timestamp when the response was generated.
- `operationId` (string) **required** — Server-side trace identifier for correlating logs and support requests. May be null.
#### `400` — The request was not multipart/form-data, or no file was supplied. Real code: FORM_DATA_EXPECTED.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `401` — Missing or invalid authentication (does not apply when a valid `tid` is supplied).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — The anonymous-mode owner was resolved via tid but their subscription is inactive/invalid. Real code: ENVELOPE_OWNER_INVALID_SUBSCRIPTION.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `404` — The tid didn't resolve to a valid transaction/envelope pair (ENVELOPE_NOT_FOUND_TID); the resolved envelope owner no longer exists (ENVELOPE_OWNER_NOT_FOUND); or, in authenticated mode, the caller is neither the envelope's creator nor a signer on it (ENVELOPE_NOT_FOUND_USER_AND_ENVELOPE_ID).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — The file could not be stored due to a server/storage error, or an unrecognized X-Storage-Type value. Real code: FILE_UPLOAD_FAILED.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Envelope Audit Log Download (/latest/reference/Signatures/audittrail-signatures-download-envelope-audit)
## `GET /signatures/envelope/{envelopeId}/audit/download`
**Envelope Audit Log Download**
Retrieves the audit trail for a specific envelope as a downloadable file.
* The file provides a formal record of the envelope’s lifecycle for compliance, auditing, or record-keeping purposes.
* The envelope is identified using the envelopeId path parameter.
* The request returns the audit trail as a binary stream (application/octet-stream ). Response is NOT wrapped in the standard result envelope - raw PDF bytes are returned directly, but with Content-Type application/octet-stream (not application/pdf) as actually set by the server.
### Parameters
- `envelopeId` (path, string) **required** — The ID of the envelope where the attachment will be added.
### Responses
#### `200` — The audit trail PDF's bytes.
`application/octet-stream`:
_any_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Audit Log Get (/latest/reference/Signatures/audittrail-signatures-get-getenvelopeaudittrail)
## `GET /signatures/envelope/{envelopeId}/audit/get`
**Envelope Audit Log Get**
Retrieves the audit trail for a specific envelope in JSON format.
* The envelope is identified using the envelopeId path parameter.
* The JSON response contains a detailed log of all actions related to the envelope, including creation, sending, legal terms acceptance, receipt, and signing, performed by users or recipients.
* This endpoint tracks the envelope’s lifecycle, supporting transparency, compliance, and accountability in the document signing workflow. No tid/recipient access - authenticated envelope owner/participant only.
### Parameters
- `envelopeId` (path, string) **required** — The ID of the envelope where the attachment will be added.
### Responses
#### `200` — Audit trail retrieved.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `auditTrails` (array)
- `id` (string) _(format: uuid)_
- `user` (UserRef)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `recipient` (object)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `signGroup` (object)
- `id` (string) _(format: uuid)_
- `name` (string)
- `action` (string)
- `timestamp` (string) _(format: date-time)_
- `ipAddress` (string)
- `additionalInfo` (string) — Free text or JSON depending on the action type - not a single consistent format.
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Document Comment (/latest/reference/Signatures/comment-signatures-document-comment)
## `POST /signatures/document/{documentId}/comment`
**Document Comment**
Adds a text comment to a document that's part of an envelope.
* The document must be uploaded to the Storage system before you can comment on it.
* Use the documentId (a unique document URN) to reference the stored document.
* The document can be identified by a unique transactionId (tid).
* Provide the tid as a query parameter. `parentCommentId` is optional; if it doesn't reference an existing comment, the new comment is created as a top-level comment instead.
### Parameters
- `documentId` (path, string) **required** — The ID(URN) of the document from the envelope, where you’d like to place a comment.
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
- `X-Origin-IpAddress` (header, string) — Caller IP address, recorded in the audit trail. Not validated.
### Request body (`application/json`)
- `comment` (object)
- `content` (string) — Not required or length-limited by the server.
- `pageNumber` (integer)
- `positionX` (number)
- `positionY` (number)
- `parentCommentId` (string) _(format: uuid)_ — Not validated to reference an existing comment - an unknown id is silently treated as a top-level comment.
- `visibleTo` (array) — Recipient emails allowed to see this comment. Not validated as email format at write time.
- `externalContext` (any)
### Responses
#### `201` — Comment created; returns the full visible-comment set for the envelope, not just the new comment.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `comments` (object) — Map keyed by document id (as a string) to an array of comments.
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
- `externalContext` (any) — Echoed verbatim from the request; opaque, not validated.
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Update (/latest/reference/Signatures/content-signatures-update-envelope)
## `PUT /signatures/envelope/{envelopeId}/update`
**Envelope Update**
Updates an envelope that is created but not yet sent for signing.
* The envelope must be in the "Draft" status.
* The envelope is identified using the envelopeId path parameter.
* This endpoint allows modification of:
* Envelope documents.
* Recipients.
* Fields.
* Envelope settings.
* Associated metadata.
* Use this endpoint to revise envelope details before initiating the signing process. Replaces the entire draft's documents/recipients/signGroups/fields.
### Parameters
- `envelopeId` (path, string) **required** — The unique identifier of the envelope to be updated. This ID is generated when the envelope is first created and is used to reference and modify the envelope before it is sent to recipients. It must match an existing envelope that is still in a draft (unsent) status.
### Request body (`application/json`)
- `documents` (array) **required**
- `referenceDocumentId` (integer) **required** — Client-assigned correlation id linking fields to this document within the same request.
- `name` (string) **required**
- `loadMethod` (string) — How to source the document's content. Currently only `storage` is supported, which fetches bytes from the location named by `urn`. There is no inline/base64 bytes field.
- `urn` (string) — Storage location, only consulted when loadMethod is "storage". Obtained from a separate upload step; format not enforced by this service.
- `externalContext` (any) — Opaque; persisted and returned by document/{documentId}/get.
- `fields` (array)
- `referenceSignerId` (integer)
- `referenceSignGroupId` (integer)
- `referenceDocumentId` (integer) **required**
- `name` (string) **required** — PDF field name.
- `value` (string) — Required (non-empty) only for type=note. Format otherwise depends entirely on type and is not validated by the server (e.g. attachment-type fields expect a JSON string, unvalidated on write).
- `type` (string) **required** _(enum: "signature", "digitalsignature", "text", "initial", "company", "title", "number", "note", "name", "email", …)_ — Closed set enforced case-sensitively by the server.
- `anchorString` (string)
- `page` (integer)
- `height` (number)
- `width` (number)
- `positionX` (number)
- `positionY` (number)
- `isRequired` (boolean)
- `tooltip` (string)
- `properties` (FieldPropertiesInput) — Free-form field styling/behavior bag. No sub-field is validated by the server — values are stored and returned as-is.
- `fontFamily` (string)
- `fontSize` (number)
- `color` (string)
- `bold` (boolean)
- `italic` (boolean)
- `underline` (boolean)
- `textAlign` (string)
- `placeholder` (string)
- `isSignedDate` (boolean)
- `selectionGroup` (string)
- `selectionValue` (string)
- `recipients` (array) **required**
- `referenceSignerId` (integer)
- `referenceSignGroupId` (integer)
- `name` (string) **required**
- `email` (string) **required** _(format: email)_
- `role` (string) _(enum: "signer", "inpersonsigner", "cc", "viewer")_ — Closed set enforced case-sensitively by the server.
- `signOrder` (integer) — Required to be non-zero only when envelope.isSignOrder is true.
- `mandatory` (boolean)
- `hostEmail` (string) _(format: email)_ — Required only when role=inpersonsigner; must additionally resolve to an existing, valid subscription user.
- `isMfaEnabled` (boolean)
- `phoneNumber` (string) — No format validated. Required only if isMfaEnabled is true and the account's MFA channel is not email.
- `externalContext` (any) — Opaque; persisted and returned.
- `signGroups` (array)
- `referenceSignGroupId` (integer) **required**
- `name` (string) **required**
- `role` (string) **required** _(enum: "signer", "inpersonsigner", "cc", "viewer")_ — Closed set enforced case-sensitively by the server.
- `signOrder` (integer) — Required to be non-zero only when envelope.isSignOrder is true.
- `mandatory` (boolean)
- `envelope` (EnvelopeInfoInput)
- `subject` (string)
- `message` (string)
- `senderName` (string)
- `senderEmail` (string) _(format: email)_
- `isSignOrder` (boolean)
- `expireInDays` (integer) — 0 means no expiry. Any non-zero value must be >= 2 (1 is rejected).
- `alertDaysBeforeExpiry` (integer)
- `firstReminderDays` (integer)
- `repeatingReminderDays` (integer)
- `notifyWhenOpened` (boolean)
- `notifyWhenSigned` (boolean)
- `locale` (string)
- `timezone` (string)
- `externalContext` (any) — Opaque; persisted and echoed back in the response envelope.
### Responses
#### `200` — Envelope draft updated.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (EnvelopeUpsertResponseData) **required**
- `envelope` (object)
- `id` (string) _(format: uuid)_
- `uploadDate` (string) _(format: date-time)_ — Present on create; absent on update.
- `status` (string) — Always "Draft" immediately after create/update.
- `documents` (array)
- `id` (string) _(format: uuid)_
- `externalContext` (any)
- `recipients` (array)
- `id` (string) _(format: uuid)_
- `externalContext` (any)
- `signGroups` (array)
- `id` (string) _(format: uuid)_
- `fields` (array)
- `id` (string) _(format: uuid)_
- `recipientId` (string) _(format: uuid)_
- `signGroupId` (string) _(format: uuid)_
- `documentId` (string) _(format: uuid)_
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Document Get (/latest/reference/Signatures/data-signatures-get-getdocument)
## `GET /signatures/document/{documentId}/get`
**Document Get**
Retrieves metadata for a document included in an envelope in JSON format.
* Use the documentId (a unique document URN) to reference the document that is included into an envelope.
* The request returns the document data in JSON format.
* The document can be identified by a unique transactionId (tid).
* Provide the tid as a query parameter. Covers both regular documents and pre-conversion "original" documents (union query) - externalContext is always null for the latter. A caller who can't see the document gets the same DOCUMENT_ID_INVALID as a nonexistent one; there is no separate access-denied response for this operation.
### Parameters
- `documentId` (path, string) **required** — The ID(URN) of the document that is included into an envelope.
- `tid` (query, string) — This is a unique identifier associated with a specific recipient and envelope within a given transaction. It is used to securely validate that the user has the appropriate authorization to perform actions related to that transaction.
### Responses
#### `200` — Document metadata retrieved.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `document` (object)
- `id` (string) _(format: uuid)_
- `name` (string)
- `externalContext` (any)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# User Activity Get (/latest/reference/Signatures/data-signatures-get-getrecentactivity)
## `GET /signatures/user/activity/get`
**User Activity Get**
Retrieves a log of recent activities performed by or associated with the authenticated user.
* Possible actions include :
* Create envelope.
* Send envelope.
* Receive envelope.
* View envelope.
* Cancel envelope.
* The response provides a detailed audit trail in JSON format, including metadata such as envelope IDs, action types, timestamps, and additional information (e.g., recipient emails or token status). Both lists are capped at the 10 most recent entries.
### Responses
#### `200` — Recent activity retrieved.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `activityItems` (array)
- `auditTrailId` (string) _(format: uuid)_
- `action` (string)
- `timestamp` (string) _(format: date-time)_
- `transactionTokenId` (string) _(format: uuid)_
- `actor` (object)
- `name` (string)
- `email` (string)
- `role` (string)
- `envelope` (object)
- `id` (string) _(format: uuid)_
- `subject` (string)
- `status` (string)
- `creatorName` (string)
- `sendDate` (string) _(format: date-time)_
- `comments` (array)
- `documentName` (string)
- `envelopeSubject` (string)
- `createdAt` (string) _(format: date-time)_
- `authorName` (string)
- `envelopeId` (string) _(format: uuid)_
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Signature Get (/latest/reference/Signatures/data-signatures-get-signature)
## `GET /signatures/signature/{signatureId}/get`
**Signature Get**
Retrieves details about a specific signature stored in the system.
* The signature is identified using the signatureId path parameter.
* The endpoint returns the signature and its associated metadata in JSON format.
### Parameters
- `signatureId` (path, string) **required** — The ID of the signature which information should be retrieved.
### Responses
#### `200` — This is the response returned when the signature is successfully retrieved. The response includes all the needed signature data.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `signature` (object)
- `id` (string) _(format: uuid)_
- `data` (string) — Raw stored signature value; no format enforced.
- `isDefault` (boolean)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Template Get (/latest/reference/Signatures/data-signatures-template-get)
## `GET /signatures/template/{templateId}/get`
**Template Get**
Retrieves details of a specific template.
* The template is identified using the templateId path parameter.
* Only templates accessible to the authenticated user are returned.
### Parameters
- `templateId` (path, string) **required** — The ID of the needed template.
### Responses
#### `200` — Template retrieved.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `template` (object)
- `id` (string) _(format: uuid)_
- `createdBy` (UserRef)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `uploadDate` (string) _(format: date-time)_
- `sendDate` (string) _(format: date-time)_
- `status` (string)
- `subject` (string)
- `message` (string)
- `isSignOrder` (boolean)
- `expireInDays` (integer)
- `firstReminderDays` (integer)
- `repeatingReminderDays` (integer)
- `notifyWhenOpened` (boolean)
- `notifyWhenSigned` (boolean)
- `alertDaysBeforeExpiry` (integer)
- `templateName` (string)
- `templateDescription` (string)
- `folderId` (string) _(format: uuid)_
- `folderName` (string)
- `locale` (string)
- `Timezone` (string) — Emitted with a capital T in the actual wire response - a source inconsistency preserved here faithfully rather than silently corrected.
- `documents` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `externalContext` (any)
- `recipients` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `role` (string)
- `status` (string)
- `signDate` (string)
- `signOrder` (integer)
- `signGroupId` (string) _(format: uuid)_
- `userId` (string) _(format: uuid)_
- `mandatory` (boolean)
- `isMFAEnabled` (boolean)
- `phoneNumber` (string)
- `hostEmail` (string)
- `templateRole` (string)
- `externalContext` (any)
- `signGroups` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `role` (string)
- `status` (string)
- `signOrder` (integer)
- `mandatory` (boolean)
- `templateRole` (string)
- `fields` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `recipientId` (string) _(format: uuid)_
- `signGroupId` (string) _(format: uuid)_
- `documentId` (string) _(format: uuid)_
- `type` (string) _(enum: "signature", "digitalsignature", "text", "initial", "company", "title", "number", "note", "name", "email", …)_ — Closed set enforced case-sensitively by the server.
- `value` (string)
- `page` (integer)
- `height` (number)
- `width` (number)
- `positionX` (number)
- `positionY` (number)
- `isRequired` (boolean)
- `properties` (FieldPropertiesInput) — Free-form field styling/behavior bag. No sub-field is validated by the server — values are stored and returned as-is.
- `fontFamily` (string)
- `fontSize` (number)
- `color` (string)
- `bold` (boolean)
- `italic` (boolean)
- `underline` (boolean)
- `textAlign` (string)
- `placeholder` (string)
- `isSignedDate` (boolean)
- `selectionGroup` (string)
- `selectionValue` (string)
- `externalContext` (any)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Document Comment (/latest/reference/Signatures/document-signatures-document-comment)
## `POST /signatures/document/{documentId}/comment`
**Document Comment**
Adds a text comment to a document that's part of an envelope.
* The document must be uploaded to the Storage system before you can comment on it.
* Use the documentId (a unique document URN) to reference the stored document.
* The document can be identified by a unique transactionId (tid).
* Provide the tid as a query parameter. `parentCommentId` is optional; if it doesn't reference an existing comment, the new comment is created as a top-level comment instead.
### Parameters
- `documentId` (path, string) **required** — The ID(URN) of the document from the envelope, where you’d like to place a comment.
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
- `X-Origin-IpAddress` (header, string) — Caller IP address, recorded in the audit trail. Not validated.
### Request body (`application/json`)
- `comment` (object)
- `content` (string) — Not required or length-limited by the server.
- `pageNumber` (integer)
- `positionX` (number)
- `positionY` (number)
- `parentCommentId` (string) _(format: uuid)_ — Not validated to reference an existing comment - an unknown id is silently treated as a top-level comment.
- `visibleTo` (array) — Recipient emails allowed to see this comment. Not validated as email format at write time.
- `externalContext` (any)
### Responses
#### `201` — Comment created; returns the full visible-comment set for the envelope, not just the new comment.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `comments` (object) — Map keyed by document id (as a string) to an array of comments.
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
- `externalContext` (any) — Echoed verbatim from the request; opaque, not validated.
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Document Upload (/latest/reference/Signatures/document-signatures-document-upload)
## `POST /signatures/document/upload`
**Document Upload**
Uploads one or more signature-flow documents to Storage (X-Storage-Type: document-input) so they can be referenced later, e.g. in envelope creation. Two independent, real, working request shapes are accepted — and they accept DIFFERENT extension sets, which this description states explicitly rather than smoothing over: (1) multipart/form-data — multiple files per request, order preserved, each validated by filename extension against the NARROWER set .docx/.doc/.pdf (INVALID_TEMPLATE_FORMAT on mismatch — note: this reuses the template validator's error code even though it's validating signature-document types, a real backend naming quirk, not a documentation error); (2) a single-file raw binary body whose Content-Type is one of 5 recognized document mime types, accepting the WIDER set docx/xlsx/doc/xls/pdf — an .xlsx or .xls file succeeds via this raw-body path even though the identical file would be rejected via form-data for the same X-Storage-Type. The generated filename for the raw-body path is document${guid}.{extension}. Max File Size: Production 20 MB, Staging 10 MB.
### Parameters
- `X-Service-Authorization` (header, string) — Service-to-service auth token, used as an alternative to `Authorization` for service-principal callers.
- `X-Client-Authorization` (header, string) — Client auth token, used as an alternative to `Authorization` for client-application callers.
- `X-Email` (header, string) — Caller email, used for identity resolution when authenticating via a service or client auth token.
- `X-OAuth-Flow` (header, string) — Indicates which OAuth flow variant issued the Authorization token.
- `X-Origin` (header, string) — Free-form caller-supplied origin identifier. Not validated; echoed back verbatim into the response envelope's origin field. Optional.
- `X-Storage-Type` (header, string) **required** — Selects which storage container/validation branch handles the request. This operation expects the value document-input. Not strictly enforced as a closed enum server-side.
### Request body (`multipart/form-data`)
- `file` (array) **required** — One or more signature documents to upload. Accepted extensions (form-data path only): .docx, .doc, .pdf. Order is preserved in the response.
### Request body (`application/vnd.openxmlformats-officedocument.wordprocessingml.document`)
_string_
### Request body (`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`)
_string_
### Request body (`application/msword`)
_string_
### Request body (`application/vnd.ms-excel`)
_string_
### Request body (`application/pdf`)
_string_
### Responses
#### `201` — This is the response returned when a document is successfully uploaded to Storage. The uploaded document is stored and assigned a unique id, which can then be used later for signing operations (e.g., as part of an envelope).
`application/json`:
- `result` (object) **required**
- `data` (object) **required**
- `files` (array) **required** — One entry per uploaded file. Form-data uploads return one entry per file in the same order they were sent; raw-body/JSON uploads always return exactly one entry.
- `id` (string) **required** _(format: uuid)_ — Server-generated storage identifier (GUID) for the uploaded file. Reference this in downstream requests.
- `fileName` (string) **required** — Stored file name. For form-data uploads this is the original client-supplied filename; for raw-body/JSON uploads it is a server-generated name (e.g. document${guid}.{extension} or data${guid}.json).
- `statusCode` (integer) **required** — HTTP status code of the operation. Always 201 for a successful upload.
- `message` (string) **required** — Outcome message. Always "Created" for a successful upload.
- `origin` (string) **required** — Value of the X-Origin request header, echoed back verbatim. Empty if the header was not supplied.
- `dateTime` (string) **required** _(format: date-time)_ — UTC timestamp when the response was generated.
- `operationId` (string) **required** — Server-side trace identifier for correlating logs and support requests. May be null.
#### `400` — Form-data path: a file has an extension outside .docx/.doc/.pdf (INVALID_TEMPLATE_FORMAT — reuses the template error code, real backend behavior). Raw-body path: the Content-Type header isn't one of the 5 recognized document mime types, or the form was empty/absent entirely (FORM_DATA_EXPECTED, despite the name, this also covers an unrecognized raw Content-Type).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — The file could not be stored due to a server/storage error (`FILE_UPLOAD_FAILED`).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Envelope Document Download (/latest/reference/Signatures/document-signatures-download-document)
## `GET /signatures/envelope/{envelopeId}/document/{documentId}/download`
**Envelope Document Download**
Downloads a specific document within an envelope.
* The envelope is identified using the envelopeId path parameter.
* The document is identified using the documentId path parameter.
* The envelope is authenticated via the transactionId (tid) query parameter.
* The document is returned as a binary stream (application/octet-stream ), typically in its original format (e.g., PDF, DOCX) or as a processed version (e.g., signed PDF).
### Parameters
- `envelopeId` (path, string) **required** — The ID of the envelope where the attachment is added.
- `documentId` (path, string) **required** — The needed string value. The ID(URN) of the document you would like to download from the defined envelope.
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
### Responses
#### `200` — The signed document's bytes.
`application/octet-stream`:
_any_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Document Download (/latest/reference/Signatures/document-signatures-download)
## `GET /signatures/document/{documentId}/download`
**Document Download**
Downloads a previously stored document by its storage id and returns the raw file as an octet-stream. The caller must own the file.
### Parameters
- `documentId` (path, string) **required** _(format: uuid)_ — Storage id (GUID) of the document to download, as returned by an upload or generation response.
- `X-Service-Authorization` (header, string) — Service-to-service auth token, used as an alternative to `Authorization` for service-principal callers.
- `X-Client-Authorization` (header, string) — Client auth token, used as an alternative to `Authorization` for client-application callers.
- `X-Email` (header, string) — Caller email, used for identity resolution when authenticating via a service or client auth token.
- `X-OAuth-Flow` (header, string) — Indicates which OAuth flow variant issued the Authorization token.
- `X-Storage-Type` (header, string) **required** — Container-type key used to look up the blob. Must match whichever container the file was originally uploaded to (commonly document-input for signature-flow documents). Not strictly enforced as a closed enum; an unrecognized value surfaces as a generic FILE_DOWNLOAD_FAILED.
### Responses
#### `200` — Returns the stored document as a binary stream. The Content-Disposition file name and Content-Type reflect the stored file.
`application/octet-stream`:
_any_
#### `401` — Missing or invalid authentication token.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — The file exists but belongs to a different user. Real code: FILE_ACCESS_DENIED.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `404` — No file exists for the supplied id. Real code: NOT_FOUND_BY_ID.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — The file could not be retrieved due to a server/storage error. Real code: FILE_DOWNLOAD_FAILED.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Document Get (/latest/reference/Signatures/document-signatures-get-getdocument)
## `GET /signatures/document/{documentId}/get`
**Document Get**
Retrieves metadata for a document included in an envelope in JSON format.
* Use the documentId (a unique document URN) to reference the document that is included into an envelope.
* The request returns the document data in JSON format.
* The document can be identified by a unique transactionId (tid).
* Provide the tid as a query parameter. Covers both regular documents and pre-conversion "original" documents (union query) - externalContext is always null for the latter. A caller who can't see the document gets the same DOCUMENT_ID_INVALID as a nonexistent one; there is no separate access-denied response for this operation.
### Parameters
- `documentId` (path, string) **required** — The ID(URN) of the document that is included into an envelope.
- `tid` (query, string) — This is a unique identifier associated with a specific recipient and envelope within a given transaction. It is used to securely validate that the user has the appropriate authorization to perform actions related to that transaction.
### Responses
#### `200` — Document metadata retrieved.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `document` (object)
- `id` (string) _(format: uuid)_
- `name` (string)
- `externalContext` (any)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Document Manage (/latest/reference/Signatures/document-signatures-post-convertdocxtopdf)
## `POST /signatures/document/manage`
**Document Manage**
Manages documents across supported platforms (Storage, Salesforce, OneDrive) without modifying their internal content.
* Supported operations include:
* Copy . Duplicate a document from source to target. Requires the same fileFormat for source and target, and source.remove = "none".
* Move . Transfer a document from source to target and delete it from the source. Requires the same fileFormat for source and target, and source.remove = "delete" or "permanentDelete".
* Delete . Remove a document when only the source is provided, with source.remove = "delete" or "permanentDelete" and no target.
* Convert . Change document format while transferring; both source and target are required and fileFormat must differ.
### Parameters
- `Authorization` (header, string) **required** _(enum: "Bearer {{authToken}}"; default: "Bearer {{authToken}}")_ — JWT token to authenticate the request on behalf of a specific Microsoft user or a backend service principal.
- `X-Subscription-Key` (header, string) **required** _(enum: "{{apiKey}}"; default: "{{apiKey}}")_ — Unique API key used to identify and authorize access to a specific environment
- `X-Client-Authorization` (header, string) — Encrypted (AES) JWT token to identify and authorize the calling client system responsible for requesting the document generation. This header is required when retrieving the template and/or data used to populate the template from the client’s side, and for delivering the final generated document on the client’s side. The JWT must contain the following claims: - **_sub_**: Current user session. - **_Destination_**: Path to which should be used to make a callback. - **_full_name_**: Name of the user that made the request. - **_email_**: The email address of the user that made the request. - **_iss_**: The issuer claim identifies the principal that issued the JWT. URL of the issuer. - **_oid_**: Object Id claim represents a unique Id of the user that made the request, for example in Salesforce case this will be User record Id. - **_clientId_**: Id representing the client. Eg OrgId. - **_zoneInfo_**: Zone information. - **_locale_**: Localization information.
- `X-Service-Authorization` (header, string) — Encrypted (AES) JWT token to represent a user that doesn’t have a Microsoft Account and that is allowed to use the subscription. The JWT must contain the following claims: - **_amp_subscription_**: The offering subscription key which is used to validate that the client has a valid license. - **_full_name_**: Name of the user that made the request. - **_email_**: The email address of the user that made the request. - **_iss_**: The issuer claim identifies the principal that issued the JWT. URL of the issuer. - **_oid_**: Object Id claim represents a unique Id of the user that made the request, for example in Salesforce case this will be User record Id. - **_zoneInfo_**: Zone information. - **_locale_**: Localization information.
### Request body (`application/json`)
_any_
### Responses
#### `201` — This response confirms that the document management operation (such as copy, move, delete, or convert) was successfully completed. It returns metadata about the resulting document, including its name, format, storage location, and URN. The response also includes consumption metrics indicating how many documents and pages were processed, which are relevant for billing or quotas.
`application/json`:
_any_
#### `400` — This response indicates that the request was invalid or improperly formed. It provides details about the error that occurred, including specific error codes, messages, and guidance for the user on how to resolve the issue.
`application/json`:
_any_
# File Retrieve (/latest/reference/Signatures/document-signatures-post-getfilefromurl)
## `GET /signatures/file/retrieve`
**File Retrieve**
Downloads a document using its URL.
* Use the documentURL parameter to specify the document link.
* The request returns the document as a binary stream (application/octet-stream). Response is NOT wrapped in the standard result envelope - raw binary is returned directly, always with Content-Type application/octet-stream even for PDFs.
### Parameters
- `fileUrl` (query, string) **required** _(format: uri)_ — URL of the file to retrieve and return to the caller.
### Responses
#### `200` — The requested file's bytes, streamed back as-is (DOCX inputs are converted to PDF server-side first; PDFs pass through unchanged).
`application/octet-stream`:
_any_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Cancel (/latest/reference/Signatures/envelope-signatures-cancel-envelope)
## `GET /signatures/envelope/{envelopeId}/cancel`
**Envelope Cancel**
Terminates the signing process by canceling a sent envelope.
* The envelope is identified using the envelopeId path parameter.
* Once canceled, the envelope transitions to a final state of "Canceled" , preventing any further actions by recipients (e.g., viewing or signing documents).
* Use this endpoint when a sender needs to stop the process, for example, due to errors in the envelope, changes in requirements, or other reasons. Note: this is a state-mutating operation exposed as GET. It also performs no status-precondition check - it can be called against an envelope in any status, including one already Completed, Deleted, or Canceled.
### Parameters
- `envelopeId` (path, string) **required** — The ID of the envelope which Audit trail is needed.
- `X-Origin-IpAddress` (header, string) — Caller IP address, recorded in the audit trail. Not validated.
### Responses
#### `200` — Envelope canceled.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `envelope` (object)
- `id` (string) _(format: uuid)_
- `message` (string)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Edit (/latest/reference/Signatures/envelope-signatures-changeexpirationdatefunction)
## `PUT /signatures/envelope/{envelopeId}/edit`
**Envelope Edit**
Edits notification-related settings for an already sent envelope.
* The envelope is identified using the envelopeId path parameter.
* This endpoint allows updating:
* Envelope expiration settings
* Envelope notification settings, including:
* Expiration period
* Alerts for recipients
* Note: Documents, recipients, or fields within the envelope are not modified — only expiration/notification settings. `expireInDays` must be at least 2 and at least `alertDaysBeforeExpiry`, and the resulting expiry date must not already be in the past.
### Parameters
- `envelopeId` (path, string) **required** — The envelopeId parameter in the URL is a unique identifier for the envelope whose notification settings are being edited. It specifies which already-sent envelope should be updated with the new expiration and alert configurations.
- `X-Origin-IpAddress` (header, string) — Caller IP address, recorded in the audit trail. Not validated.
### Request body (`application/json`)
- `envelope` (object)
- `expireInDays` (integer)
- `alertDaysBeforeExpiry` (integer)
- `externalContext` (any)
### Responses
#### `200` — Expiration updated.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `envelope` (object)
- `id` (string) _(format: uuid)_
- `message` (string) — Server-generated, DB-configurable label text.
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Decline (/latest/reference/Signatures/envelope-signatures-declinefunction)
## `POST /signatures/envelope/decline`
**Envelope Decline**
Declines a sent envelope.
* The envelope is identified using the transactionId (tid) query parameter, typically obtained from the GET /signatures/envelope/list endpoint.
* This endpoint is for recipients only to refuse signing or completing the envelope, for example, due to disagreements with the document content.
* Senders cannot decline an envelope.
* Declining an envelope updates its status to "Declined". declineReason is required when the envelope's own decline-reason setting requires it.
### Parameters
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
### Request body (`application/json`)
- `envelope` (object)
- `declineReason` (string)
- `externalContext` (any)
### Responses
#### `200` — OK
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `recipient` (object)
- `id` (string) _(format: uuid)_
- `message` (string)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
- `externalContext` (any) — Echoed verbatim from the request; opaque, not validated.
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Delete (/latest/reference/Signatures/envelope-signatures-delete-deleteenvelope)
## `DELETE /signatures/envelope/{envelopeId}/delete`
**Envelope Delete**
Deletes a specific envelope from the system.
* The envelope is identified using the envelopeId path parameter.
* Only envelopes in the "Draft" state can be deleted, allowing the sender to discard envelopes that have not yet been sent to recipients. This is a soft delete (status set to "Deleted") and only works on envelopes currently in Draft status.
### Parameters
- `envelopeId` (path, string) **required** — The ID of the envelope that should be deleted.
### Responses
#### `200` — Envelope deleted.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `envelope` (object)
- `id` (string) _(format: uuid)_
- `message` (string)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Signature Delete (/latest/reference/Signatures/envelope-signatures-delete-signature)
## `DELETE /signatures/signature/{signatureId}/delete`
**Signature Delete**
Removes a specific signature from the Storage system.
* The signature is identified using the signatureId path parameter.
* This endpoint allows users to delete a previously stored signature associated with their account.
### Parameters
- `signatureId` (path, string) **required** — The ID of the signature that should be deleted.
### Responses
#### `200` — This response indicates that the signature identified by the provided signatureId was successfully deleted.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `signature` (object)
- `id` (string)
- `message` (string)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Document Download (/latest/reference/Signatures/envelope-signatures-download-document)
## `GET /signatures/envelope/{envelopeId}/document/{documentId}/download`
**Envelope Document Download**
Downloads a specific document within an envelope.
* The envelope is identified using the envelopeId path parameter.
* The document is identified using the documentId path parameter.
* The envelope is authenticated via the transactionId (tid) query parameter.
* The document is returned as a binary stream (application/octet-stream ), typically in its original format (e.g., PDF, DOCX) or as a processed version (e.g., signed PDF).
### Parameters
- `envelopeId` (path, string) **required** — The ID of the envelope where the attachment is added.
- `documentId` (path, string) **required** — The needed string value. The ID(URN) of the document you would like to download from the defined envelope.
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
### Responses
#### `200` — The signed document's bytes.
`application/octet-stream`:
_any_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Audit Log Download (/latest/reference/Signatures/envelope-signatures-download-envelope-audit)
## `GET /signatures/envelope/{envelopeId}/audit/download`
**Envelope Audit Log Download**
Retrieves the audit trail for a specific envelope as a downloadable file.
* The file provides a formal record of the envelope’s lifecycle for compliance, auditing, or record-keeping purposes.
* The envelope is identified using the envelopeId path parameter.
* The request returns the audit trail as a binary stream (application/octet-stream ). Response is NOT wrapped in the standard result envelope - raw PDF bytes are returned directly, but with Content-Type application/octet-stream (not application/pdf) as actually set by the server.
### Parameters
- `envelopeId` (path, string) **required** — The ID of the envelope where the attachment will be added.
### Responses
#### `200` — The audit trail PDF's bytes.
`application/octet-stream`:
_any_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Attachment Download (/latest/reference/Signatures/envelope-signatures-envelope-attachment-download)
## `GET /signatures/envelope/{envelopeId}/attachment/{attachmentId}/download`
**Envelope Attachment Download**
Downloads an attachment associated with an envelope, returned in its original format as uploaded. Genuinely supports TWO alternate, mutually exclusive auth contracts (intentional dual-mode design, not a bug): (1) anonymous mode — a Guid-parseable tid query parameter is present, and no Authorization header is required at all; the acting identity is resolved via the transaction token instead; or (2) authenticated mode — no valid tid is supplied, so a real Authorization bearer token IS required. Exactly one of {tid, Authorization} applies per call. Blob lookup uses a folder-per-envelope layout ({envelopeId}/{attachmentId}). When X-Storage-Type resolves to envelope-attachment specifically, an additional cross-type check guards against fetching an envelope-document/envelope-audit blob through this route; that extra check is skipped for the other two envelope container types.
### Parameters
- `envelopeId` (path, string) **required** _(format: uuid)_ — GUID of the envelope the attachment belongs to.
- `attachmentId` (path, string) **required** _(format: uuid)_ — GUID of the attachment to download.
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. When present and Guid-parseable, selects anonymous mode and no Authorization header is required. When absent or not Guid-parseable, authenticated mode applies and Authorization is required instead.
- `X-Service-Authorization` (header, string) — Service-to-service auth token, used as an alternative to `Authorization` in authenticated mode.
- `X-Client-Authorization` (header, string) — Client auth token, used as an alternative to `Authorization` in authenticated mode.
- `X-Email` (header, string) — Caller email, used for identity resolution in authenticated mode.
- `X-OAuth-Flow` (header, string) — Indicates which OAuth flow variant issued the Authorization token, in authenticated mode.
- `X-Storage-Type` (header, string) **required** — Container-type key used to look up the blob. Expected value for this operation is `envelope-attachment`; `envelope-document`/`envelope-audit` are also recognized container types.
### Responses
#### `200` — The response body contains the binary content of the attachment in its original format, as it was uploaded. Streamed directly to the client for download.
`application/octet-stream`:
_any_
#### `401` — Missing or invalid authentication (does not apply when a valid `tid` is supplied).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `403` — The attachment exists but belongs to a different user (FILE_ACCESS_DENIED — this also covers the envelope-attachment cross-type check), or the anonymous-mode owner was resolved but their subscription is inactive/invalid (ENVELOPE_OWNER_INVALID_SUBSCRIPTION).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `404` — No attachment exists for the supplied ids (NOT_FOUND_BY_ID); the tid didn't resolve to a valid transaction/envelope pair (ENVELOPE_NOT_FOUND_TID); the resolved envelope owner no longer exists (ENVELOPE_OWNER_NOT_FOUND); or, in authenticated mode, the caller is neither the envelope's creator nor a signer on it (ENVELOPE_NOT_FOUND_USER_AND_ENVELOPE_ID).
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
#### `500` — The file could not be retrieved due to a server/storage error, or an unrecognized X-Storage-Type value. Real code: FILE_DOWNLOAD_FAILED.
`application/json`:
- `error` (object) **required**
- `innerErrors` (array) **required**
- `code` (string) **required**
- `message` (string) **required**
- `userMessage` (string)
- `message` (string) **required**
- `statusCode` (integer) **required**
- `dateTime` (string) **required** _(format: date-time)_
- `operationId` (string)
- `origin` (string)
# Envelope Check (/latest/reference/Signatures/envelope-signatures-envelope-check)
## `GET /signatures/envelope/check`
**Envelope Check**
Verifies whether all required actions to open an envelope have been completed.
* The envelope is identified using the transactionId (tid) query parameter, typically obtained from the GET /signatures/envelope/list endpoint.
* The endpoint checks for completion of required actions, such as legal terms acceptance.
### Parameters
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
### Responses
#### `200` — OK
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `envelope` (object)
- `id` (string) _(format: uuid)_
- `uploadDate` (string) _(format: date-time)_
- `status` (string)
- `subject` (string)
- `createdBy` (UserRef)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `recipient` (object)
- `id` (string) _(format: uuid)_
- `role` (string) _(enum: "signer", "inpersonsigner", "cc", "viewer")_ — Closed set enforced case-sensitively by the server.
- `name` (string)
- `email` (string)
- `status` (string)
- `isTokenExpired` (boolean)
- `legalAccepted` (boolean)
- `isMfaEnabled` (boolean)
- `isMfaValid` (boolean)
- `hostEmail` (string)
- `hasUser` (boolean)
- `settings` (array) — Filtered to settings flagged anonymous-visible; full shape defined externally.
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Count (/latest/reference/Signatures/envelope-signatures-envelope-count)
## `GET /signatures/envelope/count`
**Envelope Count**
The endpoint retrieves the number of envelopes and divides them by folders. No tid/recipient access - authenticated user only.
### Responses
#### `200` — OK
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `envelopes` (object) — Fixed set of 8 counters.
- `inbox` (integer)
- `sent` (integer)
- `drafts` (integer)
- `trash` (integer)
- `todo` (integer)
- `expiring` (integer)
- `pending` (integer)
- `completed` (integer)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
- `userId` (string) _(format: uuid)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Create From Template (/latest/reference/Signatures/envelope-signatures-envelope-create-from-template)
## `POST /signatures/template/{templateId}/envelope/create`
**Envelope Create From Template**
Creates an envelope based on a provided template.
* Use the templateId parameter to specify the template.
* Documents must first be uploaded via the Storage endpoint and linked to recipients using referenceDocumentId and referenceSignerId.
* Template roles are converted into envelope recipients. Recipients/signGroups provided in the request override the matching stored template recipient by templateRole; anything omitted falls back to the template's stored value.
### Parameters
- `templateId` (path, string) **required** — The ID of the template based on which the envelope is created.
### Request body (`application/json`)
- `template` (object)
- `subject` (string)
- `message` (string)
- `recipients` (array)
- `templateRole` (string) **required** — Matched case-insensitively against the template's stored recipient templateRole values. A non-matching value is silently ignored (the template's own stored recipient is used unchanged), not an error.
- `name` (string) — Overrides the template's stored value; omit to keep the template's value.
- `email` (string) _(format: email)_
- `hostEmail` (string) _(format: email)_
- `isMfaEnabled` (boolean)
- `phoneNumber` (string)
- `externalContext` (any)
- `signGroups` (array)
- `templateRole` (string) **required**
- `name` (string)
- `externalContext` (any)
### Responses
#### `201` — Envelope created from template.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (EnvelopeTemplateUpsertResponseData) **required**
- `template` (object)
- `id` (string) _(format: uuid)_
- `uploadDate` (string) _(format: date-time)_ — Present on create; omitted on update.
- `documents` (array)
- `id` (string) _(format: uuid)_
- `externalContext` (any)
- `recipients` (array)
- `id` (string) _(format: uuid)_
- `externalContext` (any)
- `signGroups` (array)
- `id` (string) _(format: uuid)_
- `fields` (array)
- `id` (string) _(format: uuid)_
- `recipientId` (string) _(format: uuid)_
- `signGroupId` (string) _(format: uuid)_
- `documentId` (string) _(format: uuid)_
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Reassign (/latest/reference/Signatures/envelope-signatures-envelope-reassign)
## `POST /signatures/envelope/reassign`
**Envelope Reassign**
Redirects a received envelope to another user.
* The envelope is identified using the transactionId (tid) query parameter, which can be obtained from the GET /signatures/envelope/list endpoint.
* This endpoint allows the recipient to forward the envelope to another user instead of completing it. email is required and matched case-insensitively against existing recipients. phoneNumber is required only if the current recipient being reassigned has MFA enabled. Only allowed when the current recipient's role is signer and its status is In Progress.
### Parameters
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
### Request body (`application/json`)
- `recipient` (object)
- `name` (string)
- `email` (string)
- `reason` (string)
- `phoneNumber` (string)
- `externalContext` (any)
### Responses
#### `200` — OK
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `recipient` (object)
- `id` (string) _(format: uuid)_
- `message` (string)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope List (/latest/reference/Signatures/envelope-signatures-get-envelope-page)
## `GET /signatures/envelope/list`
**Envelope List**
Retrieves a list of all envelopes associated with the authenticated user, including those created/sent by the user and those where the user is a recipient.
* Supports filtering, sorting, and pagination via query parameters to help developers query specific envelopes.
* Query Parameters:
* top (integer). Maximum number of envelopes to return (e.g., 25).
* skip (integer). Number of envelopes to skip in the sorted results (e.g., 0).
* sort (string). Column to sort by. Valid values: Subject, Recipients, Documents, Status, UploadDate, ExpireInDays .
* order (string). Sort direction. Valid values: ASC, DESC.
* folder (string). Folder to query. Valid values: Inbox, Sent, Drafts, Deleted, Action Required, Expiring Soon, Waiting for Others, Completed .
* filter (JSON array). List of filter objects to refine results. Each filter includes:
* column (string). Field to filter on (matches sort values).
* condition (string). Filter condition:
* For stringFilter: EMPTY, NOT_EMPTY, CONTAINS, CONTAINS_CASE_SENSITIVE, DOES_NOT_CONTAIN, DOES_NOT_CONTAIN_CASE_SENSITIVE, STARTS_WITH, STARTS_WITH_CASE_SENSITIVE, ENDS_WITH, ENDS_WITH_CASE_SENSITIVE, EQUAL, EQUAL_CASE_SENSITIVE, NULL, NOT_NULL .
* For dateFilter: EQUAL, NOT_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, NULL, NOT_NULL .
* value (string). Filter value:
* string for stringFilter.
* YYYY-MM-DD for dateFilter.
* type (string):
* Either stringFilter.
* dateFilter.
* key (string). Unique 12-character alphanumeric identifier for the filter.
Filter example:
`envelope/list?$top=25&$skip=0&$sort=Subject&$order=ASC&$filter=[{"column":"status","condition":"CONTAINS","value":"Failed","type":"stringFilter","key":"6e2d9f910ad9"},{"column":"uploadDate","condition":"EQUAL","value":"2025-06-30","type":"dateFilter","key":"068d7e1baf7d"}]&$folder=Inbox` Note: sort/order are documented here as two separate params for developer convenience, but the server actually reads a single combined orderby="|" query parameter - see the orderby parameter description. The folder values below are read via a filter[] entry with key="folder", there is no separate folder= query parameter.
### Parameters
- `sort` (query, string) _(enum: "Subject", "Recipients", "Documents", "Status", "UploadDate", "ExpireInDays")_ — Column to sort by the results.
- `order` (query, string) _(enum: "ASC", "DESC")_ — The direction of the sort.
- `folder` (query, string) _(enum: "Inbox", "Sent", "Drafts", "Deleted", "Action Required", "Expiring Soon", "Waiting for Others", "Completed")_ — Specifies the envelope folder to query.
- `top` (query, integer) _(default: 100)_ — Max rows to return.
- `skip` (query, integer) _(default: 0)_ — Rows to skip. Defaults to 0 if omitted or not a valid integer.
- `orderby` (query, string) — Combined param, format "|" (literal pipe). Defaults to `UploadDate DESC` if omitted or not recognized.
- `filter` (query, string) — URL-encoded JSON array of FilterInput objects. column/key values are interpolated into the underlying query with no allow-list. One entry with key="folder" selects a view: inbox, sent, drafts, trash, todo, expiring, pending, completed, or (default) everything owned by or recipient-of the caller.
### Responses
#### `200` — Envelopes retrieved.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `envelopes` (array)
- `id` (string) _(format: uuid)_
- `createdBy` (UserRef)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `creatorGuid` (string) _(format: uuid)_ — Duplicate of createdBy.id.
- `status` (string)
- `uploadDate` (string) _(format: date-time)_
- `sendDate` (string) _(format: date-time)_
- `subject` (string)
- `transactionTokenId` (string)
- `documents` (string) — JSON-encoded array AS A STRING, not a native array (raw SQL FOR JSON PATH output returned unparsed).
- `recipients` (string) — JSON-encoded array AS A STRING; same caveat as documents.
- `signGroups` (string) — JSON-encoded array AS A STRING; same caveat as documents.
- `isSignOrder` (boolean)
- `recipientStatus` (string) — The current caller's own signer-status on this envelope; may be empty.
- `expireInDays` (integer)
- `alertDaysBeforeExpiry` (integer)
- `rowCount` (integer) — Total matching rows regardless of top/skip.
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Audit Log Get (/latest/reference/Signatures/envelope-signatures-get-getenvelopeaudittrail)
## `GET /signatures/envelope/{envelopeId}/audit/get`
**Envelope Audit Log Get**
Retrieves the audit trail for a specific envelope in JSON format.
* The envelope is identified using the envelopeId path parameter.
* The JSON response contains a detailed log of all actions related to the envelope, including creation, sending, legal terms acceptance, receipt, and signing, performed by users or recipients.
* This endpoint tracks the envelope’s lifecycle, supporting transparency, compliance, and accountability in the document signing workflow. No tid/recipient access - authenticated envelope owner/participant only.
### Parameters
- `envelopeId` (path, string) **required** — The ID of the envelope where the attachment will be added.
### Responses
#### `200` — Audit trail retrieved.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `auditTrails` (array)
- `id` (string) _(format: uuid)_
- `user` (UserRef)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `recipient` (object)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `signGroup` (object)
- `id` (string) _(format: uuid)_
- `name` (string)
- `action` (string)
- `timestamp` (string) _(format: date-time)_
- `ipAddress` (string)
- `additionalInfo` (string) — Free text or JSON depending on the action type - not a single consistent format.
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Get (/latest/reference/Signatures/envelope-signatures-get-getenvelopefunction)
## `GET /signatures/envelope/{envelopeId}/get`
**Envelope Get**
Retrieves details of a specific envelope in JSON format.
* The envelope is identified using the envelopeId path parameter.
* Secure access is ensured via the transactionId (tid) query parameter, restricting visibility to authorized recipients. The tid can be obtained from the GET /signatures/envelope/list endpoint.
* This endpoint is available to the envelope's owner (via standard authentication) or to a recipient presenting a valid tid.
### Parameters
- `envelopeId` (path, string) **required** — The ID of the needed envelope.
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
### Responses
#### `200` — Envelope retrieved.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `envelope` (object)
- `id` (string) _(format: uuid)_
- `createdBy` (UserRef)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `uploadDate` (string) _(format: date-time)_
- `sendDate` (string) _(format: date-time)_
- `status` (string) _(enum: "Draft", "In Progress", "Completed", "Expired", "Failed", "Deleted", "Declined", "Canceled", "Delivery Failed", "Template")_
- `subject` (string)
- `message` (string)
- `isSignOrder` (boolean)
- `expireInDays` (integer)
- `firstReminderDays` (integer)
- `repeatingReminderDays` (integer)
- `notifyWhenOpened` (boolean)
- `notifyWhenSigned` (boolean)
- `alertDaysBeforeExpiry` (integer)
- `locale` (string)
- `timezone` (string)
- `documents` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `externalContext` (any)
- `originalDocuments` (array) — Pre-conversion source documents.
- `id` (string) _(format: uuid)_
- `referenceDocumentId` (string) — Despite the name, this is the source document's id, not a client-supplied correlation id.
- `name` (string)
- `recipients` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `role` (string) _(enum: "signer", "inpersonsigner", "cc", "viewer")_ — Closed set enforced case-sensitively by the server.
- `status` (string)
- `signDate` (string) — Always null in practice - never assigned anywhere in the codebase despite being present on the model.
- `signOrder` (integer)
- `signGroupId` (string) _(format: uuid)_
- `userId` (string) _(format: uuid)_
- `mandatory` (boolean)
- `hostEmail` (string)
- `isMFAEnabled` (boolean)
- `phoneNumber` (string)
- `externalContext` (any)
- `signGroups` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `role` (string) _(enum: "signer", "inpersonsigner", "cc", "viewer")_ — Closed set enforced case-sensitively by the server.
- `status` (string)
- `signOrder` (integer)
- `mandatory` (boolean)
- `fields` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `recipientId` (string) _(format: uuid)_
- `signGroupId` (string) _(format: uuid)_
- `documentId` (string) _(format: uuid)_
- `type` (string) _(enum: "signature", "digitalsignature", "text", "initial", "company", "title", "number", "note", "name", "email", …)_ — Closed set enforced case-sensitively by the server.
- `value` (string)
- `page` (integer)
- `height` (number)
- `width` (number)
- `positionX` (number)
- `positionY` (number)
- `tooltip` (string)
- `isRequired` (boolean)
- `properties` (FieldPropertiesInput) — Free-form field styling/behavior bag. No sub-field is validated by the server — values are stored and returned as-is.
- `fontFamily` (string)
- `fontSize` (number)
- `color` (string)
- `bold` (boolean)
- `italic` (boolean)
- `underline` (boolean)
- `textAlign` (string)
- `placeholder` (string)
- `isSignedDate` (boolean)
- `selectionGroup` (string)
- `selectionValue` (string)
- `signerInfo` (any) — Computed on every call by re-parsing the live PDF's digital signature, if any - only populated for signed digitalsignature fields. Not persisted, no fixed schema.
- `comments` (object) — Map keyed by document id (as a string) to an array of comments.
- `settings` (array) — Envelope settings; full shape is defined in an external package and not enumerable from this repo's source.
- `externalContext` (any)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
- `externalContext` (any) — Echoed verbatim from the request; opaque, not validated.
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Resend (/latest/reference/Signatures/envelope-signatures-get-resendlink)
## `GET /signatures/envelope/resend`
**Envelope Resend**
Resends a sent envelope to its recipients when the original email link has expired.
* The envelope is identified using the transactionId (tid) query parameter, which can be obtained from the GET /signatures/envelope/list endpoint.
* This endpoint generates a new email notification containing a fresh, secure link for recipients to access the envelope. This operation only resends when the existing link has actually expired — if it hasn't, the server returns `LINK_NOT_EXPIRED` instead of resending.
### Parameters
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
### Responses
#### `200` — OK
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `recipient` (object)
- `id` (string) _(format: uuid)_
- `message` (string)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Signature Get (/latest/reference/Signatures/envelope-signatures-get-signature)
## `GET /signatures/signature/{signatureId}/get`
**Signature Get**
Retrieves details about a specific signature stored in the system.
* The signature is identified using the signatureId path parameter.
* The endpoint returns the signature and its associated metadata in JSON format.
### Parameters
- `signatureId` (path, string) **required** — The ID of the signature which information should be retrieved.
### Responses
#### `200` — This is the response returned when the signature is successfully retrieved. The response includes all the needed signature data.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `signature` (object)
- `id` (string) _(format: uuid)_
- `data` (string) — Raw stored signature value; no format enforced.
- `isDefault` (boolean)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Signature List (/latest/reference/Signatures/envelope-signatures-get-signatures-list)
## `GET /signatures/signature/list`
**Signature List**
Retrieves a list of all signatures associated with the authenticated user.
* Each signature includes the following metadata:
* Unique ID
* Whether the signature is marked as default
* Base64-encoded image data Deliberately omits the signature value/data - use signature/{signatureId}/get to retrieve it.
### Responses
#### `200` — This is the response returned when the list of available signatures is successfully retrieved.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `signature` (array)
- `id` (string) _(format: uuid)_
- `isDefault` (boolean)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Open (/latest/reference/Signatures/envelope-signatures-get-startenveloperecipientprocess)
## `GET /signatures/envelope/open`
**Envelope Open**
Opens a sent envelope as a recipient to view or sign documents.
* The envelope is identified using the transactionId (tid) query parameter, which can be obtained from the GET /signatures/envelope/list endpoint. tid is effectively required even for a logged-in caller, because the server always resolves a transaction token as part of authorization on this operation.
### Parameters
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
### Responses
#### `200` — OK
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (EnvelopeOpenResponseData) **required**
- `envelope` (object)
- `id` (string) _(format: uuid)_
- `createdBy` (UserRef)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `subject` (string)
- `message` (string)
- `senderName` (string)
- `senderEmail` (string)
- `status` (string)
- `notifyWhenOpened` (boolean)
- `notifyWhenSigned` (boolean)
- `isSignOrder` (boolean)
- `expireInDays` (integer)
- `uploadDate` (string) _(format: date-time)_
- `sendDate` (string) _(format: date-time)_
- `locale` (string)
- `timezone` (string)
- `documents` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `recipients` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `email` (string)
- `role` (string) _(enum: "signer", "inpersonsigner", "cc", "viewer")_ — Closed set enforced case-sensitively by the server.
- `status` (string)
- `signDate` (string)
- `signOrder` (integer)
- `signGroupId` (string) _(format: uuid)_
- `userId` (string) _(format: uuid)_
- `mandatory` (boolean)
- `hostEmail` (string)
- `signGroups` (array)
- `id` (string) _(format: uuid)_
- `name` (string)
- `role` (string) _(enum: "signer", "inpersonsigner", "cc", "viewer")_ — Closed set enforced case-sensitively by the server.
- `status` (string)
- `signOrder` (integer)
- `mandatory` (boolean)
- `fields` (array) — Filtered server-side to fields relevant to the caller unless the caller is done/canceled or has role viewer/cc - the set returned is viewer-dependent, not a fixed "all fields" list.
- `id` (string) _(format: uuid)_
- `name` (string)
- `recipientId` (string) _(format: uuid)_
- `signGroupId` (string) _(format: uuid)_
- `documentId` (string) _(format: uuid)_
- `type` (string) _(enum: "signature", "digitalsignature", "text", "initial", "company", "title", "number", "note", "name", "email", …)_ — Closed set enforced case-sensitively by the server.
- `value` (string)
- `page` (integer)
- `height` (number)
- `width` (number)
- `positionX` (number)
- `positionY` (number)
- `tooltip` (string)
- `isRequired` (boolean)
- `properties` (FieldPropertiesInput) — Free-form field styling/behavior bag. No sub-field is validated by the server — values are stored and returned as-is.
- `fontFamily` (string)
- `fontSize` (number)
- `color` (string)
- `bold` (boolean)
- `italic` (boolean)
- `underline` (boolean)
- `textAlign` (string)
- `placeholder` (string)
- `isSignedDate` (boolean)
- `selectionGroup` (string)
- `selectionValue` (string)
- `signerInfo` (any) — Certificate metadata, only for signed digitalsignature fields; computed, no fixed schema.
- `attachments` (array) — Derived from attachment-type field values. Does NOT include the attachment bytes (the underlying model has a Data property but this operation never populates or returns it) and there is no attachment id - documentId here is the parent document's id.
- `name` (string)
- `urn` (string) — Opaque storage reference; format not defined by this service.
- `mimeType` (string)
- `documentId` (string) _(format: uuid)_
- `signer` (string) _(format: uuid)_ — The caller's own signer id.
- `comments` (object) — Map keyed by document id; see envelope/{envelopeId}/get for the full comment shape.
- `savedSignatures` (array)
- `id` (string) _(format: uuid)_
- `data` (string) — No format enforced.
- `isDefault` (boolean)
- `settings` (array) — Filtered to anonymous-visible settings.
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# MFA Initiate (/latest/reference/Signatures/envelope-signatures-mfa-initiate)
## `POST /signatures/mfa/initiate`
**MFA Initiate**
Initiates the multi-factor authentication (MFA) process.
* The request generates an authentication code and sends it to the specified phone number or email address. No request body - the server reads nothing from the body for this operation.
### Parameters
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
### Responses
#### `200` — OK
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `recipient` (object)
- `method` (string) — Always the literal value "email" in the current implementation, even when the server actually delivered the code via SMS - the response field is hard-coded and does not reflect the real channel. Documented as observed, not as intended behavior.
- `destination` (object)
- `email` (string)
- `expiresAt` (string) _(format: date-time)_
- `message` (string)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# MFA Verify (/latest/reference/Signatures/envelope-signatures-mfa-verify)
## `POST /signatures/mfa/verify`
**MFA Verify**
Verifies the code sent as part of the multi-factor authentication (MFA) process.
* Use this endpoint to confirm the authentication code received via phone or email.
### Parameters
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
### Request body (`application/json`)
- `recipient` (object)
- `code` (string) **required** — Matched by exact string equality server-side; no format/length constraint is enforced on input.
- `externalContext` (any)
### Responses
#### `200` — OK
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `recipient` (object)
- `method` (string) — Always the literal value "email" in the current implementation, even when the server actually delivered the code via SMS - the response field is hard-coded and does not reflect the real channel. Documented as observed, not as intended behavior.
- `destination` (object)
- `email` (string)
- `message` (string)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Accept (/latest/reference/Signatures/envelope-signatures-post-acceptlegaltermsfunction)
## `GET /signatures/envelope/accept`
**Envelope Accept**
Records a recipient's explicit agreement to the legal terms or conditions associated with an envelope.
* The envelope is identified by a unique transactionId (tid).
* The tid is typically obtained from the email link sent to the recipient or via the GET /signatures/envelope/list endpoint.
* Provide the tid as a query parameter.
* This procedure occurs before the recipient views or signs any documents.
### Parameters
- `tid` (query, string) _(format: uuid)_ — Transaction token identifying a specific recipient+envelope pair. Required for anonymous/recipient access (no Authorization header, or the header doesn't resolve to the envelope owner).
### Responses
#### `200` — OK
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `recipient` (object)
- `id` (string) _(format: uuid)_
- `message` (string)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Restore (/latest/reference/Signatures/envelope-signatures-post-restoreenvelope)
## `GET /signatures/envelope/{envelopeId}/restore`
**Envelope Restore**
Restores a previously deleted draft envelope.
* The envelope is identified using the envelopeId path parameter.
* This endpoint allows the sender to recover an envelope deleted while in the "Draft" state.
* Upon restoration, the envelope returns to the "Draft" state, enabling the sender to continue editing or sending it. Note: state-mutating operation exposed as GET. Always restores to Draft status; only works on envelopes currently in Deleted status.
### Parameters
- `envelopeId` (path, string) **required** — The ID of the envelope that should be restored.
### Responses
#### `200` — Envelope restored.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `envelope` (object)
- `id` (string) _(format: uuid)_
- `message` (string)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Signature Create (/latest/reference/Signatures/envelope-signatures-post-savedefaultsignature)
## `POST /signatures/signature/create`
**Signature Create**
Creates and stores a user’s signature in the Storage system.
* The signature is represented as a Base64-encoded image (e.g., PNG or JPG).
* Each signature is assigned a unique ID, which can be used in other operations to reference the signature.
* Users can save multiple signatures and optionally designate one as the default for the signing process.
### Request body (`application/json`)
- `signature` (object)
- `value` (string) — Stored and returned as-is; no format (e.g. base64/data-URI) is validated or enforced by the server.
- `isDefault` (boolean) — If true, the server demotes the caller's other saved signatures' isDefault flag in the same request.
- `externalContext` (any) — Accepted but NOT persisted - echoed only, never stored or returned by other signature operations.
### Responses
#### `201` — This is the response returned when the envelope is successfully declined.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (object) **required**
- `signature` (object)
- `id` (string) _(format: uuid)_
- `message` (string)
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
#### `400` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
#### `500` — An error occurred. See SignatureErrorResponse for the response shape.
`application/json`:
- `error` (object)
- `message` (string)
- `statusCode` (integer)
- `innerErrors` (array)
- `code` (string) **required** — Machine-readable error code, e.g. ENVELOPE_ID_INVALID.
- `message` (string) — Internal error message.
- `userMessage` (string) — User-facing error message.
- `origin` (string) — Echoed from the request's X-Origin header.
- `dateTime` (string) _(format: date-time)_
- `operationId` (string)
# Envelope Create (/latest/reference/Signatures/envelope-signatures-post-savepreparedenvelope)
## `POST /signatures/envelope/create`
**Envelope Create**
Creates an envelope containing one or more documents, designated recipients, and signature fields.
* Documents must first be uploaded via the Storage endpoint and linked to recipients using referenceDocumentId and referenceSignerId.
* Recipients are assigned roles (e.g., signer) and can be configured as mandatory or optional.
* Signature fields are positioned precisely within documents and can include optional styling.
* Envelope metadata includes:
* Email subject.
* Email message.
* Sender details.
* Signing order.
* Expiration settings.
* Reminders.
* Notification triggers for signature events.
### Request body (`application/json`)
- `documents` (array) **required**
- `referenceDocumentId` (integer) **required** — Client-assigned correlation id linking fields to this document within the same request.
- `name` (string) **required**
- `loadMethod` (string) — How to source the document's content. Currently only `storage` is supported, which fetches bytes from the location named by `urn`. There is no inline/base64 bytes field.
- `urn` (string) — Storage location, only consulted when loadMethod is "storage". Obtained from a separate upload step; format not enforced by this service.
- `externalContext` (any) — Opaque; persisted and returned by document/{documentId}/get.
- `fields` (array)
- `referenceSignerId` (integer)
- `referenceSignGroupId` (integer)
- `referenceDocumentId` (integer) **required**
- `name` (string) **required** — PDF field name.
- `value` (string) — Required (non-empty) only for type=note. Format otherwise depends entirely on type and is not validated by the server (e.g. attachment-type fields expect a JSON string, unvalidated on write).
- `type` (string) **required** _(enum: "signature", "digitalsignature", "text", "initial", "company", "title", "number", "note", "name", "email", …)_ — Closed set enforced case-sensitively by the server.
- `anchorString` (string)
- `page` (integer)
- `height` (number)
- `width` (number)
- `positionX` (number)
- `positionY` (number)
- `isRequired` (boolean)
- `tooltip` (string)
- `properties` (FieldPropertiesInput) — Free-form field styling/behavior bag. No sub-field is validated by the server — values are stored and returned as-is.
- `fontFamily` (string)
- `fontSize` (number)
- `color` (string)
- `bold` (boolean)
- `italic` (boolean)
- `underline` (boolean)
- `textAlign` (string)
- `placeholder` (string)
- `isSignedDate` (boolean)
- `selectionGroup` (string)
- `selectionValue` (string)
- `recipients` (array) **required**
- `referenceSignerId` (integer)
- `referenceSignGroupId` (integer)
- `name` (string) **required**
- `email` (string) **required** _(format: email)_
- `role` (string) _(enum: "signer", "inpersonsigner", "cc", "viewer")_ — Closed set enforced case-sensitively by the server.
- `signOrder` (integer) — Required to be non-zero only when envelope.isSignOrder is true.
- `mandatory` (boolean)
- `hostEmail` (string) _(format: email)_ — Required only when role=inpersonsigner; must additionally resolve to an existing, valid subscription user.
- `isMfaEnabled` (boolean)
- `phoneNumber` (string) — No format validated. Required only if isMfaEnabled is true and the account's MFA channel is not email.
- `externalContext` (any) — Opaque; persisted and returned.
- `signGroups` (array)
- `referenceSignGroupId` (integer) **required**
- `name` (string) **required**
- `role` (string) **required** _(enum: "signer", "inpersonsigner", "cc", "viewer")_ — Closed set enforced case-sensitively by the server.
- `signOrder` (integer) — Required to be non-zero only when envelope.isSignOrder is true.
- `mandatory` (boolean)
- `envelope` (EnvelopeInfoInput)
- `subject` (string)
- `message` (string)
- `senderName` (string)
- `senderEmail` (string) _(format: email)_
- `isSignOrder` (boolean)
- `expireInDays` (integer) — 0 means no expiry. Any non-zero value must be >= 2 (1 is rejected).
- `alertDaysBeforeExpiry` (integer)
- `firstReminderDays` (integer)
- `repeatingReminderDays` (integer)
- `notifyWhenOpened` (boolean)
- `notifyWhenSigned` (boolean)
- `locale` (string)
- `timezone` (string)
- `externalContext` (any) — Opaque; persisted and echoed back in the response envelope.
### Responses
#### `201` — Envelope draft created.
`application/json`:
- `result` (object) **required**
- `statusCode` (integer) **required**
- `message` (string) **required**
- `data` (EnvelopeUpsertResponseData) **required**
- `envelope` (object)
- `id` (string) _(format: uuid)_
- `uploadDate` (string) _(format: date-time)_ — Present on create; absent on update.
- `status` (string) — Always "Draft" immediately after create/update.
- `documents` (array)
- `id` (string) _(format: uuid)_
- `externalContext` (any)
- `recipients` (array)
- `id` (string) _(format: uuid)_
- `externalContext` (any)
- `signGroups` (array)
- `id` (string) _(format: uuid)_
- `fields` (array)
- `id` (string) _(format: uuid)_
- `recipientId` (string) _(format: uuid)_
- `signGroupId` (string) _(format: uuid)_
- `documentId` (string) _(format: uuid)_
- `origin` (string) **required** — Echoed from the request's X-Origin header.
- `dateTime` (string) **required** _(format: date-time)_
- `consumption` (array