{"openapi":"3.0.1","info":{"title":"SignWell Developer API","description":"API for creating, managing, and tracking electronic signature workflows.","version":"v1","termsOfService":"https://www.signwell.com/terms/","contact":{"email":"support@signwell.com"}},"tags":[{"name":"Document","description":"Create, send, and manage documents for electronic signing."},{"name":"Template","description":"Create and manage reusable document templates."},{"name":"Bulk Send","description":"Send a document to multiple recipients in batch using templates."},{"name":"Webhooks","description":"Subscribe to document lifecycle events via webhook callbacks."},{"name":"API Application","description":"Manage API application settings and branding."},{"name":"Me","description":"Retrieve account information for the authenticated API key."},{"name":"Regional","description":"Access region-specific endpoints for data residency compliance."}],"paths":{"/api/v1/documents":{"post":{"summary":"Create Document","description":"Creates and optionally sends a new document for signing. If `draft` is set to true the document will not be sent.","tags":["Document"],"security":[{"api_key":[]}],"operationId":"createDocument","parameters":[],"responses":{"201":{"description":"created","content":{"application/json":{"example":{"id":"3579daf3-add4-49a7-859b-83839ea24ce9","archived":false,"created_at":"2026-06-29T16:17:52Z","decline_message":null,"embedded_edit_url":"https://www.signwell.com/edit/document/4a3482f5-d8fd-44e7-aa49-7070951dd0df/","error_message":null,"embedded_preview_url":null,"language":"en","name":"Agreement","requester_email_address":"requester@domain.com","status":"Created","test_mode":false,"updated_at":"2026-06-29T16:17:52Z","allow_decline":true,"allow_reassign":true,"api_application_id":null,"custom_requester_email":"requester@domain.com","custom_requester_name":"Requester","decline_redirect_url":"https://www.domain.com/decline_path/","embedded_signing":false,"expires_in":365,"metadata":{"key1":"value1","key2":"value2"},"redirect_url":"https://www.domain.com/redirect_path/","reminders":true,"apply_signing_order":false,"message":"Normal Body","subject":"Normal subject","labels":[{"id":"74c88fd5-62ba-4b51-8ddf-2580397ff5d4","name":"My First Label"},{"id":"fdc76fdf-1196-4ee7-8509-9c40ca010c82","name":"My Second Label"},{"id":"494900f9-9b5f-4003-996c-cba9f09aafdd","name":"My Third Label"}],"fields":[[{"api_id":"DateField_1","height":"19.0","page":1,"required":true,"type":"date","value":"06/05/2021","width":"86.0","x":230,"y":60,"date_format":"DD/MM/YYYY","formula":"","lock_sign_date":true,"recipient_id":"recipient_id_1"},{"api_id":"DateSigned_1","height":"19.0","page":1,"required":true,"type":"autofill_date_signed","value":null,"width":"86.0","x":260,"y":80,"recipient_id":"recipient_id_1"},{"api_id":"Email_1","height":"19.0","page":1,"required":false,"type":"autofill_email","value":"recipient1@domain.com","width":"86.0","x":260,"y":90,"recipient_id":"recipient_id_1"},{"api_id":"Company_1","height":"19.0","page":1,"required":true,"type":"autofill_company","value":"Great Company","width":"86.0","x":260,"y":80,"recipient_id":"recipient_id_1"},{"api_id":"Name_1","height":"19.0","page":1,"required":true,"type":"autofill_name","value":"Recipient One","width":"86.0","x":260,"y":80,"recipient_id":"recipient_id_1"},{"api_id":"FirstName_1","height":"19.0","page":1,"required":true,"type":"autofill_name","value":"Recipient","width":"86.0","x":260,"y":80,"recipient_id":"recipient_id_1"},{"api_id":"LastName_1","height":"19.0","page":1,"required":true,"type":"autofill_name","value":"One","width":"86.0","x":260,"y":80,"recipient_id":"recipient_id_1"},{"api_id":"Phone_1","height":"19.0","page":1,"required":true,"type":"autofill_phone","value":"123456789","width":"86.0","x":260,"y":100,"recipient_id":"recipient_id_1"},{"api_id":"Title_1","height":"19.0","page":1,"required":true,"type":"autofill_title","value":"Important Title","width":"86.0","x":260,"y":100,"recipient_id":"recipient_id_1"}],[{"api_id":"DateField_2","height":"2.0","page":1,"required":true,"type":"date","value":"05/06/2021","width":"1.0","x":260,"y":80,"date_format":"MM/DD/YYYY","formula":"","lock_sign_date":false,"recipient_id":"recipient_id_2"},{"api_id":"Signature_1","height":"32.0","page":2,"required":true,"type":"signature","value":null,"width":"112.0","x":260,"y":80,"recipient_id":"recipient_id_2"},{"api_id":"Signature_2","height":"2.0","page":1,"required":true,"type":"signature","value":null,"width":"1.0","x":260,"y":80,"recipient_id":"recipient_id_2"},{"api_id":"CheckBox_1","height":"13.0","page":1,"required":true,"type":"checkbox","value":"t","width":"13.0","x":260,"y":80,"name":null,"recipient_id":"recipient_id_2"},{"api_id":"CheckBox_2","height":"2.0","page":1,"required":true,"type":"checkbox","value":"t","width":"1.0","x":260,"y":80,"name":"Checkbox name","recipient_id":"recipient_id_2"},{"api_id":"Initials_1","height":"32.0","page":2,"required":true,"type":"initials","value":null,"width":"44.0","x":260,"y":80,"recipient_id":"recipient_id_2"},{"api_id":"Initials_2","height":"2.0","page":1,"required":true,"type":"initials","value":null,"width":"1.0","x":260,"y":80,"recipient_id":"recipient_id_2"},{"api_id":"TextField_1","height":"19.0","page":1,"required":true,"type":"text","value":"123456","width":"86.0","x":260,"y":80,"fixed_width":true,"label":"label","validation":"numbers","recipient_id":"recipient_id_2"},{"api_id":"TextField_2","height":"2.0","page":1,"required":true,"type":"text","value":"123456","width":"1.0","x":260,"y":80,"fixed_width":true,"label":"label","validation":"numbers","recipient_id":"recipient_id_2"},{"api_id":"TextField_3","height":"20.0","page":1,"required":true,"type":"text","value":"123456","width":"100.0","x":260,"y":80,"fixed_width":true,"label":"label","validation":"numbers","recipient_id":"recipient_id_2"},{"api_id":"TextField_4","height":"20.0","page":1,"required":true,"type":"text","value":"123456","width":"100.0","x":260,"y":80,"fixed_width":true,"label":"label","validation":"numbers","recipient_id":"recipient_id_2"},{"api_id":"Company_2","height":"19.0","page":1,"required":true,"type":"autofill_company","value":"Great Company","width":"86.0","x":260,"y":80,"recipient_id":"recipient_id_1"},{"api_id":"Email_2","height":"19.0","page":1,"required":true,"type":"autofill_email","value":"recipient1@domain.com","width":"86.0","x":260,"y":90,"recipient_id":"recipient_id_1"},{"api_id":"Name_2","height":"19.0","page":1,"required":true,"type":"autofill_name","value":"Recipient One","width":"86.0","x":260,"y":80,"recipient_id":"recipient_id_1"},{"api_id":"FirstName_2","height":"19.0","page":1,"required":true,"type":"autofill_name","value":"Recipient","width":"86.0","x":260,"y":80,"recipient_id":"recipient_id_1"},{"api_id":"LastName_2","height":"19.0","page":1,"required":true,"type":"autofill_name","value":"One","width":"86.0","x":260,"y":80,"recipient_id":"recipient_id_1"},{"api_id":"Phone_2","height":"19.0","page":1,"required":true,"type":"autofill_phone","value":"123456789","width":"86.0","x":260,"y":100,"recipient_id":"recipient_id_1"},{"api_id":"Title_2","height":"19.0","page":1,"required":true,"type":"autofill_title","value":"Important Title","width":"86.0","x":260,"y":100,"recipient_id":"recipient_id_1"}]],"files":[{"name":"filename1.pdf","pages_number":0},{"name":"filename2.pdf","pages_number":0}],"copied_contacts":[{"name":"CC one","email":"cc1@domain.com"}],"recipients":[{"email":"recipient1@domain.com","id":"recipient_id_1","message":"This is a message","name":"Recipient One","passcode":"123","send_email":false,"send_email_delay":0,"status":"created","subject":"Hi, please sign this contract","signing_order":1,"signing_url":"https://www.signwell.com/docs/332e2c22b6/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"normal name","required":true,"url":"https://www.signwell.com/document_attachments/PZ5EYEBEYESrMjanq7LXcZplQ83/?access=8cafa02e-cd24-4b6c-bb12-f14e87ca52bd"}]},{"email":"recipient2@domain.com","id":"recipient_id_2","message":null,"name":"Recipient 2","passcode":null,"send_email":false,"send_email_delay":0,"status":"created","subject":null,"signing_order":2,"signing_url":"https://www.signwell.com/docs/36f4d29fa8/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"Driver License","required":false,"url":"https://www.signwell.com/document_attachments/yEk9qE0W44sjM6r46k19H4Qlb8a/?access=8cafa02e-cd24-4b6c-bb12-f14e87ca52bd"}]}],"checkbox_groups":[{"id":"952b6029-65e9-4536-9ca3-e2e9733d2b9e","group_name":"Group 1","recipient_id":null,"checkbox_ids":["CheckBox_1","CheckBox_2"],"validation":"minimum","required":true,"min_value":1}],"conditional_rules":[{"id":"3a46c316-4e78-4707-a513-a84eb0e51d07","target_id":"Name_1","action_type":"require","action_field_ids":["Email_1"],"conditions":[{"condition_type":"any_of","status":"completed","join_operator":"and_operator","field_api_ids":["Name_1"],"position":1}]}],"conditional_logic_decisions":[]},"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"400":{"description":"bad request","content":{"application/json":{"example":{"errors":{"message":"The request contains invalid key values.","invalid_keys":["name"]}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"422":{"description":"unprocessable entity","content":{"application/json":{"example":{"errors":{"custom_requester_email":["is invalid"],"custom_requester_name":["is too long (maximum is 100 characters)"],"decline_redirect_url":["is not a valid URL"],"redirect_url":["is not a valid URL"],"expires_in":["must be less than or equal to 365"],"metadata":["The key/value pairs must not exceed 50","Check the following keys: [qgtxtpsnyxjwzvbzhnmrjziscxsmgcugpqanuygve], length needs to be less than 40 characters","Check the value of the following keys: [ke50], length needs to be less than 500 characters and must be a string"],"api_application_id":["The provided API application id is invalid"],"subject":["is too long (maximum is 255 characters)"],"message":["is too long (maximum is 4000 characters)"],"recipients":{"duplicated_ids":"These ids are duplicated: recipient_id_1.","duplicated_emails":"These emails are duplicated: recipient1domain.com.","recipient_1":{"name":["is too long (maximum is 255 characters)"],"email":["format is invalid."]},"recipient_2":{"email":["format is invalid."]}},"copied_contacts":{"copied_contact_1":{"name":["is too long (maximum is 255 characters)"],"email":["format is invalid."]},"copied_contact_2":{"email":["format is invalid.","is already a recipient"]}},"attachment_requests":{"invalid_ids":"These recipient ids are not present in the recipients array: [recipient_id_3]"},"fields":{"duplicated_api_ids":"These api ids are duplicated: CheckBox_2.","invalid_ids":"These recipient ids are not present in the recipients array: [recipient_id_2, recipient_id_3]","file_1":{"field_1":{"date_format":["Not allowed for text."],"lock_sign_date":["Not allowed for text."]}},"file_2":{"field_1":{"date_format":["Not allowed for checkbox."],"fixed_width":["Not allowed for checkbox."],"validation":["Not allowed for checkbox."],"label":["Not allowed for checkbox."],"lock_sign_date":["Not allowed for checkbox."]},"field_2":{"invalid_date_value":"DateField value must be in Iso8601 format.","fixed_width":["Not allowed for date."],"validation":["Not allowed for date."],"label":["Not allowed for date."],"date_format":["Allowed formats for date fields are: MM/DD/YYYY | DD/MM/YYYY | YYYY/MM/DD | Month DD, YYYY | MM/DD/YYYY hh:mm:ss a"]},"field_3":{"date_format":["Not allowed for initials."],"fixed_width":["Not allowed for initials."],"validation":["Not allowed for initials."],"label":["Not allowed for initials."],"lock_sign_date":["Not allowed for initials."]},"field_4":{"date_format":["Not allowed for signature."],"fixed_width":["Not allowed for signature."],"validation":["Not allowed for signature."],"label":["Not allowed for signature."],"lock_sign_date":["Not allowed for signature."]}}},"checkbox_groups":{"min_value_negative":"The min value must be greater than or equal to 0 in the checkbox group Group 1"},"files":{"file_1":{"file_data":["At least one of file_url or file_base64 should be present"]},"file_2":{"file_data":["Only one of file_url or file_base64 should be present, not both"]},"file_3":{"file_url":["is not a valid URL"]},"file_4":{"file_base64":["the file type is unsupported, we support the following formats: application/msword, application/pdf, application/octet-stream, application/x-ole-storage, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/x-iwork-keynote-sffkey, application/x-iwork-numbers-sffnumbers, application/x-iwork-pages-sffpages, image/jpeg, image/png, image/tiff, image/webp, text/html"]},"file_5":{"name":["The file extension is invalid."]},"file_6":{"name":["can't be blank"]}}}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentRequest"}}},"required":true},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::DocumentApi.new\n\nrequest = SignWell::Models::DocumentRequest.new(\n  test_mode: true,\n  name: 'NDA',\n  files: [\n    SignWell::Models::FilesInner.new(file_url: 'https://example.com/nda.pdf', name: 'nda.pdf')\n  ],\n  recipients: [\n    SignWell::Models::RecipientsInner.new(id: '1', name: 'Jane Doe', email: 'jane@example.com')\n  ],\n  fields: [\n    [\n      SignWell::Models::FieldsInnerInner.new(\n        x: 20, y: 60, page: 1,\n        recipient_id: '1',\n        type: 'signature',\n        required: true\n      )\n    ]\n  ]\n)\n\ndocument = api.create_document(request)\nputs document.id"},{"language":"ruby","name":"Embedded Signing","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\ndocument = SignWell::Embedded.create_signing_document(\n  name: 'NDA',\n  files: [{ name: 'nda.pdf', file_url: 'https://example.com/nda.pdf' }],\n  recipients: [{ name: 'Jane Doe', email: 'jane@example.com' }],\n  fields: [[{ x: 20, y: 60, page: 1, type: 'signature' }]],\n  test_mode: true\n)\n\n# Signing URL for the first recipient — open it in an iframe with embedded.js\nsigning_url = SignWell::Embedded.embedded_signing_url(document)\nputs signing_url\n\n# Or get all signing URLs as { email => url }\nputs SignWell::Embedded.embedded_signing_urls(document)"},{"language":"ruby","name":"Embedded Requesting","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\ndocument = SignWell::Embedded.create_requesting_document(\n  name: 'Contract',\n  files: [{ name: 'contract.pdf', file_url: 'https://example.com/contract.pdf' }],\n  recipients: [{ name: 'Jane Doe', email: 'jane@example.com' }],\n  test_mode: true\n)\n\n# The edit URL opens the field placement editor in an iframe with embedded.js\nputs document.embedded_edit_url"}]}}},"/api/v1/documents/{id}":{"get":{"summary":"Get Document","description":"Returns a document and all associated document data. Supply the unique document ID from either a document creation request or Document page URL.","tags":["Document"],"security":[{"api_key":[]}],"operationId":"getDocument","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/DocumentId"},"required":true}],"responses":{"200":{"description":"successful","content":{"application/json":{"example":{"id":"405399cc-1438-4a0d-9fcc-7d5b1cb09eb0","archived":false,"created_at":"2026-06-29T16:17:49Z","decline_message":null,"embedded_edit_url":"https://www.signwell.com/edit/document/c48c1ce8-70b7-4df8-a194-9378b04ebb0b/","error_message":null,"embedded_preview_url":null,"language":"en","name":"brown-branch/modi.webm","requester_email_address":"arthricia_2@tremblay-heller.test","status":"Created","test_mode":false,"updated_at":"2026-06-29T16:17:49Z","allow_decline":true,"allow_reassign":true,"api_application_id":null,"custom_requester_email":"wyatt.gerlach@gottlieb.example","custom_requester_name":"Anakin Skywalker","decline_redirect_url":"http://funk-schowalter.example/augusta_barton","embedded_signing":false,"expires_in":10,"metadata":{"sed":"aut","nulla":"itaque"},"redirect_url":"http://littel.test/kenny","reminders":true,"apply_signing_order":false,"message":"<p>Hey there,</p><p>&nbsp;</p><p>Please review and complete this document. You can click on the document below to get started.</p>","subject":"Please complete brown-branch/modi.webm","labels":[{"id":"44ef8c66-6d1c-4f71-a1c3-0926eabc7115","name":"Rory Klocko"},{"id":"ab8b2653-a697-4496-a24d-3b279c5d8eb1","name":"Dario Beer Sr."}],"fields":[[{"api_id":"CheckBox_2","height":"13.0","page":1,"required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"recipient_id":null,"signing_elements_group_id":"18f6541a-dd0e-4b1d-8da2-ce9fff6a9552"},{"api_id":"CheckBox_3","height":"13.0","page":1,"required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"recipient_id":null},{"api_id":"Signature_1","height":"32.0","page":1,"required":true,"type":"signature","value":null,"width":"112.0","x":1.1,"y":1.1,"recipient_id":"afd8a416-68bd-4b4b-8256-2b2ed0ceacd4"}]],"files":[{"name":"rerum.webm","pages_number":1}],"copied_contacts":[{"name":"Angelica Schaefer","email":"mariano@sanford-mayer.test"}],"recipients":[{"email":"corinna.wyman@mcclure-daniel.test","id":"afd8a416-68bd-4b4b-8256-2b2ed0ceacd4","message":null,"name":"Dulce Gleason I","passcode":null,"send_email":null,"send_email_delay":null,"status":"created","subject":null,"signing_order":1,"signing_url":"https://www.signwell.com/docs/d177194abe/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"exhibition_onion/saepe.png","required":true,"url":"https://www.signwell.com/document_attachments/ZaooLe41eOsBMGLzrdMrC8Oy16M/?access=5619ce48-2f8b-48bc-b54e-20292c22d26d"}]},{"email":"garry_rosenbaum@hane.example","id":"14b9b3d9-8eff-403a-bc0d-b87998c465a7","message":null,"name":"Sen. Lottie Upton","passcode":null,"send_email":null,"send_email_delay":null,"status":"created","subject":null,"signing_order":2,"signing_url":"https://www.signwell.com/docs/5159ef3882/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[]}],"checkbox_groups":[{"id":"18f6541a-dd0e-4b1d-8da2-ce9fff6a9552","group_name":null,"recipient_id":null,"checkbox_ids":["CheckBox_2"],"validation":null,"required":false}],"conditional_rules":[{"id":"75f43d8a-8601-4f81-a60d-00f7ed2b2c39","target_id":"employment_status","action_type":"require","action_field_ids":["manager_name"],"conditions":[{"condition_type":"any_of","status":"completed","join_operator":"and_operator","field_api_ids":["employment_status"],"position":1}]}],"conditional_logic_decisions":[]},"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"404":{"description":"not_found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the document requested","messages":["Couldn't find the document requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::DocumentApi.new\n\ndocument = api.get_document('document_id')\nputs document.status"}]}},"delete":{"summary":"Delete Document","description":"Deletes a document. Deleting a document will also cancel document signing (if in progress).  Supply the unique document ID from either a Create Document request or document page URL.","tags":["Document"],"security":[{"api_key":[]}],"operationId":"deleteDocument","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/DocumentId"},"required":true}],"responses":{"204":{"description":"no content"},"404":{"description":"not found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the document requested","messages":["Couldn't find the document requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::DocumentApi.new\n\napi.delete_document('document_id')"}]}}},"/api/v1/document_templates/documents":{"post":{"summary":"Create Document from Template","description":"Creates and optionally sends a new document for signing. If `draft` is set to true the document will not be sent. Pre-signed template signatures and initials are copied to the new document as document content — they remain visible on the document but do not generate a signing event, do not emit a `document_signed` webhook, and the recipient's status will not reflect them as a real signing action. If the template was pre-signed for a signer and the request adds new unsigned signature/initials fields for that same signer, the pre-applied ratifications are cleared silently so the signer is asked to sign once.","tags":["Document"],"security":[{"api_key":[]}],"operationId":"createDocumentFromTemplate","parameters":[],"responses":{"201":{"description":"created","content":{"application/json":{"example":{"id":"a2de3736-f39f-4912-a946-d49c6d587461","archived":false,"created_at":"2026-06-29T16:17:53Z","decline_message":null,"embedded_edit_url":"https://www.signwell.com/edit/document/22e57d1c-24dd-49c0-82c4-d43399d9b9f3/","error_message":null,"embedded_preview_url":null,"language":"en","name":"Agreement","requester_email_address":"requester@domain.com","status":"Created","test_mode":false,"updated_at":"2026-06-29T16:17:53Z","template_ids":["9904cc9e-5b58-43e0-99ee-6718b23c90be","99bd9e25-da6f-4bcc-a240-da2bd733a489"],"allow_decline":true,"allow_reassign":true,"api_application_id":null,"custom_requester_email":"requester@domain.com","custom_requester_name":"Requester","decline_redirect_url":"https://www.domain.com/decline_path/","embedded_signing":false,"expires_in":365,"metadata":{"key1":"value1","key2":"value2"},"redirect_url":"https://www.domain.com/redirect_path/","reminders":true,"apply_signing_order":false,"message":"Normal Body","subject":"Normal subject","labels":[],"fields":[[{"api_id":"Signature_1","height":"19.0","page":1,"required":true,"type":"signature","value":"","width":"86.0","x":1.1,"y":1.1,"recipient_id":"document_sender"},{"api_id":"TextField_1","height":"19.0","page":1,"required":true,"type":"text","value":"a_valid_email@domain.com","width":"86.0","x":1.1,"y":1.1,"fixed_width":false,"label":"","validation":"no_text_validation","recipient_id":"recipient_1"},{"api_id":"DateField_1","height":"19.0","page":1,"required":true,"type":"date","value":"05/06/2021","width":"86.0","x":1.1,"y":1.1,"date_format":"MM/DD/YYYY","formula":"","lock_sign_date":false,"recipient_id":"recipient_1"},{"api_id":"CheckBox_1","height":"19.0","page":1,"required":true,"type":"checkbox","value":"t","width":"86.0","x":1.1,"y":1.1,"name":null,"recipient_id":"recipient_1"},{"api_id":"DateField_2","height":"19.0","page":1,"required":false,"type":"date","value":null,"width":"86.0","x":1.1,"y":1.1,"date_format":"MM/DD/YYYY","formula":"","lock_sign_date":true,"recipient_id":"recipient_1"}],[{"api_id":"Initials_1","height":"19.0","page":1,"required":true,"type":"initials","value":"","width":"86.0","x":1.1,"y":1.1,"recipient_id":"document_sender"}],[{"api_id":"DateField_1_1","height":"19.0","page":1,"required":true,"type":"date","value":null,"width":"86.0","x":230,"y":60,"date_format":"DD/MM/YYYY","formula":"","lock_sign_date":true,"recipient_id":"recipient_1"},{"api_id":"DateField_2_1","height":"19.0","page":1,"required":true,"type":"date","value":"05/06/2021","width":"86.0","x":230,"y":120,"date_format":"MM/DD/YYYY","formula":"","lock_sign_date":false,"recipient_id":"recipient_1"}],[{"api_id":"Signature_1_1","height":"32.0","page":2,"required":true,"type":"signature","value":null,"width":"112.0","x":260,"y":80,"recipient_id":"recipient_2"},{"api_id":"CheckBox_3","height":"13.0","page":1,"required":true,"type":"checkbox","value":"t","width":"13.0","x":260,"y":80,"name":null,"recipient_id":"recipient_2"},{"api_id":"Initials_4","height":"32.0","page":2,"required":true,"type":"initials","value":null,"width":"44.0","x":260,"y":80,"recipient_id":"recipient_2"},{"api_id":"TextField_5","height":"19.0","page":1,"required":true,"type":"text","value":"123456","width":"86.0","x":260,"y":80,"fixed_width":true,"label":"label","validation":"numbers","recipient_id":"recipient_2"}]],"files":[{"name":"est.odt","pages_number":2},{"name":"laborum.gif","pages_number":2},{"name":"filename1.pdf","pages_number":0},{"name":"filename2.pdf","pages_number":0}],"copied_contacts":[{"name":"CC one","email":"cc1@domain.com"},{"name":"CC 2","email":"cc2@domain.com"}],"recipients":[{"email":"document_sender@domain.com","id":"document_sender","message":null,"name":"Recipient 0","passcode":"123","send_email":false,"send_email_delay":0,"status":"created","subject":null,"signing_order":1,"signing_url":"https://www.signwell.com/docs/209e01e783/","bounced":null,"bounced_details":null,"placeholder_name":"Document Sender","passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[]},{"email":"recipient_1@domain.com","id":"recipient_1","message":null,"name":"Recipient 1","passcode":null,"send_email":false,"send_email_delay":0,"status":"created","subject":null,"signing_order":2,"signing_url":"https://www.signwell.com/docs/b0c6778e7d/","bounced":null,"bounced_details":null,"placeholder_name":"Placeholder 1","passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"normal name","required":true,"url":"https://www.signwell.com/document_attachments/j1dbaMOMMoT1a63pJ8zyHyE906z/?access=a53f3187-9e16-45a8-bca7-d94bf88eccef"}]},{"email":"recipient_2@domain.com","id":"recipient_2","message":null,"name":"Recipient 2","passcode":null,"send_email":false,"send_email_delay":0,"status":"created","subject":null,"signing_order":3,"signing_url":"https://www.signwell.com/docs/19cedbf426/","bounced":null,"bounced_details":null,"placeholder_name":"Placeholder 2","passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"Driver License","required":false,"url":"https://www.signwell.com/document_attachments/3zQpE7nK7NHg8kMZ0Y8qu8rke4M/?access=a53f3187-9e16-45a8-bca7-d94bf88eccef"}]}],"checkbox_groups":[],"conditional_rules":[{"id":"7144b2aa-f037-495d-b412-b5c178be534e","target_id":"DateField_1","action_type":"require","action_field_ids":["DateField_2"],"conditions":[{"condition_type":"any_of","status":"completed","join_operator":"and_operator","field_api_ids":["DateField_1"],"position":1}]}],"conditional_logic_decisions":[]},"schema":{"$ref":"#/components/schemas/DocumentFromTemplateResponse"}}}},"400":{"description":"bad request","content":{"application/json":{"example":{"errors":{"message":"The request contains invalid key values.","invalid_keys":["name"]}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"422":{"description":"unprocessable entity","content":{"application/json":{"example":{"errors":{"template_id_or_ids":"At least one of template_id or template_ids should be present.","custom_requester_email":["is invalid"],"custom_requester_name":["is too long (maximum is 100 characters)"],"decline_redirect_url":["is not a valid URL"],"redirect_url":["is not a valid URL"],"expires_in":["must be less than or equal to 365"],"metadata":["The key/value pairs must not exceed 50","Check the following keys: [qgtxtpsnyxjwzvbzhnmrjziscxsmgcugpqanuygve], length needs to be less than 40 characters","Check the value of the following keys: [ke50], length needs to be less than 500 characters and must be a string"],"api_application_id":["The provided API application id is invalid"],"subject":["is too long (maximum is 255 characters)"],"message":["is too long (maximum is 4000 characters)"],"recipients":{"duplicated_ids":"These ids are duplicated: recipient_id_1.","duplicated_emails":"These emails are duplicated: recipient1domain.com.","recipient_1":{"name":["is too long (maximum is 255 characters)"],"email":["format is invalid."]},"recipient_2":{"email":["format is invalid."]}},"copied_contacts":{"copied_contact_1":{"name":["is too long (maximum is 255 characters)"],"email":["format is invalid."]},"copied_contact_2":{"email":["format is invalid.","is already a recipient"]}},"attachment_requests":{"invalid_ids":"These recipient ids are not present in the recipients array: [recipient_id_3]"},"fields":{"duplicated_api_ids":"These api ids are duplicated: CheckBox_2.","invalid_ids":"These recipient ids are not present in the recipients array: [recipient_id_2, recipient_id_3]","file_1":{"field_1":{"date_format":["Not allowed for text."],"lock_sign_date":["Not allowed for text."]}},"file_2":{"field_1":{"date_format":["Not allowed for checkbox."],"fixed_width":["Not allowed for checkbox."],"validation":["Not allowed for checkbox."],"label":["Not allowed for checkbox."],"lock_sign_date":["Not allowed for checkbox."]},"field_2":{"invalid_date_value":"DateField value must be in Iso8601 format.","fixed_width":["Not allowed for date."],"validation":["Not allowed for date."],"label":["Not allowed for date."],"date_format":["Allowed formats for date fields are: MM/DD/YYYY | DD/MM/YYYY | YYYY/MM/DD | Month DD, YYYY | MM/DD/YYYY hh:mm:ss a"]},"field_3":{"date_format":["Not allowed for initials."],"fixed_width":["Not allowed for initials."],"validation":["Not allowed for initials."],"label":["Not allowed for initials."],"lock_sign_date":["Not allowed for initials."]},"field_4":{"date_format":["Not allowed for signature."],"fixed_width":["Not allowed for signature."],"validation":["Not allowed for signature."],"label":["Not allowed for signature."],"lock_sign_date":["Not allowed for signature."]}}},"checkbox_groups":{"min_value_negative":"The min value must be greater than or equal to 0 in the checkbox group Group 1"},"files":{"file_1":{"file_data":["At least one of file_url or file_base64 should be present"]},"file_2":{"file_data":["Only one of file_url or file_base64 should be present, not both"]},"file_3":{"file_url":["is not a valid URL"]},"file_4":{"file_base64":["the file type is unsupported, we support the following formats: application/msword, application/pdf, application/octet-stream, application/x-ole-storage, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/x-iwork-keynote-sffkey, application/x-iwork-numbers-sffnumbers, application/x-iwork-pages-sffpages, image/jpeg, image/png, image/tiff, image/webp, text/html"]},"file_5":{"name":["The file extension is invalid."]},"file_6":{"name":["can't be blank"]}}}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentFromTemplateRequest"}}},"required":true},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::DocumentApi.new\n\nrequest = SignWell::Models::DocumentFromTemplateRequest.new(\n  test_mode: true,\n  template_id: 'template_id',\n  name: 'Contract for Acme Corp',\n  recipients: [\n    SignWell::Models::TemplateRecipientsInner.new(\n      id: '1',\n      name: 'Jane Doe',\n      email: 'jane@example.com',\n      placeholder_name: 'Client'\n    )\n  ]\n)\n\ndocument = api.create_document_from_template(request)\nputs document.id"},{"language":"ruby","name":"Embedded Signing","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\ndocument = SignWell::Embedded.create_signing_document_from_template(\n  template_id: 'template_id',\n  recipients: [{ placeholder_name: 'Client', name: 'Jane Doe', email: 'jane@example.com' }]\n)\n\n# Signing URL for the first recipient — open it in an iframe with embedded.js\nsigning_url = SignWell::Embedded.embedded_signing_url(document)\nputs signing_url"}]}}},"/api/v1/documents/{id}/send":{"post":{"summary":"Update and Send Document","description":"Updates a draft document and sends it to be signed by recipients.","tags":["Document"],"security":[{"api_key":[]}],"operationId":"sendDocument","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/DocumentId"},"required":true}],"responses":{"201":{"description":"created","content":{"application/json":{"example":{"id":"47aae7d4-4987-43a5-9426-b8ab1e56d12f","archived":false,"copied_contacts":[{"email":"april.jenkins@cassin.test","name":"Mariella Kuvalis"}],"created_at":"2026-06-29T16:17:55Z","custom_requester_email":"gregory.kub@bahringer-ankunding.example","custom_requester_name":"Ki-Adi-Mundi","decline_redirect_url":"https://www.domain.com/decline_path/","embedded_edit_url":"https://www.signwell.com/edit/document/86d8f099-b321-46fb-8a60-40e37c44f278/","embedded_preview_url":null,"error_message":null,"fields":[[{"api_id":"CheckBox_8","height":"13.0","required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"page":1,"recipient_id":null},{"api_id":"CheckBox_9","height":"13.0","required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"page":1,"recipient_id":null},{"api_id":"Signature_7","height":"32.0","required":true,"type":"signature","value":null,"width":"112.0","x":1.1,"y":1.1,"page":1,"recipient_id":"7a66a566-49a7-4f65-b70a-2662f6d11d63"}]],"labels":[{"id":"658d851b-ee84-45f6-84fe-77b49c1ca201","name":"My First Label"},{"id":"488982ee-43f5-43a9-8269-fd50e71936c2","name":"My Second Label"},{"id":"0ae953c8-43dd-4f6a-bafc-f2fc1b7aadfe","name":"My Third Label"}],"language":"en","metadata":{"key1":"value1","key2":"value2"},"name":"Agreement","recipients":[{"id":"7a66a566-49a7-4f65-b70a-2662f6d11d63","attachment_requests":[],"email":"robert_champlin@nicolas.example","message":null,"name":"Allegra Denesik","passcode":null,"send_email_delay":null,"signing_order":7,"status":"draft","subject":null,"bounced":null,"bounced_details":null,"send_email":null,"signing_url":"https://www.signwell.com/docs/9f04de633c/"},{"id":"b99c5166-25c7-4980-84ec-c41f14ff8f5d","attachment_requests":[],"email":"eveline.jakubowski@crona.example","message":null,"name":"Laurena Schinner","passcode":null,"send_email_delay":null,"signing_order":8,"status":"draft","subject":null,"bounced":null,"bounced_details":null,"send_email":null,"signing_url":"https://www.signwell.com/docs/b038288301/"}],"subject":"Normal subject","test_mode":false,"updated_at":"2026-06-29T16:17:56Z","decline_message":null,"api_application_id":null,"allow_decline":true,"allow_reassign":true,"apply_signing_order":false,"embedded_signing":false,"expires_in":365,"message":"Normal Body","reminders":true,"requester_email_address":"19_snuffles@cummings-rempel.example","redirect_url":"https://www.domain.com/redirect_path/","status":"Draft","files":[{"name":"laborum.png","pages_number":1}],"conditional_rules":[]},"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"422":{"description":"unprocessable entity","content":{"application/json":{"example":{"errors":{"decline_redirect_url":["is not a valid URL"],"redirect_url":["is not a valid URL"],"expires_in":["must be less than or equal to 365"],"metadata":["The key/value pairs must not exceed 50","Check the following keys: [qgtxtpsnyxjwzvbzhnmrjziscxsmgcugpqanuygve], length needs to be less than 40 characters","Check the value of the following keys: [ke50], length needs to be less than 500 characters and must be a string"],"subject":["is too long (maximum is 255 characters)"],"message":["is too long (maximum is 4000 characters)"]}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDocumentAndSendRequest"}}},"required":true},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::DocumentApi.new\n\nrequest = SignWell::Models::UpdateDocumentAndSendRequest.new(\n  subject: 'Please sign this NDA',\n  message: 'Hi Jane, please review and sign this document.'\n)\n\ndocument = api.send_document('document_id', request)\nputs document.status"}]}}},"/api/v1/documents/{id}/recipients":{"patch":{"summary":"Update Recipients","description":"Updates one or more recipients on a document that has already been sent. Only recipients who have not started signing may be updated. Recipient IDs must be retrieved from the Get Document response. Allowed document statuses: sent, viewed, pending, bounced. For non-embedded documents, updated recipients will receive a new notification email. For embedded signing documents, email behavior follows each recipient's send_email setting.","tags":["Document"],"security":[{"api_key":[]}],"operationId":"updateRecipients","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/DocumentId"},"required":true}],"responses":{"200":{"description":"successful","content":{"application/json":{"example":{"id":"42a8d986-e2ee-4f25-9136-b280caf48445","archived":false,"created_at":"2026-06-29T16:17:57Z","decline_message":null,"embedded_edit_url":null,"error_message":null,"embedded_preview_url":"https://www.signwell.com/preview/document/42a8d986-e2ee-4f25-9136-b280caf48445/","language":"en","name":"horizon-laser/commodi.js","requester_email_address":"legs.baby.25@bosco.test","status":"Sent","test_mode":false,"updated_at":"2026-06-29T16:17:58Z","allow_decline":true,"allow_reassign":true,"api_application_id":null,"custom_requester_email":"fredericka@erdman-crona.test","custom_requester_name":"Maz Kanata","decline_redirect_url":"http://bayer.test/sam.herzog","embedded_signing":false,"expires_in":10,"metadata":{"enim":"similique","quam":"cupiditate"},"redirect_url":"http://kuphal-connelly.test/les_bruen","reminders":false,"apply_signing_order":false,"message":"<p>Hey there,</p><p>&nbsp;</p><p>Please review and complete this document. You can click on the document below to get started.</p>","subject":"Please complete horizon-laser/commodi.js","labels":[{"id":"5ba60594-3350-4252-b94a-e7eab16971b3","name":"Antonio Runolfsson"},{"id":"c7570891-5b20-4e98-b097-b6f538e2d814","name":"Johnnie Schuster"}],"fields":[[{"api_id":"CheckBox_14","height":"13.0","page":1,"required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"recipient_id":null,"signing_elements_group_id":"4e6099e8-75f3-497a-b0d7-82e14a56d3c1"},{"api_id":"CheckBox_15","height":"13.0","page":1,"required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"recipient_id":null},{"api_id":"Signature_13","height":"32.0","page":1,"required":true,"type":"signature","value":null,"width":"112.0","x":1.1,"y":1.1,"recipient_id":"586a337d-78f2-4236-85af-1c50b41af606"}]],"files":[{"name":"animi.xlsx","pages_number":1}],"copied_contacts":[{"name":"Demetria Moore","email":"vida_jerde@gutmann-skiles.example"}],"recipients":[{"email":"updated@example.com","id":"586a337d-78f2-4236-85af-1c50b41af606","message":null,"name":"Updated Name","passcode":null,"send_email":null,"send_email_delay":null,"status":null,"subject":null,"signing_order":13,"signing_url":"https://www.signwell.com/docs/1177d92fe3/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"seller-distant/ea.mp3","required":true,"url":"https://www.signwell.com/document_attachments/7M7PMqWM73hzn7Pg2E7WHbg6Pjq/?access=5460d8f8-ccf0-4d20-803b-74b6f81788b7"}]},{"email":"kerry@mayer.example","id":"907c27b0-9d1c-4ae1-a85b-3718c0bf6b4f","message":null,"name":"Pres. Osvaldo Moen","passcode":null,"send_email":null,"send_email_delay":null,"status":null,"subject":null,"signing_order":14,"signing_url":"https://www.signwell.com/docs/7fa8cf8352/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[]}],"checkbox_groups":[{"id":"4e6099e8-75f3-497a-b0d7-82e14a56d3c1","group_name":null,"recipient_id":null,"checkbox_ids":["CheckBox_14"],"validation":null,"required":false}],"conditional_rules":[],"conditional_logic_decisions":[]},"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"400":{"description":"bad request - invalid structure","content":{"application/json":{"example":{"errors":{"invalid_keys":["recipients"],"base":["The request contains invalid key values."]}}}}},"404":{"description":"not found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the document requested","messages":["Couldn't find the document requested"]}}}}},"409":{"description":"conflict - document not in eligible state","content":{"application/json":{"example":{"errors":{"base":["Document in 'completed' status cannot have recipients managed. Only sent, viewed, pending, or bounced documents are eligible."]}}}}},"422":{"description":"unprocessable entity - business rule violation","content":{"application/json":{"example":{"errors":{"recipients[adcf68cb-2164-4ebe-94ea-95929881e87c]":["Alex Quigley (mitch@barrows.example) has started signing so you can't edit or replace them now. You can Update & Resend if you need to change recipients who already started signing."]}}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRecipientsRequest"}}},"required":true},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::DocumentApi.new\n\nrequest = SignWell::Models::UpdateRecipientsRequest.new(\n  recipients: [\n    SignWell::Models::UpdateRecipientsMapInner.new(\n      id: 'recipient_id',\n      name: 'Jane Doe',\n      email: 'jane.doe@example.com'\n    )\n  ]\n)\n\ndocument = api.update_recipients('document_id', request)\nputs document.recipients.map(&:email)"}]}}},"/api/v1/documents/{id}/authentication":{"patch":{"summary":"Update Authentication","description":"Update passcode delivery settings for recipients on a sent document. Only recipients who have not started signing can be updated.","tags":["Document"],"security":[{"api_key":[]}],"operationId":"updateAuthentication","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/DocumentId"},"required":true}],"responses":{"200":{"description":"successful","content":{"application/json":{"example":{"id":"042c737c-32d3-4b94-bb7f-053a07a7dad0","archived":false,"created_at":"2026-06-29T16:18:01Z","decline_message":null,"embedded_edit_url":null,"error_message":null,"embedded_preview_url":"https://www.signwell.com/preview/document/042c737c-32d3-4b94-bb7f-053a07a7dad0/","language":"en","name":"capital-transfer/est.ppt","requester_email_address":"40.tophat.jones@romaguera.test","status":"Sent","test_mode":false,"updated_at":"2026-06-29T16:18:02Z","allow_decline":false,"allow_reassign":true,"api_application_id":null,"custom_requester_email":"lupe_cartwright@stehr.test","custom_requester_name":"Rune Haako","decline_redirect_url":"http://lind.example/millard","embedded_signing":false,"expires_in":10,"metadata":{"quo":"ea","unde":"praesentium"},"redirect_url":"http://jerde.example/loren.brown","reminders":true,"apply_signing_order":false,"message":"<p>Hey there,</p><p>&nbsp;</p><p>Please review and complete this document. You can click on the document below to get started.</p>","subject":"Please complete capital-transfer/est.ppt","labels":[{"id":"7332c41c-57d5-4c10-a3d2-6c1b6b8d54ce","name":"Rocco Gutkowski Ret."},{"id":"a3796048-3b06-407d-bff1-5eb8cf266fce","name":"Pearle Leuschke Lld"}],"fields":[[{"api_id":"CheckBox_29","height":"13.0","page":1,"required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"recipient_id":null,"signing_elements_group_id":"704345e3-a097-41da-8c93-976bca3253b1"},{"api_id":"CheckBox_30","height":"13.0","page":1,"required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"recipient_id":null},{"api_id":"Signature_28","height":"32.0","page":1,"required":true,"type":"signature","value":null,"width":"112.0","x":1.1,"y":1.1,"recipient_id":"771265f4-4748-4aa1-97de-78d0e3065e3a"}]],"files":[{"name":"perferendis.odt","pages_number":1}],"copied_contacts":[{"name":"Sen. Mohamed Halvorson","email":"gilberto.robel@crooks-franecki.test"}],"recipients":[{"email":"bebe@heller.example","id":"771265f4-4748-4aa1-97de-78d0e3065e3a","message":null,"name":"Emelda Gleason DDS","passcode":null,"send_email":null,"send_email_delay":null,"status":null,"subject":null,"signing_order":28,"signing_url":"https://www.signwell.com/docs/dc16a5af05/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":true,"methods":["email"],"expire_after_access":false},"attachment_requests":[{"name":"relationship-whole/inventore.pages","required":true,"url":"https://www.signwell.com/document_attachments/W23MryLRR7uGeR5nWYP6CW8wyrd/?access=374be91e-da97-42b1-a8b2-fad6f601d389"}]},{"email":"kurt.howe@mcglynn.example","id":"b35b8bcd-32af-43ca-a4c3-44a9cf6793b2","message":null,"name":"Dorie Stark","passcode":null,"send_email":null,"send_email_delay":null,"status":null,"subject":null,"signing_order":29,"signing_url":"https://www.signwell.com/docs/3be86e7cbc/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[]}],"checkbox_groups":[{"id":"704345e3-a097-41da-8c93-976bca3253b1","group_name":null,"recipient_id":null,"checkbox_ids":["CheckBox_29"],"validation":null,"required":false}],"conditional_rules":[],"conditional_logic_decisions":[]},"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"400":{"description":"bad request - invalid delivery methods","content":{"application/json":{"example":{"errors":{"recipients":["must be a non-empty array"]}}}}},"404":{"description":"not found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the document requested","messages":["Couldn't find the document requested"]}}}}},"422":{"description":"unprocessable entity - invalid delivery methods","content":{"application/json":{"example":{"errors":{"recipients[0].passcode_delivery.methods":["contains unsupported delivery methods: sms"]}}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAuthenticationRequest"}}},"required":true}}},"/api/v1/documents/{id}/remind":{"post":{"summary":"Send Reminder","description":"Sends a reminder email to recipients that have not signed yet.","tags":["Document"],"security":[{"api_key":[]}],"operationId":"sendReminder","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/DocumentId"},"required":true}],"responses":{"201":{"description":"created","content":{"application/json":{"example":{"id":"85300afd-9185-40af-9693-190054cc37c9","archived":false,"created_at":"2026-06-29T16:18:04Z","decline_message":null,"embedded_edit_url":null,"error_message":null,"embedded_preview_url":"https://www.signwell.com/preview/document/85300afd-9185-40af-9693-190054cc37c9/","language":"en","name":"relationship_whole/neque.gif","requester_email_address":"michael.vincent.52.jan@jaskolski-torp.example","status":"Sent","test_mode":false,"updated_at":"2026-06-29T16:18:05Z","allow_decline":true,"allow_reassign":true,"api_application_id":null,"custom_requester_email":"holli@runte.example","custom_requester_name":"Ezra Bridger","decline_redirect_url":"http://breitenberg.test/hilario.roob","embedded_signing":false,"expires_in":10,"metadata":{"quasi":"consequatur","consequatur":"dolore"},"redirect_url":"http://langworth.test/althea","reminders":true,"apply_signing_order":false,"message":"<p>Hey there,</p><p>&nbsp;</p><p>Please review and complete this document. You can click on the document below to get started.</p>","subject":"Please complete relationship_whole/neque.gif","labels":[{"id":"fa817331-85d7-41f1-abb8-eca537592d18","name":"Rev. Lawana Conn"},{"id":"952c4d04-2fb7-45de-871b-828882888281","name":"Stephen Rolfson"}],"fields":[[{"api_id":"CheckBox_41","height":"13.0","page":1,"required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"recipient_id":null,"signing_elements_group_id":"02ecb874-30c1-4fe8-97c8-a4075e8772f0"},{"api_id":"CheckBox_42","height":"13.0","page":1,"required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"recipient_id":null},{"api_id":"Signature_40","height":"32.0","page":1,"required":true,"type":"signature","value":null,"width":"112.0","x":1.1,"y":1.1,"recipient_id":"a14af2e1-cec6-4ff2-97a8-f8b9fffd10a1"}]],"files":[{"name":"qui.xlsx","pages_number":1}],"copied_contacts":[{"name":"Brandon Parker","email":"naomi_schumm@lang-wolf.test"}],"recipients":[{"email":"hermelinda.nolan@marks.example","id":"a14af2e1-cec6-4ff2-97a8-f8b9fffd10a1","message":null,"name":"Jerlene Becker","passcode":null,"send_email":null,"send_email_delay":null,"status":null,"subject":null,"signing_order":40,"signing_url":"https://www.signwell.com/docs/8d8f5fc68d/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"corn_stuff/ut.jpg","required":true,"url":"https://www.signwell.com/document_attachments/11yYrqA0PBfqPN3lJkpQhoyKAPw/?access=dba48671-4b7a-4633-b0fc-be735da013b7"}]},{"email":"rosa.kunze@veum.test","id":"228a83d7-2ea3-4c42-9593-bfb44d66246b","message":null,"name":"Cherryl Johnson","passcode":null,"send_email":null,"send_email_delay":null,"status":null,"subject":null,"signing_order":41,"signing_url":"https://www.signwell.com/docs/5f59736a68/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[]}],"checkbox_groups":[{"id":"02ecb874-30c1-4fe8-97c8-a4075e8772f0","group_name":null,"recipient_id":null,"checkbox_ids":["CheckBox_41"],"validation":null,"required":false}],"conditional_rules":[],"conditional_logic_decisions":[]}}}},"404":{"description":"not found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the document requested","messages":["Couldn't find the document requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"unprocessable entity","content":{"application/json":{"example":{"errors":{"document":"The document is in a status that cannot be reminded"}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendReminderRequest"}}},"required":true},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::DocumentApi.new\n\n# Reminds all recipients that have not signed yet\napi.send_reminder('document_id', SignWell::Models::SendReminderRequest.new)\n\n# Or remind specific recipients only\nrequest = SignWell::Models::SendReminderRequest.new(\n  recipients: [\n    SignWell::Models::ReminderRecipientsInner.new(email: 'jane@example.com')\n  ]\n)\napi.send_reminder('document_id', request)"}]}}},"/api/v1/documents/{id}/completed_pdf":{"get":{"summary":"Completed PDF","description":"Gets a completed document PDF or ZIP file. Supply the unique document ID from either a document creation request or document page URL.","tags":["Document"],"security":[{"api_key":[]}],"operationId":"getCompletedPdf","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/CompletedDocumentId"},"required":true},{"name":"url_only","in":"query","schema":{"$ref":"#/components/schemas/UrlOnly"}},{"name":"audit_page","in":"query","schema":{"$ref":"#/components/schemas/IncludeAuditPage"}},{"name":"file_format","in":"query","schema":{"$ref":"#/components/schemas/FileFormat"}}],"responses":{"200":{"description":"successful, returns the final completed PDF, or if url_only is set to true, a JSON object is returned. When url_only=false (default), the response is the raw PDF or ZIP binary data.","content":{"application/json":{"example":{"file_url":"https://www.signwell.com/signed/B16jEMQQDouQyEEBqBBRu8oQ0dQ.pdf?audit_page=true"},"schema":{"$ref":"#/components/schemas/CompletedPdfResponse"}}}},"404":{"description":"not_found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the document requested","messages":["Couldn't find the document requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::DocumentApi.new\n\n# Get a download URL for the completed PDF\nresponse = api.get_completed_pdf('document_id', { url_only: true })\nputs response.file_url"}]}}},"/api/v1/document_templates":{"post":{"summary":"Create Template","description":"Creates a new template.","tags":["Template"],"security":[{"api_key":[]}],"operationId":"createTemplate","parameters":[],"responses":{"201":{"description":"created","content":{"application/json":{"example":{"id":"509852f7-5c17-49d1-a94d-2110ad20f9da","archived":false,"created_at":"2026-06-29T16:18:12Z","embedded_edit_url":"https://www.signwell.com/edit/template/8804f1ec-f827-44df-9365-322621a42112/","language":"en","name":"Agreement","requester_email_address":"eyeholes.man.96@lang-doyle.example","status":"Created","template_link":"https://www.signwell.com/new_doc/1ZW0iI4prqdig59v/","updated_at":"2026-06-29T16:18:12Z","allow_decline":true,"allow_reassign":null,"api_application_id":null,"decline_redirect_url":"https://www.domain.com/decline_path/","expires_in":365,"redirect_url":"https://www.domain.com/redirect_path/","reminders":true,"metadata":{"key1":"value1","key2":"value2"},"apply_signing_order":false,"message":"Normal Body","subject":"Normal subject","labels":[{"id":"41f20e69-0429-4cd7-a1c1-0f8a73c3ef59","name":"My First Label"},{"id":"b65fa6bc-7bcc-4c43-a20e-dad9043ccff5","name":"My Second Label"},{"id":"bea9e6aa-e4dc-4361-a57d-9ac0aa7ba896","name":"My Third Label"}],"fields":[[{"api_id":"DateField_1","height":"19.0","page":1,"required":true,"type":"date","value":"2021/05/06","width":"86.0","x":230,"y":60,"date_format":"YYYY/MM/DD","formula":"","lock_sign_date":true,"placeholder_name":"Placeholder One"}],[{"api_id":"Signature_2","height":"32.0","page":1,"required":true,"type":"signature","value":null,"width":"112.0","x":260,"y":80,"placeholder_name":"Placeholder 2"},{"api_id":"CheckBox_4","height":"13.0","page":1,"required":true,"type":"checkbox","value":"t","width":"13.0","x":270,"y":80,"name":null,"placeholder_name":"Placeholder 2"},{"api_id":"Initials_4","height":"32.0","page":1,"required":true,"type":"initials","value":null,"width":"44.0","x":260,"y":80,"placeholder_name":"Placeholder 2"},{"api_id":"TextField_5","height":"19.0","page":1,"required":true,"type":"text","value":"1","width":"86.0","x":260,"y":80,"fixed_width":true,"label":"label","validation":"numbers","placeholder_name":"Placeholder 2"},{"api_id":"CheckBox_3","height":"13.0","page":1,"required":false,"type":"checkbox","value":"t","width":"13.0","x":260,"y":80,"name":null,"placeholder_name":"Placeholder 2"}]],"files":[{"name":"filename1.pdf","pages_number":0},{"name":"filename2.pdf","pages_number":0}],"copied_placeholders":[{"id":"1","name":"Copied Placeholder 1","subject":null,"message":null},{"id":"2","name":"Copied Placeholder 2","subject":null,"message":null,"preassigned_recipient_name":"Nelson Copied 2","preassigned_recipient_email":"nelson+copied2@docsketch.com"}],"placeholders":[{"id":"placeholder_id_1","name":"Placeholder One","subject":null,"message":null,"preassigned_recipient_name":"recipient 1","preassigned_recipient_email":"recipient1@domain.com","signing_order":1,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"normal name","required":true,"url":"https://www.signwell.com/document_attachments/DrnpZMb8XRTOK78aQpyLu3dDygb/?access=e4f15b8b-2727-4092-818b-a7f18a361458"}]},{"id":"placeholder_id_2","name":"Placeholder 2","subject":null,"message":null,"signing_order":2,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"Driver License","required":false,"url":"https://www.signwell.com/document_attachments/gZygL8Ro8kUOMBMzYXOzfA3pBya/?access=e4f15b8b-2727-4092-818b-a7f18a361458"}]}],"checkbox_groups":[{"id":"6c0542c8-8ff9-4e50-8c5d-987668197a28","group_name":"Group 1","recipient_id":null,"checkbox_ids":["CheckBox_3","CheckBox_4"],"validation":"minimum","required":true,"min_value":1}],"conditional_rules":[{"id":"fa74eb81-63aa-4a93-ba72-746928e5d318","target_id":"TextField_5","action_type":"require","action_field_ids":["CheckBox_3"],"conditions":[{"condition_type":"any_of","status":"completed","join_operator":"and_operator","field_api_ids":["TextField_5"],"position":1}]}]},"schema":{"$ref":"#/components/schemas/DocumentTemplateResponse"}}}},"400":{"description":"bad request","content":{"application/json":{"example":{"errors":{"message":"The request contains invalid key values.","invalid_keys":["name"]}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"422":{"description":"unprocessable entity","content":{"application/json":{"example":{"errors":{"decline_redirect_url":["is not a valid URL"],"redirect_url":["is not a valid URL"],"expires_in":["must be less than or equal to 365"],"metadata":["The key/value pairs must not exceed 50","Check the following keys: [qgtxtpsnyxjwzvbzhnmrjziscxsmgcugpqanuygve], length needs to be less than 40 characters","Check the value of the following keys: [ke50], length needs to be less than 500 characters and must be a string"],"api_application_id":["The provided API application id is invalid"],"message":["is too long (maximum is 4000 characters)"],"placeholders":{"duplicated_ids":"These ids are duplicated: placeholder_id_1.","placeholder_1":{"name":["is too long (maximum is 255 characters)"],"preassigned_recipient_email":["format is invalid."],"preassigned_recipient_name":["is too long (maximum is 255 characters)"]},"placeholder_2":{"preassigned_recipient_email":["format is invalid."]},"all_preassigned":"At least one placeholder should be left unassigned"},"attachment_requests":{"invalid_ids":"These placeholder ids are not present in the placeholders array: [placeholder_id_3]"},"fields":{"duplicated_api_ids":"These api ids are duplicated: CheckBox_2.","invalid_ids":"These placeholder ids are not present in the placeholders array: [placeholder_id_2, placeholder_id_3]","file_2":{"field_2":{"invalid_date_value":"DateField value must be in Iso8601 format.","date_format":["Allowed formats for date fields are: MM/DD/YYYY | DD/MM/YYYY | YYYY/MM/DD | Month DD, YYYY | MM/DD/YYYY hh:mm:ss a"]}}},"files":{"file_1":{"file_data":["At least one of file_url or file_base64 should be present"]},"file_2":{"file_data":["Only one of file_url or file_base64 should be present, not both"]},"file_3":{"file_url":["is not a valid URL"]},"file_4":{"file_base64":["the file type is unsupported, we support the following formats: application/msword, application/pdf, application/octet-stream, application/x-ole-storage, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/x-iwork-keynote-sffkey, application/x-iwork-numbers-sffnumbers, application/x-iwork-pages-sffpages, image/jpeg, image/png, image/tiff, image/webp, text/html"]},"file_5":{"name":["The file extension is invalid."]},"file_6":{"name":["can't be blank"]}},"checkbox_groups":{"min_value_negative":"The min value must be greater than or equal to 0 in the checkbox group Group 1"}}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentTemplateRequest"}}},"required":true},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::TemplateApi.new\n\nrequest = SignWell::Models::DocumentTemplateRequest.new(\n  name: 'Contract Template',\n  subject: 'Please sign this contract',\n  message: 'Hi, please review and sign.',\n  files: [\n    SignWell::Models::FilesInner.new(file_url: 'https://example.com/contract.pdf', name: 'contract.pdf')\n  ],\n  placeholders: [\n    SignWell::Models::PlaceholdersInner.new(id: '1', name: 'Client')\n  ],\n  fields: [\n    [\n      SignWell::Models::TemplateFieldsInnerInner.new(\n        x: 20, y: 60, page: 1,\n        placeholder_id: '1',\n        type: 'signature',\n        required: true\n      )\n    ]\n  ]\n)\n\ntemplate = api.create_template(request)\nputs template.id"}]}}},"/api/v1/document_templates/{id}":{"get":{"summary":"Get Template","description":"Returns a template and all associated template data. Supply the unique template ID from either a Create Template request or template page URL.","tags":["Template"],"security":[{"api_key":[]}],"operationId":"getTemplate","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/TemplateId"},"required":true}],"responses":{"200":{"description":"successful","content":{"application/json":{"example":{"id":"a3503254-e29c-474b-a152-30c8b17144e6","archived":false,"created_at":"2026-06-29T16:18:09Z","embedded_edit_url":"https://www.signwell.com/edit/template/d73c93a1-9e1f-42b5-b9ba-ec127991ab18/","language":"en","name":"offensive_trivial/dignissimos.ppt","requester_email_address":"smith.morty.70@pollich.example","status":"Available","template_link":"https://www.signwell.com/new_doc/FEb83Y6Ggjw2G0vO/","updated_at":"2026-06-29T16:18:09Z","allow_decline":null,"allow_reassign":null,"api_application_id":null,"decline_redirect_url":null,"expires_in":null,"redirect_url":null,"reminders":null,"metadata":null,"apply_signing_order":true,"message":"Autem ut eos rerum.","subject":"officiis","fields":[[{"api_id":"Signature_55","height":"32.0","page":1,"required":true,"type":"signature","value":null,"width":"112.0","x":1.1,"y":1.1,"placeholder_name":"Illustrious Proto-Goblin 1"},{"api_id":"Signature_56","height":"32.0","page":2,"required":true,"type":"signature","value":null,"width":"112.0","x":1.1,"y":1.1,"placeholder_name":"Misfit Fist 2"}]],"files":[{"name":"et.pdf","pages_number":2}],"copied_placeholders":[{"id":"3","name":"Niki Sanders 3","subject":null,"message":null},{"id":"4","name":"Ares 4","subject":null,"message":null,"preassigned_recipient_name":"Anthony Cruickshank","preassigned_recipient_email":"alvaro@denesik-wolff.test"}],"placeholders":[{"id":"1","name":"Illustrious Proto-Goblin 1","subject":null,"message":null,"preassigned_recipient_name":"Mistie Purdy V","preassigned_recipient_email":"yong.bogisich@morar.example","signing_order":1,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"compete-exaggerate/minima.css","required":true,"url":"https://www.signwell.com/document_attachments/epGz3QrNO0cgoed00yPlud1aE7j/?access=cf5dbcca-a6e2-45fd-9d1b-2da2a05b9553"}]},{"id":"2","name":"Misfit Fist 2","subject":null,"message":null,"signing_order":2,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[]}],"checkbox_groups":[{"id":"9d67f1f9-4abd-4926-811e-34d33c934c3f","group_name":null,"recipient_id":null,"checkbox_ids":["CheckBox_57"],"validation":null,"required":false}],"conditional_rules":[{"id":"98d11d25-910d-4709-a883-ed6f1289dcdf","target_id":"employment_status","action_type":"require","action_field_ids":["manager_name"],"conditions":[{"condition_type":"any_of","status":"completed","join_operator":"and_operator","field_api_ids":["employment_status"],"position":1}]}]},"schema":{"$ref":"#/components/schemas/DocumentTemplateResponse"}}}},"404":{"description":"not_found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the template requested","messages":["Couldn't find the template requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::TemplateApi.new\n\ntemplate = api.get_template('template_id')\nputs template.name"}]}},"put":{"summary":"Update Template","description":"Updates an existing template.","tags":["Template"],"security":[{"api_key":[]}],"operationId":"updateTemplate","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/TemplateId"},"required":true}],"responses":{"200":{"description":"ok","content":{"application/json":{"example":{"id":"79b239aa-5131-4497-8f0c-4e3ede024328","archived":false,"created_at":"2026-06-29T16:18:12Z","embedded_edit_url":"https://www.signwell.com/edit/template/77ce2c4f-bb4b-4c2b-8a52-ccdbd112de31/","language":"en","name":"Gohan","requester_email_address":"99.rick.tiny@schimmel.example","status":"Available","template_link":"https://www.signwell.com/new_doc/wgPGSaJ86uRSFpS1/","updated_at":"2026-06-29T16:18:13Z","allow_decline":true,"allow_reassign":true,"api_application_id":"96dd8c55-6d41-4836-816a-d22f210f1136","decline_redirect_url":"http://braun-runolfsson.example/amos.turcotte","expires_in":1,"redirect_url":"http://paucek.example/winston.lehner","reminders":true,"metadata":{"some":"metadata"},"apply_signing_order":true,"message":"Laboriosam quo dolores ad.","subject":"Velit error quo iusto.","fields":[[{"api_id":"Signature_67","height":"32.0","page":1,"required":true,"type":"signature","value":null,"width":"112.0","x":1.1,"y":1.1,"placeholder_name":"Wolfsbane Wolf 13"},{"api_id":"Signature_68","height":"32.0","page":2,"required":true,"type":"signature","value":null,"width":"112.0","x":1.1,"y":1.1,"placeholder_name":"Bomb Queen Ii 14"}]],"files":[{"name":"dicta.webm","pages_number":2}],"copied_placeholders":[{"id":"3","name":"Red Penance 15","subject":null,"message":null},{"id":"4","name":"Mystique Woman 16","subject":null,"message":null,"preassigned_recipient_name":"Gabriel Pollich","preassigned_recipient_email":"karyn.medhurst@conroy.example"}],"placeholders":[{"id":"1","name":"Wolfsbane Wolf 13","subject":null,"message":null,"preassigned_recipient_name":"Queen Conroy","preassigned_recipient_email":"xavier_johns@mclaughlin.example","signing_order":1,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"laser-compete/deleniti.avi","required":true,"url":"https://www.signwell.com/document_attachments/jd9KwwWz6oug6d5938LaTGE31EB/?access=f66565e6-f0f7-4021-b3c8-fec345253df9"}]},{"id":"2","name":"Bomb Queen Ii 14","subject":null,"message":null,"signing_order":2,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[]}],"checkbox_groups":[{"id":"45b5f7ad-711a-4ca5-846b-8d0eb4e7b367","group_name":null,"recipient_id":null,"checkbox_ids":["CheckBox_69"],"validation":null,"required":false}],"conditional_rules":[]},"schema":{"$ref":"#/components/schemas/DocumentTemplateResponse"}}}},"400":{"description":"bad request","content":{"application/json":{"example":{"errors":{"message":"The request contains invalid key values.","invalid_keys":["name"]}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"422":{"description":"unprocessable entity","content":{"application/json":{"example":{"errors":{"decline_redirect_url":["is not a valid URL"],"redirect_url":["is not a valid URL"],"expires_in":["must be less than or equal to 365"],"metadata":["The key/value pairs must not exceed 50","Check the following keys: [qgtxtpsnyxjwzvbzhnmrjziscxsmgcugpqanuygve], length needs to be less than 40 characters","Check the value of the following keys: [ke50], length needs to be less than 500 characters and must be a string"],"api_application_id":["The provided API application id is invalid"],"message":["is too long (maximum is 4000 characters)"]}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentTemplateUpdateRequest"}}},"required":true},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::TemplateApi.new\n\nrequest = SignWell::Models::DocumentTemplateUpdateRequest.new(\n  name: 'Updated Contract Template',\n  subject: 'Updated: Please sign this contract'\n)\n\ntemplate = api.update_template('template_id', request)\nputs template.name"}]}},"delete":{"summary":"Delete Template","description":"Deletes a template. Supply the unique template ID from either a Create Template request or template page URL.","tags":["Template"],"security":[{"api_key":[]}],"operationId":"deleteTemplate","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/TemplateId"},"required":true}],"responses":{"204":{"description":"no content"},"404":{"description":"not found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the template requested","messages":["Couldn't find the template requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::TemplateApi.new\n\napi.delete_template('template_id')"}]}}},"/api/v1/api_applications/{id}":{"get":{"summary":"Get API Application","description":"Gets the details of a specific API Application within an account. Supply the unique Application ID from either the Create API Application response or the API Application edit page.","tags":["API Application"],"security":[{"api_key":[]}],"operationId":"getApiApplication","parameters":[{"name":"id","in":"path","schema":{"type":"string","format":"uuid","description":"Unique identifier for the API Application."},"required":true}],"responses":{"200":{"description":"successful","content":{"application/json":{"example":{"id":"6afd2634-734f-4c46-8207-ff860848d70a","callback_urls":[],"created_at":"2026-06-29T16:18:15Z","name":"Tres-Zap","updated_at":"2026-06-29T16:18:15Z","owner":{"id":"c02dce19-b862-49d6-ba7d-43db2f1be815","account_id":"2312490e-6446-43e5-a7d4-6d548baafce5","name":"Rick Sanchez","email":"rick_sanchez_125@kris.test"},"preferences":{"button_text_color":"E4E4F1","buttons_border_radius":22,"custom_logo_file":"/Users/cpetersen/RubymineProjects/docsketch/tmp/test_files/files_number/api_application_preferences/000/000/003/original.png","link_text_color":"404026","primary_color":"F47B7B"}},"schema":{"$ref":"#/components/schemas/ApiApplicationResponse"}}}},"404":{"description":"not_found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the api_application requested","messages":["Couldn't find the api_application requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::APIApplicationApi.new\n\napplication = api.get_api_application('api_application_id')\nputs application.name"}]}},"delete":{"summary":"Delete API Application","description":"Deletes an API Application from an account. Supply the unique Application ID from either the Create API Application response or the API Application edit page","tags":["API Application"],"security":[{"api_key":[]}],"operationId":"deleteApiApplication","parameters":[{"name":"id","in":"path","schema":{"type":"string","format":"uuid","description":"Unique identifier for the API Application."},"required":true}],"responses":{"204":{"description":"no content"},"404":{"description":"not found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the api_application requested","messages":["Couldn't find the api_application requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::APIApplicationApi.new\n\napi.delete_api_application('api_application_id')"}]}}},"/api/v1/hooks":{"get":{"summary":"List Webhooks","description":"List all the webhooks in the account.","tags":["Webhooks"],"security":[{"api_key":[]}],"operationId":"listWebhooks","responses":{"200":{"description":"ok","content":{"application/json":{"example":[{"id":"20e27d73-daec-402e-8638-85f42c757456","callback_url":"http://swaniawski.example/oralee"},{"id":"24c80d60-6311-4b91-8136-16596068b4e5","callback_url":"http://schaden-moore.example/leilani"},{"id":"62849ea8-6e31-44b6-836a-093b536fb8db","callback_url":"http://lind.test/maurice.brown"},{"id":"1503a96b-9249-49bf-8d85-5644c3e8b15c","callback_url":"http://kessler.test/buford","api_application_id":"e57c3c4d-19e9-4a16-8ea1-108cbb415851"},{"id":"8f47c217-cb70-43bb-ad39-3c190c30ef2a","callback_url":"http://wilkinson.test/robby","api_application_id":"e57c3c4d-19e9-4a16-8ea1-108cbb415851"},{"id":"79c69a28-8dbe-4d1c-a64f-75bfbbeaa51c","callback_url":"http://abshire-spencer.test/salina","api_application_id":"e57c3c4d-19e9-4a16-8ea1-108cbb415851"},{"id":"c6502570-2514-4818-95e9-d60f0e0a6f0b","callback_url":"http://huels.test/fabian_oreilly","api_application_id":"e57c3c4d-19e9-4a16-8ea1-108cbb415851"},{"id":"8b6861a0-1519-4153-baf0-b409ea8a053a","callback_url":"http://hudson.test/patrina_kessler","api_application_id":"e57c3c4d-19e9-4a16-8ea1-108cbb415851"}],"schema":{"$ref":"#/components/schemas/WebhookListResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::WebhooksApi.new\n\nwebhooks = api.list_webhooks\nwebhooks.each do |webhook|\n  puts \"#{webhook.id}: #{webhook.callback_url}\"\nend"}]}},"post":{"summary":"Create Webhook","description":"Register a callback URL that we will post document events to. Note: a `document_signed` event is not emitted solely because a pre-signed template signature/initials was copied as document content, and `event.related_signer` only identifies a real recipient signing action.","tags":["Webhooks"],"security":[{"api_key":[]}],"operationId":"createWebhook","parameters":[],"responses":{"201":{"description":"created","content":{"application/json":{"example":{"id":"d48b03d9-a739-4204-87a4-c9077c8b835b","callback_url":"http://von.test/christian_zboncak"},"schema":{"$ref":"#/components/schemas/WebhookResponse"}}}},"400":{"description":"bad request","content":{"application/json":{"example":{"message":"Bad request (bad request data)","meta":{"error":"invalid_parameter","message":"Invalid parameter: callback_url must be present","messages":["Invalid parameter: callback_url must be present"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"callback_url":{"type":"string","format":"url","description":"URL that we will post document events to.","example":"https://example.com/webhook"},"api_application_id":{"type":"string","format":"uuid","description":"Unique identifier for the API Application."}},"required":["callback_url"]}}},"required":true},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::WebhooksApi.new\n\nrequest = SignWell::Models::CreateWebhookRequest.new(\n  callback_url: 'https://example.com/webhooks/signwell'\n)\n\nwebhook = api.create_webhook(request)\nputs webhook.id"}]}}},"/api/v1/hooks/{id}":{"delete":{"summary":"Delete Webhook","description":"Deletes a registered callback URL that we are posting document events to.","tags":["Webhooks"],"security":[{"api_key":[]}],"operationId":"deleteWebhook","parameters":[{"name":"id","in":"path","schema":{"type":"string","format":"uuid","description":"Unique identifier for a webhook."},"required":true}],"responses":{"204":{"description":"no content"},"404":{"description":"not found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the hook requested","messages":["Couldn't find the hook requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::WebhooksApi.new\n\napi.delete_webhook('webhook_id')"}]}}},"/api/v1/me":{"get":{"summary":"Get credentials","description":"Retrieves the account information associated with the API key being used.","tags":["Me"],"security":[{"api_key":[]}],"operationId":"getMe","responses":{"200":{"description":"successful","content":{"application/json":{"example":{"id":"1b399f91-9a37-4c45-a062-f079a0646639","role":"owner","archived":false,"user":{"id":"bafdbc84-d6dc-42dd-8340-6caed401dcec","name":"Evil Morty","email":"135.morty.evil@kassulke.test","has_google_registration":false,"first_name":"Evil"},"account":{"id":"d6109c1a-c1ae-41d7-aff0-8d26a6fab385","name":"Medhurst-Quitzon","plan_tier":"free","active_templates":0,"can_create_template":true,"can_create_tracking_document":true,"can_create_completion_document":true,"active_users":[{"id":"bafdbc84-d6dc-42dd-8340-6caed401dcec","name":"Evil Morty","email":"135.morty.evil@kassulke.test","has_google_registration":false}]},"workspace":{"id":"d6109c1a-c1ae-41d7-aff0-8d26a6fab385","name":"Medhurst-Quitzon","plan_tier":"free","active_templates":0,"can_create_template":true,"can_create_tracking_document":true,"can_create_completion_document":true,"active_users":[{"id":"bafdbc84-d6dc-42dd-8340-6caed401dcec","name":"Evil Morty","email":"135.morty.evil@kassulke.test","has_google_registration":false}]},"contact":{"id":"02f51da7-fa0e-4129-9487-8081bdd64566","email":"135.morty.evil@kassulke.test","name":"Evil Morty","company_name":"Smith-Wilderman","phone_number":"860-352-6497","alt_phone_number":"600 354 2932","website":"http://lynch.test/emilio.hirthe","initials":"EM","archived":false}},"schema":{"$ref":"#/components/schemas/MeResponse"}}}},"401":{"description":"unauthorized","content":{"application/json":{"example":{"message":"Missing or invalid authorization key","meta":{"error":"api_key_unauthorized_error","message":"Not valid authorization token","messages":["Not valid authorization token"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::MeApi.new\n\nme = api.get_me\nputs me.user.email"}]}}},"/api/v1/bulk_sends/{id}":{"get":{"summary":"Get Bulk Send","description":"Returns information about the Bulk Send.","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/BulkSendId"},"required":true}],"tags":["Bulk Send"],"security":[{"api_key":[]}],"operationId":"getBulkSend","responses":{"200":{"description":"successful","content":{"application/json":{"example":{"id":"a03df5db-3bb7-4d67-adb9-7718cf4bf53e","name":"Endless Stair","api_application_id":null,"documents_count":0,"documents_completed":0,"documents_not_completed":0,"created_at":"2026-06-29T16:18:17Z","user_id":null,"status":"Created","templates":[{"id":"ec6a9096-1459-4a81-9d7b-2f96047f9a74","name":"diagram-linger/ad.jpg"}]},"schema":{"$ref":"#/components/schemas/BulkSendResponse"}}}},"401":{"description":"unauthorized","content":{"application/json":{"example":{"message":"Missing or invalid authorization key","meta":{"error":"api_key_unauthorized_error","message":"Not valid authorization token","messages":["Not valid authorization token"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"not found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the bulk_send requested","messages":["Couldn't find the bulk_send requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::BulkSendApi.new\n\nbulk_send = api.get_bulk_send('bulk_send_id')\nputs bulk_send.to_hash"}]}}},"/api/v1/bulk_sends":{"get":{"summary":"List Bulk Sendings","description":"Returns information about the Bulk Send.","tags":["Bulk Send"],"security":[{"api_key":[]}],"operationId":"listBulkSends","parameters":[{"name":"user_email","in":"query","required":false,"schema":{"$ref":"#/components/schemas/UserEmail"}},{"name":"limit","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Limit"}},{"name":"page","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Page"}},{"name":"api_application_id","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ApiApplicationId"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"example":{"bulk_sends":[{"id":"3435c0b3-a59d-4bc1-8967-a3cc53d15ed8","name":"Rath Dínen","api_application_id":null,"documents_count":0,"documents_completed":0,"documents_not_completed":0,"created_at":"2026-06-29T16:18:18Z","user_id":null,"status":"Created","template_ids":["b46abdf5-368a-4887-999e-1200bd6a765f"]},{"id":"cac20844-73e8-4ac7-baa2-8f22b20a19c4","name":"Vaiya","api_application_id":null,"documents_count":0,"documents_completed":0,"documents_not_completed":0,"created_at":"2026-06-29T16:18:18Z","user_id":null,"status":"Created","template_ids":["b46abdf5-368a-4887-999e-1200bd6a765f"]},{"id":"ee77a321-8ed8-4002-8f61-673d6e3c9d01","name":"Hyarnustar","api_application_id":null,"documents_count":0,"documents_completed":0,"documents_not_completed":0,"created_at":"2026-06-29T16:18:18Z","user_id":null,"status":"Created","template_ids":["b46abdf5-368a-4887-999e-1200bd6a765f"]},{"id":"6efc7c5b-1ef2-4aa9-b316-29e83f08e9d8","name":"Tumladen","api_application_id":null,"documents_count":0,"documents_completed":0,"documents_not_completed":0,"created_at":"2026-06-29T16:18:18Z","user_id":null,"status":"Created","template_ids":["b46abdf5-368a-4887-999e-1200bd6a765f"]},{"id":"fbfae9ff-a439-4834-b8be-4c734a2b3b5e","name":"Máhanaxar","api_application_id":null,"documents_count":0,"documents_completed":0,"documents_not_completed":0,"created_at":"2026-06-29T16:18:18Z","user_id":null,"status":"Created","template_ids":["b46abdf5-368a-4887-999e-1200bd6a765f"]}],"current_page":1,"next_page":null,"previous_page":null,"total_count":5,"total_pages":1},"schema":{"$ref":"#/components/schemas/BulkSendListResponse"}}}},"401":{"description":"unauthorized","content":{"application/json":{"example":{"message":"Missing or invalid authorization key","meta":{"error":"api_key_unauthorized_error","message":"Not valid authorization token","messages":["Not valid authorization token"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::BulkSendApi.new\n\nresponse = api.list_bulk_sends({ page: 1, limit: 10 })\nresponse.bulk_sends.each do |bulk_send|\n  puts \"#{bulk_send.id}: #{bulk_send.name}\"\nend"}]}},"post":{"summary":"Create Bulk Send","description":"Creates a bulk send, and it validates the CSV file before creating the bulk send.","tags":["Bulk Send"],"security":[{"api_key":[]}],"operationId":"createBulkSend","parameters":[],"responses":{"201":{"description":"successful","content":{"application/json":{"example":{"id":"11028d5d-056e-485c-a557-eec4bf273006","template_ids":["473c3bc2-6508-4478-9965-1a00b3e4ccf1"],"api_application_id":"61b30a2b-8096-4ed8-9e94-a2089bb8e942","documents_count":0,"created_at":"2026-06-29T16:18:19Z","user_id":"9f649f1b-2293-4a05-bd77-cdb17630e38a","status":"Enqueuing"},"schema":{"$ref":"#/components/schemas/BulkSendCreateResponse"}}}},"401":{"description":"unauthorized","content":{"application/json":{"example":{"message":"Missing or invalid authorization key","meta":{"error":"api_key_unauthorized_error","message":"Not valid authorization token","messages":["Not valid authorization token"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"unprocessable entity","content":{"application/json":{"example":{"errors":{"bulk_send_csv":[{"row":2,"data":{"document_sender_email":"not an email","document_sender_name":"email@signwell.com","document_sender_label":"Label","recipient_email":"recipient@signwell.com","recipient_name":"Recipient","recipient_label":"Recipient"},"errors":["The following columns have an email address invalid: document_sender_email."]}]}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBulkSendRequest"}}},"required":true},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\nrequire 'base64'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::BulkSendApi.new\n\n# signers.csv columns must match the template's CSV headers —\n# download them with the Get Bulk Send CSV Template endpoint\ncsv = Base64.strict_encode64(File.read('signers.csv'))\n\nrequest = SignWell::Models::CreateBulkSendRequest.new(\n  template_ids: ['template_id'],\n  bulk_send_csv: csv,\n  name: 'Quarterly Contracts',\n  subject: 'Please sign this document',\n  message: 'Hi, please review and sign.'\n)\n\nbulk_send = api.create_bulk_send(request)\nputs bulk_send.id"}]}}},"/api/v1/bulk_sends/csv_template":{"get":{"summary":"Get Bulk Send CSV Template","description":"Fetches a CSV template that corresponds to the provided document template IDs. CSV templates are blank CSV files that have columns containing required and optional data that can be sent when creating a bulk send. Fields can be referenced by the field label. Example: [placeholder name]_[field label] could be something like customer_address or signer_company_name (if 'Customer' and 'Signer' were placeholder names for templates set up in SignWell).","parameters":[{"name":"template_ids[]","in":"query","required":true,"schema":{"$ref":"#/components/schemas/BulkSendTemplateIds"}},{"name":"base64","in":"query","schema":{"$ref":"#/components/schemas/Base64Flag"}}],"tags":["Bulk Send"],"security":[{"api_key":[]}],"operationId":"getBulkSendCsvTemplate","responses":{"200":{"description":"successful","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"},"example":"document_sender_email,document_sender_name\nbirdperson_158@haag.example,Birdperson\n"},"application/json":{"example":{"data":"ZG9jdW1lbnRfc2VuZGVyX2VtYWlsLGRvY3VtZW50X3NlbmRlcl9uYW1lCjE2Mi5iaXJkcGVyc29uQGVtbWVyaWNoLnRlc3QsQmlyZHBlcnNvbgo="},"schema":{"$ref":"#/components/schemas/BulkSendCsvTemplateResponse"}}}},"401":{"description":"unauthorized","content":{"application/json":{"example":{"message":"Missing or invalid authorization key","meta":{"error":"api_key_unauthorized_error","message":"Not valid authorization token","messages":["Not valid authorization token"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"not found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the template requested","messages":["Couldn't find the template requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::BulkSendApi.new\n\ncsv_file = api.get_bulk_send_csv_template(['template_id'])\nputs File.read(csv_file.path)"}]}}},"/api/v1/bulk_sends/validate_csv":{"post":{"summary":"Validate Bulk Send CSV","description":"Validates a Bulk Send CSV file before creating the Bulk Send. It will check the structure of the CSV and the data it contains, and return any errors found.","parameters":[],"tags":["Bulk Send"],"security":[{"api_key":[]}],"operationId":"validateBulkSendCsv","responses":{"200":{"description":"successful","content":{"application/json":{"example":{"bulk_send_csv":"IkRvY3VtZW50IFNlbmRlciBFbWFpbCIsJ0RvY3VtZW50IFNlbmRlciBOYW1lJywvXERvY3VtZW50LSBTZW5kZXIgPUxhYmVsLEBSZWNpcGllbnRfIEVtYWlsLFJlY2lwaWVudCAqTmFtZSxgUmVjaXBpZW50fiFAIyQlXiYqKCl7fVtdPD4uPyBMYWJlbGAKc2VuZGVyQHNpZ253ZWxsLmNvbSxTZW5kZXIsU2VuZGVyLHJlY2lwaWVudEBzaWdud2VsbC5jb20sUmVjaXBpZW50LFJlY2lwaWVudAplbWFpbEBzb21lLmNvbSwsLGVtYWlsMkBzb21lLmNvbQo=","template_ids":["d1b88c75-7c64-4397-99d4-7e32d0192bda"],"skip_row_errors":false,"api_application_id":null,"name":"figure-thirsty/repudiandae.csv","subject":"Please complete figure-thirsty/repudiandae.csv","message":"<p>Hey there,</p><p>&nbsp;</p><p>Please review and complete this document. You can click on the document below to get started.</p>","apply_signing_order":false},"schema":{"$ref":"#/components/schemas/BulkSendValidateCsvResponse"}}}},"401":{"description":"unauthorized","content":{"application/json":{"example":{"message":"Missing or invalid authorization key","meta":{"error":"api_key_unauthorized_error","message":"Not valid authorization token","messages":["Not valid authorization token"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"unprocessable entity","content":{"application/json":{"example":{"errors":{"bulk_send_csv":[{"row":2,"data":{"document_sender_email":"not an email","document_sender_name":"email@signwell.com","document_sender_label":"Label","recipient_email":"recipient@signwell.com","recipient_name":"Recipient","recipient_label":"Recipient"},"errors":["The following columns have an email address invalid: document_sender_email."]}]}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSendCsvRequest"}}},"required":true},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\nrequire 'base64'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::BulkSendApi.new\n\n# signers.csv columns must match the template's CSV headers —\n# download them with the Get Bulk Send CSV Template endpoint\ncsv = Base64.strict_encode64(File.read('signers.csv'))\n\nrequest = SignWell::Models::BulkSendCsvRequest.new(\n  template_ids: ['template_id'],\n  bulk_send_csv: csv\n)\n\nvalidation = api.validate_bulk_send_csv(request)\nputs validation.to_hash"}]}}},"/api/v1/bulk_sends/{id}/documents":{"get":{"summary":"Get Bulk Send Documents","description":"Returns information about the Bulk Send.","tags":["Bulk Send"],"security":[{"api_key":[]}],"operationId":"getBulkSendDocuments","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/BulkSendId"},"required":true},{"name":"limit","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Limit"}},{"name":"page","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Page"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"example":{"id":"57af2cd3-68eb-4b12-9661-2902608322fd","name":"Máhanaxar","api_application_id":null,"created_at":"2026-06-29T16:18:23Z","user_id":null,"status":"Created","documents":[{"id":"7ebf0464-ad7f-4209-a28c-7cabd43d9c13","archived":false,"created_at":"2026-06-29T16:18:22Z","decline_message":null,"embedded_edit_url":"https://www.signwell.com/edit/document/991db23d-1901-45e2-8b51-b7abffdb9264/","error_message":null,"embedded_preview_url":null,"language":"en","name":"perception-strict/exercitationem.mp3","requester_email_address":"178_jerrys_mytholog@kunde-yundt.test","status":"Created","test_mode":false,"updated_at":"2026-06-29T16:18:22Z","allow_decline":true,"allow_reassign":true,"api_application_id":null,"custom_requester_email":"cary@brekke-marvin.test","custom_requester_name":"Sebulba","decline_redirect_url":"http://koepp-abernathy.example/bennett","embedded_signing":false,"expires_in":10,"metadata":{"eum":"impedit","magnam":"quo"},"redirect_url":"http://kiehn-schumm.example/melania","reminders":true,"apply_signing_order":false,"message":"<p>Hey there,</p><p>&nbsp;</p><p>Please review and complete this document. You can click on the document below to get started.</p>","subject":"Please complete perception-strict/exercitationem.mp3","labels":[{"id":"3d1d4c0d-ecc5-48e4-95c3-d53ec16ccfc8","name":"Clarence Welch"},{"id":"415d7970-5ff1-4515-a1b8-4c0d1bb714d3","name":"Gov. Jewel Medhurst"}],"fields":[[{"api_id":"CheckBox_83","height":"13.0","page":1,"required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"recipient_id":null,"signing_elements_group_id":"edee4d78-a066-46aa-b522-ae119497992d"},{"api_id":"CheckBox_84","height":"13.0","page":1,"required":true,"type":"checkbox","value":null,"width":"13.0","x":1.1,"y":1.1,"name":null,"recipient_id":null},{"api_id":"Signature_82","height":"32.0","page":1,"required":true,"type":"signature","value":null,"width":"112.0","x":1.1,"y":1.1,"recipient_id":"0d79796d-f5c3-4034-91f3-8663e40d4bad"}]],"files":[{"name":"ratione.ods","pages_number":1}],"copied_contacts":[{"name":"Jared Waelchi III","email":"sharen.hilpert@watsica.example"}],"recipients":[{"email":"evalyn.wintheiser@bernier.example","id":"0d79796d-f5c3-4034-91f3-8663e40d4bad","message":null,"name":"Tim Armstrong","passcode":null,"send_email":null,"send_email_delay":null,"status":"created","subject":null,"signing_order":58,"signing_url":"https://www.signwell.com/docs/7d07affa5d/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[{"name":"marine-defend/dolorum.png","required":true,"url":"https://www.signwell.com/document_attachments/arXqXEOKKeUO1JX3OaNdfZw4WLQZ/?access=b2ad8339-d97a-4229-9554-5be20fd0bb3b"}]},{"email":"rich_brown@hamill.test","id":"aea8660d-98ec-4e81-a33e-3c61fcd549e8","message":null,"name":"Gino Koelpin","passcode":null,"send_email":null,"send_email_delay":null,"status":"created","subject":null,"signing_order":59,"signing_url":"https://www.signwell.com/docs/53ab33fb48/","bounced":null,"bounced_details":null,"passcode_delivery":{"enabled":false,"methods":null,"expire_after_access":false},"attachment_requests":[]}],"checkbox_groups":[{"id":"edee4d78-a066-46aa-b522-ae119497992d","group_name":null,"recipient_id":null,"checkbox_ids":["CheckBox_83"],"validation":null,"required":false}],"conditional_rules":[],"conditional_logic_decisions":[]}],"current_page":1,"next_page":null,"previous_page":null,"total_count":1,"total_pages":1},"schema":{"$ref":"#/components/schemas/BulkSendDocumentsResponse"}}}},"401":{"description":"unauthorized","content":{"application/json":{"example":{"message":"Missing or invalid authorization key","meta":{"error":"api_key_unauthorized_error","message":"Not valid authorization token","messages":["Not valid authorization token"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"not found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the bulk_send requested","messages":["Couldn't find the bulk_send requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::BulkSendApi.new\n\nresponse = api.get_bulk_send_documents('bulk_send_id', { page: 1, limit: 10 })\nresponse.documents.each do |document|\n  puts \"#{document.id}: #{document.status}\"\nend"}]}}},"/api/v1/documents/{id}/nom151_certificate":{"get":{"summary":"MX – NOM-151 Certificate","description":"Download NOM-151 certificate for a completed document. Returns a ZIP file, download URL, or raw certificate data based on query parameters.","tags":["Regional"],"security":[{"api_key":[]}],"operationId":"getNom151Certificate","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/CompletedDocumentId"},"required":true},{"name":"url_only","in":"query","schema":{"$ref":"#/components/schemas/UrlOnly"},"description":"If true, returns JSON with download URL instead of downloading the file"},{"name":"object_only","in":"query","schema":{"$ref":"#/components/schemas/ObjectOnly"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"example":{"file_url":"https://www.signwell.com/completed_docs/DLXJkRBnGKfdoApLNkydCkDzEwX/nom151_certificate/"},"schema":{"$ref":"#/components/schemas/Nom151UrlResponse"}}}},"404":{"description":"not_found","content":{"application/json":{"example":{"message":"Not found","meta":{"error":"record_not_found","message":"Couldn't find the document requested","messages":["Couldn't find the document requested"]}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"unprocessable_entity","content":{"application/json":{"example":{"errors":{"table":{"not_available":"NOM-151 certificate not available"}}},"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitErrorResponse"}}}}},"x-readme":{"code-samples":[{"language":"ruby","name":"Ruby SDK","install":"gem install signwell_sdk","code":"require 'signwell_sdk'\n\nSignWell.configure do |config|\n  config.api_key['X-Api-Key'] = ENV['SIGNWELL_API_KEY']\nend\n\napi = SignWell::Resources::RegionalApi.new\n\n# Get a download URL for the NOM-151 certificate ZIP file\nresponse = api.get_nom151_certificate('document_id', { url_only: true })\nputs response.file_url"}]}}}},"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"X-Api-Key","in":"header"}},"schemas":{"FieldType":{"type":"string","enum":["initials","signature","checkbox","date","select","text","dropdown","autofill_company","autofill_email","autofill_first_name","autofill_last_name","autofill_name","autofill_phone","autofill_title","autofill_date_signed"],"description":"Type of signing field"},"TextValidation":{"type":"string","enum":["no_text_validation","numbers","letters","email_address","us_phone_number","us_zip_code","us_ssn","us_age","alphanumeric","us_bank_routing_number","us_bank_account_number","custom"],"description":"Validation rule for text fields"},"ValidationRegex":{"type":"string","description":"Text fields with custom validation only: the regex pattern used to validate field values. Required when validation is set to custom."},"ValidationRegexErrorMessage":{"type":"string","description":"Text fields with custom validation only: the error message shown to the recipient when their input doesn't match the regex pattern. Required when validation is set to custom."},"DateFormat":{"type":"string","enum":["MM/DD/YYYY","DD/MM/YYYY","YYYY/MM/DD","Month DD, YYYY","MM/DD/YYYY hh:mm:ss a"],"description":"Date format for date fields. Valid values: MM/DD/YYYY, DD/MM/YYYY, YYYY/MM/DD, Month DD, YYYY, MM/DD/YYYY hh:mm:ss a. Default: MM/DD/YYYY"},"CheckboxValidation":{"type":"string","enum":["minimum","maximum","range","exact"],"description":"Validation rule for checkbox groups"},"FileInfo":{"type":"object","description":"File information","properties":{"name":{"type":"string","description":"File name"},"pages_number":{"type":"integer","description":"Number of pages in the file"}},"required":["name","pages_number"]},"LabelInfo":{"type":"object","description":"Label information","properties":{"id":{"type":"string","description":"Label ID"},"name":{"type":"string","description":"Label name"}}},"CopiedContactInfo":{"type":"object","description":"Copied contact information","properties":{"id":{"type":"string","description":"Contact ID"},"name":{"type":"string","description":"Contact name"},"email":{"type":"string","format":"email","description":"Contact email"}},"required":["email"]},"CheckboxGroupInfo":{"type":"object","description":"Checkbox group configuration","properties":{"id":{"type":"string","format":"uuid","description":"Checkbox group ID"},"group_name":{"type":"string","nullable":true,"description":"Name of the checkbox group"},"recipient_id":{"type":"string","nullable":true,"description":"Recipient ID associated with the group"},"checkbox_ids":{"type":"array","items":{"type":"string"},"description":"IDs of checkboxes in this group"},"validation":{"$ref":"#/components/schemas/CheckboxValidation","nullable":true},"required":{"type":"boolean","description":"Whether at least one checkbox must be checked"},"min_value":{"type":"integer","description":"Minimum number of checkboxes to check"},"max_value":{"type":"integer","description":"Maximum number of checkboxes to check"},"exact_value":{"type":"integer","description":"Exact number of checkboxes that must be checked"}},"required":["id","checkbox_ids","required"]},"AttachmentRequestInfo":{"type":"object","description":"Attachment request information","properties":{"name":{"type":"string","description":"Name of the attachment request"},"url":{"type":"string","format":"url","description":"URL of the uploaded attachment (when available)"},"required":{"type":"boolean","description":"Whether the attachment is required"}},"required":["name","required"]},"ConditionalRuleRequest":{"type":"object","description":"A conditional logic rule. Create requires target_id, action_type, action_field_ids and conditions; id and deleted are ignored on create. On an update (template update or document update-and-send) the rules are an incremental upsert keyed by id: send id + the fields to change to modify a rule, id + deleted: true to remove it, or omit id to add a new rule.","properties":{"id":{"type":"string","description":"The rule's persistent ID. Ignored on create (every rule is new). On an update (template update or document update-and-send) include it to modify an existing rule, or pair it with `deleted: true` to remove the rule; omit it to add a new rule."},"deleted":{"type":"boolean","description":"Only meaningful on an update (template update or document update-and-send): set to true together with the rule's `id` to remove that rule. Ignored on create — there is no existing rule to delete."},"target_id":{"type":"string","description":"api_id of the field that owns the rule, or the external_id of a checkbox group when the rule is owned by a group (groups have no api_id). Cannot also appear in action_field_ids (self-reference is forbidden)."},"action_type":{"type":"string","enum":["show","hide","require"],"description":"Action applied to action_field_ids when the conditions are met: `show`, `hide`, or `require`."},"action_field_ids":{"type":"array","items":{"type":"string"},"description":"api_ids of the fields the action applies to. List a checkbox group's member api_ids to target the whole group."},"conditions":{"type":"array","description":"The conditions that trigger the rule. At least 1, at most 5.","items":{"type":"object","properties":{"condition_type":{"type":"string","enum":["any_of","all_of","none_of","not_all_of"],"description":"How the field_api_ids combine within a condition: `any_of`, `all_of`, `none_of`, or `not_all_of`."},"status":{"type":"string","enum":["completed","not_completed"],"description":"The field state the condition tests for: `completed` or `not_completed`."},"join_operator":{"type":"string","enum":["and_operator","or_operator"],"description":"How this condition joins the next one in the rule: `and_operator` or `or_operator`. The first condition's value is ignored."},"field_api_ids":{"type":"array","items":{"type":"string"},"description":"api_ids of the trigger fields the condition watches."},"position":{"type":"integer","description":"1-indexed order of the condition within the rule."}},"required":["condition_type","status","field_api_ids"]}}}},"ConditionalRuleInfo":{"type":"object","description":"Conditional rule configuration","properties":{"id":{"type":"string","description":"Conditional rule ID"},"target_id":{"type":"string","description":"api_id of the field that owns the rule, or the external_id of a checkbox group when the rule is owned by a group (groups have no api_id)"},"action_type":{"type":"string","enum":["show","hide","require"],"description":"Action applied to action_field_ids when the conditions are met"},"action_field_ids":{"type":"array","items":{"type":"string"},"description":"api_ids of fields the rule affects when triggered"},"conditions":{"type":"array","items":{"type":"object","properties":{"condition_type":{"type":"string","enum":["any_of","all_of","none_of","not_all_of"],"description":"How field_api_ids combine within this condition"},"status":{"type":"string","enum":["completed","not_completed"],"description":"Field state that satisfies this condition"},"join_operator":{"type":"string","enum":["and_operator","or_operator"],"description":"How this condition joins with the next one in the rule"},"field_api_ids":{"type":"array","items":{"type":"string"},"description":"api_ids of fields evaluated by this condition"},"position":{"type":"integer","description":"Order of this condition within the rule"}}}}},"required":["id","target_id","action_type"]},"ConditionalLogicDecisionInfo":{"type":"object","description":"Audit record of a signer-side decision about a CL rule that fired against a completed field.","properties":{"rule_id":{"type":"string","description":"External ID of the conditional rule that fired"},"field_api_id":{"type":"string","description":"api_id of the field the decision applies to"},"decision_type":{"type":"string","enum":["kept_signature","cleared_value"],"description":"Whether the signer kept the existing signature or the value was cleared"},"decided_at":{"type":"string","format":"date-time","description":"When the decision was recorded"},"description":{"type":"string","description":"Human-readable summary of the decision"}},"required":["rule_id","field_api_id","decision_type","decided_at"]},"AdditionalFields":{"type":"array","description":"Fields to be added to any appended files (not existing files). Document fields placed on a document for collecting data or signatures from recipients. Field data should be sent as a 2-dimensional JSON array. One array of fields is needed for each file in the files array. An array of fields can be empty if you have a file that does not contain any fields.","items":{"type":"array","description":"Array of Fields you're adding to each file.","items":{"type":"object","properties":{"x":{"type":"number","format":"float","description":"Horizontal value in the coordinates of the field (in pixels). Coordinates are specific to the page where fields are located."},"y":{"type":"number","format":"float","description":"Vertical value in the coordinates of the field (in pixels). Coordinates are specific to the page where fields are located."},"page":{"type":"integer","description":"The page number within the file. If the page does not exist within the file then the field won't be created."},"recipient_id":{"type":"string","description":"Unique identifier of the recipient assigned to the field. Recipients assigned to fields will be the only ones that will see and be able to complete those fields."},"type":{"$ref":"#/components/schemas/FieldType","description":"Field type of the field. Valid field types: initials, signatures, checkbox, date, and text. To autofill fields with contact data, use an autofill field type. To group checkbox fields, enter an api_id for each checkbox and add the checkbox_groups parameter."},"required":{"type":"boolean","default":true,"description":"Whether the field must be completed by the recipient. Defaults to `true` except for checkbox type fields."},"label":{"type":"string","description":"Text and Date fields only: label that is displayed when the field is empty."},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}],"description":"Varies according to the field type. Text fields accept strings or numbers. Date fields accept Iso8601 date strings. CheckBoxes accept booleans. Signature and Initials fields can't be signed through API requests. Autofill text fields accept strings or numbers."},"api_id":{"type":"string","description":"Unique identifier of the field. Useful when needing to reference specific field values or update a document and its fields."},"name":{"type":"string","description":"Checkbox fields only. At least 2 checkbox fields in an array of fields must be assigned to the same recipient and grouped with selection requirements."},"validation":{"$ref":"#/components/schemas/TextValidation","description":"Text fields only: optional validation for field values. Valid values: numbers, letters, email_address, us_phone_number, us_zip_code, us_ssn, us_age, alphanumeric, us_bank_routing_number, us_bank_account_number, custom. To set custom validation, enter a regex pattern and regex error message."},"validation_regex":{"$ref":"#/components/schemas/ValidationRegex"},"validation_regex_error_message":{"$ref":"#/components/schemas/ValidationRegexErrorMessage"},"fixed_width":{"type":"boolean","default":false,"description":"Text fields only: whether the field width will stay fixed and text will display in multiple lines, rather than one long line. If set to `false` the field width will automatically grow horizontally to fit text on one line. Defaults to `false`."},"lock_sign_date":{"type":"boolean","default":false,"description":"Date fields only: makes fields readonly and automatically populates with the date the recipient signed. Defaults to `false`."},"date_format":{"$ref":"#/components/schemas/DateFormat","description":"Date fields only: date format to use for the field. Valid values: MM/DD/YYYY, DD/MM/YYYY, YYYY/MM/DD, Month DD, YYYY, and MM/DD/YYYY hh:mm:ss a. Defaults to MM/DD/YYYY."},"formula":{"type":"string","description":"Date fields only (text field formulas coming soon): formulas are a way to prefill fields with calculated future or past dates. Addition, subtraction, and parentheses are allowed. Valid event dates are `created_date`, `sent_date`, and `signed_date`. Valid time periods are `day`, `days`, `week`, `weeks`, `month`, and `months`. Example: `formula: 'sent_date + 10 days'`. Use with `lock_sign_date` if you'd like to make the field readonly and prevent signers from choosing a different date."},"height":{"type":"number","format":"float","description":"Height of the field (in pixels). Maximum height varies by field type: Signature/Initials (200px), others (74px). When using text tags if the height is greater than the maximum height, the height will be set to the maximum height."},"width":{"type":"number","format":"float","description":"Width of the field (in pixels). For text fields, width will auto-grow unless `fixed_width` is true."},"options":{"type":"array","description":"Array of dropdown options (for dropdown/select fields only)","items":{"$ref":"#/components/schemas/DropdownOption"}},"default_option":{"type":"string","description":"Default selected option (for dropdown/select fields only)"},"allow_other":{"type":"boolean","description":"Whether to allow \"Other\" option with text input (for dropdown/select fields only)","default":false}},"required":["x","y","page","recipient_id","type"]}}},"AdditionalFiles":{"type":"array","items":{"type":"object","description":"Additional files to be appended to the document. Will not replace existing files from the template. Document files can be uploaded by specifying a file URL or base64 string. Either `file_url` or `file_base64` must be present (not both). Valid file types are: .pdf, .docx, .jpg, .png, .ppt, .xls, .pages, and .txt.","properties":{"name":{"type":"string","description":"Name of the file that will be uploaded."},"file_url":{"type":"string","format":"url","description":"Publicly available URL of the file to be uploaded."},"file_base64":{"type":"string","format":"byte","description":"A RFC 4648 base64 string of the file to be uploaded."}},"required":["name"]}},"ApiApplicationId":{"type":"string","format":"uuid","description":"Unique identifier for API Application settings to use. API Applications are optional and mainly used when isolating OAuth apps or for more control over embedded API settings"},"TemplateAttachmentRequests":{"type":"array","description":"Attachments that a recipient must upload to complete the signing process. Attachment requests are shown after all document fields have been completed.","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the requested attachment."},"placeholder_id":{"type":"string","description":"Unique identifier of the recipient that will view the attachment request."},"required":{"type":"boolean","default":true,"description":"Whether the recipient will need to upload the attachment to successfully complete/sign the document. Defaults to `true`."}},"required":["name","placeholder_id"]}},"AttachmentRequests":{"type":"array","description":"Attachments that a recipient must upload to complete the signing process. Attachment requests are shown after all document fields have been completed.","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the requested attachment."},"recipient_id":{"type":"string","description":"Unique identifier of the recipient that will view the attachment request."},"required":{"type":"boolean","default":true,"description":"Whether the recipient will need to upload the attachment to successfully complete/sign the document. Defaults to `true`."}},"required":["name","recipient_id"]}},"TemplateCheckboxGroups":{"type":"array","description":"Checkbox fields that are placed on a document can be grouped with selection requirements. At least 2 checkbox fields in an array of fields must be assigned to the same recipient.","items":{"type":"object","properties":{"group_name":{"type":"string","description":"A unique identifier for the checkbox group."},"placeholder_id":{"type":"string","description":"The recipient ID associated with the checkbox group."},"checkbox_ids":{"type":"array","items":{"type":"string","description":"A unique identifier for each checkbox in a group. ID must match the api_id of the checkbox field."}},"validation":{"$ref":"#/components/schemas/CheckboxValidation","description":"Set requirements for the group of one or multiple selections by the recipient. Defaults to minimum. Validation values: minimum, maximum, exact, range."},"required":{"type":"boolean","default":false,"description":"Whether the group must be completed by the recipient. Defaults to false."},"min_value":{"type":"integer","description":"The minimum number of checkboxes that must be checked in the group. (Only for validation: minimum and range)"},"max_value":{"type":"integer","description":"The maximum number of checkboxes that can be checked in the group. (Only for validation: maximum and range)"},"exact_value":{"type":"integer","description":"The exact number of checkboxes that must be checked in the group. (Only for validation: exact)"}},"required":["group_name","placeholder_id","checkbox_ids"]}},"CheckboxGroups":{"type":"array","description":"Checkbox fields that are placed on a document can be grouped with selection requirements. At least 2 checkbox fields in an array of fields must be assigned to the same recipient.","items":{"type":"object","properties":{"group_name":{"type":"string","description":"A unique identifier for the checkbox group."},"recipient_id":{"type":"string","description":"The recipient ID associated with the checkbox group."},"checkbox_ids":{"type":"array","items":{"type":"string","description":"A unique identifier for each checkbox in a group. ID must match the api_id of the checkbox field."}},"validation":{"$ref":"#/components/schemas/CheckboxValidation","description":"Set requirements for the group of one or multiple selections by the recipient. Defaults to minimum. Validation values: minimum, maximum, exact, range."},"required":{"type":"boolean","default":false,"description":"Whether the group must be completed by the recipient. Defaults to false."},"min_value":{"type":"integer","description":"The minimum number of checkboxes that must be checked in the group. (Only for validation: minimum and range)"},"max_value":{"type":"integer","description":"The maximum number of checkboxes that can be checked in the group. (Only for validation: maximum and range)"},"exact_value":{"type":"integer","description":"The exact number of checkboxes that must be checked in the group. (Only for validation: exact)"}},"required":["group_name","recipient_id","checkbox_ids"]}},"BulkSendCsv":{"type":"string","description":"A RFC 4648 base64 string of the template CSV file to be validated."},"Base64Flag":{"type":"boolean","description":"When true, returns the CSV as a base64-encoded string in a JSON response instead of a binary file download."},"BulkSendCsvTemplateResponse":{"type":"object","description":"Base64-encoded CSV template","properties":{"data":{"type":"string","format":"byte","description":"Base64-encoded CSV content"}},"required":["data"]},"BulkSendId":{"type":"string","format":"uuid","description":"Unique identifier for a bulk send."},"BulkSendTemplateIds":{"type":"array","description":"Specify one or more templates to generate a single blank CSV file that will contain available columns for your recipient data. The template_ids[] parameter is an array of template IDs (e.g.,`/?template_ids[]=5a67dbd7-928a-4ea0-a7e2-e476a0eb045f&template_ids[]=d7315111-c671-4b15-8354-c9a19bbaefa0`). Each ID should be a separate parameter in the query string.","items":{"type":"string","format":"uuid"}},"CopiedContacts":{"type":"array","description":"Copied contacts are emailed the final document once it has been completed by all recipients.","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the copied contact."},"email":{"type":"string","format":"email","description":"Email for the copied contact."}},"required":["email"]}},"CopiedPlaceholders":{"type":"array","description":"Copied placeholders are emailed the final document once it has been completed by all recipients.","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the placeholder."},"preassigned_recipient_name":{"type":"string","description":"In some cases, it may be necessary to pre-fill the name and email for a placeholder because it will always be the same person for all documents created from this template. This sets the name."},"preassigned_recipient_email":{"type":"string","format":"email","description":"In some cases, it may be necessary to pre-fill the name and email for a placeholder because it will always be the same person for all documents created from this template. This sets the email."}},"required":["name"]}},"CompletedDocumentId":{"type":"string","format":"uuid","description":"Unique identifier for a completed document."},"DocumentId":{"type":"string","format":"uuid","description":"Unique identifier for a document."},"Recipients":{"type":"array","description":"Document recipients are people that must complete and/or sign a document.","items":{"type":"object","properties":{"id":{"type":"string","description":"A unique identifier that you will give to each recipient. We recommend numbering sequentially from 1 to X. IDs are required for associating recipients to fields and more."},"name":{"type":"string","description":"Name of the recipient."},"email":{"type":"string","format":"email","description":"Email address for the recipient.","example":"signer@example.com"},"passcode":{"type":"string","description":"If set, signers assigned with a passcode will be required to enter the passcode before they’re able to view and complete the document."},"passcode_delivery":{"type":"object","description":"Passcode delivery settings. When enabled, the system delivers the passcode to the signer via email.","properties":{"enabled":{"type":"boolean","description":"Enable passcode delivery for this recipient."},"methods":{"type":"array","items":{"type":"string","enum":["email"]},"description":"Delivery methods for the passcode. Currently supports: email. Defaults to [\"email\"] when omitted."},"expire_after_access":{"type":"boolean","description":"When enabled, the passcode is cleared after successful authentication. If passcode_delivery is also enabled, a new passcode is auto-generated on the next send request. Otherwise the recipient will no longer need a passcode."}}},"subject":{"type":"string","description":"Email subject for the signature request that the recipient will see. Overrides the general subject for the document."},"message":{"type":"string","description":"Email message for the signature request that the recipient will see. Overrides the general message for the document."},"send_email":{"type":"boolean","default":false,"description":"Applies on when `embedded_signing` is `true`. By default, recipients are not notified through email to sign when doing embedded signing. Setting this to `true`  will send a notification email to the recipient. Default is `false`."},"send_email_delay":{"type":"integer","default":0,"description":"If `send_email` is `true` recipients will receive a new document notification immediately. In the case of embedded signing, you can delay this notification to only send if the document is not completed within a few minutes. The email notification will not go out if the document is completed before the delay time is over. Valid values are in minutes ranging from `0` to `60`. Defaults to `0`."}},"required":["id","email"]}},"Fields":{"type":"array","description":"Document fields placed on a document for collecting data or signatures from recipients. At least one field must be present in the Create Document request if `draft` is `false` (unless adding a signature page by using `with_signature_page`). Field data should be sent as a 2-dimensional JSON array. One array of fields is needed for each file in the files array. An array of fields can be empty if you have a file that does not contain any fields.","items":{"type":"array","description":"Array of Fields you're adding to each file.","items":{"type":"object","properties":{"x":{"type":"number","format":"float","description":"Horizontal value in the coordinates of the field (in pixels). Coordinates are specific to the page where fields are located."},"y":{"type":"number","format":"float","description":"Vertical value in the coordinates of the field (in pixels). Coordinates are specific to the page where fields are located."},"page":{"type":"integer","description":"The page number within the file. If the page does not exist within the file then the field won't be created."},"recipient_id":{"type":"string","description":"Unique identifier of the recipient assigned to the field. Recipients assigned to fields will be the only ones that will see and be able to complete those fields."},"type":{"$ref":"#/components/schemas/FieldType","description":"Field type of the field. Valid field types: initials, signatures, checkbox, date, and text. To autofill fields with contact data, use an autofill field type. To group checkbox fields, enter an api_id for each checkbox and add the checkbox_groups parameter."},"required":{"type":"boolean","default":true,"description":"Whether the field must be completed by the recipient. Defaults to `true` except for checkbox type fields."},"label":{"type":"string","description":"Text and Date fields only: label that is displayed when the field is empty."},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}],"description":"Varies according to the field type. Text fields accept strings or numbers. Date fields accept Iso8601 date strings. CheckBoxes accept booleans. Signature and Initials fields can't be signed through API requests. Autofill text fields accept strings or numbers."},"api_id":{"type":"string","description":"Unique identifier of the field. Useful when needing to reference specific field values or update a document and its fields."},"name":{"type":"string","description":"Checkbox fields only. At least 2 checkbox fields in an array of fields must be assigned to the same recipient and grouped with selection requirements."},"validation":{"$ref":"#/components/schemas/TextValidation","description":"Text fields only: optional validation for field values. Valid values: numbers, letters, email_address, us_phone_number, us_zip_code, us_ssn, us_age, alphanumeric, us_bank_routing_number, us_bank_account_number, custom. To set custom validation, enter a regex pattern and regex error message."},"validation_regex":{"$ref":"#/components/schemas/ValidationRegex"},"validation_regex_error_message":{"$ref":"#/components/schemas/ValidationRegexErrorMessage"},"fixed_width":{"type":"boolean","default":false,"description":"Text fields only: whether the field width will stay fixed and text will display in multiple lines, rather than one long line. If set to `false` the field width will automatically grow horizontally to fit text on one line. Defaults to `false`."},"lock_sign_date":{"type":"boolean","default":false,"description":"Date fields only: makes fields readonly and automatically populates with the date the recipient signed. Defaults to `false`."},"date_format":{"$ref":"#/components/schemas/DateFormat","description":"Date fields only: date format to use for the field. Valid values: MM/DD/YYYY, DD/MM/YYYY, YYYY/MM/DD, Month DD, YYYY, and MM/DD/YYYY hh:mm:ss a. Defaults to MM/DD/YYYY."},"height":{"type":"number","format":"float","description":"Height of the field (in pixels). Maximum height varies by field type: Signature/Initials (200px), others (74px). When using text tags if the height is greater than the maximum height, the height will be set to the maximum height."},"width":{"type":"number","format":"float","description":"Width of the field (in pixels). For text fields, width will auto-grow unless `fixed_width` is true."},"options":{"type":"array","description":"Array of dropdown options (for dropdown/select fields only)","items":{"$ref":"#/components/schemas/DropdownOption"}},"default_option":{"type":"string","description":"Default selected option (for dropdown/select fields only)"},"allow_other":{"type":"boolean","description":"Whether to allow \"Other\" option with text input (for dropdown/select fields only)","default":false}},"required":["x","y","page","recipient_id","type"]}}},"TemplateFields":{"type":"array","description":"Document fields placed on a document for collecting data or signatures from recipients. At least one field must be present in the Create Document request if `draft` is `false` (unless adding a signature page by using `with_signature_page`). Field data should be sent as a 2-dimensional JSON array. One array of fields is needed for each file in the files array. An array of fields can be empty if you have a file that does not contain any fields.","items":{"type":"array","description":"Array of Fields you're adding to each file.","items":{"type":"object","properties":{"x":{"type":"number","format":"float","description":"Horizontal value in the coordinates of the field (in pixels). Coordinates are specific to the page where fields are located."},"y":{"type":"number","format":"float","description":"Vertical value in the coordinates of the field (in pixels). Coordinates are specific to the page where fields are located."},"page":{"type":"integer","description":"The page number within the file. If the page does not exist within the file then the field won't be created."},"placeholder_id":{"type":"string","description":"Unique identifier of the placeholder assigned to the field."},"type":{"$ref":"#/components/schemas/FieldType","description":"Field type of the field. Valid field types: initials, signatures, checkbox, date, and text. To autofill fields with contact data, use an autofill field type. To group checkbox fields, enter an api_id for each checkbox and add the checkbox_groups parameter."},"required":{"type":"boolean","default":true,"description":"Whether the field must be completed by the recipient. Defaults to `true` except for checkbox type fields."},"label":{"type":"string","description":"Text and Date fields only: label that is displayed when the field is empty."},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}],"description":"Varies according to the field type. Text fields accept strings or numbers. Date fields accept Iso8601 date strings. CheckBoxes accept booleans. Signature and Initials fields can't be signed through API requests. Autofill text fields accept strings or numbers."},"api_id":{"type":"string","description":"Unique identifier of the field. Useful when needing to reference specific field values or update a document and its fields."},"name":{"type":"string","description":"Checkbox fields only. At least 2 checkbox fields in an array of fields must be assigned to the same recipient and grouped with selection requirements."},"validation":{"$ref":"#/components/schemas/TextValidation","description":"Text fields only: optional validation for field values. Valid values: numbers, letters, email_address, us_phone_number, us_zip_code, us_ssn, us_age, alphanumeric, us_bank_routing_number, us_bank_account_number, custom. To set custom validation, enter a regex pattern and regex error message."},"validation_regex":{"$ref":"#/components/schemas/ValidationRegex"},"validation_regex_error_message":{"$ref":"#/components/schemas/ValidationRegexErrorMessage"},"fixed_width":{"type":"boolean","default":false,"description":"Text fields only: whether the field width will stay fixed and text will display in multiple lines, rather than one long line. If set to `false` the field width will automatically grow horizontally to fit text on one line. Defaults to `false`."},"lock_sign_date":{"type":"boolean","default":false,"description":"Date fields only: makes fields readonly and automatically populates with the date the recipient signed. Defaults to `false`."},"date_format":{"$ref":"#/components/schemas/DateFormat","description":"Date fields only: date format to use for the field. Valid values: MM/DD/YYYY, DD/MM/YYYY, YYYY/MM/DD, Month DD, YYYY, and MM/DD/YYYY hh:mm:ss a. Defaults to MM/DD/YYYY."},"height":{"type":"number","format":"float","description":"Height of the field (in pixels). Maximum height varies by field type: Signature/Initials (200px), others (74px). When using text tags if the height is greater than the maximum height, the height will be set to the maximum height."},"width":{"type":"number","format":"float","description":"Width of the field (in pixels). For text fields, width will auto-grow unless `fixed_width` is true."},"options":{"type":"array","description":"Array of dropdown options (for dropdown/select fields only)","items":{"$ref":"#/components/schemas/DropdownOption"}},"default_option":{"type":"string","description":"Default selected option (for dropdown/select fields only)"},"allow_other":{"type":"boolean","description":"Whether to allow \"Other\" option with text input (for dropdown/select fields only)","default":false}},"required":["x","y","page","placeholder_id","type"]}}},"Files":{"type":"array","description":"Document files can be uploaded by specifying a file URL or base64 string. Either `file_url` or `file_base64` must be present (not both). Valid file types are: .pdf, .doc, .docx, .pages, .ppt, .pptx, .key, .xls, .xlsx, .numbers, .jpg, .jpeg, .png, .tiff, .tif, .webp, .html, and .htm","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the file that will be uploaded."},"file_url":{"type":"string","format":"url","description":"Publicly available URL of the file to be uploaded."},"file_base64":{"type":"string","format":"byte","description":"A RFC 4648 base64 string of the file to be uploaded."}},"required":["name"]}},"Limit":{"type":"integer","minimum":1,"maximum":50,"default":10,"description":"The number of documents to fetch. Defaults to 10, max is 50."},"Page":{"type":"integer","minimum":1,"default":1,"description":"The page number for pagination. Defaults to the first page."},"Placeholders":{"type":"array","description":"Placeholders are generally job roles that must complete and/or sign the document. For example, a placeholder might be “Client” or “Legal Department”. When a document is created from the template, you assign a person to each placeholder.","items":{"type":"object","properties":{"id":{"type":"string","description":"A unique identifier that you will give to each placeholder. We recommend numbering sequentially from 1 to X. IDs are required for associating recipients to fields and more."},"name":{"type":"string","description":"Name of the placeholder."},"preassigned_recipient_name":{"type":"string","description":"In some cases, it may be necessary to pre-fill the name and email for a placeholder because it will always be the same person for all documents created from this template. This sets the name."},"preassigned_recipient_email":{"type":"string","format":"email","description":"In some cases, it may be necessary to pre-fill the name and email for a placeholder because it will always be the same person for all documents created from this template. This sets the email."},"passcode_delivery":{"type":"object","description":"Passcode delivery (OTP) settings for this placeholder. When enabled, documents created from this template inherit these settings for the corresponding recipient.","properties":{"enabled":{"type":"boolean","description":"Enable passcode delivery for this recipient."},"methods":{"type":"array","items":{"type":"string","enum":["email"]},"description":"Delivery methods for the passcode. Currently supports: email. Defaults to [\"email\"] when omitted."},"expire_after_access":{"type":"boolean","description":"Whether the passcode expires after the recipient accesses the document. Inherited by documents created from this template."}}}},"required":["id","name"]}},"ReminderRecipients":{"type":"array","description":"Optional list if recipients within the document to send a reminder email to. If none are specified, all recipients that have not signed yet will receive a reminder email.","items":{"type":"object","properties":{"name":{"type":"string","description":"Recipient's name (required if multiple recipients share the same email)."},"email":{"type":"string","format":"email","description":"Recipient's email address."}}}},"UpdateRecipients":{"type":"array","description":"List of recipients to update on the document.","items":{"type":"object","required":["id","name","email"],"properties":{"id":{"type":"string","description":"The recipient's unique identifier from the Get Document response."},"name":{"type":"string","description":"Updated name for the recipient."},"email":{"type":"string","format":"email","example":"jane@example.com","description":"Updated email address for the recipient."},"subject":{"type":"string","description":"Updated email subject for the signature request that this recipient will see."},"message":{"type":"string","description":"Updated email message for the signature request that this recipient will see."},"passcode":{"type":"string","description":"Updated passcode for the recipient. If set, the signer will be required to enter the passcode before viewing and completing the document."},"passcode_delivery":{"type":"object","description":"Passcode delivery settings.","properties":{"enabled":{"type":"boolean","description":"Enable or disable passcode delivery."},"methods":{"type":"array","items":{"type":"string","enum":["email"]},"description":"Delivery methods. Defaults to [\"email\"]."},"expire_after_access":{"type":"boolean","description":"Clear passcode after successful authentication. If passcode_delivery is also enabled, a new passcode is auto-generated on the next send request. Otherwise the recipient will no longer need a passcode."}}}}}},"TemplateFieldValues":{"type":"array","description":"Fields of your template(s) that you can prepopulate with values. Signature and Initials fields cannot be signed through the API.","items":{"type":"object","properties":{"api_id":{"type":"string","description":"The API ID of the field in your template. This field is case sensitive."},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}],"description":"TextField value must be a string or a number."}},"required":["api_id","value"]}},"TemplateId":{"type":"string","format":"uuid","description":"Unique identifier for a template."},"TemplateIds":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Unique identifiers for a list of templates."},"TemplateRecipients":{"type":"array","description":"Document recipients are people that must complete and/or sign a document. Recipients of the document must be assigned to a placeholder of the template. Recipients will inherit all placeholder fields and settings.","items":{"type":"object","properties":{"id":{"type":"string","description":"A unique identifier that you will give to each recipient. We recommend numbering sequentially from 1 to X. IDs are required for associating recipients to fields and more."},"name":{"type":"string","description":"Name of the recipient."},"email":{"type":"string","format":"email","description":"Email address for the recipient.","example":"signer@example.com"},"placeholder_name":{"type":"string","description":"The name of the placeholder you want this recipient assigned to."},"passcode":{"type":"string","description":"If set, signers assigned with a passcode will be required to enter the passcode before they’re able to view and complete the document."},"passcode_delivery":{"type":"object","description":"Passcode delivery settings. When enabled, the system delivers the passcode to the signer via email.","properties":{"enabled":{"type":"boolean","description":"Enable passcode delivery for this recipient."},"methods":{"type":"array","items":{"type":"string","enum":["email"]},"description":"Delivery methods for the passcode. Currently supports: email. Defaults to [\"email\"] when omitted."},"expire_after_access":{"type":"boolean","description":"When enabled, the passcode is cleared after successful authentication. If passcode_delivery is also enabled, a new passcode is auto-generated on the next send request. Otherwise the recipient will no longer need a passcode."}}},"subject":{"type":"string","description":"Email subject for the signature request that the recipient will see. Overrides the general subject for the template."},"message":{"type":"string","description":"Email message for the signature request that the recipient will see. Overrides the general message for the template."},"send_email":{"type":"boolean","default":false,"description":"Applies on when `embedded_signing` is `true`. By default, recipients are not notified through email to sign when doing embedded signing. Setting this to `true`  will send a notification email to the recipient. Default is `false`."},"send_email_delay":{"type":"integer","default":0,"description":"If `send_email` is `true` recipients will receive a new document notification immediately. In the case of embedded signing, you can delay this notification to only send if the document is not completed within a few minutes. The email notification will not go out if the document is completed before the delay time is over. Valid values are in minutes ranging from `0` to `60`. Defaults to `0`."}},"required":["id","email"]}},"UrlOnly":{"type":"boolean","default":false,"description":"Whether to return the URL of the completed PDF or the actual PDF content. Defaults to `false`."},"ObjectOnly":{"type":"boolean","default":false,"description":"If true, returns raw NOM-151 constancia certificate object as JSON instead of a zip file or URL."},"IncludeAuditPage":{"type":"boolean","default":true,"description":"Whether to include the audit page as part of the document. Defaults to `true`"},"FileFormat":{"type":"string","enum":["pdf","zip"],"description":"Format of the file to be downloaded. Supported formats are 'pdf' and 'zip'."},"UserEmail":{"type":"string","format":"email","description":"The email address of the user that sent the Bulk Send. Must have the `admin` or `manager` role to view Bulk Sends of other users. Defaults to the user that the API key belongs to."},"Labels":{"type":"array","description":"Labels can be used to organize documents in a way that can make it easy to find using the document search in SignWell. A document can have multiple labels.","items":{"$ref":"#/components/schemas/LabelRequest"}},"LabelsUpdate":{"type":"array","description":"Labels can be used to organize documents in a way that can make it easy to find using the document search in SignWell. A document can have multiple labels. Updating labels on a document will replace any existing labels for that document.","items":{"$ref":"#/components/schemas/LabelRequest"}},"LabelsResponse":{"type":"array","description":"Labels can be used to organize documents in a way that can make it easy to find using the document search in SignWell. A document can have multiple labels. Updating labels on a document will replace any existing labels for that document.","items":{"$ref":"#/components/schemas/LabelResponse"}},"LabelResponse":{"type":"object","description":"Labels can be used to organize documents and templates in a way that can make it easy to find using the document search/template search in SignWell. Labels can be used to organize documents in a way that can make it easy to find using the document search in SignWell.","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["name"]},"LabelRequest":{"type":"object","description":"Labels can be used to organize documents and templates in a way that can make it easy to find using the document search/template search in SignWell. Labels can be used to organize documents in a way that can make it easy to find using the document search in SignWell.","properties":{"name":{"type":"string"}},"required":["name"]},"DropdownOption":{"oneOf":[{"type":"string","title":"SimpleOption","description":"Simple string option"},{"type":"object","title":"DetailedOption","description":"Detailed option object","properties":{"name":{"type":"string","description":"Option display name"},"api_id":{"type":"string","description":"Unique identifier for the option"},"is_other":{"type":"boolean","description":"Whether this is the special \"Other\" option","default":false}},"required":["name"]}],"description":"A dropdown option - either a simple string or a detailed object with name and optional api_id"},"CreateBulkSendRequest":{"type":"object","properties":{"template_ids":{"type":"array","items":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000"},"description":"Unique identifiers for a list of templates."},"bulk_send_csv":{"type":"string","description":"A RFC 4648 base64 string of the template CSV file to be validated.","example":"bmFtZSxlbWFpbApUZXN0LHRlc3RAZXhhbXBsZS5jb20K"},"skip_row_errors":{"type":"boolean","default":false,"description":"Whether to skip errors in the rows. Defaults to `false`."},"api_application_id":{"type":"string","format":"uuid","description":"Unique identifier for API Application settings to use. API Applications are optional and mainly used when isolating OAuth apps or for more control over embedded API settings"},"name":{"type":"string","description":"The name of the Bulk Send. Will be used as the document name for each of the documents."},"subject":{"type":"string","description":"Email subject for the signature request that recipients will see. Defaults to the default system subject or a template subject."},"message":{"type":"string","description":"Email message for the signature request that recipients will see. Defaults to the default system message or a template message."},"apply_signing_order":{"type":"boolean","default":false,"description":"When set to `true` recipients will sign one at a time in the order of the `recipients` collection of this request."},"custom_requester_name":{"type":"string","description":"Sets the custom requester name for the document. When set, this is the name used for all email communications, signing notifications, and in the audit file."},"custom_requester_email":{"type":"string","format":"email","description":"Sets the custom requester email for the document. When set, this is the email used for all email communications, signing notifications, and in the audit file."}},"required":["template_ids","bulk_send_csv"]},"BulkSendCsvRequest":{"type":"object","properties":{"template_ids":{"type":"array","description":"Specify one or more templates to generate a single blank CSV file that will contain available columns for your recipient data. The template_ids[] parameter is an array of template IDs (e.g.,`/?template_ids[]=5a67dbd7-928a-4ea0-a7e2-e476a0eb045f&template_ids[]=d7315111-c671-4b15-8354-c9a19bbaefa0`). Each ID should be a separate parameter in the query string.","items":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000"}},"bulk_send_csv":{"type":"string","description":"A RFC 4648 base64 string of the template CSV file to be validated.","example":"bmFtZSxlbWFpbApUZXN0LHRlc3RAZXhhbXBsZS5jb20K"}},"required":["template_ids","bulk_send_csv"]},"DocumentRequest":{"type":"object","properties":{"test_mode":{"type":"boolean","default":false,"description":"Set to `true` to enable Test Mode. Documents created with Test Mode do not count towards API billing and are not legally binding. Defaults to `false`"},"files":{"$ref":"#/components/schemas/Files"},"name":{"type":"string","description":"The name of the document."},"subject":{"type":"string","description":"Email subject for the signature request that recipients will see. Defaults to the default system subject or a template subject (if the document is created from a template)."},"message":{"type":"string","description":"Email message for the signature request that recipients will see. Defaults to the default system message or a template message (if the document is created from a template)."},"recipients":{"$ref":"#/components/schemas/Recipients"},"draft":{"type":"boolean","default":false,"description":"Whether the document can still be updated before sending a signature request. If set to `false` the document is sent for signing as part of this request. Defaults to `false`."},"self_sign":{"type":"boolean","default":false,"description":"When set to true the document will enter self-sign mode, which allows the document creator to sign and complete a document without any field setup. Must use the embedded_edit_url in the response and (if embedding) the embedded requesting workflow."},"with_signature_page":{"type":"boolean","default":false,"description":"When set to `true` the document will have a signature page added to the end, and all signers will be required to add their signature on that page."},"expires_in":{"type":"integer","minimum":1,"description":"Number of days before the signature request expires. Defaults to the account expiration setting or template expiration (if the document is created from a template)."},"reminders":{"type":"boolean","default":true,"description":"Whether to send signing reminders to recipients. Reminders are sent on day 3, day 6, and day 10 if set to `true`. Defaults to `true`."},"apply_signing_order":{"type":"boolean","default":false,"description":"When set to `true` recipients will sign one at a time in the order of the `recipients` collection of this request."},"api_application_id":{"type":"string","format":"uuid","description":"Unique identifier for API Application settings to use. API Applications are optional and mainly used when isolating OAuth apps or for more control over embedded API settings"},"embedded_signing":{"type":"boolean","default":false,"description":"When set to `true` it enables embedded signing in your website/web application. Embedded functionality works with an iFrame and email authentication is disabled. :embedded_signinig defaults to `false`."},"embedded_signing_notifications":{"type":"boolean","default":false,"description":"On embedding signing, document owners (and CC'd contacts) do not get a notification email when documents have been completed. Setting this param to `true` will send out those final completed notifications. Default is `false`"},"text_tags":{"type":"boolean","default":false,"description":"An alternative way (if you can’t use the recommended way) of placing fields in specific locations of your document by using special text tags. Useful when changing the content of your files changes the location of fields. See API documentation for “Text Tags” for details. Defaults to false."},"custom_requester_name":{"type":"string","description":"Sets the custom requester name for the document. When set, this is the name used for all email communications, signing notifications, and in the audit file."},"custom_requester_email":{"type":"string","format":"email","description":"Sets the custom requester email for the document. When set, this is the email used for all email communications, signing notifications, and in the audit file."},"redirect_url":{"type":"string","format":"url","description":"A URL that recipients are redirected to after successfully signing a document."},"allow_decline":{"type":"boolean","default":true,"description":"Whether to allow recipients the option to decline signing a document. If multiple signers are involved in a document, any single recipient can cancel the entire document signing process by declining to sign."},"allow_reassign":{"type":"boolean","default":true,"description":"In some cases a signer is not the right person to sign and may need to reassign their signing responsibilities to another person. This feature allows them to reassign the document to someone else."},"decline_redirect_url":{"type":"string","format":"url","description":"A URL that recipients are redirected to if the document is declined."},"language":{"type":"string","description":"Sets the language for all recipients on the document and updates all recipient side interactions including the document email and the document itself. Accepted languages: English, Français, Español, Deutsch, Polski, Português, Dansk, Nederlands, Italiano, Русский, Svenska, العربية, Ελληνικά, Türkçe, Slovenčina. Defaults to English. Language should be sent in ISO 639-1 format: en, fr, es, de, pl, pt, da, nl, it, ru, sv, ar, el, tr, sk."},"conditional_rules":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalRuleRequest"},"description":"Conditional logic rules that show, hide, or require fields based on what a signer does to other fields. Every identifier is a field api_id. At most 10 rules per document or template."},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional key-value data that can be associated with the document. If set, will be available every time the document data is returned."},"fields":{"$ref":"#/components/schemas/Fields"},"attachment_requests":{"$ref":"#/components/schemas/AttachmentRequests"},"copied_contacts":{"$ref":"#/components/schemas/CopiedContacts"},"labels":{"$ref":"#/components/schemas/Labels"},"checkbox_groups":{"$ref":"#/components/schemas/CheckboxGroups"}},"required":["files","recipients"]},"DocumentFromTemplateRequest":{"type":"object","properties":{"test_mode":{"type":"boolean","default":false,"description":"Set to `true` to enable Test Mode. Documents created with Test Mode do not count towards API billing and are not legally binding. Defaults to `false`"},"template_id":{"type":"string","format":"uuid","description":"Use when you have to create a document from a single template. Either :template_id or :template_ids must be present in the request, not both."},"template_ids":{"type":"array","description":"Use when you have to create a document from multiple templates. Either :template_id or :template_ids must be present in the request, not both.","items":{"type":"string"}},"name":{"type":"string","description":"The name of the document."},"subject":{"type":"string","description":"Email subject for the signature request that recipients will see. Defaults to the default system subject or a template subject (if the document is created from a template)."},"message":{"type":"string","description":"Email message for the signature request that recipients will see. Defaults to the default system message or a template message (if the document is created from a template)."},"recipients":{"$ref":"#/components/schemas/TemplateRecipients"},"exclude_placeholders":{"type":"array","description":"Exclude one or more template placeholders when creating a document from a template. Any excluded placeholders (and their associated recipients and fields) will not be included on the created document. Values must match placeholder names on the template. You can't exclude all placeholders (at least one recipient must remain).","items":{"type":"string"}},"draft":{"type":"boolean","default":false,"description":"Whether the document can still be updated before sending a signature request. If set to `false` the document is sent for signing as part of this request. Defaults to `false`."},"with_signature_page":{"type":"boolean","default":false,"description":"When set to `true` the document will have a signature page added to the end, and all signers will be required to add their signature on that page."},"expires_in":{"type":"integer","minimum":1,"description":"Number of days before the signature request expires. Defaults to the account expiration setting or template expiration (if the document is created from a template)."},"reminders":{"type":"boolean","default":true,"description":"Whether to send signing reminders to recipients. Reminders are sent on day 3, day 6, and day 10 if set to `true`. Defaults to `true`."},"apply_signing_order":{"type":"boolean","default":false,"description":"When set to `true` recipients will sign one at a time in the order of the `recipients` collection of this request."},"api_application_id":{"type":"string","format":"uuid","description":"Unique identifier for API Application settings to use. API Applications are optional and mainly used when isolating OAuth apps or for more control over embedded API settings"},"embedded_signing":{"type":"boolean","default":false,"description":"When set to `true` it enables embedded signing in your website/web application. Embedded functionality works with an iFrame and email authentication is disabled. :embedded_signinig defaults to `false`."},"embedded_signing_notifications":{"type":"boolean","default":false,"description":"On embedding signing, document owners (and CC'd contacts) do not get a notification email when documents have been completed. Setting this param to `true` will send out those final completed notifications. Default is `false`"},"text_tags":{"type":"boolean","default":false,"description":"An alternative way (if you can’t use the recommended way) of placing fields in specific locations of your document by using special text tags. Useful when changing the content of your files changes the location of fields. See API documentation for “Text Tags” for details. Defaults to false."},"custom_requester_name":{"type":"string","description":"Sets the custom requester name for the document. When set, this is the name used for all email communications, signing notifications, and in the audit file."},"custom_requester_email":{"type":"string","format":"email","description":"Sets the custom requester email for the document. When set, this is the email used for all email communications, signing notifications, and in the audit file."},"redirect_url":{"type":"string","format":"url","description":"A URL that recipients are redirected to after successfully signing a document."},"allow_decline":{"type":"boolean","default":true,"description":"Whether to allow recipients the option to decline signing a document. If multiple signers are involved in a document, any single recipient can cancel the entire document signing process by declining to sign."},"allow_reassign":{"type":"boolean","default":true,"description":"In some cases a signer is not the right person to sign and may need to reassign their signing responsibilities to another person. This feature allows them to reassign the document to someone else."},"decline_redirect_url":{"type":"string","format":"url","description":"A URL that recipients are redirected to if the document is declined."},"language":{"type":"string","description":"Sets the language for all recipients on the document and updates all recipient side interactions including the document email and the document itself. Accepted languages: English, Français, Español, Deutsch, Polski, Português, Dansk, Nederlands, Italiano, Русский, Svenska, العربية, Ελληνικά, Türkçe, Slovenčina. Defaults to English. Language should be sent in ISO 639-1 format: en, fr, es, de, pl, pt, da, nl, it, ru, sv, ar, el, tr, sk."},"conditional_rules":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalRuleRequest"},"description":"Conditional logic rules that show, hide, or require fields based on what a signer does to other fields. Every identifier is a field api_id. At most 10 rules per document or template."},"conditional_rules_mode":{"type":"string","enum":["replace","append","none"],"description":"When creating a document from a template, controls how the conditional_rules in the request reconcile with the template's inherited rules: `replace` (drop inherited, use the body's rules), `append` (keep inherited, add the body's rules), or `none` (clear all rules). Required when sending conditional_rules that should not simply inherit."},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional key-value data that can be associated with the document. If set, will be available every time the document data is returned."},"template_fields":{"$ref":"#/components/schemas/TemplateFieldValues"},"files":{"$ref":"#/components/schemas/AdditionalFiles"},"fields":{"$ref":"#/components/schemas/AdditionalFields"},"attachment_requests":{"$ref":"#/components/schemas/AttachmentRequests"},"copied_contacts":{"$ref":"#/components/schemas/CopiedContacts"},"labels":{"$ref":"#/components/schemas/LabelsUpdate"},"checkbox_groups":{"$ref":"#/components/schemas/CheckboxGroups"}},"required":["recipients"]},"UpdateDocumentAndSendRequest":{"type":"object","properties":{"test_mode":{"type":"boolean","default":false,"description":"Set to `true` to enable Test Mode. Documents created with Test Mode do not count towards API billing and are not legally binding. Defaults to `false`"},"name":{"type":"string","description":"The name of the document."},"subject":{"type":"string","description":"Email subject for the signature request that recipients will see. Defaults to the default system subject or a template subject (if the document is created from a template)."},"message":{"type":"string","description":"Email message for the signature request that recipients will see. Defaults to the default system message or a template message (if the document is created from a template)."},"expires_in":{"type":"integer","minimum":1,"description":"Number of days before the signature request expires. Defaults to the account expiration setting or template expiration (if the document is created from a template)."},"reminders":{"type":"boolean","default":true,"description":"Whether to send signing reminders to recipients. Reminders are sent on day 3, day 6, and day 10 if set to `true`. Defaults to `true`."},"apply_signing_order":{"type":"boolean","default":false,"description":"When set to `true` recipients will sign one at a time in the order of the `recipients` collection of this request."},"api_application_id":{"type":"string","format":"uuid","description":"Unique identifier for API Application settings to use. API Applications are optional and mainly used when isolating OAuth apps or for more control over embedded API settings"},"embedded_signing":{"type":"boolean","default":false,"description":"When set to `true` it enables embedded signing in your website/web application. Embedded functionality works with an iFrame and email authentication is disabled. :embedded_signinig defaults to `false`."},"embedded_signing_notifications":{"type":"boolean","default":false,"description":"On embedding signing, document owners (and CC'd contacts) do not get a notification email when documents have been completed. Setting this param to `true` will send out those final completed notifications. Default is `false`"},"custom_requester_name":{"type":"string","description":"Sets the custom requester name for the document. When set, this is the name used for all email communications, signing notifications, and in the audit file."},"custom_requester_email":{"type":"string","format":"email","description":"Sets the custom requester email for the document. When set, this is the email used for all email communications, signing notifications, and in the audit file."},"redirect_url":{"type":"string","format":"url","description":"A URL that recipients are redirected to after successfully signing a document."},"allow_decline":{"type":"boolean","default":true,"description":"Whether to allow recipients the option to decline signing a document. If multiple signers are involved in a document, any single recipient can cancel the entire document signing process by declining to sign."},"allow_reassign":{"type":"boolean","default":true,"description":"In some cases a signer is not the right person to sign and may need to reassign their signing responsibilities to another person. This feature allows them to reassign the document to someone else."},"decline_redirect_url":{"type":"string","format":"url","description":"A URL that recipients are redirected to if the document is declined."},"conditional_rules":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalRuleRequest"},"description":"Conditional logic rules that show, hide, or require fields based on what a signer does to other fields. Every identifier is a field api_id. At most 10 rules per document or template."},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional key-value data that can be associated with the document. If set, will be available every time the document data is returned."},"labels":{"$ref":"#/components/schemas/LabelsUpdate"},"checkbox_groups":{"$ref":"#/components/schemas/CheckboxGroups"}}},"SendReminderRequest":{"type":"object","properties":{"recipients":{"$ref":"#/components/schemas/ReminderRecipients"}}},"UpdateRecipientsRequest":{"type":"object","properties":{"recipients":{"$ref":"#/components/schemas/UpdateRecipients"}},"required":["recipients"]},"UpdateAuthenticationRequest":{"type":"object","properties":{"recipients":{"type":"array","description":"Recipients whose authentication settings should be updated.","items":{"type":"object","properties":{"id":{"type":"string","description":"A unique identifier that you will give to each recipient. We recommend numbering sequentially from 1 to X. IDs are required for associating recipients to fields and more."},"passcode":{"type":"string","description":"Updated passcode for the recipient. If set, the signer will be required to enter the passcode before viewing and completing the document."},"passcode_delivery":{"type":"object","description":"Passcode delivery settings.","properties":{"enabled":{"type":"boolean","description":"Enable or disable passcode delivery."},"methods":{"type":"array","items":{"type":"string","enum":["email"]},"description":"Delivery methods. Defaults to [\"email\"]."},"expire_after_access":{"type":"boolean","description":"Clear passcode after successful authentication. If passcode_delivery is also enabled, a new passcode is auto-generated on the next send request. Otherwise the recipient will no longer need a passcode."}}}},"required":["id"]}}},"required":["recipients"]},"DocumentTemplateRequest":{"type":"object","properties":{"files":{"$ref":"#/components/schemas/Files"},"name":{"type":"string","description":"The name of the template."},"subject":{"type":"string","description":"Email subject for the signature request that recipients will see. Defaults to the default system subject or a template subject (if the document is created from a template)."},"message":{"type":"string","description":"Email message for the signature request that recipients will see. Defaults to the default system message or a template message (if the document is created from a template)."},"placeholders":{"$ref":"#/components/schemas/Placeholders"},"copied_placeholders":{"$ref":"#/components/schemas/CopiedPlaceholders"},"draft":{"type":"boolean","default":false,"description":"Whether the template can still be updated before it is ready for usage. If set to `false` the template is marked as `Available` and it will be ready for use. Defaults to `false`."},"expires_in":{"type":"integer","minimum":1,"description":"Number of days before the signature request expires. Defaults to the account expiration setting or template expiration (if the document is created from a template)."},"reminders":{"type":"boolean","default":true,"description":"Whether to send signing reminders to recipients. Reminders are sent on day 3, day 6, and day 10 if set to `true`. Defaults to `true`."},"apply_signing_order":{"type":"boolean","default":false,"description":"When set to `true` recipients will sign one at a time in the order of the `recipients` collection of this request."},"api_application_id":{"type":"string","format":"uuid","description":"Unique identifier for API Application settings to use. API Applications are optional and mainly used when isolating OAuth apps or for more control over embedded API settings"},"text_tags":{"type":"boolean","default":false,"description":"An alternative way (if you can’t use the recommended way) of placing fields in specific locations of your document by using special text tags. Useful when changing the content of your files changes the location of fields. See API documentation for “Text Tags” for details. Defaults to false."},"redirect_url":{"type":"string","format":"url","description":"A URL that recipients are redirected to after successfully signing a document."},"allow_decline":{"type":"boolean","default":true,"description":"Whether to allow recipients the option to decline signing a document. If multiple signers are involved in a document, any single recipient can cancel the entire document signing process by declining to sign."},"allow_reassign":{"type":"boolean","default":true,"description":"In some cases a signer is not the right person to sign and may need to reassign their signing responsibilities to another person. This feature allows them to reassign the document to someone else."},"decline_redirect_url":{"type":"string","format":"url","description":"A URL that recipients are redirected to if the document is declined."},"language":{"type":"string","description":"Sets the language for the template and documents created from the template for all recipient side interactions including the document email and the document itself. Accepted languages: English, Français, Español, Deutsch, Polski, Português, Dansk, Nederlands, Italiano, Русский, Svenska, العربية, Ελληνικά, Türkçe, Slovenčina. Language should be sent in ISO 639-1 format: en, fr, es, de, pl, pt, da, nl, it, ru, sv, ar, el, tr, sk."},"conditional_rules":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalRuleRequest"},"description":"Conditional logic rules that show, hide, or require fields based on what a signer does to other fields. Every identifier is a field api_id. At most 10 rules per document or template."},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional key-value data that can be associated with the document. If set, will be available every time the document data is returned."},"fields":{"$ref":"#/components/schemas/TemplateFields"},"attachment_requests":{"$ref":"#/components/schemas/TemplateAttachmentRequests"},"labels":{"$ref":"#/components/schemas/Labels"},"checkbox_groups":{"$ref":"#/components/schemas/TemplateCheckboxGroups"}},"required":["files","placeholders"]},"DocumentTemplateUpdateRequest":{"type":"object","properties":{"name":{"type":"string","description":"The name of the template."},"subject":{"type":"string","description":"Email subject for the signature request that recipients will see. Defaults to the default system subject or a template subject (if the document is created from a template)."},"message":{"type":"string","description":"Email message for the signature request that recipients will see. Defaults to the default system message or a template message (if the document is created from a template)."},"draft":{"type":"boolean","default":false,"description":"Whether the template can still be updated before it is ready for usage. If set to `false` the template is marked as `Available` and it will be ready for use. Defaults to `false`."},"expires_in":{"type":"integer","minimum":1,"description":"Number of days before the signature request expires. Defaults to the account expiration setting or template expiration (if the document is created from a template)."},"reminders":{"type":"boolean","default":true,"description":"Whether to send signing reminders to recipients. Reminders are sent on day 3, day 6, and day 10 if set to `true`. Defaults to `true`."},"apply_signing_order":{"type":"boolean","default":false,"description":"When set to `true` recipients will sign one at a time in the order of the `recipients` collection of this request."},"api_application_id":{"type":"string","format":"uuid","description":"Unique identifier for API Application settings to use. API Applications are optional and mainly used when isolating OAuth apps or for more control over embedded API settings"},"redirect_url":{"type":"string","format":"url","description":"A URL that recipients are redirected to after successfully signing a document."},"allow_decline":{"type":"boolean","default":true,"description":"Whether to allow recipients the option to decline signing a document. If multiple signers are involved in a document, any single recipient can cancel the entire document signing process by declining to sign."},"allow_reassign":{"type":"boolean","default":true,"description":"In some cases a signer is not the right person to sign and may need to reassign their signing responsibilities to another person. This feature allows them to reassign the document to someone else."},"decline_redirect_url":{"type":"string","format":"url","description":"A URL that recipients are redirected to if the document is declined."},"conditional_rules":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalRuleRequest"},"description":"Conditional logic rules that show, hide, or require fields based on what a signer does to other fields. Every identifier is a field api_id. At most 10 rules per document or template."},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional key-value data that can be associated with the document. If set, will be available every time the document data is returned."},"labels":{"$ref":"#/components/schemas/LabelsUpdate"},"checkbox_groups":{"$ref":"#/components/schemas/TemplateCheckboxGroups"}}},"CompletedPdfResponse":{"oneOf":[{"$ref":"#/components/schemas/JSON"},{"$ref":"#/components/schemas/PDF"},{"$ref":"#/components/schemas/ZIP"}]},"Nom151CertificateResponse":{"type":"object","description":"NOM-151 certificate data returned when object_only=true","properties":{"nom151":{"type":"object","properties":{"status":{"type":"string","description":"Certificate status (pending, issued, failed)"},"transactionId":{"type":"string","description":"RSA signature / Transaction ID"},"hash":{"type":"string","description":"Document digest (SHA-256 hash)"},"folio":{"type":"string","description":"Certificate number / Folio"},"issuedAt":{"type":"string","format":"date-time","description":"Certificate issuance timestamp"},"provider":{"type":"string","description":"Certificate provider (e.g., SeguriData)"},"validationUrl":{"type":"string","format":"url","description":"URL to validate the certificate"},"constancia":{"type":"string","description":"Base64-encoded certificate file"}},"required":["status","transactionId","hash","folio","issuedAt","provider","validationUrl","constancia"]}},"required":["nom151"]},"Nom151UrlResponse":{"type":"object","description":"NOM-151 download URL returned when url_only=true","properties":{"file_url":{"type":"string","format":"url","description":"Public URL to download the certificate ZIP file"}},"required":["file_url"]},"DocumentResponse":{"type":"object","properties":{"test_mode":{"type":"boolean"},"id":{"type":"string"},"api_application_id":{"type":"string","format":"uuid","nullable":true},"requester_email_address":{"type":"string","format":"email"},"custom_requester_name":{"type":"string","nullable":true},"custom_requester_email":{"type":"string","format":"email","nullable":true},"name":{"type":"string"},"subject":{"type":"string"},"message":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"recipients":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"body":{"type":"string"},"message":{"type":"string","nullable":true},"subject":{"type":"string","nullable":true},"send_email":{"type":"boolean","nullable":true},"send_email_delay":{"type":"integer","nullable":true},"signing_order":{"type":"integer"},"signing_url":{"type":"string","format":"url","nullable":true},"embedded_signing_url":{"type":"string","format":"url","nullable":true},"bounced":{"type":"boolean","nullable":true},"bounced_details":{"type":"string","nullable":true},"attachment_requests":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentRequestInfo"}},"passcode":{"type":"string","nullable":true},"passcode_delivery":{"type":"object","properties":{"enabled":{"type":"boolean"},"methods":{"type":"array","items":{"type":"string"},"nullable":true},"expire_after_access":{"type":"boolean"}}},"status":{"type":"string","nullable":true}},"required":["name","email"]}},"status":{"type":"string","description":"Possible values: Draft, Created, Sending, Sent, Pending, Viewed, Completed, Manually completed, Declined, Canceled, Bounced, Blocked, Error, Expired"},"reminders":{"type":"boolean"},"archived":{"type":"boolean"},"embedded_signing":{"type":"boolean"},"embedded_edit_url":{"type":"string","format":"url","nullable":true},"embedded_preview_url":{"type":"string","format":"url","nullable":true},"apply_signing_order":{"type":"boolean"},"redirect_url":{"type":"string","format":"url","nullable":true},"decline_redirect_url":{"type":"string","format":"url","nullable":true},"language":{"type":"string"},"expires_in":{"type":"integer"},"decline_message":{"type":"string","nullable":true},"error_message":{"type":"string","nullable":true},"template_id":{"type":"string","nullable":true},"template_ids":{"type":"array","items":{"type":"string"}},"embedded_signing_notifications":{"type":"boolean"},"attachment_requests":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"recipient_id":{"type":"string"},"required":{"type":"boolean"}},"required":["name","recipient_id"]}},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileInfo"}},"copied_contacts":{"type":"array","items":{"$ref":"#/components/schemas/CopiedContactInfo"}},"fields":{"type":"array","items":{"type":"array","items":{"type":"object","properties":{"x":{"type":"number","format":"float"},"y":{"type":"number","format":"float"},"page":{"type":"integer"},"recipient":{"type":"object","properties":{"email":{"type":"string","format":"email"},"name":{"type":"string"}},"required":["email","name"]},"api_id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"date_format":{"$ref":"#/components/schemas/DateFormat"},"fixed_width":{"type":"boolean"},"formula":{"type":"string"},"label":{"type":"string"},"lock_sign_date":{"type":"boolean"},"required":{"type":"boolean"},"type":{"$ref":"#/components/schemas/FieldType"},"validation":{"$ref":"#/components/schemas/TextValidation"},"validation_regex":{"$ref":"#/components/schemas/ValidationRegex"},"validation_regex_error_message":{"$ref":"#/components/schemas/ValidationRegexErrorMessage"},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}],"nullable":true},"height":{"type":"string"},"width":{"type":"string"},"recipient_id":{"type":"string","nullable":true},"signing_elements_group_id":{"type":"string","format":"uuid"},"placeholder_name":{"type":"string"},"options":{"type":"array","description":"Dropdown options (for dropdown/select fields)","items":{"type":"object","properties":{"name":{"type":"string"},"api_id":{"type":"string"},"is_other":{"type":"boolean"}}}},"default_option":{"type":"string","description":"Default selected option"},"allow_other":{"type":"boolean","description":"Whether \"Other\" option is allowed"}},"required":["x","y","page"]}}},"allow_decline":{"type":"boolean","nullable":true},"allow_reassign":{"type":"boolean","nullable":true},"labels":{"type":"array","items":{"$ref":"#/components/schemas/LabelInfo"}},"checkbox_groups":{"type":"array","items":{"$ref":"#/components/schemas/CheckboxGroupInfo"}},"conditional_rules":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalRuleInfo"}},"conditional_logic_decisions":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalLogicDecisionInfo"}}},"required":["id","test_mode"]},"DocumentTemplateResponse":{"type":"object","properties":{"id":{"type":"string"},"api_application_id":{"type":"string","format":"uuid","nullable":true},"requester_email_address":{"type":"string","format":"email"},"custom_requester_name":{"type":"string","nullable":true},"custom_requester_email":{"type":"string","format":"email","nullable":true},"name":{"type":"string"},"subject":{"type":"string"},"message":{"type":"string"},"metadata":{"type":"object","nullable":true,"additionalProperties":{"type":"string"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"placeholders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"subject":{"type":"string","nullable":true},"message":{"type":"string","nullable":true},"preassigned_recipient_name":{"type":"string"},"preassigned_recipient_email":{"type":"string"},"signing_order":{"type":"integer"},"attachment_requests":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentRequestInfo"}},"passcode_delivery":{"type":"object","properties":{"enabled":{"type":"boolean"},"methods":{"type":"array","items":{"type":"string"},"nullable":true},"expire_after_access":{"type":"boolean"}}}},"required":["name"]}},"copied_placeholders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"placeholder_id":{"type":"string"},"name":{"type":"string"},"subject":{"type":"string","nullable":true},"message":{"type":"string","nullable":true},"preassigned_recipient_name":{"type":"string"},"preassigned_recipient_email":{"type":"string"}},"required":["name"]}},"status":{"type":"string"},"reminders":{"type":"boolean","nullable":true},"archived":{"type":"boolean"},"embedded_edit_url":{"type":"string","format":"url","nullable":true},"template_link":{"type":"string","format":"url"},"template_id":{"type":"string","nullable":true},"apply_signing_order":{"type":"boolean"},"redirect_url":{"type":"string","format":"url","nullable":true},"decline_redirect_url":{"type":"string","format":"url","nullable":true},"language":{"type":"string"},"expires_in":{"type":"integer","nullable":true},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileInfo"}},"fields":{"type":"array","items":{"type":"array","items":{"type":"object","properties":{"x":{"type":"number","format":"float"},"y":{"type":"number","format":"float"},"page":{"type":"integer"},"recipient":{"type":"object","properties":{"email":{"type":"string","format":"email"},"name":{"type":"string"}},"required":["email","name"]},"api_id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"date_format":{"$ref":"#/components/schemas/DateFormat"},"fixed_width":{"type":"boolean"},"formula":{"type":"string"},"label":{"type":"string"},"lock_sign_date":{"type":"boolean"},"required":{"type":"boolean"},"type":{"$ref":"#/components/schemas/FieldType"},"validation":{"$ref":"#/components/schemas/TextValidation"},"validation_regex":{"$ref":"#/components/schemas/ValidationRegex"},"validation_regex_error_message":{"$ref":"#/components/schemas/ValidationRegexErrorMessage"},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}],"nullable":true},"height":{"type":"string"},"width":{"type":"string"},"recipient_id":{"type":"string","nullable":true},"signing_elements_group_id":{"type":"string","format":"uuid"},"placeholder_name":{"type":"string"},"options":{"type":"array","description":"Dropdown options (for dropdown/select fields)","items":{"type":"object","properties":{"name":{"type":"string"},"api_id":{"type":"string"},"is_other":{"type":"boolean"}}}},"default_option":{"type":"string","description":"Default selected option"},"allow_other":{"type":"boolean","description":"Whether \"Other\" option is allowed"}},"required":["x","y","page"]}}},"allow_decline":{"type":"boolean","nullable":true},"allow_reassign":{"type":"boolean","nullable":true},"labels":{"type":"array","items":{"$ref":"#/components/schemas/LabelInfo"}},"checkbox_groups":{"type":"array","items":{"$ref":"#/components/schemas/CheckboxGroupInfo"}},"conditional_rules":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalRuleInfo"}}},"required":["id"]},"DocumentFromTemplateResponse":{"type":"object","properties":{"test_mode":{"type":"boolean"},"id":{"type":"string"},"template_id":{"type":"string"},"template_ids":{"type":"array","items":{"type":"string"}},"api_application_id":{"type":"string","format":"uuid","nullable":true},"requester_email_address":{"type":"string","format":"email"},"custom_requester_name":{"type":"string","nullable":true},"custom_requester_email":{"type":"string","format":"email","nullable":true},"name":{"type":"string"},"subject":{"type":"string"},"message":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"recipients":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"},"message":{"type":"string","nullable":true},"subject":{"type":"string","nullable":true},"send_email":{"type":"boolean","nullable":true},"send_email_delay":{"type":"integer","nullable":true},"signing_order":{"type":"integer"},"signing_url":{"type":"string","format":"url","nullable":true},"embedded_signing_url":{"type":"string","format":"url","nullable":true},"bounced":{"type":"boolean","nullable":true},"bounced_details":{"type":"string","nullable":true},"attachment_requests":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentRequestInfo"}},"passcode":{"type":"string","nullable":true},"passcode_delivery":{"type":"object","properties":{"enabled":{"type":"boolean"},"methods":{"type":"array","items":{"type":"string"},"nullable":true},"expire_after_access":{"type":"boolean"}}},"status":{"type":"string"},"placeholder_name":{"type":"string"}},"required":["email"]}},"status":{"type":"string","description":"Possible values: Draft, Created, Sending, Sent, Pending, Viewed, Completed, Manually completed, Declined, Canceled, Bounced, Blocked, Error, Expired"},"reminders":{"type":"boolean"},"archived":{"type":"boolean"},"embedded_signing":{"type":"boolean"},"embedded_edit_url":{"type":"string","format":"url"},"embedded_preview_url":{"type":"string","format":"url","nullable":true},"apply_signing_order":{"type":"boolean"},"redirect_url":{"type":"string","format":"url","nullable":true},"decline_redirect_url":{"type":"string","format":"url","nullable":true},"language":{"type":"string"},"expires_in":{"type":"integer"},"decline_message":{"type":"string","nullable":true},"error_message":{"type":"string","nullable":true},"embedded_signing_notifications":{"type":"boolean"},"attachment_requests":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"recipient_id":{"type":"string"},"required":{"type":"boolean"}},"required":["name","recipient_id"]}},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileInfo"}},"copied_contacts":{"type":"array","items":{"$ref":"#/components/schemas/CopiedContactInfo"}},"fields":{"type":"array","items":{"type":"array","items":{"type":"object","properties":{"x":{"type":"number","format":"float"},"y":{"type":"number","format":"float"},"page":{"type":"integer"},"recipient":{"type":"object","properties":{"email":{"type":"string","format":"email"},"name":{"type":"string"},"role":{"type":"string"}},"required":["email","name"]},"api_id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"date_format":{"$ref":"#/components/schemas/DateFormat"},"fixed_width":{"type":"boolean"},"formula":{"type":"string"},"label":{"type":"string"},"lock_sign_date":{"type":"boolean"},"required":{"type":"boolean"},"type":{"$ref":"#/components/schemas/FieldType"},"validation":{"$ref":"#/components/schemas/TextValidation"},"validation_regex":{"$ref":"#/components/schemas/ValidationRegex"},"validation_regex_error_message":{"$ref":"#/components/schemas/ValidationRegexErrorMessage"},"value":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}],"nullable":true},"height":{"type":"string"},"width":{"type":"string"},"recipient_id":{"type":"string","nullable":true},"signing_elements_group_id":{"type":"string","format":"uuid"},"placeholder_name":{"type":"string"},"options":{"type":"array","description":"Dropdown options (for dropdown/select fields)","items":{"type":"object","properties":{"name":{"type":"string"},"api_id":{"type":"string"},"is_other":{"type":"boolean"}}}},"default_option":{"type":"string","description":"Default selected option"},"allow_other":{"type":"boolean","description":"Whether \"Other\" option is allowed"}},"required":["x","y","page"]}}},"allow_decline":{"type":"boolean","nullable":true},"allow_reassign":{"type":"boolean","nullable":true},"labels":{"type":"array","items":{"$ref":"#/components/schemas/LabelInfo"}},"checkbox_groups":{"type":"array","items":{"$ref":"#/components/schemas/CheckboxGroupInfo"}},"conditional_rules":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalRuleInfo"}},"conditional_logic_decisions":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalLogicDecisionInfo"}}},"required":["id","test_mode"]},"PaginationMeta":{"type":"object","description":"Pagination metadata for list responses","properties":{"current_page":{"type":"integer","description":"Current page number"},"next_page":{"type":"integer","nullable":true,"description":"Next page number, null if on last page"},"previous_page":{"type":"integer","nullable":true,"description":"Previous page number, null if on first page"},"total_count":{"type":"integer","description":"Total number of records"},"total_pages":{"type":"integer","description":"Total number of pages"}},"required":["current_page","total_count","total_pages"]},"DocumentListResponse":{"type":"object","description":"List of documents with pagination","properties":{"documents":{"type":"array","items":{"$ref":"#/components/schemas/DocumentResponse"}},"current_page":{"type":"integer"},"next_page":{"type":"integer","nullable":true},"previous_page":{"type":"integer","nullable":true},"total_count":{"type":"integer"},"total_pages":{"type":"integer"}},"required":["documents","current_page","total_count","total_pages"]},"DocumentTemplateListResponse":{"type":"object","description":"List of templates with pagination","properties":{"templates":{"type":"array","items":{"$ref":"#/components/schemas/DocumentTemplateResponse"}},"current_page":{"type":"integer"},"next_page":{"type":"integer","nullable":true},"previous_page":{"type":"integer","nullable":true},"total_count":{"type":"integer"},"total_pages":{"type":"integer"}},"required":["templates","current_page","total_count","total_pages"]},"BulkSendListItem":{"type":"object","description":"Bulk send summary in list responses","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"api_application_id":{"type":"string","format":"uuid","nullable":true},"documents_count":{"type":"integer"},"documents_completed":{"type":"integer"},"documents_not_completed":{"type":"integer"},"created_at":{"type":"string","format":"date-time"},"user_id":{"type":"string","format":"uuid","nullable":true},"status":{"type":"string"},"template_ids":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["id","name","documents_count","documents_completed","documents_not_completed","created_at","status","template_ids"]},"BulkSendListResponse":{"type":"object","description":"List of bulk sends with pagination","properties":{"bulk_sends":{"type":"array","items":{"$ref":"#/components/schemas/BulkSendListItem"}},"current_page":{"type":"integer"},"next_page":{"type":"integer","nullable":true},"previous_page":{"type":"integer","nullable":true},"total_count":{"type":"integer"},"total_pages":{"type":"integer"}},"required":["bulk_sends","current_page","total_count","total_pages"]},"AccountInfoResponse":{"type":"object","description":"Account or workspace information","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"plan_tier":{"type":"string"},"active_templates":{"type":"integer"},"can_create_template":{"type":"boolean"},"can_create_tracking_document":{"type":"boolean"},"can_create_completion_document":{"type":"boolean"},"active_users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"has_google_registration":{"type":"boolean"}},"required":["id","name","email"]}},"preferences":{"type":"object","properties":{"date_format":{"type":"string"},"days_until_links_expire":{"type":"integer"},"disable_apply_everywhere":{"type":"boolean"},"disable_apply_everywhere_effective":{"type":"boolean"},"disable_drawn_signatures":{"type":"boolean"},"disable_typed_signatures":{"type":"boolean"},"disable_uploaded_signatures":{"type":"boolean"},"enable_redirect":{"type":"boolean"},"hide_document_id_in_audit":{"type":"boolean"},"mute_branding":{"type":"boolean"},"redirect_url":{"type":"string","nullable":true},"separate_audit_pdf":{"type":"boolean"},"separate_completed_file":{"type":"boolean"},"enable_nom151_compliance":{"type":"boolean"}}}},"required":["id","name","plan_tier"]},"MeResponse":{"type":"object","description":"Account information associated with the API key","properties":{"id":{"type":"string","format":"uuid","description":"Membership ID"},"role":{"type":"string","description":"Role within the account (e.g. owner, admin, member)"},"archived":{"type":"boolean"},"user":{"type":"object","description":"The authenticated user","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"has_google_registration":{"type":"boolean"},"first_name":{"type":"string"},"preferences":{"type":"object","properties":{"sales_document":{"type":"boolean"},"time_zone":{"type":"string"},"smart_fields":{"type":"boolean"}}}},"required":["id","name","email"]},"account":{"$ref":"#/components/schemas/AccountInfoResponse"},"workspace":{"$ref":"#/components/schemas/AccountInfoResponse"},"contact":{"type":"object","description":"The contact record for the authenticated user","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"name":{"type":"string"},"company_name":{"type":"string","nullable":true},"phone_number":{"type":"string","nullable":true},"alt_phone_number":{"type":"string","nullable":true},"website":{"type":"string","nullable":true},"initials":{"type":"string"},"archived":{"type":"boolean"}},"required":["id","email","name"]}},"required":["id","role","user","account","workspace","contact"]},"ApiApplicationResponse":{"type":"object","description":"API application details","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"callback_urls":{"type":"array","items":{"type":"string"},"nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"owner":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"account_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"email":{"type":"string","format":"email"}},"required":["id","name","email"]},"preferences":{"type":"object","properties":{"button_text_color":{"type":"string","nullable":true},"buttons_border_radius":{"type":"integer"},"custom_logo_file":{"type":"string","nullable":true},"link_text_color":{"type":"string","nullable":true},"primary_color":{"type":"string","nullable":true}}}},"required":["id","name"]},"BulkSendResponse":{"type":"object","description":"Bulk send details","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"api_application_id":{"type":"string","format":"uuid","nullable":true},"documents_count":{"type":"integer"},"documents_completed":{"type":"integer"},"documents_not_completed":{"type":"integer"},"created_at":{"type":"string","format":"date-time"},"user_id":{"type":"string","format":"uuid","nullable":true},"status":{"type":"string"},"templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["id","name"]}}},"required":["id","documents_count","created_at","status"]},"BulkSendCreateResponse":{"type":"object","description":"Bulk send creation response","properties":{"id":{"type":"string","format":"uuid"},"template_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"api_application_id":{"type":"string","format":"uuid","nullable":true},"documents_count":{"type":"integer"},"created_at":{"type":"string","format":"date-time"},"user_id":{"type":"string","format":"uuid","nullable":true},"status":{"type":"string"}},"required":["id","template_ids","documents_count","created_at","status"]},"BulkSendDocumentsResponse":{"type":"object","description":"Paginated list of documents in a bulk send","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"api_application_id":{"type":"string","format":"uuid","nullable":true},"created_at":{"type":"string","format":"date-time"},"user_id":{"type":"string","format":"uuid","nullable":true},"status":{"type":"string"},"documents":{"type":"array","items":{"$ref":"#/components/schemas/DocumentResponse"}},"current_page":{"type":"integer"},"next_page":{"type":"integer","nullable":true},"previous_page":{"type":"integer","nullable":true},"total_count":{"type":"integer"},"total_pages":{"type":"integer"}},"required":["id","documents","current_page","total_count","total_pages"]},"BulkSendValidateCsvResponse":{"type":"object","description":"Validated bulk send CSV response with defaults applied","properties":{"bulk_send_csv":{"type":"string","description":"Base64-encoded CSV content"},"template_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"skip_row_errors":{"type":"boolean"},"api_application_id":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string"},"subject":{"type":"string"},"message":{"type":"string"},"apply_signing_order":{"type":"boolean"}},"required":["bulk_send_csv","template_ids"]},"WebhookResponse":{"type":"object","description":"Webhook subscription","properties":{"id":{"type":"string","format":"uuid"},"callback_url":{"type":"string","format":"url"},"api_application_id":{"type":"string","format":"uuid","nullable":true}},"required":["id","callback_url"]},"WebhookListResponse":{"type":"array","description":"List of webhook subscriptions","items":{"$ref":"#/components/schemas/WebhookResponse"}},"ErrorResponse":{"type":"object","description":"Standard error response","properties":{"message":{"type":"string","description":"Human-readable error message"},"meta":{"type":"object","properties":{"error":{"type":"string","description":"Error code identifier"},"message":{"type":"string","description":"Detailed error message"},"messages":{"type":"array","items":{"type":"string"},"description":"List of error messages"}},"required":["error","message"]}}},"ValidationErrorResponse":{"type":"object","description":"Validation error response. The errors object contains field-specific error details with dynamic keys.","properties":{"errors":{"type":"object","additionalProperties":true,"description":"Field-specific validation errors. Keys are field names (e.g., recipients, fields, files). Values can be strings, arrays of strings, or nested objects with further field-specific errors."}},"required":["errors"]},"RateLimitErrorResponse":{"type":"object","description":"Rate limit exceeded error response (HTTP 429)","properties":{"error":{"type":"string","description":"Rate limit error message indicating the limit and reset time"}},"required":["error"]},"JSON":{"type":"object","description":"JSON response containing the URL to the completed PDF file (returned when url_only=true)","properties":{"file_url":{"type":"string","format":"url","description":"URL to download the completed document"}},"required":["file_url"]},"PDF":{"type":"string","format":"binary","description":"Raw PDF binary data (default response when url_only=false)"},"ZIP":{"type":"string","format":"binary","description":"ZIP file containing the completed PDF (returned when file_format=zip)"}}},"servers":[{"url":"https://www.signwell.com"}]}