Recipient
A **recipient** is a person who receives an envelope and performs an action on it, such as signing, approving, or preparing documents. Each recipient has a **type** that determines what they can do: - **Signer** — signs documents. This is the most common recipient type. Every envelope must have at least one signing recipient. - **Approver** — reviews and approves documents without signing them. - **Preparer** — fills in document fields before the signer receives them. - **Automatic Signer** — the signature is applied automatically by the system. The `type` field acts as a discriminator. The properties available on a recipient depend on its type. ### Routing Recipients are routed in the order they appear in the envelope's `recipients` array. By default, recipients are processed sequentially — each recipient must complete before the next one is notified. Recipients at the same routing position are processed in parallel. ### Lifecycle A recipient moves through a series of statuses: `pending`, `awaiting`, `sent`, `completed`, `rejected`, `soft_bounced`, `hard_bounced`, `failed`, or `replaced`. See `status` for details on each.
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/signatureapi-com/json-schema/signatureapi-com-recipient-recipient-schema.json",
"title": "Recipient",
"description": "A **recipient** is a person who receives an envelope and performs an action on it, such as signing, approving, or preparing documents.\n\nEach recipient has a **type** that determines what they can do:\n\n- **Signer** — signs documents. This is the most common recipient type. Every envelope must have at least one signing recipient.\n- **Approver** — reviews and approves documents without signing them.\n- **Preparer** — fills in document fields before the signer receives them.\n- **Automatic Signer** — the signature is applied automatically by the system.\n\nThe `type` field acts as a discriminator. The properties available on a recipient depend on its type.\n\n### Routing\n\nRecipients are routed in the order they appear in the envelope's `recipients` array. By default, recipients are processed sequentially — each recipient must complete before the next one is notified. Recipients at the same routing position are processed in parallel.\n\n### Lifecycle\n\nA recipient moves through a series of statuses: `pending`, `awaiting`, `sent`, `completed`, `rejected`, `soft_bounced`, `hard_bounced`, `failed`, or `replaced`. See `status` for details on each.\n",
"x-generated": "2026-10-31",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/signatureapi-com-openapi.yml#/components/schemas/Recipient.Recipient",
"x-schema-role": "model",
"x-schema-direction": "output",
"oneOf": [
{
"$ref": "#/$defs/Recipient.Signer"
},
{
"$ref": "#/$defs/Recipient.QualifiedSigner"
},
{
"$ref": "#/$defs/Recipient.Approver"
},
{
"$ref": "#/$defs/Recipient.Preparer"
},
{
"$ref": "#/$defs/Recipient.AutomaticSigner"
}
],
"$defs": {
"Ceremony.Authentication": {
"x-schema-role": "property",
"x-schema-direction": "output",
"title": "Ceremony Authentication",
"description": "The authentication methods the recipient must complete before accessing the ceremony. This is an ordered array. The recipient completes each method in sequence.\n\nFour authentication types are available:\n\n- **email_link** -- SignatureAPI sends the recipient an email with a clickable link to the ceremony.\n- **email_code** -- SignatureAPI sends the recipient a 9-digit verification code by email.\n- **custom** -- Your application handles authentication and shares the ceremony URL directly.\n- **identity_verification** -- The recipient proves their identity with an identity verification provider.\n\nThe first method decides who delivers the ceremony URL. When the first method is `email_link`, SignatureAPI emails the link and the `url` property is `null`. When it is `email_code` or `custom`, the `url` property is returned and your application delivers it. Methods after the first are challenges the recipient completes inside the ceremony, and they never change who delivers the URL.\n\nYou can combine multiple types for added security. For example:\n\n- `[email_link, email_code]` -- SignatureAPI emails the invitation link, and the recipient must also enter an emailed verification code to open the ceremony. Both emails come from SignatureAPI, so your application sends none.\n- `[custom, email_code]` -- your application authenticates the recipient and delivers the URL, and the recipient must also enter an emailed verification code.\n\nSee the constraints below:\n\n- `email_link` can only be the first step.\n- `custom` can only be the first step.\n- `email_link` and `custom` cannot be combined together.\n- `email_code` can appear at most once.\n- `identity_verification` can never be the first step, and can appear at most once. It is enabled per account.\n",
"type": "array",
"minItems": 1,
"maxItems": 5,
"items": {
"oneOf": [
{
"$ref": "#/$defs/Ceremony.EmailLinkAuthentication"
},
{
"$ref": "#/$defs/Ceremony.EmailCodeAuthentication"
},
{
"$ref": "#/$defs/Ceremony.CustomAuthentication"
},
{
"$ref": "#/$defs/Ceremony.IdentityVerificationAuthentication"
}
]
}
},
"Ceremony.AuthenticationType": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": "string",
"title": "Ceremony Authentication Type",
"description": "The type of authentication for the ceremony.\n\n- `email_link` -- SignatureAPI sends the recipient an email with a direct link to the ceremony.\n- `email_code` -- SignatureAPI sends the recipient a 9-digit verification code by email. The recipient requests the code from the ceremony and enters it there.\n- `custom` -- Your application handles authentication and shares the ceremony URL directly.\n- `identity_verification` -- The recipient proves their identity with an identity verification provider. This is a challenge that follows a main type, so it cannot be the first item of the array.\n\nAuthentication is an ordered array, and the **first** method decides who delivers the ceremony URL:\n\n- `email_link` first -- SignatureAPI emails the link, and the `url` property is `null`. This still holds when other methods follow it, so `[email_link, email_code]` sends both the invitation email and the code by email, and your application sends nothing.\n- `email_code` or `custom` first -- the `url` property is returned in the response, and your application delivers it.\n",
"enum": [
"email_link",
"email_code",
"custom",
"identity_verification"
]
},
"Ceremony.Ceremony": {
"x-schema-role": "model",
"x-schema-direction": "output",
"title": "Ceremony",
"description": "A **ceremony** is the interactive session where a **recipient** authenticates and performs their actions on an **envelope**. Depending on the recipient type, these actions include signing, approving, or preparing documents.\n\nEach recipient can have one active ceremony at a time. When you create a new ceremony for a recipient, any previous ceremonies are automatically revoked.\n\n### Lifecycle\n\nA ceremony moves through the following statuses:\n\n- **pending** -- The ceremony is created but the envelope is not yet active.\n- **active** -- The ceremony is ready for the recipient to access.\n- **completed** -- The recipient finished their actions.\n- **declined** -- The recipient declined to act.\n- **revoked** -- The ceremony was replaced by a new one or canceled.\n\n### Authentication\n\nEvery ceremony requires at least one authentication method. You can combine multiple methods that the recipient must complete in sequence before accessing the ceremony.\n",
"type": "object",
"properties": {
"authentication": {
"$ref": "#/$defs/Ceremony.Authentication"
},
"embeddable_in": {
"$ref": "#/$defs/Ceremony.EmbeddableIn"
},
"redirect_url": {
"$ref": "#/$defs/Ceremony.RedirectUrl"
},
"redirect_delay": {
"$ref": "#/$defs/Ceremony.RedirectDelay"
},
"url_variant": {
"$ref": "#/$defs/Ceremony.UrlVariant"
},
"url": {
"$ref": "#/$defs/Ceremony.Url"
}
},
"required": [
"authentication",
"embeddable_in",
"redirect_url",
"redirect_delay",
"url_variant",
"url"
]
},
"Ceremony.CustomAuthentication": {
"x-schema-role": "model",
"x-schema-direction": "output",
"title": "Custom Authentication",
"description": "Custom authentication lets your application handle recipient verification. SignatureAPI provides a ceremony URL that you share with the recipient through your preferred channel.\n\nUse this method when recipients are already authenticated in your system, or when you need full control over the authentication flow. This is common for embedded signing experiences.\n\nYou must provide a `provider` name and a `data` object with key-value pairs that link the ceremony to your authentication records. Both appear in the envelope audit log.\n",
"type": "object",
"properties": {
"type": {
"allOf": [
{
"$ref": "#/$defs/Ceremony.AuthenticationType"
},
{
"const": "custom"
}
]
},
"provider": {
"$ref": "#/$defs/Ceremony.CustomAuthenticationProvider"
},
"data": {
"$ref": "#/$defs/Ceremony.CustomAuthenticationData"
}
},
"required": [
"type",
"provider",
"data"
]
},
"Ceremony.CustomAuthenticationData": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": "object",
"title": "Custom Authentication Data",
"description": "Key-value pairs that link the ceremony to your authentication records. This data appears in the envelope audit log.\n\nInclude information that can verify how the recipient was authenticated, such as session IDs, timestamps, or user identifiers. Avoid including unnecessary sensitive details.\n",
"minProperties": 1,
"maxProperties": 10,
"additionalProperties": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"unevaluatedProperties": false
},
"Ceremony.CustomAuthenticationProvider": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": "string",
"minLength": 1,
"maxLength": 100,
"title": "Custom Authentication Provider",
"description": "The name of your company or application that authenticated the recipient. This value appears in the envelope audit log as the authentication provider.\n"
},
"Ceremony.EmailCodeAuthentication": {
"x-schema-role": "model",
"x-schema-direction": "output",
"title": "Email Code Authentication",
"description": "Email code authentication sends the recipient a 9-digit verification code by email. The recipient requests the code from the ceremony and enters it to continue.\n\nUse this method to add an extra layer of verification to a ceremony. Where it sits in the `authentication` array decides who delivers the ceremony URL:\n\n- **First in the array** -- the `url` property is returned in the response and your application delivers it through the channel of your choice. SignatureAPI sends no invitation email, only the code email.\n- **After `email_link`** -- SignatureAPI emails the invitation link as usual and the `url` property is `null`. The code becomes a second step inside the ceremony, and SignatureAPI sends both emails.\n- **After `custom`** -- your application authenticates the recipient and delivers the returned URL, and the code is a second step.\n",
"type": "object",
"properties": {
"type": {
"allOf": [
{
"$ref": "#/$defs/Ceremony.AuthenticationType"
},
{
"const": "email_code"
}
]
}
},
"required": [
"type"
]
},
"Ceremony.EmailLinkAuthentication": {
"x-schema-role": "model",
"x-schema-direction": "output",
"title": "Email Link Authentication",
"description": "Email link authentication sends the recipient an email with a direct link to the ceremony. The recipient clicks the link to authenticate and access the signing session.\n\nThis is the default authentication method. If you create an envelope without specifying a ceremony, SignatureAPI uses email link authentication automatically.\n\nBecause SignatureAPI delivers the link itself, the ceremony's `url` property is `null`. This holds when other methods follow it in the array: `[email_link, email_code]` still has SignatureAPI send the invitation email, and adds an emailed verification code as a second step.\n\nYou can customize the email subject and message body per recipient using `subject_override` and `message_override`. If not set, the envelope title and message are used.\n",
"type": "object",
"properties": {
"type": {
"allOf": [
{
"$ref": "#/$defs/Ceremony.AuthenticationType"
},
{
"const": "email_link"
}
]
},
"subject_override": {
"$ref": "#/$defs/Ceremony.EmailLinkSubjectOverride"
},
"message_override": {
"$ref": "#/$defs/Ceremony.EmailLinkMessageOverride"
}
},
"required": [
"type",
"subject_override",
"message_override"
]
},
"Ceremony.EmailLinkMessageOverride": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": [
"string",
"null"
],
"title": "Email Message Override",
"description": "A custom message body for the ceremony invitation email sent to this recipient. Supports basic Markdown: `**bold**`, `*italic*`, and `\\n\\n` for paragraph breaks.\n\nIf not set, the envelope message is used. Set to an empty string `\"\"` to send the email with no message body.\n",
"maxLength": 2000
},
"Ceremony.EmailLinkSubjectOverride": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": [
"string",
"null"
],
"title": "Email Subject Override",
"description": "A custom subject line for the ceremony invitation email sent to this recipient.\n\nIf not set, the envelope title is used as the subject line.\n",
"minLength": 1,
"maxLength": 500
},
"Ceremony.EmbeddableIn": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": "array",
"title": "Embeddable In",
"description": "Origins allowed to embed the ceremony in an iframe.\n\nThese values set the `frame-ancestors` directive in the ceremony's Content Security Policy (CSP) header.\n\nEach source is typically a scheme and host, like `https://app.example.com`. Wildcards are supported, like `https://*.example.com`. Only the origin (scheme and host) is used; the path is ignored.\n\nIf empty, the ceremony cannot be embedded in an iframe.\n\nSet to `['*']` to allow embedding from any origin. This is recommended only for development.\n",
"maxItems": 10,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"default": []
},
"Ceremony.IdentityVerificationAuthentication": {
"x-schema-role": "model",
"x-schema-direction": "output",
"title": "Identity Verification Authentication",
"description": "Identity verification sends the recipient to an identity verification provider before they can access the ceremony. The recipient proves who they are with the `method` you choose, and returns to the ceremony once the provider reports a result.\n\nUse this method when a signature needs a verified identity behind it, for example for qualified or advanced electronic signatures.\n\nIdentity verification is a challenge, not a main authentication type. It always follows a main type such as `email_link` or `custom`, so it cannot be the first item of the `authentication` array, and it can appear at most once.\n\nYou must provide a `method`. The `provider` is optional and defaults to `stub`.\n\nIdentity verification is enabled per account. Contact support to turn it on before using it.\n",
"type": "object",
"properties": {
"type": {
"allOf": [
{
"$ref": "#/$defs/Ceremony.AuthenticationType"
},
{
"const": "identity_verification"
}
]
},
"method": {
"$ref": "#/$defs/Ceremony.IdentityVerificationMethod"
},
"provider": {
"$ref": "#/$defs/Ceremony.IdentityVerificationProvider"
}
},
"required": [
"type"
]
},
"Ceremony.IdentityVerificationMethod": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": "string",
"title": "Identity Verification Method",
"description": "The identity verification the recipient must complete. Required — there is no automatic selection.\n\n- `document_selfie` -- The recipient photographs a government-issued identity document and takes a selfie for a liveness and face match.\n- `eid` -- The recipient authenticates with a national or government-issued electronic identity scheme.\n- `video_ident` -- The recipient completes a video session with an agent who checks their identity document.\n- `reuse_credential` -- The recipient reuses an identity credential they already hold with the provider, without verifying again.\n",
"x-enum-descriptions": {
"document_selfie": "Identity document photo plus a selfie liveness and face match.",
"eid": "National or government-issued electronic identity scheme.",
"video_ident": "Live video session with an agent.",
"reuse_credential": "Reuse of an identity credential the recipient already holds with the provider."
},
"enum": [
"document_selfie",
"eid",
"video_ident",
"reuse_credential"
]
},
"Ceremony.IdentityVerificationProvider": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": "string",
"title": "Identity Verification Provider",
"description": "The identity verification provider that performs the check. Optional — defaults to `stub`.\n\n- `stub` -- A built-in test provider that simulates the verification without contacting a real identity service.\n",
"x-enum-descriptions": {
"stub": "Built-in test provider that simulates the verification."
},
"default": "stub",
"enum": [
"stub"
]
},
"Ceremony.RedirectDelay": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": [
"integer",
"null"
],
"title": "Redirect Delay",
"minimum": 0,
"maximum": 20,
"description": "The delay in seconds before the ceremony redirects to `redirect_url` (standalone) or emits completion events (embedded).\n\nSet to `0` for an immediate redirect. Defaults to `3` seconds. Maximum is `20` seconds.\n",
"default": 3
},
"Ceremony.RedirectUrl": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": [
"string",
"null"
],
"title": "Redirect URL",
"format": "uri",
"pattern": "^https://.*$",
"description": "The URL the recipient is redirected to after the ceremony ends. Must use HTTPS. Embedded ceremonies ignore this redirect.\n\nSignatureAPI appends these query parameters to the URL:\n- `ceremony_result` -- The outcome: `ceremony.completed`, `ceremony.declined`, or `ceremony.failed`.\n- `envelope_id` -- The ID of the envelope.\n- `recipient_id` -- The ID of the recipient.\n\nFor example: `https://example.com/?ceremony_result=ceremony.completed&envelope_id=...&recipient_id=...`\n\nIf not set, the ceremony does not redirect.\n",
"default": null
},
"Ceremony.Url": {
"x-schema-role": "property",
"x-schema-direction": "output",
"type": [
"string",
"null"
],
"title": "Ceremony URL",
"format": "uri",
"description": "The URL where the recipient can access the ceremony. You can embed this link in your application or share it with the recipient directly.\n\nThis property is `null` when:\n- The ceremony's **first** authentication method is `email_link`, because SignatureAPI delivers the URL by email. This applies whether or not other methods follow it.\n- The ceremony is not active (for example, it has been completed, revoked, or declined).\n\nThe URL expires after 30 days by default, or when a new ceremony is created for the same recipient.\n"
},
"Ceremony.UrlVariant": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": "string",
"title": "URL Variant",
"description": "The format of the ceremony URL.\n\n- `standard` -- Full-length URL. Works for most use cases.\n- `short` -- Shortened URL. Useful for space-constrained channels like SMS or push notifications.\n\nDefaults to `standard`.\n",
"enum": [
"standard",
"short"
],
"default": "standard"
},
"Envelope.Id": {
"x-schema-role": "property",
"x-schema-direction": "output",
"type": "string",
"format": "uuid",
"title": "Envelope Id",
"description": "The unique identifier of the envelope, in UUID format."
},
"Recipient.Approver": {
"x-schema-role": "model",
"x-schema-direction": "output",
"title": "Approver",
"description": "An **approver** is a recipient who reviews and approves documents without signing them. Approvers can fill in input fields such as text boxes and checkboxes, but they cannot add signatures or initials.\n\nUse approvers for workflows that require review or authorization before documents are sent to signers — for example, a manager approving a contract before the client signs it.\n\nApprover actions are not recorded in the audit log.\n\n### Delivery\n\nThe `delivery_type` controls whether SignatureAPI emails the completed deliverable to the approver. It defaults to `none`. Set it to `email` if you want the approver to receive the deliverable.\n\nThe approver receives an email with the ceremony link when the ceremony uses `email_link` authentication, which is the default. To share the ceremony URL yourself instead, use `custom` authentication.\n",
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/Recipient.Id"
},
"envelope_id": {
"$ref": "#/$defs/Envelope.Id"
},
"type": {
"allOf": [
{
"$ref": "#/$defs/Recipient.Type"
},
{
"const": "approver"
}
]
},
"key": {
"$ref": "#/$defs/Recipient.Key"
},
"email": {
"$ref": "#/$defs/Recipient.Email"
},
"name": {
"$ref": "#/$defs/Recipient.Name"
},
"ceremony": {
"$ref": "#/$defs/Recipient.Ceremony"
},
"ceremony_creation": {
"$ref": "#/$defs/Recipient.CeremonyCreation"
},
"delivery_type": {
"$ref": "#/$defs/Recipient.DeliveryType"
},
"status": {
"$ref": "#/$defs/Recipient.Status"
},
"status_updated_at": {
"$ref": "#/$defs/Recipient.StatusUpdatedAt"
},
"completed_at": {
"$ref": "#/$defs/Recipient.CompletedAt"
}
},
"required": [
"id",
"envelope_id",
"type",
"key",
"email",
"name",
"ceremony",
"ceremony_creation",
"delivery_type",
"status",
"status_updated_at",
"completed_at"
]
},
"Recipient.AutomaticSigner": {
"x-schema-role": "model",
"x-schema-direction": "output",
"title": "Automatic Signer",
"description": "A person whose signature is applied automatically by the system. No email is sent and no ceremony is created. The `mandate` field records why the initiator is authorized to sign on their behalf.\n",
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/Recipient.Id"
},
"envelope_id": {
"$ref": "#/$defs/Envelope.Id"
},
"type": {
"allOf": [
{
"$ref": "#/$defs/Recipient.Type"
},
{
"const": "automatic_signer"
}
]
},
"key": {
"$ref": "#/$defs/Recipient.Key"
},
"name": {
"$ref": "#/$defs/Recipient.Name"
},
"signature": {
"anyOf": [
{
"$ref": "#/$defs/Recipient.PresetSymbol"
},
{
"type": "null",
"title": "No Preset Signature",
"description": "No preset signature was supplied for this automatic signer."
}
]
},
"initials": {
"anyOf": [
{
"$ref": "#/$defs/Recipient.PresetSymbol"
},
{
"type": "null",
"title": "No Preset Initials",
"description": "No preset initials were supplied for this automatic signer."
}
]
},
"mandate": {
"$ref": "#/$defs/Recipient.Mandate"
},
"status": {
"$ref": "#/$defs/Recipient.Status"
},
"status_updated_at": {
"$ref": "#/$defs/Recipient.StatusUpdatedAt"
},
"completed_at": {
"$ref": "#/$defs/Recipient.CompletedAt"
}
},
"required": [
"id",
"envelope_id",
"type",
"key",
"name",
"signature",
"initials",
"mandate",
"status",
"status_updated_at",
"completed_at"
]
},
"Recipient.Ceremony": {
"x-schema-role": "property",
"x-schema-direction": "output",
"title": "Ceremony",
"description": "The current ceremony for the recipient. Contains authentication settings, redirect configuration, and the ceremony URL.\n\nReturns `null` if no ceremony has been created yet.\n",
"anyOf": [
{
"$ref": "#/$defs/Ceremony.Ceremony"
},
{
"type": "null",
"title": "No Ceremony",
"description": "No ceremony has been created for the recipient."
}
]
},
"Recipient.CeremonyCreation": {
"x-schema-role": "property",
"x-schema-direction": "any",
"title": "Ceremony Creation",
"type": "string",
"description": "How ceremonies are created for this recipient.\n\n**Deprecated**: Use the `ceremony` property on the recipient instead.\n",
"enum": [
"automatic",
"manual"
],
"default": "automatic",
"deprecated": true
},
"Recipient.CompletedAt": {
"x-schema-role": "property",
"x-schema-direction": "output",
"type": [
"string",
"null"
],
"format": "date-time",
"title": "Recipient Completed At",
"description": "The time at which the recipient completed their required actions on the envelope, such as signing or approving. Returns `null` if the recipient has not completed yet.\n"
},
"Recipient.DeliveryType": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": "string",
"enum": [
"email",
"none"
],
"title": "Recipient Delivery Type",
"description": "Controls whether SignatureAPI emails the completed deliverable to the recipient once the envelope is finished.\n\n| Type | Description |\n|------|-------------|\n| `email` | SignatureAPI emails the deliverable to the recipient. Default for signers. |\n| `none` | No deliverable email is sent. Your application is responsible for distributing the deliverable. Default for approvers and preparers. |\n"
},
"Recipient.Email": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": "string",
"format": "email",
"title": "Recipient Email",
"description": "The email address of the recipient. SignatureAPI emails the ceremony link to this address when the ceremony uses `email_link` authentication, and the completed deliverable when `delivery_type` is `email`.\n",
"maxLength": 320
},
"Recipient.Id": {
"x-schema-role": "property",
"x-schema-direction": "output",
"title": "Recipient Id",
"description": "The unique identifier of the recipient. Recipient IDs use the `re_` prefix.\n",
"type": "string"
},
"Recipient.Key": {
"x-schema-role": "property",
"x-schema-direction": "any",
"title": "Recipient Key",
"description": "A user-provided key that identifies a recipient within an envelope. Use the key to reference this recipient when assigning document places.\n\nThe key must start with a lowercase letter and can contain lowercase letters, numbers, and underscores. Maximum 32 characters.\n",
"type": "string",
"pattern": "^[a-z][a-z0-9_]*$",
"minLength": 1,
"maxLength": 32
},
"Recipient.Mandate": {
"x-schema-role": "property",
"x-schema-direction": "any",
"title": "Mandate",
"description": "A short statement explaining why the initiator is authorized to sign on behalf\nof this person. This string will be shown as-is in the audit log.\n",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"Recipient.Name": {
"x-schema-role": "property",
"x-schema-direction": "any",
"type": "string",
"title": "Recipient Name",
"description": "The full name of the recipient. Appears in invitation emails and is pre-filled for typed signatures.\n",
"minLength": 1,
"maxLength": 500
},
"Recipient.Preparer": {
"x-schema-role": "model",
"x-schema-direction": "output",
"title": "Preparer",
"description": "A **preparer** is a recipient who fills in document fields on behalf of another party. Preparers can complete text fields, checkboxes, and dropdowns, but they cannot add signatures or initials.\n\nUse preparers when someone needs to populate document data before a signer receives the envelope — for example, a sales representative entering pricing or contract terms.\n\nThe values a preparer enters are visible to subsequent recipients in the routing order. Preparer actions are not recorded in the audit log.\n\n### Delivery\n\nThe `delivery_type` controls whether SignatureAPI emails the completed deliverable to the preparer. It defaults to `none`. Set it to `email` if you want the preparer to receive the deliverable.\n\nThe preparer receives an email with the ceremony link when the ceremony uses `email_link` authentication, which is the default. To share the ceremony URL yourself instead, use `custom` authentication.\n",
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/Recipient.Id"
},
"envelope_id": {
"$ref": "#/$defs/Envelope.Id"
},
"type": {
"allOf": [
{
"$ref": "#/$defs/Recipient.Type"
},
{
"const": "preparer"
}
]
},
"key": {
"$ref": "#/$defs/Recipient.Key"
},
"email": {
"$ref": "#/$defs/Recipient.Email"
},
"name": {
"$ref": "#/$defs/Recipient.Name"
},
"ceremony": {
"$ref": "#/$defs/Recipient.Ceremony"
},
"ceremony_creation": {
"$ref": "#/$defs/Recipient.CeremonyCreation"
},
"delivery_type": {
"$ref": "#/$defs/Recipient.DeliveryType"
},
"status": {
"$ref": "#/$defs/Recipient.Status"
},
"status_updated_at": {
"$ref": "#/$defs/Recipient.StatusUpdatedAt"
},
"completed_at": {
"$ref": "#/$defs/Recipient.CompletedAt"
}
},
"required": [
"id",
"envelope_id",
"type",
"key",
"email",
"name",
"ceremony",
"ceremony_creation",
"delivery_type",
"status",
"status_updated_at",
"completed_at"
]
},
"Recipient.PresetSymbol": {
"x-schema-role": "model",
"x-schema-direction": "output",
"title": "Preset Symbol",
"description": "A symbol (signature or initials) supplied up-front for an automatic signer.\n",
"oneOf": [
{
"$ref": "#/$defs/Recipient.PresetSymbolDrawn"
}
]
},
"Recipient.PresetSymbolDrawn": {
"x-schema-role": "model",
"x-schema-direction": "output"
# --- truncated at 32 KB (43 KB total) ---
# Full source: https://artifacts.apis.io/signatureapi-com/json-schema/signatureapi-com-recipient-recipient-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/signatureapi-com-recipient-recipient"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.