---
updatedAt: 2026-06-23T15:47:41.000Z
agentTools:
  projectIndex: https://dev.proof.com/llms.txt
---

# Create Transaction

This endpoint creates and responds with a [transaction](https://dev.proof.com/docs/appendix#section-the-transaction-object) and by default triggers our standard notarization workflow, sending an email to the customer requesting them to complete the transaction. If the customer's phone number is supplied, an SMS will also be sent. To create a transaction in draft state (i.e. transaction is in `started` state), so it can be modified before sending, set the `draft` attribute to true. Draft transactions will need to be activated by calling the notarization\_ready endpoint to trigger the notarization workflow. Read more about transactions [here](https://dev.proof.com/docs/transactions-1).

The notarization workflow that gets triggered on activation is described below:

* The sender will receive an email inviting them to notarize the document. This email will include any text in the message field. If the customer's phone number is supplied, an SMS will also be sent (it will not include text from the message field). This step is skipped if `suppress_email` is set to `true`.
* The signer will complete the notarization process using the Proof web or mobile signer apps.
* Once the notarization is complete, the status of the transaction will be set to `completed` and the notarization record will become available.

> 👍 EasyLink
>
> A common alternative use case to creating a transaction using the Business API is using [EasyLink](https://dev.proof.com/docs/demo-easylink) instead. The two methods share many of the same parameters.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Proof Business API Specification",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.proof.com",
      "description": "Public API URL"
    }
  ],
  "components": {
    "securitySchemes": {
      "api_key": {
        "type": "apiKey",
        "name": "ApiKey",
        "in": "header"
      }
    },
    "schemas": {
      "errors_object": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "maxLength": 5000,
            "description": "Deprecated; prefer using the errors array instead"
          },
          "errors": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "object"
              }
            ]
          }
        }
      },
      "credential_image": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 5000,
            "description": "URL of the image"
          },
          "descriptor": {
            "type": "string",
            "enum": [
              "back",
              "front"
            ]
          }
        }
      },
      "credential_asset_object": {
        "type": "object",
        "properties": {
          "credential_type": {
            "type": "string",
            "enum": [
              "primary",
              "secondary",
              "selfie"
            ]
          },
          "credential_images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/credential_image"
            }
          }
        }
      },
      "recipient_details_config": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "maxLength": 50,
            "enum": [
              "name"
            ],
            "description": "The field name"
          },
          "display": {
            "type": "string",
            "maxLength": 50,
            "enum": [
              "required",
              "locked",
              "optional",
              "hidden"
            ],
            "description": "Property of the field"
          }
        }
      },
      "expiry": {
        "type": "string",
        "maxLength": 100,
        "description": "An ISO-8601 formatted DateTime String, optionally including the timezone offset. If timezone offset is not provided, the account’s default timezone settings will be applied. This param sets time after which the signer is NOT permitted to complete the transaction. If a signer attempts to complete the transaction after this time is reached, they will receive an error. Expiration time is optional, and no default is set if this parameter is left blank. Any transaction that expires is no longer editable, and a new transaction must be created."
      },
      "transaction_create_params": {
        "type": "object",
        "properties": {
          "activation_time": {
            "type": "string",
            "maxLength": 100,
            "description": "An ISO-8601 formatted DateTime String, optionally including a timezone offset. If timezone offset is not provided, the Proof account’s default timezone settings will be applied. This param sets the time after which the signer is permitted to connect with a notary to complete the transaction. If a signer attempts to connect with a notary before this time is reached, the signer will be only permitted to review documents."
          },
          "allowed_notary_states": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 2,
              "maxLength": 2
            },
            "description": "A non-empty array of 2-letter US state abbreviations, e.g. [\"VA\",\"TX\"]. Restricts the transaction to notaries commissioned in the given states. Must be enabled for your organization. Can be changed or removed later via transaction update."
          },
          "signer": {
            "$ref": "#/components/schemas/signer"
          },
          "signers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/signers"
            },
            "description": "An array of signer objects each with at minimum the email field set (limit 10 signers per transaction). The request to notarize the document will be sent to that email address."
          },
          "cosigner": {
            "$ref": "#/components/schemas/cosigner"
          },
          "draft": {
            "type": "boolean",
            "description": "When set to true, the transaction will be created in a Draft state. This attribute is typically used when managing multi-document transactions. When the transaction is in draft state, transaction attributes can be modified and additional documents can be added to the bundle, using the documents API. To activate the transaction, the notarization_ready API endpoint must be called."
          },
          "expiry": {
            "$ref": "#/components/schemas/expiry"
          },
          "payer": {
            "type": "string",
            "enum": [
              "signer",
              "sender"
            ],
            "description": "Possible values are `signer` or `sender`. If no value is supplied then the payer will be based on the api key's payer setting."
          },
          "external_id": {
            "type": "string",
            "maxLength": 5000,
            "description": "A string representing an ID external to Proof's systems. Use this to associate a transaction to an ID that your systems understand, such as an Order ID or system GUID."
          },
          "transaction_name": {
            "type": "string",
            "maxLength": 5000,
            "description": "Short, human-readable name for the transaction - eg. Miguel's TPS notarization for Leeroy. Defaults to Untitled Transaction."
          },
          "message_to_signer": {
            "type": "string",
            "maxLength": 30000,
            "description": "Message to signer using GitHub Flavored Markdown. Html, images, links, and code are stripped out. Can be used to provide instructions, thank customers, add additional context to the transaction, or simply to add a personal touch. The message will be added to the email sent to the signer. (30,000 character limit)"
          },
          "transaction_type": {
            "type": "string",
            "maxLength": 5000,
            "description": "Short, human-readable description of the transaction. Can be used to categorize transactions by their purpose or by general type — e.g. `Account Opening` or `Power of Attorney`."
          },
          "message_subject": {
            "type": "string",
            "maxLength": 30000,
            "description": "Subject line of email to signer."
          },
          "message_signature": {
            "type": "string",
            "maxLength": 30000,
            "description": "Signature in email to signer."
          },
          "pdf_bookmarked": {
            "type": "boolean",
            "description": "Split the document by bookmarks if it is a pdf"
          },
          "require_secondary_photo_id": {
            "type": "boolean",
            "description": "Certain businesses and transaction types may need signers to provide two forms of photo identification. This feature enables you to require two forms on a transaction. If true, the signer cannot proceed to the notary meeting without first providing two forms of photo ID during the Proof identity verification process. If false (default), the signer can proceed to notary meeting after providing one form of photo ID."
          },
          "suppress_email": {
            "type": "boolean",
            "description": "If sent as true during activation, Proof will not send a notification email to the signer when the transaction is activated. If you use this feature, you are responsible for providing the signer with the `transaction_access_link`. This value is not stored on the transaction and must be provided anytime the transaction is activated."
          },
          "authentication_requirement": {
            "type": "string",
            "enum": [
              "sms",
              "none"
            ],
            "description": "Additional authentication requirement for signers on the transaction. If SMS, a phone number must be provided for each signer."
          },
          "require_new_signer_verification": {
            "type": "boolean",
            "description": "When set to false, Proof will not require a new signer to verify their email address before moving into the transaction flow."
          },
          "notary_instructions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/notary_instructions"
            },
            "description": "Instructions for the Notarize Network notary."
          },
          "redirect": {
            "$ref": "#/components/schemas/redirect"
          },
          "notary_id": {
            "type": "string",
            "maxLength": 5000,
            "description": "User ID (\"us_xxxxxxx\") of the assigned Notary. Eligible notaries must be either a connected BYOT notary, or a BYON notary who is a member of your organization. Notary assignment is not a strict requirement. When this parameter is specified, the notary will be sent an SMS that the signer is about to enter the waiting room, but the notary can take any signer in the queue, and any available notary can take the signer."
          },
          "notary_meeting_time": {
            "type": "string",
            "maxLength": 100,
            "format": "date-time",
            "description": "An ISO-8061 formatted DateTime String, optionally including the timezone offset. Meeting time will be shown to signer in default emails. Proof will not prevent the signer or notary from starting the meeting at any other time."
          },
          "organization_id": {
            "type": "string",
            "maxLength": 5000,
            "description": "The organization id of a child account. If the authenticated account has child accounts, specifying this parameter will create the transaction in the provided child org."
          },
          "document_url_version": {
            "type": "string",
            "description": "Optional param to test v2 document urls.",
            "enum": [
              "v1",
              "v2"
            ]
          },
          "documents": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 70000000
            },
            "description": "Documents to be signed or notarized. Accepted as an array of document objects or simple document[\"resource\"] field values. Maximum size of an individual document is 50MB, or approximately 70M characters encoded in base64."
          },
          "document": {
            "type": "string",
            "maxLength": 70000000,
            "description": "Documents to be signed or notarized. Accepted as an array of document objects or simple document[\"resource\"] field values. Maximum size of an individual document is 50MB, or approximately 70M characters encoded in base64."
          },
          "cc_recipient_emails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/cc_recipient_email"
            },
            "description": "An array of email addresses to CC on the transaction. They will receive notification when it is sent and completed and be able to view the completed documents."
          },
          "config_id": {
            "type": "string",
            "maxLength": 5000,
            "description": "The ID of the config used for this transaction. This will ensure that the transaction will load as expected in your dashboard if you need to make any edits. Once set this cannot be edited. Available values: [\"hybrid_purchase_buyer_loan\", \"hybrid_refinance\", \"hybrid_trailing_docs\", \"identify\", \"lender_heloc\", \"lender_loan_mod_borrower\", \"lender_refinance\", \"notarization\", \"other\", \"purchase_buyer\", \"purchase_buyer_loan\", \"purchase_seller\", \"real_estate_identify\", \"real_estate_sign\", \"real_estate_verify\", \"sign\", \"title_heloc\", \"title_loan_mod_borrower\", \"trailing_docs\", \"verify\"]"
          },
          "cost_center_id": {
            "type": "string",
            "maxLength": 5000,
            "description": "The ID of the cost center to attribute this transaction to. Returned by the List Cost Centers endpoint. Must be enabled for your organization, and required to send a transaction if your organization requires cost centers."
          },
          "idv_use_case": {
            "type": "string",
            "maxLength": 50,
            "enum": [
              "STANDARD",
              "ACCOUNT_RECOVERY"
            ],
            "description": "The identity verification use case for the transaction. Only available on identify transactions"
          },
          "recipient_details_config": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/recipient_details_config"
            },
            "description": "An array of recipient details configuration objects. This is used to configure the recipients experience"
          }
        },
        "required": [
          "signer"
        ],
        "example": {
          "document": "JVBERi0xLjcKCjEgMCBvYmogICUgZW50cnkgcG9pbnQKPDwKICAvVHlwZSAvQ2F0YWxvZwogIC9QYWdlcyAyIDAgUgo+Pgplbm\\\nRvYmoKCjIgMCBvYmoKPDwKICAvVHlwZSAvUGFnZXMKICAvTWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCiAgL0NvdW50IDEKICAvS2lkcyBbID\\\nMgMCBSIF0KPj4KZW5kb2JqCgozIDAgb2JqCjw8CiAgL1R5cGUgL1BhZ2UKICAvUGFyZW50IDIgMCBSCiAgL1Jlc291cmNlcyA8PAogICAgL\\\n0ZvbnQgPDwKICAgICAgL0YxIDQgMCBSIAogICAgPj4KICA+PgogIC9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKCjQgMCBvYmoKPDwKICAvV\\\nHlwZSAvRm9udAogIC9TdWJ0eXBlIC9UeXBlMQogIC9CYXNlRm9udCAvVGltZXMtUm9tYW4KPj4KZW5kb2JqCgo1IDAgb2JqICAlIHBhZ2UgY29\\\nudGVudAo8PAogIC9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCjcwIDUwIFRECi9GMSAxMiBUZgooSGVsbG8sIHdvcmxkISkgVGoKRVQKZW5kc3RyZ\\\nWFtCmVuZG9iagoKeHJlZgowIDYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDEwIDAwMDAwIG4gCjAwMDAwMDAwNzkgMDAwMDAgbiAK\\\nMDAwMDAwMDE3MyAwMDAwMCBuIAowMDAwMDAwMzAxIDAwMDAwIG4gCjAwMDAwMDAzODAgMDAwMDAgbiAKdHJhaWxlcgo8PAogIC9TaXplIDYK\\\nICAvUm9vdCAxIDAgUgo+PgpzdGFydHhyZWYKNDkyCiUlRU9G",
          "fooble": 3,
          "signer": {
            "email": "test@google.com",
            "first_name": "First",
            "last_name": "Last"
          }
        }
      },
      "redirect": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 5000,
            "description": "Valid url to redirect the user to once the meeting is complete"
          },
          "message": {
            "type": "string",
            "maxLength": 5000,
            "description": "The message to show the user when the redirect is shown"
          }
        }
      },
      "signer": {
        "type": "object",
        "properties": {
          "signer_id": {
            "type": "string",
            "maxLength": 30,
            "description": "Signer ID"
          },
          "email": {
            "type": "string",
            "maxLength": 5000,
            "description": "Email is required unless you provide a recipient_group object."
          },
          "first_name": {
            "type": "string",
            "maxLength": 30,
            "description": "First name"
          },
          "middle_name": {
            "type": "string",
            "maxLength": 30,
            "nullable": true,
            "description": "Middle name"
          },
          "last_name": {
            "type": "string",
            "maxLength": 30,
            "description": "Last name"
          },
          "phone_number": {
            "type": "string",
            "maxLength": 30,
            "description": "Signer phone number. A country code can be defined by using the `+` symbol. For example, `+11234567890` will set the country code to `+1` for the number `1234567890`. If no country code is specified the default will be the United States country code of `+1`."
          },
          "phone": {
            "type": "object",
            "properties": {
              "country_code": {
                "type": "string",
                "maxLength": 10,
                "description": "The country code for the phone number, e.g. 1"
              },
              "number": {
                "type": "string",
                "maxLength": 20,
                "description": "The phone number without the country code, e.g. 5551234567"
              }
            },
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/address",
            "description": "The most recent known address for the signer."
          },
          "dob": {
            "type": "string",
            "maxLength": 30,
            "description": "The signer's date of birth."
          },
          "capacity": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "The signers capacity when signing on behalf of an entity, required when entity is present"
          },
          "entity": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "Entity the signer is signing on behalf of, required when capacity is present"
          },
          "external_id": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "A string representing an ID external to Proof's systems. Use this to associate a signer to an ID that your systems understand, such as a User ID."
          },
          "link_expired": {
            "type": "boolean",
            "description": "Indicates if the signer's passwordless link has expired."
          },
          "personally_known_to_notary": {
            "type": "boolean",
            "description": "If the signer is personally known to the notary. This can currently only be used on single signer transactions, or when the notary_id is specified on the signer."
          },
          "proof_requirement": {
            "$ref": "#/components/schemas/proof_requirement",
            "nullable": true,
            "description": "Add enhanced checks to validate a signer's identity to create a Proof transaction. Reach out to your customer success team to enable if not yet available."
          },
          "recipient_group": {
            "$ref": "#/components/schemas/recipient_group",
            "nullable": true,
            "description": "Use this to send to a group that will be able to claim the transaction. This would be used in place of email and name properties."
          },
          "sdk_token": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "Equivalent to transaction_access_link; prefer using that instead."
          },
          "signatory_capacities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "capacity": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "attorney_in_fact",
                    "corporate_officer",
                    "guardian_or_conservator",
                    "general_partner",
                    "limited_partner",
                    "trustee",
                    "other"
                  ]
                },
                "representative_of": {
                  "type": "string"
                }
              }
            },
            "description": "An array of signatory capacities for the signer when signing on behalf of multiple entities."
          },
          "primary_id_allow_list_by_country": {
            "$ref": "#/components/schemas/id_allow_list_by_country"
          },
          "secondary_id_allow_list_by_country": {
            "$ref": "#/components/schemas/id_allow_list_by_country"
          },
          "signing_requirement": {
            "type": "string",
            "nullable": true,
            "enum": [
              "esign",
              "identify",
              "verify",
              "screen"
            ],
            "description": "Override the document signing requirement for an individual signer."
          },
          "signing_status": {
            "type": "string",
            "enum": [
              "incomplete",
              "in_progress",
              "complete"
            ],
            "nullable": true
          },
          "transaction_access_link": {
            "type": "string",
            "description": "A link to the transaction for this signer."
          },
          "vesting_type": {
            "type": "string",
            "enum": [
              "borrower",
              "non_borrower"
            ],
            "description": "Can be either `borrower` or `non_borrower`. Defaults to `borrower`."
          },
          "skip_landing_page": {
            "type": "boolean",
            "nullable": true,
            "description": "If true, skip the landing page the user will see before beginning verification"
          },
          "credential_assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/credential_asset_object"
            },
            "nullable": true
          },
          "esign_authentication_records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/photo_validation_attempt"
            },
            "nullable": true
          },
          "notary_id": {
            "type": "string",
            "maxLength": 100,
            "nullable": true,
            "description": "User ID (\"us_xxxxxxx\") of the assigned Notary or \"notarize\". Eligible notaries must be a notary who is a member of your organization. Order must be utilized with this field, all notarization signers with the same order must have the same notary_id."
          },
          "order": {
            "type": "integer",
            "nullable": true,
            "description": "Order the signers will sign in. Should be positive numbers starting with 1. Setting to the same order as another signer indicates they will sign at the same time."
          },
          "suppress_communications": {
            "type": "string",
            "enum": [
              "all"
            ],
            "nullable": true,
            "description": "Suppress Proof communications to this signer. Only \"all\" is currently supported."
          },
          "verify_tool_configuration": {
            "$ref": "#/components/schemas/verify_tool_configuration",
            "nullable": true,
            "description": "Signer verify tool configuration for transactions with a verify signing requirement."
          }
        },
        "required": [
          "email"
        ]
      },
      "id_allow_list_by_country": {
        "type": "object",
        "nullable": true,
        "description": "A dictionary of id allow lists by country code, e.g. { \"US\": [ \"driver_license\", \"passport\" ], \"CA\": [\"passport\"] }, where the key is a 2 digit ISO-3166 country code, and the value is an array of id types. Primary ID lists must only contain government IDs ([\"driver_license\", \"passport\", \"id_card\", \"passport_card\", \"work_permit\", \"permanent_resident_card\", \"matricula_consular\"]). Secondary ID lists can contain government IDs or supplemental documents ([\"driver_license\", \"passport\", \"id_card\", \"passport_card\", \"work_permit\", \"permanent_resident_card\", \"social_security_card\", \"us_visa\", \"birth_certificate\", \"property_tax_bill\", \"voter_registration_card\", \"organizational_membership_card\", \"bank_investment_loan_statement\", \"paycheck_stub\", \"property_insurance\", \"utility_bill\", \"other\", \"lease\", \"mortgage\", \"deed_of_trust\", \"vehicle_registration\"]). By default, validation is only run on the primary ID. Validation can be run on the secondary ID (if it is a government ID) by changing your organization's configuration. To use Proof's default ID options, use null, or do not pass this field."
      },
      "signers": {
        "type": "object",
        "properties": {
          "signer_id": {
            "type": "string",
            "maxLength": 30,
            "description": "Signer ID"
          },
          "email": {
            "type": "string",
            "maxLength": 5000,
            "description": "Email is required unless you provide a recipient_group object."
          },
          "first_name": {
            "type": "string",
            "maxLength": 30,
            "description": "First name"
          },
          "middle_name": {
            "type": "string",
            "maxLength": 30,
            "nullable": true,
            "description": "Middle name"
          },
          "last_name": {
            "type": "string",
            "maxLength": 30,
            "description": "Last name"
          },
          "phone_number": {
            "type": "string",
            "maxLength": 30,
            "description": "Signer phone number. A country code can be defined by using the `+` symbol. For example, `+11234567890` will set the country code to `+1` for the number `1234567890`. If no country code is specified the default will be the United States country code of `+1`."
          },
          "phone": {
            "type": "object",
            "properties": {
              "country_code": {
                "type": "string",
                "maxLength": 10,
                "description": "The country code for the phone number, e.g. 1"
              },
              "number": {
                "type": "string",
                "maxLength": 20,
                "description": "The phone number without the country code, e.g. 5551234567"
              }
            },
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/address",
            "description": "The most recent known address for the signer."
          },
          "dob": {
            "type": "string",
            "maxLength": 30,
            "description": "The signer's date of birth."
          },
          "capacity": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "The signers capacity when signing on behalf of an entity, required when entity is present"
          },
          "entity": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "Entity the signer is signing on behalf of, required when capacity is present"
          },
          "external_id": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "A string representing an ID external to Proof's systems. Use this to associate a signer to an ID that your systems understand, such as a User ID."
          },
          "link_expired": {
            "type": "boolean",
            "description": "Indicates if the signer's passwordless link has expired."
          },
          "personally_known_to_notary": {
            "type": "boolean",
            "description": "If the signer is personally known to the notary. This can currently only be used on single signer transactions, or when the notary_id is specified on the signer."
          },
          "proof_requirement": {
            "$ref": "#/components/schemas/proof_requirement",
            "nullable": true,
            "description": "Add enhanced checks to validate a signer's identity to create a Proof transaction. Reach out to your customer success team to enable if not yet available."
          },
          "recipient_group": {
            "$ref": "#/components/schemas/recipient_group",
            "nullable": true,
            "description": "Use this to send to a group that will be able to claim the transaction. This would be used in place of email and name properties."
          },
          "sdk_token": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "Equivalent to transaction_access_link; prefer using that instead."
          },
          "signatory_capacities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "capacity": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "attorney_in_fact",
                    "corporate_officer",
                    "guardian_or_conservator",
                    "general_partner",
                    "limited_partner",
                    "trustee",
                    "other"
                  ]
                },
                "representative_of": {
                  "type": "string"
                }
              }
            },
            "description": "An array of signatory capacities for the signer when signing on behalf of multiple entities."
          },
          "primary_id_allow_list_by_country": {
            "$ref": "#/components/schemas/id_allow_list_by_country"
          },
          "secondary_id_allow_list_by_country": {
            "$ref": "#/components/schemas/id_allow_list_by_country"
          },
          "signing_requirement": {
            "type": "string",
            "nullable": true,
            "enum": [
              "esign",
              "identify",
              "verify",
              "screen"
            ],
            "description": "Override the document signing requirement for an individual signer."
          },
          "signing_status": {
            "type": "string",
            "enum": [
              "incomplete",
              "in_progress",
              "complete"
            ],
            "nullable": true
          },
          "transaction_access_link": {
            "type": "string",
            "description": "A link to the transaction for this signer."
          },
          "vesting_type": {
            "type": "string",
            "enum": [
              "borrower",
              "non_borrower"
            ],
            "description": "Can be either `borrower` or `non_borrower`. Defaults to `borrower`."
          },
          "skip_landing_page": {
            "type": "boolean",
            "nullable": true,
            "description": "If true, skip the landing page the user will see before beginning verification"
          },
          "credential_assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/credential_asset_object"
            },
            "nullable": true
          },
          "esign_authentication_records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/photo_validation_attempt"
            },
            "nullable": true
          },
          "order": {
            "type": "integer",
            "nullable": true,
            "description": "Order the signers will sign in. Should be positive numbers starting with 1. Setting to the same order as another signer indicates they will sign at the same time."
          },
          "notary_id": {
            "type": "string",
            "maxLength": 100,
            "nullable": true,
            "description": "User ID (\"us_xxxxxxx\") of the assigned Notary or \"notarize\". Eligible notaries must be a notary who is a member of your organization. Order must be utilized with this field, all notarization signers with the same order must have the same notary_id."
          },
          "suppress_communications": {
            "type": "string",
            "enum": [
              "all"
            ],
            "nullable": true,
            "description": "Suppress Proof communications to this signer. Only \"all\" is currently supported."
          },
          "verify_tool_configuration": {
            "$ref": "#/components/schemas/verify_tool_configuration",
            "nullable": true,
            "description": "Signer verify tool configuration for transactions with a verify signing requirement."
          }
        }
      },
      "cosigner": {
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "maxLength": 30,
            "description": "First name"
          },
          "last_name": {
            "type": "string",
            "maxLength": 30,
            "description": "Last name"
          },
          "signing_requirement": {
            "type": "string",
            "nullable": true,
            "enum": [
              "esign",
              "identify",
              "verify",
              "screen"
            ],
            "description": "Override the document signing requirement for an individual signer."
          }
        }
      },
      "address": {
        "type": "object",
        "properties": {
          "line1": {
            "type": "string",
            "maxLength": 5000,
            "description": "House number and Street name"
          },
          "line2": {
            "type": "string",
            "maxLength": 5000,
            "description": "Unit number"
          },
          "city": {
            "type": "string",
            "maxLength": 5000,
            "description": "Town name"
          },
          "state": {
            "type": "string",
            "maxLength": 2,
            "description": "Only two character state abbreviations are accepted. i.e. \"CO\"."
          },
          "postal": {
            "type": "string",
            "maxLength": 10,
            "description": "Five or ten digit postal code."
          },
          "country": {
            "type": "string",
            "maxLength": 2,
            "description": "Only two character country codes are accepted. i.e. \"US\"."
          }
        }
      },
      "cc_recipient_email": {
        "type": "string",
        "maxLength": 5000,
        "description": "Email address of the recipient to be CC'd on the transaction."
      },
      "witness": {
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "maxLength": 100
          },
          "middle_name": {
            "type": "string",
            "maxLength": 100
          },
          "last_name": {
            "type": "string",
            "maxLength": 100
          },
          "address": {
            "$ref": "#/components/schemas/address"
          },
          "credential_assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/credential_asset_object"
            }
          }
        }
      },
      "notarization_record_signer_object": {
        "type": "object",
        "properties": {
          "signer_id": {
            "type": "string",
            "maxLength": 38,
            "nullable": true,
            "description": "Signer ID"
          },
          "email": {
            "type": "string",
            "maxLength": 100,
            "description": "Email"
          },
          "first_name": {
            "type": "string",
            "maxLength": 30,
            "description": "First name"
          },
          "middle_name": {
            "type": "string",
            "maxLength": 30,
            "nullable": true,
            "description": "Middle name"
          },
          "last_name": {
            "type": "string",
            "maxLength": 30,
            "description": "Last name"
          },
          "address": {
            "$ref": "#/components/schemas/address",
            "description": "The most recent known address for the signer."
          },
          "dob": {
            "type": "string",
            "maxLength": 30,
            "description": "The signer's date of birth."
          }
        }
      },
      "notarization_record_object": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 5000
          },
          "meeting_start": {
            "type": "string",
            "maxLength": 100,
            "format": "date-time"
          },
          "meeting_end": {
            "type": "string",
            "maxLength": 100,
            "format": "date-time"
          },
          "notary_name": {
            "type": "string",
            "maxLength": 5000
          },
          "notary_county_city": {
            "type": "string",
            "maxLength": 5000
          },
          "notary_registration": {
            "type": "string",
            "maxLength": 5000
          },
          "notary_source": {
            "type": "string",
            "enum": [
              "In-house notary",
              "Custom Panel",
              "Notarize Network"
            ],
            "description": "Indicates how the notary who fulfilled this session was sourced: In-house notary, Custom Panel, or Notarize Network. Reflects actual session fulfillment, not original routing."
          },
          "signer_info": {
            "$ref": "#/components/schemas/notarization_record_signer_object"
          },
          "signers": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/notarization_record_signer_object"
                },
                {
                  "$ref": "#/components/schemas/photo_identification"
                }
              ]
            }
          },
          "cosigner_info": {
            "$ref": "#/components/schemas/notarization_record_signer_object",
            "nullable": true
          },
          "witnesses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/witness"
            }
          },
          "notarized_documents": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "document_url": {
                  "type": "string",
                  "maxLength": 5000
                },
                "notorial_acts": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "acknowledgement",
                      "copy_certification",
                      "jurat",
                      "oath_affirmation",
                      "verification_of_fact",
                      "vof_ps1583",
                      "affidavit",
                      "attestation"
                    ]
                  }
                },
                "tracking_id": {
                  "oneOf": [
                    {
                      "type": "integer",
                      "nullable": true
                    },
                    {
                      "type": "string",
                      "maxLength": 5000,
                      "nullable": true
                    }
                  ]
                }
              }
            }
          },
          "verification_credentials": {
            "type": "object",
            "properties": {
              "retrieval_id": {
                "type": "string",
                "maxLength": 5000
              },
              "retrieval_pin": {
                "type": "string",
                "maxLength": 5000
              },
              "last_name": {
                "type": "string",
                "maxLength": 5000,
                "nullable": true
              },
              "date_completed": {
                "type": "string",
                "maxLength": 100
              }
            }
          },
          "signer_photo_identification": {
            "$ref": "#/components/schemas/photo_identification"
          },
          "video_url": {
            "type": "string",
            "maxLength": 5000,
            "description": "Download URL of the video recording of the meeting."
          },
          "chat_url": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "Download URL of the chat transcript of the meeting."
          }
        }
      },
      "notary_instructions": {
        "type": "object",
        "properties": {
          "notary_note": {
            "type": "string",
            "maxLength": 500,
            "description": "500 character limit."
          }
        }
      },
      "photo_identification": {
        "type": "object",
        "properties": {
          "primary_front": {
            "type": "string",
            "maxLength": 5000,
            "description": "URL of the front of the primary photo identification document."
          },
          "primary_back": {
            "type": "string",
            "maxLength": 5000,
            "description": "URL of the back of the primary photo identification document."
          },
          "primary_type": {
            "type": "string",
            "maxLength": 5000,
            "description": "Type of the primary photo identification document."
          },
          "primary_issuer": {
            "type": "string",
            "maxLength": 5000,
            "description": "Issuer of the primary photo identification document."
          },
          "primary_expiry_date": {
            "type": "string",
            "maxLength": 100,
            "description": "Expiry date of the primary photo identification document."
          },
          "secondary_front": {
            "type": "string",
            "maxLength": 5000,
            "description": "URL of the front of the secondary photo identification document."
          }
        }
      },
      "verify_tool_configuration": {
        "type": "object",
        "properties": {
          "credit_card_config": {
            "$ref": "#/components/schemas/verify_tool_requirement"
          },
          "selfie_config": {
            "$ref": "#/components/schemas/verify_tool_requirement"
          },
          "credential_analysis_config": {
            "$ref": "#/components/schemas/verify_tool_requirement"
          }
        }
      },
      "verify_tool_requirement": {
        "type": "object",
        "properties": {
          "requirement": {
            "type": "string",
            "enum": [
              "run",
              "pass",
              "none"
            ],
            "description": "Setting indicating whether or not the verify tool will be required to run or pass, or both"
          },
          "available": {
            "type": "boolean",
            "description": "Whether this verify tool is available for the transaction."
          }
        },
        "required": [
          "requirement"
        ]
      },
      "proof_requirement": {
        "type": "object",
        "properties": {
          "id_verification": {
            "$ref": "#/components/schemas/proof_requirement_id_verification"
          },
          "knowledge_based_authentication": {
            "type": "boolean",
            "description": "(KBA) Signer answers a series of personal identity questions."
          },
          "multi_factor_authentication": {
            "$ref": "#/components/schemas/proof_requirement_multi_factor_authentication"
          }
        },
        "required": [
          "knowledge_based_authentication"
        ]
      },
      "proof_requirement_id_verification": {
        "type": "object",
        "properties": {
          "selfie": {
            "type": "boolean",
            "description": "Signer identity is verified through credential analysis and selfie comparison. SMS multi_factor_authentication is required with this for IAL2 compliant identity verification."
          }
        },
        "required": [
          "selfie"
        ]
      },
      "proof_requirement_multi_factor_authentication": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "sms"
            ],
            "description": "Signer enters authentication code sent to their mobile phone."
          }
        },
        "required": [
          "type"
        ]
      },
      "recipient_group": {
        "type": "object",
        "properties": {
          "shared_inbox_email": {
            "type": "string",
            "maxLength": 5000,
            "description": "The email address that is shared by a group.  Whomever has access to this email address can claim the transaction for themself."
          }
        }
      },
      "attachment": {
        "type": "object",
        "properties": {
          "date_created": {
            "type": "string",
            "maxLength": 100,
            "description": "Date Attachment was created/uploaded."
          },
          "name": {
            "type": "string",
            "maxLength": 5000,
            "description": "Name of the attachment"
          },
          "url": {
            "type": "string",
            "maxLength": 5000,
            "description": "URL of the attachment"
          }
        }
      },
      "document": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 5000
          },
          "allowed_actions": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 5000
            },
            "description": "List of allowed actions on document."
          },
          "bundle_position": {
            "type": "integer",
            "description": "Position to put document in bundle"
          },
          "completion_state": {
            "type": "string",
            "maxLength": 5000
          },
          "data": {
            "type": "string",
            "nullable": true,
            "description": "base64 encoded document. Present if base64 encoding was specified in request. Currently supported for get_document only."
          },
          "date_created": {
            "type": "string",
            "maxLength": 100,
            "description": "Date document was created/uploaded."
          },
          "date_updated": {
            "type": "string",
            "maxLength": 100,
            "description": "Date document was last updated."
          },
          "document_name": {
            "type": "string",
            "maxLength": 5000,
            "description": "Name of document."
          },
          "esign_required": {
            "type": "boolean",
            "description": "Boolean flag indicating whether the document requires esigning."
          },
          "final_document_url": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          },
          "identification_reviewed": {
            "type": "boolean"
          },
          "identity_confirmation_required": {
            "type": "boolean",
            "description": "Boolean flag indicating whether the document requires identity confirmation."
          },
          "is_enote": {
            "type": "boolean",
            "nullable": true,
            "description": "Boolean flag indicating whether the document is an eNote."
          },
          "notarization_required": {
            "type": "boolean",
            "description": "Boolean flag indicating whether the document requires notarization. If `true`, identity_confirmation_required must be `false`. If `false`, the document may still be e-signed in the notary meeting. At least one document in a transaction must require notarization or identity confirmation."
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 5000
            },
            "description": "List of allowed actions on document."
          },
          "processing_error": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "Error message if document processing failed."
          },
          "processing_state": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "State of document processing."
          },
          "rejection_anecdote": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "Anecdote for document rejection."
          },
          "rejection_reason": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "Reason for document rejection."
          },
          "requirement": {
            "type": "string",
            "maxLength": 5000,
            "description": "Completion requirement for the document. Accepted values can be `notarization`, `esign`, `identity_confirmation` **([identity confirmation feature](https://dev.proof.com/docs/enterprise-features))**, `readonly`, and `non_essential`. Completion requirement for the document.  If the value is set to `non_essential`, the document will be hidden from signers before the notary meeting and values for  `customer_can_annotate` and `witness_required` will be ignored and set to false. `identity_confirmation` is used to support signing of PS Form 1583 for signers without a US SSN. Note: if `identity_confirmation` is set as the document requirement, ensure that all documents requiring notarization in the transaction also use `identity confirmation` as the requirement to avoid requiring KBA on the transaction. [Read more](https://dev.proof.com/docs/document-requirements) about document requirements."
          },
          "signed_url": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "Signed URL for the final document PDF."
          },
          "signing_designation_groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/signing_designation_group"
            },
            "description": "This array contains a prescribed list of groups of designations for signers and/or a notary to annotate the document."
          },
          "signing_designations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/signing_designation"
            },
            "description": "This array contains a prescribed list of designations for signers and/or a notary to annotate the document."
          },
          "signing_type": {
            "type": "string",
            "enum": [
              "NOTARIZATION",
              "ESIGN"
            ]
          },
          "tracking_id": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "The external tracking ID of the document."
          },
          "vaulted": {
            "type": "boolean",
            "description": "Boolean flag indicating whether the document is vaulted."
          }
        }
      },
      "signing_designation_group": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 5000,
            "description": "The specified name of the group, type string. Use a naming convention of your choice, the only restrictions are that the name must be between 1 and 64 characters\nand can consist of alpha-numeric characters, hyphens, parentheses, and underscores. Valid regular expression for you tech nerds is /^[a-zA-Z0-9_-()]{1,64}$/"
          },
          "min_required": {
            "type": "integer",
            "description": "a positive integer between 0 and N where N is the minimum number of designations in the group that must be fulfilled (checked)."
          },
          "max_required": {
            "type": "integer",
            "description": "a positive integer between min_required and N where N is the maximum number of designations in the group that are allowed to be fulfilled.\nNOTE: max_required cannot be set to greater than 1 for designation groups used with radio_checkmark type signing designations."
          }
        }
      },
      "transaction_object": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 5000
          },
          "activation_time": {
            "type": "string",
            "maxLength": 100,
            "nullable": true,
            "description": "An ISO-8601 formatted DateTime String."
          },
          "allowed_notary_states": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 2,
              "maxLength": 2
            },
            "nullable": true,
            "description": "The 2-letter US state abbreviations the transaction restricts notary routing to; absent when unrestricted."
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/attachment"
            }
          },
          "audit_trail_url": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          },
          "cc_recipient_emails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/cc_recipient_email"
            }
          },
          "charge_statement_url": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          },
          "config_id": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          },
          "cost_center_id": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "The cost center attributed to this transaction, if any."
          },
          "cosigner_info": {
            "$ref": "#/components/schemas/signer",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "format": "float",
            "description": "Cost of the transaction."
          },
          "date_created": {
            "type": "string",
            "maxLength": 100,
            "format": "date-time",
            "description": "Date Transaction was created/uploaded."
          },
          "date_updated": {
            "type": "string",
            "maxLength": 100,
            "format": "date-time",
            "description": "Date Transaction was updated."
          },
          "default_text_tag_syntax": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "detailed_status": {
            "type": "string",
            "enum": [
              "draft",
              "recalled",
              "order_placed",
              "sent_to_title_agent",
              "sent_to_signer",
              "active",
              "viewed",
              "started",
              "partially_complete",
              "attempted",
              "awaiting_payment",
              "open_order",
              "review_now",
              "sign_now",
              "payment_required",
              "meeting_in_progress",
              "complete",
              "complete_with_rejections",
              "expired",
              "esign_complete",
              "wet_sign_complete",
              "on_hold",
              "converted_to_wet_sign",
              "identify_complete_idv_passed",
              "identify_complete_idv_failed",
              "ready_for_review",
              "add_document",
              "processing",
              "held_for_review",
              "declined",
              "screened",
              "canceled"
            ]
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/document"
            }
          },
          "expiry": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "external_id": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          },
          "identity_report": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 5000
              },
              "url": {
                "type": "string",
                "maxLength": 5000
              }
            },
            "nullable": true
          },
          "idv_use_case": {
            "type": "string",
            "maxLength": 50,
            "enum": [
              "STANDARD",
              "ACCOUNT_RECOVERY"
            ],
            "nullable": true
          },
          "message_signature": {
            "type": "string",
            "maxLength": 30000,
            "nullable": true
          },
          "message_subject": {
            "type": "string",
            "maxLength": 30000,
            "nullable": true
          },
          "message_to_signer": {
            "type": "string",
            "maxLength": 30000,
            "nullable": true
          },
          "notarization_record": {
            "$ref": "#/components/schemas/notarization_record_object",
            "nullable": true
          },
          "notarization_records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/notarization_record_object"
            }
          },
          "notary_id": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          },
          "notary_instructions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/notary_instructions"
            },
            "nullable": true
          },
          "notary_meeting_time": {
            "type": "string",
            "maxLength": 100,
            "format": "date-time",
            "nullable": true
          },
          "organization_id": {
            "type": "string",
            "maxLength": 5000
          },
          "payer": {
            "type": "string",
            "enum": [
              "sender",
              "signer"
            ]
          },
          "recall_reason": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "Reason for recalling the transaction."
          },
          "recipient_details_config": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/recipient_details_config"
            },
            "description": "An array of recipient details configuration objects. This is used to configure the recipients experience",
            "nullable": true
          },
          "redirect": {
            "type": "object",
            "properties": {
              "redirect_msg": {
                "type": "string",
                "maxLength": 5000,
                "nullable": true
              },
              "redirect_url": {
                "type": "string",
                "maxLength": 5000,
                "nullable": true
              },
              "forced_redirect": {
                "type": "boolean"
              }
            },
            "nullable": true
          },
          "referral_campaign_id": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "The ID of the referral campaign that the transaction is associated with."
          },
          "referral_code": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "The referral code that the transaction is associated with."
          },
          "require_secondary_photo_id": {
            "type": "boolean"
          },
          "sender_logo": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          },
          "sender_name": {
            "type": "string",
            "description": "Name of the sending organization."
          },
          "signer_info": {
            "$ref": "#/components/schemas/signer"
          },
          "signers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/signers"
            }
          },
          "status": {
            "type": "string",
            "maxLength": 5000
          },
          "transaction_name": {
            "type": "string",
            "maxLength": 5000
          },
          "transaction_type": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          }
        }
      },
      "signing_designation": {
        "type": "object",
        "properties": {
          "signer_identifier": {
            "type": "string",
            "maxLength": 5000,
            "description": "For signers, the external_id value set on the signers array when creating a transaction; for witnesses, `witness{n}` i.e. `witness1` or `witness2`; for notaries, `notary`"
          },
          "page_number": {
            "type": "integer",
            "description": "The page of the designation, starting at 0"
          },
          "x": {
            "type": "integer",
            "description": "The X coordinate (from bottom left)"
          },
          "y": {
            "type": "integer",
            "description": "The Y coordinate (from bottom left)"
          },
          "height": {
            "type": "integer",
            "description": "Height"
          },
          "width": {
            "type": "integer",
            "description": "Width"
          },
          "hint": {
            "type": "string",
            "maxLength": 5000,
            "description": "Hint"
          },
          "type": {
            "type": "string",
            "enum": [
              "date_signed",
              "day_signed",
              "month_signed",
              "year_signed",
              "first_name",
              "middle_name",
              "last_name",
              "full_name",
              "signature",
              "initials",
              "checkmark",
              "radio_checkmark",
              "free_text",
              "signature_and_date",
              "dob",
              "email",
              "address_line1",
              "address_line2",
              "address_zip5",
              "address_state",
              "address_city",
              "representative_capacity_type",
              "disclosure",
              "notary_id",
              "seal",
              "commission_expiration_date",
              "commission_state",
              "county",
              "commission_county",
              "principal_id_type",
              "notary_city"
            ],
            "description": "The type of field designation. Accepted values for signers: dob, email, address_line1, address_line2, address_zip5, address_state, address_city, representative_capacity_type. Accepted values for notaries: disclosure, notary_id, seal, commission_expiration_date, commission_state, county, commission_county, principal_id_type, notary_city. Universal types: date_signed, day_signed, month_signed, year_signed, first_name, middle_name, last_name, full_name, signature, initials, checkmark, radio_checkmark, free_text, signature_and_date"
          },
          "signing_designation_group": {
            "$ref": "#/components/schemas/signing_designation_group"
          },
          "optional": {
            "type": "boolean",
            "description": "Non-notary designation that is not part of a group can be set as optional"
          },
          "instruction": {
            "type": "string",
            "maxLength": 5000,
            "description": "Instruction specific to this signing designation to be shown to the signer"
          },
          "primary_designation_identifier": {
            "type": "string",
            "maxLength": 5000,
            "description": "Unique identification string to denote this designation is the primary designation"
          },
          "conditional_on_primary": {
            "type": "string",
            "maxLength": 5000,
            "description": "Identification string that denotes this designation is conditional on the designation with the same value set for primary_designation_identifier"
          }
        }
      },
      "photo_validation_attempt": {
        "type": "object",
        "properties": {
          "validation_source": {
            "type": "string",
            "maxLength": 5000,
            "enum": [
              "lexis-flex",
              "identity-verification-service",
              "lexis",
              "noop",
              "persona",
              "firebase",
              null,
              "none",
              "notakred"
            ],
            "nullable": true
          },
          "verified_at": {
            "type": "string",
            "maxLength": 100,
            "description": "An ISO-8601 formatted DateTime String."
          },
          "verification_method": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          },
          "images": {
            "type": "object",
            "properties": {
              "front": {
                "type": "string",
                "maxLength": 5000
              },
              "back": {
                "type": "string",
                "maxLength": 5000,
                "nullable": true
              },
              "selfie": {
                "type": "string",
                "maxLength": 5000,
                "nullable": true
              }
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "success",
              "failure",
              "unknown",
              "skipped",
              "pending",
              "action_required",
              "deleted"
            ],
            "nullable": true
          },
          "document_address": {
            "$ref": "#/components/schemas/address"
          },
          "document_claimed_type": {
            "type": "string",
            "enum": [
              "bank_account_statement",
              "bank_investment_loan_statement",
              "birth_certificate",
              "certificate_of_citizenship",
              "citizen_id",
              "credit_or_debit_card_statement",
              "deed_of_trust",
              "driver_license",
              "foreigner_id",
              "healthcare_insurance",
              "i_94",
              "id_card",
              "internal_passport",
              "keypass_id",
              "lease",
              "long_term_pass_card",
              "matricula_consular",
              "mortgage",
              "municipal_id",
              "my_number_card",
              "nbi",
              "nexus_card",
              "ofw",
              "organizational_membership_card",
              "pan",
              "passport",
              "passport_card",
              "paycheck_stub",
              "permanent_resident_card",
              "postal_id",
              "property_insurance",
              "property_tax_bill",
              "residency_permit",
              "school_id_card",
              "seafarers_id",
              "social_security_card",
              "sss",
              "tin",
              "travel_document",
              "tribal_id",
              "umid",
              "us_visa",
              "utility_bill",
              "vehicle_registration",
              "voter_registration_card",
              "work_permit",
              "other",
              "unknown"
            ]
          },
          "document_classification": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          },
          "document_date_of_birth": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "document_expiration_date": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "document_first_name": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "document_middle_name": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "document_last_name": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "document_issue_date": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "document_issuer": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          },
          "document_number": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true
          },
          "verified": {
            "type": "boolean"
          },
          "failure_reasons": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "check": {
                  "type": "string",
                  "maxLength": 5000
                },
                "category": {
                  "type": "string",
                  "enum": [
                    "aamva_failure",
                    "fraud",
                    "image_quality",
                    "ineligible_id",
                    "kba_mismatch",
                    "not_classified",
                    "user_action_required"
                  ]
                },
                "reasons": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 5000
                  }
                },
                "required": {
                  "type": "boolean"
                },
                "verification_type": {
                  "type": "string",
                  "enum": [
                    "id",
                    "selfie"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "paths": {
    "/v1/transactions": {
      "post": {
        "summary": "Create Transaction",
        "tags": [
          "Transactions"
        ],
        "operationId": "createTransaction",
        "security": [
          {
            "api_key": []
          }
        ],
        "parameters": [
          {
            "name": "document_url_version",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "v1",
                "v2"
              ],
              "default": "v1"
            },
            "required": false,
            "description": "Control documents and signer photo identifications download URLs. v1 for AWS S3 pre-signed URLs. v2 for Proof secure URLs."
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "example": {
                  "id": "ot_53dekdg",
                  "attachments": [],
                  "cc_recipient_emails": [],
                  "config_id": "notarization",
                  "cost": 2250,
                  "date_created": "2026-10-14T16:08:23.640726Z",
                  "date_updated": "2026-10-14T16:08:24.117157Z",
                  "detailed_status": "sent_to_signer",
                  "documents": [
                    {
                      "id": "do_4b856889-4927-4a71-b80d-c3dea18e5746",
                      "allowed_actions": [
                        "CUSTOMER_CAN_ANNOTATE",
                        "NOTARIZATION_REQUIRED"
                      ],
                      "bundle_position": 0,
                      "completion_state": "incomplete",
                      "date_created": "2026-10-14T16:08:23.717633Z",
                      "date_updated": "2026-10-14T16:08:23.756463Z",
                      "document_name": "20261014-3792-f889qy.pdf",
                      "esign_required": false,
                      "identity_confirmation_required": false,
                      "notarization_required": true,
                      "processing_state": "pending",
                      "requirement": "notarization",
                      "signing_designation_groups": [],
                      "signing_designations": [],
                      "vaulted": false
                    }
                  ],
                  "notarization_records": [],
                  "organization_id": "or_wd365n7",
                  "payer": "signer",
                  "recipient_details_config": [
                    {
                      "field": "name",
                      "display": "optional"
                    }
                  ],
                  "redirect": {},
                  "require_secondary_photo_id": false,
                  "sender_name": "Mraz-Stehr",
                  "signer_info": {
                    "address": {
                      "line1": "",
                      "line2": "",
                      "city": "",
                      "state": "",
                      "postal": "",
                      "country": ""
                    },
                    "email": "test@google.com",
                    "first_name": "First",
                    "last_name": "Last",
                    "link_expired": false,
                    "personally_known_to_notary": false,
                    "sdk_token": "https://app.local.dev-notarize.com/activate-transaction?bundle_id=db2a09a151-5dc2-4dd3-ae44-b7a9a115cbcb&code=EVIBVWZOUPIZYULE&completion_requirements%5B%5D=NOTARIZATION&document_count=1&draft=false&email=test%40google.com&is_mortgage=false&organization_name=Mraz-Stehr&requires_nsa_meeting=true&s_key=EVIBVWZOUPIZYULE&target=BUNDLE&transaction_id=ot53dekdg&user_id=uskn9kpng",
                    "signatory_capacities": [],
                    "signer_id": "oc_53dekdg",
                    "signing_status": "incomplete",
                    "transaction_access_link": "https://app.local.dev-notarize.com/activate-transaction?bundle_id=db2a09a151-5dc2-4dd3-ae44-b7a9a115cbcb&code=EVIBVWZOUPIZYULE&completion_requirements%5B%5D=NOTARIZATION&document_count=1&draft=false&email=test%40google.com&is_mortgage=false&organization_name=Mraz-Stehr&requires_nsa_meeting=true&s_key=EVIBVWZOUPIZYULE&target=BUNDLE&transaction_id=ot53dekdg&user_id=uskn9kpng",
                    "vesting_type": "non_borrower"
                  },
                  "signers": [
                    {
                      "address": {
                        "line1": "",
                        "line2": "",
                        "city": "",
                        "state": "",
                        "postal": "",
                        "country": ""
                      },
                      "email": "test@google.com",
                      "first_name": "First",
                      "last_name": "Last",
                      "link_expired": false,
                      "personally_known_to_notary": false,
                      "sdk_token": "https://app.local.dev-notarize.com/activate-transaction?bundle_id=db2a09a151-5dc2-4dd3-ae44-b7a9a115cbcb&code=EVIBVWZOUPIZYULE&completion_requirements%5B%5D=NOTARIZATION&document_count=1&draft=false&email=test%40google.com&is_mortgage=false&organization_name=Mraz-Stehr&requires_nsa_meeting=true&s_key=EVIBVWZOUPIZYULE&target=BUNDLE&transaction_id=ot53dekdg&user_id=uskn9kpng",
                      "signatory_capacities": [],
                      "signer_id": "oc_53dekdg",
                      "signing_status": "incomplete",
                      "transaction_access_link": "https://app.local.dev-notarize.com/activate-transaction?bundle_id=db2a09a151-5dc2-4dd3-ae44-b7a9a115cbcb&code=EVIBVWZOUPIZYULE&completion_requirements%5B%5D=NOTARIZATION&document_count=1&draft=false&email=test%40google.com&is_mortgage=false&organization_name=Mraz-Stehr&requires_nsa_meeting=true&s_key=EVIBVWZOUPIZYULE&target=BUNDLE&transaction_id=ot53dekdg&user_id=uskn9kpng",
                      "vesting_type": "non_borrower"
                    }
                  ],
                  "status": "sent",
                  "transaction_name": "Untitled Transaction"
                },
                "schema": {
                  "$ref": "#/components/schemas/transaction_object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "example": {
                  "errors": [
                    "Typo in domain name. Did you mean: test@gmail.com?"
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "example": {
                  "errors": [
                    "Organization does not have access to notary_instructions"
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "example": {
                  "errors": [
                    "Cannot override default value for allow_signer_annotations"
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/transaction_create_params"
              }
            }
          }
        }
      }
    }
  }
}
```