signwell_sdk 0.0.1.pre.alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +24 -0
  4. data/README.md +398 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/signwell_sdk/client.rb +72 -0
  7. data/lib/signwell_sdk/errors.rb +228 -0
  8. data/lib/signwell_sdk/file_part.rb +58 -0
  9. data/lib/signwell_sdk/internal/transport/base_client.rb +573 -0
  10. data/lib/signwell_sdk/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/signwell_sdk/internal/type/array_of.rb +168 -0
  12. data/lib/signwell_sdk/internal/type/base_model.rb +531 -0
  13. data/lib/signwell_sdk/internal/type/base_page.rb +55 -0
  14. data/lib/signwell_sdk/internal/type/boolean.rb +77 -0
  15. data/lib/signwell_sdk/internal/type/converter.rb +327 -0
  16. data/lib/signwell_sdk/internal/type/enum.rb +156 -0
  17. data/lib/signwell_sdk/internal/type/file_input.rb +111 -0
  18. data/lib/signwell_sdk/internal/type/hash_of.rb +188 -0
  19. data/lib/signwell_sdk/internal/type/request_parameters.rb +42 -0
  20. data/lib/signwell_sdk/internal/type/union.rb +243 -0
  21. data/lib/signwell_sdk/internal/type/unknown.rb +81 -0
  22. data/lib/signwell_sdk/internal/util.rb +920 -0
  23. data/lib/signwell_sdk/internal.rb +20 -0
  24. data/lib/signwell_sdk/models/attachment_request_info.rb +34 -0
  25. data/lib/signwell_sdk/models/checkbox_group_info.rb +66 -0
  26. data/lib/signwell_sdk/models/checkbox_validation.rb +18 -0
  27. data/lib/signwell_sdk/models/copied_contact_info.rb +34 -0
  28. data/lib/signwell_sdk/models/date_format.rb +20 -0
  29. data/lib/signwell_sdk/models/field_type.rb +29 -0
  30. data/lib/signwell_sdk/models/file_info.rb +26 -0
  31. data/lib/signwell_sdk/models/label_info.rb +26 -0
  32. data/lib/signwell_sdk/models/text_validation.rb +25 -0
  33. data/lib/signwell_sdk/models/v1/api_application_delete_params.rb +16 -0
  34. data/lib/signwell_sdk/models/v1/api_application_retrieve_params.rb +16 -0
  35. data/lib/signwell_sdk/models/v1/attachment_request.rb +38 -0
  36. data/lib/signwell_sdk/models/v1/bulk_send_create_params.rb +107 -0
  37. data/lib/signwell_sdk/models/v1/bulk_send_list_params.rb +55 -0
  38. data/lib/signwell_sdk/models/v1/bulk_send_retrieve_csv_template_params.rb +39 -0
  39. data/lib/signwell_sdk/models/v1/bulk_send_retrieve_documents_params.rb +32 -0
  40. data/lib/signwell_sdk/models/v1/bulk_send_retrieve_params.rb +16 -0
  41. data/lib/signwell_sdk/models/v1/bulk_send_validate_csv_params.rb +39 -0
  42. data/lib/signwell_sdk/models/v1/checkbox_group.rb +80 -0
  43. data/lib/signwell_sdk/models/v1/copied_contact.rb +26 -0
  44. data/lib/signwell_sdk/models/v1/document.rb +543 -0
  45. data/lib/signwell_sdk/models/v1/document_create_from_template_params.rb +740 -0
  46. data/lib/signwell_sdk/models/v1/document_create_from_template_response.rb +500 -0
  47. data/lib/signwell_sdk/models/v1/document_create_params.rb +620 -0
  48. data/lib/signwell_sdk/models/v1/document_delete_params.rb +16 -0
  49. data/lib/signwell_sdk/models/v1/document_file.rb +34 -0
  50. data/lib/signwell_sdk/models/v1/document_list_params.rb +32 -0
  51. data/lib/signwell_sdk/models/v1/document_list_response.rb +50 -0
  52. data/lib/signwell_sdk/models/v1/document_remind_params.rb +49 -0
  53. data/lib/signwell_sdk/models/v1/document_retrieve_completed_pdf_params.rb +55 -0
  54. data/lib/signwell_sdk/models/v1/document_retrieve_completed_pdf_response.rb +22 -0
  55. data/lib/signwell_sdk/models/v1/document_retrieve_params.rb +16 -0
  56. data/lib/signwell_sdk/models/v1/document_send_params.rb +198 -0
  57. data/lib/signwell_sdk/models/v1/document_template.rb +503 -0
  58. data/lib/signwell_sdk/models/v1/document_template_create_params.rb +599 -0
  59. data/lib/signwell_sdk/models/v1/document_template_delete_params.rb +16 -0
  60. data/lib/signwell_sdk/models/v1/document_template_list_params.rb +32 -0
  61. data/lib/signwell_sdk/models/v1/document_template_list_response.rb +50 -0
  62. data/lib/signwell_sdk/models/v1/document_template_retrieve_params.rb +16 -0
  63. data/lib/signwell_sdk/models/v1/document_template_update_params.rb +162 -0
  64. data/lib/signwell_sdk/models/v1/hook_create_params.rb +32 -0
  65. data/lib/signwell_sdk/models/v1/hook_delete_params.rb +16 -0
  66. data/lib/signwell_sdk/models/v1/hook_list_params.rb +16 -0
  67. data/lib/signwell_sdk/models/v1/label.rb +22 -0
  68. data/lib/signwell_sdk/models/v1/template_checkbox_group.rb +80 -0
  69. data/lib/signwell_sdk/models/v1_me_params.rb +14 -0
  70. data/lib/signwell_sdk/models.rb +63 -0
  71. data/lib/signwell_sdk/request_options.rb +77 -0
  72. data/lib/signwell_sdk/resources/v1/api_applications.rb +59 -0
  73. data/lib/signwell_sdk/resources/v1/bulk_sends.rb +198 -0
  74. data/lib/signwell_sdk/resources/v1/document_templates.rb +204 -0
  75. data/lib/signwell_sdk/resources/v1/documents.rb +372 -0
  76. data/lib/signwell_sdk/resources/v1/hooks.rb +78 -0
  77. data/lib/signwell_sdk/resources/v1.rb +47 -0
  78. data/lib/signwell_sdk/version.rb +5 -0
  79. data/lib/signwell_sdk.rb +107 -0
  80. data/manifest.yaml +17 -0
  81. data/rbi/signwell_sdk/client.rbi +49 -0
  82. data/rbi/signwell_sdk/errors.rbi +205 -0
  83. data/rbi/signwell_sdk/file_part.rbi +37 -0
  84. data/rbi/signwell_sdk/internal/transport/base_client.rbi +302 -0
  85. data/rbi/signwell_sdk/internal/transport/pooled_net_requester.rbi +84 -0
  86. data/rbi/signwell_sdk/internal/type/array_of.rbi +104 -0
  87. data/rbi/signwell_sdk/internal/type/base_model.rbi +308 -0
  88. data/rbi/signwell_sdk/internal/type/base_page.rbi +43 -0
  89. data/rbi/signwell_sdk/internal/type/boolean.rbi +58 -0
  90. data/rbi/signwell_sdk/internal/type/converter.rbi +216 -0
  91. data/rbi/signwell_sdk/internal/type/enum.rbi +82 -0
  92. data/rbi/signwell_sdk/internal/type/file_input.rbi +59 -0
  93. data/rbi/signwell_sdk/internal/type/hash_of.rbi +104 -0
  94. data/rbi/signwell_sdk/internal/type/request_parameters.rbi +31 -0
  95. data/rbi/signwell_sdk/internal/type/union.rbi +128 -0
  96. data/rbi/signwell_sdk/internal/type/unknown.rbi +58 -0
  97. data/rbi/signwell_sdk/internal/util.rbi +487 -0
  98. data/rbi/signwell_sdk/internal.rbi +18 -0
  99. data/rbi/signwell_sdk/models/attachment_request_info.rbi +52 -0
  100. data/rbi/signwell_sdk/models/checkbox_group_info.rbi +89 -0
  101. data/rbi/signwell_sdk/models/checkbox_validation.rbi +27 -0
  102. data/rbi/signwell_sdk/models/copied_contact_info.rbi +50 -0
  103. data/rbi/signwell_sdk/models/date_format.rbi +26 -0
  104. data/rbi/signwell_sdk/models/field_type.rbi +41 -0
  105. data/rbi/signwell_sdk/models/file_info.rbi +36 -0
  106. data/rbi/signwell_sdk/models/label_info.rbi +40 -0
  107. data/rbi/signwell_sdk/models/text_validation.rbi +44 -0
  108. data/rbi/signwell_sdk/models/v1/api_application_delete_params.rbi +34 -0
  109. data/rbi/signwell_sdk/models/v1/api_application_retrieve_params.rbi +34 -0
  110. data/rbi/signwell_sdk/models/v1/attachment_request.rbi +59 -0
  111. data/rbi/signwell_sdk/models/v1/bulk_send_create_params.rbi +160 -0
  112. data/rbi/signwell_sdk/models/v1/bulk_send_list_params.rbi +92 -0
  113. data/rbi/signwell_sdk/models/v1/bulk_send_retrieve_csv_template_params.rbi +67 -0
  114. data/rbi/signwell_sdk/models/v1/bulk_send_retrieve_documents_params.rbi +62 -0
  115. data/rbi/signwell_sdk/models/v1/bulk_send_retrieve_params.rbi +34 -0
  116. data/rbi/signwell_sdk/models/v1/bulk_send_validate_csv_params.rbi +64 -0
  117. data/rbi/signwell_sdk/models/v1/checkbox_group.rbi +121 -0
  118. data/rbi/signwell_sdk/models/v1/copied_contact.rbi +41 -0
  119. data/rbi/signwell_sdk/models/v1/document.rbi +833 -0
  120. data/rbi/signwell_sdk/models/v1/document_create_from_template_params.rbi +1270 -0
  121. data/rbi/signwell_sdk/models/v1/document_create_from_template_response.rbi +856 -0
  122. data/rbi/signwell_sdk/models/v1/document_create_params.rbi +1019 -0
  123. data/rbi/signwell_sdk/models/v1/document_delete_params.rbi +34 -0
  124. data/rbi/signwell_sdk/models/v1/document_file.rbi +55 -0
  125. data/rbi/signwell_sdk/models/v1/document_list_params.rbi +62 -0
  126. data/rbi/signwell_sdk/models/v1/document_list_response.rbi +71 -0
  127. data/rbi/signwell_sdk/models/v1/document_remind_params.rbi +107 -0
  128. data/rbi/signwell_sdk/models/v1/document_retrieve_completed_pdf_params.rbi +123 -0
  129. data/rbi/signwell_sdk/models/v1/document_retrieve_completed_pdf_response.rbi +34 -0
  130. data/rbi/signwell_sdk/models/v1/document_retrieve_params.rbi +34 -0
  131. data/rbi/signwell_sdk/models/v1/document_send_params.rbi +307 -0
  132. data/rbi/signwell_sdk/models/v1/document_template.rbi +830 -0
  133. data/rbi/signwell_sdk/models/v1/document_template_create_params.rbi +1050 -0
  134. data/rbi/signwell_sdk/models/v1/document_template_delete_params.rbi +34 -0
  135. data/rbi/signwell_sdk/models/v1/document_template_list_params.rbi +62 -0
  136. data/rbi/signwell_sdk/models/v1/document_template_list_response.rbi +71 -0
  137. data/rbi/signwell_sdk/models/v1/document_template_retrieve_params.rbi +34 -0
  138. data/rbi/signwell_sdk/models/v1/document_template_update_params.rbi +257 -0
  139. data/rbi/signwell_sdk/models/v1/hook_create_params.rbi +59 -0
  140. data/rbi/signwell_sdk/models/v1/hook_delete_params.rbi +34 -0
  141. data/rbi/signwell_sdk/models/v1/hook_list_params.rbi +34 -0
  142. data/rbi/signwell_sdk/models/v1/label.rbi +29 -0
  143. data/rbi/signwell_sdk/models/v1/template_checkbox_group.rbi +121 -0
  144. data/rbi/signwell_sdk/models/v1_me_params.rbi +27 -0
  145. data/rbi/signwell_sdk/models.rbi +25 -0
  146. data/rbi/signwell_sdk/request_options.rbi +59 -0
  147. data/rbi/signwell_sdk/resources/v1/api_applications.rbi +45 -0
  148. data/rbi/signwell_sdk/resources/v1/bulk_sends.rbi +173 -0
  149. data/rbi/signwell_sdk/resources/v1/document_templates.rbi +276 -0
  150. data/rbi/signwell_sdk/resources/v1/documents.rbi +527 -0
  151. data/rbi/signwell_sdk/resources/v1/hooks.rbi +52 -0
  152. data/rbi/signwell_sdk/resources/v1.rbi +32 -0
  153. data/rbi/signwell_sdk/version.rbi +5 -0
  154. data/sig/signwell_sdk/client.rbs +26 -0
  155. data/sig/signwell_sdk/errors.rbs +117 -0
  156. data/sig/signwell_sdk/file_part.rbs +21 -0
  157. data/sig/signwell_sdk/internal/transport/base_client.rbs +133 -0
  158. data/sig/signwell_sdk/internal/transport/pooled_net_requester.rbs +48 -0
  159. data/sig/signwell_sdk/internal/type/array_of.rbs +48 -0
  160. data/sig/signwell_sdk/internal/type/base_model.rbs +102 -0
  161. data/sig/signwell_sdk/internal/type/base_page.rbs +24 -0
  162. data/sig/signwell_sdk/internal/type/boolean.rbs +26 -0
  163. data/sig/signwell_sdk/internal/type/converter.rbs +79 -0
  164. data/sig/signwell_sdk/internal/type/enum.rbs +32 -0
  165. data/sig/signwell_sdk/internal/type/file_input.rbs +25 -0
  166. data/sig/signwell_sdk/internal/type/hash_of.rbs +48 -0
  167. data/sig/signwell_sdk/internal/type/request_parameters.rbs +19 -0
  168. data/sig/signwell_sdk/internal/type/union.rbs +52 -0
  169. data/sig/signwell_sdk/internal/type/unknown.rbs +26 -0
  170. data/sig/signwell_sdk/internal/util.rbs +185 -0
  171. data/sig/signwell_sdk/internal.rbs +9 -0
  172. data/sig/signwell_sdk/models/attachment_request_info.rbs +19 -0
  173. data/sig/signwell_sdk/models/checkbox_group_info.rbs +52 -0
  174. data/sig/signwell_sdk/models/checkbox_validation.rbs +16 -0
  175. data/sig/signwell_sdk/models/copied_contact_info.rbs +21 -0
  176. data/sig/signwell_sdk/models/date_format.rbs +22 -0
  177. data/sig/signwell_sdk/models/field_type.rbs +42 -0
  178. data/sig/signwell_sdk/models/file_info.rbs +15 -0
  179. data/sig/signwell_sdk/models/label_info.rbs +19 -0
  180. data/sig/signwell_sdk/models/text_validation.rbs +34 -0
  181. data/sig/signwell_sdk/models/v1/api_application_delete_params.rbs +17 -0
  182. data/sig/signwell_sdk/models/v1/api_application_retrieve_params.rbs +17 -0
  183. data/sig/signwell_sdk/models/v1/attachment_request.rbs +26 -0
  184. data/sig/signwell_sdk/models/v1/bulk_send_create_params.rbs +89 -0
  185. data/sig/signwell_sdk/models/v1/bulk_send_list_params.rbs +51 -0
  186. data/sig/signwell_sdk/models/v1/bulk_send_retrieve_csv_template_params.rbs +32 -0
  187. data/sig/signwell_sdk/models/v1/bulk_send_retrieve_documents_params.rbs +34 -0
  188. data/sig/signwell_sdk/models/v1/bulk_send_retrieve_params.rbs +17 -0
  189. data/sig/signwell_sdk/models/v1/bulk_send_validate_csv_params.rbs +30 -0
  190. data/sig/signwell_sdk/models/v1/checkbox_group.rbs +69 -0
  191. data/sig/signwell_sdk/models/v1/copied_contact.rbs +19 -0
  192. data/sig/signwell_sdk/models/v1/document.rbs +563 -0
  193. data/sig/signwell_sdk/models/v1/document_create_from_template_params.rbs +570 -0
  194. data/sig/signwell_sdk/models/v1/document_create_from_template_response.rbs +518 -0
  195. data/sig/signwell_sdk/models/v1/document_create_params.rbs +473 -0
  196. data/sig/signwell_sdk/models/v1/document_delete_params.rbs +17 -0
  197. data/sig/signwell_sdk/models/v1/document_file.rbs +32 -0
  198. data/sig/signwell_sdk/models/v1/document_list_params.rbs +34 -0
  199. data/sig/signwell_sdk/models/v1/document_list_response.rbs +47 -0
  200. data/sig/signwell_sdk/models/v1/document_remind_params.rbs +48 -0
  201. data/sig/signwell_sdk/models/v1/document_retrieve_completed_pdf_params.rbs +57 -0
  202. data/sig/signwell_sdk/models/v1/document_retrieve_completed_pdf_response.rbs +15 -0
  203. data/sig/signwell_sdk/models/v1/document_retrieve_params.rbs +17 -0
  204. data/sig/signwell_sdk/models/v1/document_send_params.rbs +160 -0
  205. data/sig/signwell_sdk/models/v1/document_template.rbs +530 -0
  206. data/sig/signwell_sdk/models/v1/document_template_create_params.rbs +459 -0
  207. data/sig/signwell_sdk/models/v1/document_template_delete_params.rbs +17 -0
  208. data/sig/signwell_sdk/models/v1/document_template_list_params.rbs +34 -0
  209. data/sig/signwell_sdk/models/v1/document_template_list_response.rbs +47 -0
  210. data/sig/signwell_sdk/models/v1/document_template_retrieve_params.rbs +17 -0
  211. data/sig/signwell_sdk/models/v1/document_template_update_params.rbs +132 -0
  212. data/sig/signwell_sdk/models/v1/hook_create_params.rbs +32 -0
  213. data/sig/signwell_sdk/models/v1/hook_delete_params.rbs +17 -0
  214. data/sig/signwell_sdk/models/v1/hook_list_params.rbs +17 -0
  215. data/sig/signwell_sdk/models/v1/label.rbs +15 -0
  216. data/sig/signwell_sdk/models/v1/template_checkbox_group.rbs +69 -0
  217. data/sig/signwell_sdk/models/v1_me_params.rbs +14 -0
  218. data/sig/signwell_sdk/models.rbs +23 -0
  219. data/sig/signwell_sdk/request_options.rbs +36 -0
  220. data/sig/signwell_sdk/resources/v1/api_applications.rbs +19 -0
  221. data/sig/signwell_sdk/resources/v1/bulk_sends.rbs +55 -0
  222. data/sig/signwell_sdk/resources/v1/document_templates.rbs +71 -0
  223. data/sig/signwell_sdk/resources/v1/documents.rbs +130 -0
  224. data/sig/signwell_sdk/resources/v1/hooks.rbs +22 -0
  225. data/sig/signwell_sdk/resources/v1.rbs +19 -0
  226. data/sig/signwell_sdk/version.rbs +3 -0
  227. metadata +298 -0
@@ -0,0 +1,1270 @@
1
+ # typed: strong
2
+
3
+ module SignwellSDK
4
+ module Models
5
+ module V1
6
+ class DocumentCreateFromTemplateParams < SignwellSDK::Internal::Type::BaseModel
7
+ extend SignwellSDK::Internal::Type::RequestParameters::Converter
8
+ include SignwellSDK::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ SignwellSDK::V1::DocumentCreateFromTemplateParams,
14
+ SignwellSDK::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Document recipients are people that must complete and/or sign a document.
19
+ # Recipients of the document must be assigned to a placeholder of the template.
20
+ # Recipients will inherit all placeholder fields and settings.
21
+ sig do
22
+ returns(
23
+ T::Array[
24
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Recipient
25
+ ]
26
+ )
27
+ end
28
+ attr_accessor :recipients
29
+
30
+ # Whether to allow recipients the option to decline signing a document. If
31
+ # multiple signers are involved in a document, any single recipient can cancel the
32
+ # entire document signing process by declining to sign.
33
+ sig { returns(T.nilable(T::Boolean)) }
34
+ attr_reader :allow_decline
35
+
36
+ sig { params(allow_decline: T::Boolean).void }
37
+ attr_writer :allow_decline
38
+
39
+ # In some cases a signer is not the right person to sign and may need to reassign
40
+ # their signing responsibilities to another person. This feature allows them to
41
+ # reassign the document to someone else.
42
+ sig { returns(T.nilable(T::Boolean)) }
43
+ attr_reader :allow_reassign
44
+
45
+ sig { params(allow_reassign: T::Boolean).void }
46
+ attr_writer :allow_reassign
47
+
48
+ # Unique identifier for API Application settings to use. API Applications are
49
+ # optional and mainly used when isolating OAuth apps or for more control over
50
+ # embedded API settings
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :api_application_id
53
+
54
+ sig { params(api_application_id: String).void }
55
+ attr_writer :api_application_id
56
+
57
+ # When set to `true` recipients will sign one at a time in the order of the
58
+ # `recipients` collection of this request.
59
+ sig { returns(T.nilable(T::Boolean)) }
60
+ attr_reader :apply_signing_order
61
+
62
+ sig { params(apply_signing_order: T::Boolean).void }
63
+ attr_writer :apply_signing_order
64
+
65
+ # Attachments that a recipient must upload to complete the signing process.
66
+ # Attachment requests are shown after all document fields have been completed.
67
+ sig { returns(T.nilable(T::Array[SignwellSDK::V1::AttachmentRequest])) }
68
+ attr_reader :attachment_requests
69
+
70
+ sig do
71
+ params(
72
+ attachment_requests:
73
+ T::Array[SignwellSDK::V1::AttachmentRequest::OrHash]
74
+ ).void
75
+ end
76
+ attr_writer :attachment_requests
77
+
78
+ # Checkbox fields that are placed on a document can be grouped with selection
79
+ # requirements. At least 2 checkbox fields in an array of fields must be assigned
80
+ # to the same recipient.
81
+ sig { returns(T.nilable(T::Array[SignwellSDK::V1::CheckboxGroup])) }
82
+ attr_reader :checkbox_groups
83
+
84
+ sig do
85
+ params(
86
+ checkbox_groups: T::Array[SignwellSDK::V1::CheckboxGroup::OrHash]
87
+ ).void
88
+ end
89
+ attr_writer :checkbox_groups
90
+
91
+ # Copied contacts are emailed the final document once it has been completed by all
92
+ # recipients.
93
+ sig { returns(T.nilable(T::Array[SignwellSDK::V1::CopiedContact])) }
94
+ attr_reader :copied_contacts
95
+
96
+ sig do
97
+ params(
98
+ copied_contacts: T::Array[SignwellSDK::V1::CopiedContact::OrHash]
99
+ ).void
100
+ end
101
+ attr_writer :copied_contacts
102
+
103
+ # Sets the custom requester email for the document. When set, this is the email
104
+ # used for all email communications, signing notifications, and in the audit file.
105
+ sig { returns(T.nilable(String)) }
106
+ attr_reader :custom_requester_email
107
+
108
+ sig { params(custom_requester_email: String).void }
109
+ attr_writer :custom_requester_email
110
+
111
+ # Sets the custom requester name for the document. When set, this is the name used
112
+ # for all email communications, signing notifications, and in the audit file.
113
+ sig { returns(T.nilable(String)) }
114
+ attr_reader :custom_requester_name
115
+
116
+ sig { params(custom_requester_name: String).void }
117
+ attr_writer :custom_requester_name
118
+
119
+ # A URL that recipients are redirected to if the document is declined.
120
+ sig { returns(T.nilable(String)) }
121
+ attr_reader :decline_redirect_url
122
+
123
+ sig { params(decline_redirect_url: String).void }
124
+ attr_writer :decline_redirect_url
125
+
126
+ # Whether the document can still be updated before sending a signature request. If
127
+ # set to `false` the document is sent for signing as part of this request.
128
+ # Defaults to `false`.
129
+ sig { returns(T.nilable(T::Boolean)) }
130
+ attr_reader :draft
131
+
132
+ sig { params(draft: T::Boolean).void }
133
+ attr_writer :draft
134
+
135
+ # When set to `true` it enables embedded signing in your website/web application.
136
+ # Embedded functionality works with an iFrame and email authentication is
137
+ # disabled. :embedded_signinig defaults to `false`.
138
+ sig { returns(T.nilable(T::Boolean)) }
139
+ attr_reader :embedded_signing
140
+
141
+ sig { params(embedded_signing: T::Boolean).void }
142
+ attr_writer :embedded_signing
143
+
144
+ # On embedding signing, document owners (and CC'd contacts) do not get a
145
+ # notification email when documents have been completed. Setting this param to
146
+ # `true` will send out those final completed notifications. Default is `false`
147
+ sig { returns(T.nilable(T::Boolean)) }
148
+ attr_reader :embedded_signing_notifications
149
+
150
+ sig { params(embedded_signing_notifications: T::Boolean).void }
151
+ attr_writer :embedded_signing_notifications
152
+
153
+ # Number of days before the signature request expires. Defaults to the account
154
+ # expiration setting or template expiration (if the document is created from a
155
+ # template).
156
+ sig { returns(T.nilable(Integer)) }
157
+ attr_reader :expires_in
158
+
159
+ sig { params(expires_in: Integer).void }
160
+ attr_writer :expires_in
161
+
162
+ # Fields to be added to any appended files (not existing files). Document fields
163
+ # placed on a document for collecting data or signatures from recipients. Field
164
+ # data should be sent as a 2-dimensional JSON array. One array of fields is needed
165
+ # for each file in the files array. An array of fields can be empty if you have a
166
+ # file that does not contain any fields.
167
+ sig do
168
+ returns(
169
+ T.nilable(
170
+ T::Array[
171
+ T::Array[
172
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field
173
+ ]
174
+ ]
175
+ )
176
+ )
177
+ end
178
+ attr_reader :fields
179
+
180
+ sig do
181
+ params(
182
+ fields:
183
+ T::Array[
184
+ T::Array[
185
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::OrHash
186
+ ]
187
+ ]
188
+ ).void
189
+ end
190
+ attr_writer :fields
191
+
192
+ sig do
193
+ returns(
194
+ T.nilable(
195
+ T::Array[SignwellSDK::V1::DocumentCreateFromTemplateParams::File]
196
+ )
197
+ )
198
+ end
199
+ attr_reader :files
200
+
201
+ sig do
202
+ params(
203
+ files:
204
+ T::Array[
205
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::File::OrHash
206
+ ]
207
+ ).void
208
+ end
209
+ attr_writer :files
210
+
211
+ # Labels can be used to organize documents in a way that can make it easy to find
212
+ # using the document search in SignWell. A document can have multiple labels.
213
+ # Updating labels on a document will replace any existing labels for that
214
+ # document.
215
+ sig { returns(T.nilable(T::Array[SignwellSDK::V1::Label])) }
216
+ attr_reader :labels
217
+
218
+ sig { params(labels: T::Array[SignwellSDK::V1::Label::OrHash]).void }
219
+ attr_writer :labels
220
+
221
+ # Sets the language for all recipients on the document and updates all recipient
222
+ # side interactions including the document email and the document itself. Accepted
223
+ # languages: English, Français, Español, Deutsch, Polski, Português, Dansk,
224
+ # Nederlands, Italiano, Русский, Svenska, العربية, Ελληνικά, Türkçe, Slovenčina.
225
+ # Defaults to English. Language should be sent in ISO 639-1 format: en, fr, es,
226
+ # de, pl, pt, da, nl, it, ru, sv, ar, el, tr, sk.
227
+ sig { returns(T.nilable(String)) }
228
+ attr_reader :language
229
+
230
+ sig { params(language: String).void }
231
+ attr_writer :language
232
+
233
+ # Email message for the signature request that recipients will see. Defaults to
234
+ # the default system message or a template message (if the document is created
235
+ # from a template).
236
+ sig { returns(T.nilable(String)) }
237
+ attr_reader :message
238
+
239
+ sig { params(message: String).void }
240
+ attr_writer :message
241
+
242
+ # Optional key-value data that can be associated with the document. If set, will
243
+ # be available every time the document data is returned.
244
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
245
+ attr_reader :metadata
246
+
247
+ sig { params(metadata: T::Hash[Symbol, String]).void }
248
+ attr_writer :metadata
249
+
250
+ # The name of the document.
251
+ sig { returns(T.nilable(String)) }
252
+ attr_reader :name
253
+
254
+ sig { params(name: String).void }
255
+ attr_writer :name
256
+
257
+ # A URL that recipients are redirected to after successfully signing a document.
258
+ sig { returns(T.nilable(String)) }
259
+ attr_reader :redirect_url
260
+
261
+ sig { params(redirect_url: String).void }
262
+ attr_writer :redirect_url
263
+
264
+ # Whether to send signing reminders to recipients. Reminders are sent on day 3,
265
+ # day 6, and day 10 if set to `true`. Defaults to `true`.
266
+ sig { returns(T.nilable(T::Boolean)) }
267
+ attr_reader :reminders
268
+
269
+ sig { params(reminders: T::Boolean).void }
270
+ attr_writer :reminders
271
+
272
+ # Email subject for the signature request that recipients will see. Defaults to
273
+ # the default system subject or a template subject (if the document is created
274
+ # from a template).
275
+ sig { returns(T.nilable(String)) }
276
+ attr_reader :subject
277
+
278
+ sig { params(subject: String).void }
279
+ attr_writer :subject
280
+
281
+ # Fields of your template(s) that you can prepopulate with values. Signature and
282
+ # Initials fields cannot be signed through the API.
283
+ sig do
284
+ returns(
285
+ T.nilable(
286
+ T::Array[
287
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::TemplateField
288
+ ]
289
+ )
290
+ )
291
+ end
292
+ attr_reader :template_fields
293
+
294
+ sig do
295
+ params(
296
+ template_fields:
297
+ T::Array[
298
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::TemplateField::OrHash
299
+ ]
300
+ ).void
301
+ end
302
+ attr_writer :template_fields
303
+
304
+ # Use when you have to create a document from a single template. Either
305
+ # :template_id or :template_ids must be present in the request, not both.
306
+ sig { returns(T.nilable(String)) }
307
+ attr_reader :template_id
308
+
309
+ sig { params(template_id: String).void }
310
+ attr_writer :template_id
311
+
312
+ # Use when you have to create a document from multiple templates. Either
313
+ # :template_id or :template_ids must be present in the request, not both.
314
+ sig { returns(T.nilable(T::Array[String])) }
315
+ attr_reader :template_ids
316
+
317
+ sig { params(template_ids: T::Array[String]).void }
318
+ attr_writer :template_ids
319
+
320
+ # Set to `true` to enable Test Mode. Documents created with Test Mode do not count
321
+ # towards API billing and are not legally binding. Defaults to `false`
322
+ sig { returns(T.nilable(T::Boolean)) }
323
+ attr_reader :test_mode
324
+
325
+ sig { params(test_mode: T::Boolean).void }
326
+ attr_writer :test_mode
327
+
328
+ # An alternative way (if you can’t use the recommended way) of placing fields in
329
+ # specific locations of your document by using special text tags. Useful when
330
+ # changing the content of your files changes the location of fields. See API
331
+ # documentation for “Text Tags” for details. Defaults to false.
332
+ sig { returns(T.nilable(T::Boolean)) }
333
+ attr_reader :text_tags
334
+
335
+ sig { params(text_tags: T::Boolean).void }
336
+ attr_writer :text_tags
337
+
338
+ # When set to `true` the document will have a signature page added to the end, and
339
+ # all signers will be required to add their signature on that page.
340
+ sig { returns(T.nilable(T::Boolean)) }
341
+ attr_reader :with_signature_page
342
+
343
+ sig { params(with_signature_page: T::Boolean).void }
344
+ attr_writer :with_signature_page
345
+
346
+ sig do
347
+ params(
348
+ recipients:
349
+ T::Array[
350
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Recipient::OrHash
351
+ ],
352
+ allow_decline: T::Boolean,
353
+ allow_reassign: T::Boolean,
354
+ api_application_id: String,
355
+ apply_signing_order: T::Boolean,
356
+ attachment_requests:
357
+ T::Array[SignwellSDK::V1::AttachmentRequest::OrHash],
358
+ checkbox_groups: T::Array[SignwellSDK::V1::CheckboxGroup::OrHash],
359
+ copied_contacts: T::Array[SignwellSDK::V1::CopiedContact::OrHash],
360
+ custom_requester_email: String,
361
+ custom_requester_name: String,
362
+ decline_redirect_url: String,
363
+ draft: T::Boolean,
364
+ embedded_signing: T::Boolean,
365
+ embedded_signing_notifications: T::Boolean,
366
+ expires_in: Integer,
367
+ fields:
368
+ T::Array[
369
+ T::Array[
370
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::OrHash
371
+ ]
372
+ ],
373
+ files:
374
+ T::Array[
375
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::File::OrHash
376
+ ],
377
+ labels: T::Array[SignwellSDK::V1::Label::OrHash],
378
+ language: String,
379
+ message: String,
380
+ metadata: T::Hash[Symbol, String],
381
+ name: String,
382
+ redirect_url: String,
383
+ reminders: T::Boolean,
384
+ subject: String,
385
+ template_fields:
386
+ T::Array[
387
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::TemplateField::OrHash
388
+ ],
389
+ template_id: String,
390
+ template_ids: T::Array[String],
391
+ test_mode: T::Boolean,
392
+ text_tags: T::Boolean,
393
+ with_signature_page: T::Boolean,
394
+ request_options: SignwellSDK::RequestOptions::OrHash
395
+ ).returns(T.attached_class)
396
+ end
397
+ def self.new(
398
+ # Document recipients are people that must complete and/or sign a document.
399
+ # Recipients of the document must be assigned to a placeholder of the template.
400
+ # Recipients will inherit all placeholder fields and settings.
401
+ recipients:,
402
+ # Whether to allow recipients the option to decline signing a document. If
403
+ # multiple signers are involved in a document, any single recipient can cancel the
404
+ # entire document signing process by declining to sign.
405
+ allow_decline: nil,
406
+ # In some cases a signer is not the right person to sign and may need to reassign
407
+ # their signing responsibilities to another person. This feature allows them to
408
+ # reassign the document to someone else.
409
+ allow_reassign: nil,
410
+ # Unique identifier for API Application settings to use. API Applications are
411
+ # optional and mainly used when isolating OAuth apps or for more control over
412
+ # embedded API settings
413
+ api_application_id: nil,
414
+ # When set to `true` recipients will sign one at a time in the order of the
415
+ # `recipients` collection of this request.
416
+ apply_signing_order: nil,
417
+ # Attachments that a recipient must upload to complete the signing process.
418
+ # Attachment requests are shown after all document fields have been completed.
419
+ attachment_requests: nil,
420
+ # Checkbox fields that are placed on a document can be grouped with selection
421
+ # requirements. At least 2 checkbox fields in an array of fields must be assigned
422
+ # to the same recipient.
423
+ checkbox_groups: nil,
424
+ # Copied contacts are emailed the final document once it has been completed by all
425
+ # recipients.
426
+ copied_contacts: nil,
427
+ # Sets the custom requester email for the document. When set, this is the email
428
+ # used for all email communications, signing notifications, and in the audit file.
429
+ custom_requester_email: nil,
430
+ # Sets the custom requester name for the document. When set, this is the name used
431
+ # for all email communications, signing notifications, and in the audit file.
432
+ custom_requester_name: nil,
433
+ # A URL that recipients are redirected to if the document is declined.
434
+ decline_redirect_url: nil,
435
+ # Whether the document can still be updated before sending a signature request. If
436
+ # set to `false` the document is sent for signing as part of this request.
437
+ # Defaults to `false`.
438
+ draft: nil,
439
+ # When set to `true` it enables embedded signing in your website/web application.
440
+ # Embedded functionality works with an iFrame and email authentication is
441
+ # disabled. :embedded_signinig defaults to `false`.
442
+ embedded_signing: nil,
443
+ # On embedding signing, document owners (and CC'd contacts) do not get a
444
+ # notification email when documents have been completed. Setting this param to
445
+ # `true` will send out those final completed notifications. Default is `false`
446
+ embedded_signing_notifications: nil,
447
+ # Number of days before the signature request expires. Defaults to the account
448
+ # expiration setting or template expiration (if the document is created from a
449
+ # template).
450
+ expires_in: nil,
451
+ # Fields to be added to any appended files (not existing files). Document fields
452
+ # placed on a document for collecting data or signatures from recipients. Field
453
+ # data should be sent as a 2-dimensional JSON array. One array of fields is needed
454
+ # for each file in the files array. An array of fields can be empty if you have a
455
+ # file that does not contain any fields.
456
+ fields: nil,
457
+ files: nil,
458
+ # Labels can be used to organize documents in a way that can make it easy to find
459
+ # using the document search in SignWell. A document can have multiple labels.
460
+ # Updating labels on a document will replace any existing labels for that
461
+ # document.
462
+ labels: nil,
463
+ # Sets the language for all recipients on the document and updates all recipient
464
+ # side interactions including the document email and the document itself. Accepted
465
+ # languages: English, Français, Español, Deutsch, Polski, Português, Dansk,
466
+ # Nederlands, Italiano, Русский, Svenska, العربية, Ελληνικά, Türkçe, Slovenčina.
467
+ # Defaults to English. Language should be sent in ISO 639-1 format: en, fr, es,
468
+ # de, pl, pt, da, nl, it, ru, sv, ar, el, tr, sk.
469
+ language: nil,
470
+ # Email message for the signature request that recipients will see. Defaults to
471
+ # the default system message or a template message (if the document is created
472
+ # from a template).
473
+ message: nil,
474
+ # Optional key-value data that can be associated with the document. If set, will
475
+ # be available every time the document data is returned.
476
+ metadata: nil,
477
+ # The name of the document.
478
+ name: nil,
479
+ # A URL that recipients are redirected to after successfully signing a document.
480
+ redirect_url: nil,
481
+ # Whether to send signing reminders to recipients. Reminders are sent on day 3,
482
+ # day 6, and day 10 if set to `true`. Defaults to `true`.
483
+ reminders: nil,
484
+ # Email subject for the signature request that recipients will see. Defaults to
485
+ # the default system subject or a template subject (if the document is created
486
+ # from a template).
487
+ subject: nil,
488
+ # Fields of your template(s) that you can prepopulate with values. Signature and
489
+ # Initials fields cannot be signed through the API.
490
+ template_fields: nil,
491
+ # Use when you have to create a document from a single template. Either
492
+ # :template_id or :template_ids must be present in the request, not both.
493
+ template_id: nil,
494
+ # Use when you have to create a document from multiple templates. Either
495
+ # :template_id or :template_ids must be present in the request, not both.
496
+ template_ids: nil,
497
+ # Set to `true` to enable Test Mode. Documents created with Test Mode do not count
498
+ # towards API billing and are not legally binding. Defaults to `false`
499
+ test_mode: nil,
500
+ # An alternative way (if you can’t use the recommended way) of placing fields in
501
+ # specific locations of your document by using special text tags. Useful when
502
+ # changing the content of your files changes the location of fields. See API
503
+ # documentation for “Text Tags” for details. Defaults to false.
504
+ text_tags: nil,
505
+ # When set to `true` the document will have a signature page added to the end, and
506
+ # all signers will be required to add their signature on that page.
507
+ with_signature_page: nil,
508
+ request_options: {}
509
+ )
510
+ end
511
+
512
+ sig do
513
+ override.returns(
514
+ {
515
+ recipients:
516
+ T::Array[
517
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Recipient
518
+ ],
519
+ allow_decline: T::Boolean,
520
+ allow_reassign: T::Boolean,
521
+ api_application_id: String,
522
+ apply_signing_order: T::Boolean,
523
+ attachment_requests: T::Array[SignwellSDK::V1::AttachmentRequest],
524
+ checkbox_groups: T::Array[SignwellSDK::V1::CheckboxGroup],
525
+ copied_contacts: T::Array[SignwellSDK::V1::CopiedContact],
526
+ custom_requester_email: String,
527
+ custom_requester_name: String,
528
+ decline_redirect_url: String,
529
+ draft: T::Boolean,
530
+ embedded_signing: T::Boolean,
531
+ embedded_signing_notifications: T::Boolean,
532
+ expires_in: Integer,
533
+ fields:
534
+ T::Array[
535
+ T::Array[
536
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field
537
+ ]
538
+ ],
539
+ files:
540
+ T::Array[
541
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::File
542
+ ],
543
+ labels: T::Array[SignwellSDK::V1::Label],
544
+ language: String,
545
+ message: String,
546
+ metadata: T::Hash[Symbol, String],
547
+ name: String,
548
+ redirect_url: String,
549
+ reminders: T::Boolean,
550
+ subject: String,
551
+ template_fields:
552
+ T::Array[
553
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::TemplateField
554
+ ],
555
+ template_id: String,
556
+ template_ids: T::Array[String],
557
+ test_mode: T::Boolean,
558
+ text_tags: T::Boolean,
559
+ with_signature_page: T::Boolean,
560
+ request_options: SignwellSDK::RequestOptions
561
+ }
562
+ )
563
+ end
564
+ def to_hash
565
+ end
566
+
567
+ class Recipient < SignwellSDK::Internal::Type::BaseModel
568
+ OrHash =
569
+ T.type_alias do
570
+ T.any(
571
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Recipient,
572
+ SignwellSDK::Internal::AnyHash
573
+ )
574
+ end
575
+
576
+ # A unique identifier that you will give to each recipient. We recommend numbering
577
+ # sequentially from 1 to X. IDs are required for associating recipients to fields
578
+ # and more.
579
+ sig { returns(String) }
580
+ attr_accessor :id
581
+
582
+ # Email address for the recipient.
583
+ sig { returns(String) }
584
+ attr_accessor :email
585
+
586
+ # Email message for the signature request that the recipient will see. Overrides
587
+ # the general message for the template.
588
+ sig { returns(T.nilable(String)) }
589
+ attr_reader :message
590
+
591
+ sig { params(message: String).void }
592
+ attr_writer :message
593
+
594
+ # Name of the recipient.
595
+ sig { returns(T.nilable(String)) }
596
+ attr_reader :name
597
+
598
+ sig { params(name: String).void }
599
+ attr_writer :name
600
+
601
+ # If set, signers assigned with a passcode will be required to enter the passcode
602
+ # before they’re able to view and complete the document.
603
+ sig { returns(T.nilable(String)) }
604
+ attr_reader :passcode
605
+
606
+ sig { params(passcode: String).void }
607
+ attr_writer :passcode
608
+
609
+ # The name of the placeholder you want this recipient assigned to.
610
+ sig { returns(T.nilable(String)) }
611
+ attr_reader :placeholder_name
612
+
613
+ sig { params(placeholder_name: String).void }
614
+ attr_writer :placeholder_name
615
+
616
+ # Applies on when `embedded_signing` is `true`. By default, recipients are not
617
+ # notified through email to sign when doing embedded signing. Setting this to
618
+ # `true` will send a notification email to the recipient. Default is `false`.
619
+ sig { returns(T.nilable(T::Boolean)) }
620
+ attr_reader :send_email
621
+
622
+ sig { params(send_email: T::Boolean).void }
623
+ attr_writer :send_email
624
+
625
+ # If `send_email` is `true` recipients will receive a new document notification
626
+ # immediately. In the case of embedded signing, you can delay this notification to
627
+ # only send if the document is not completed within a few minutes. The email
628
+ # notification will not go out if the document is completed before the delay time
629
+ # is over. Valid values are in minutes ranging from `0` to `60`. Defaults to `0`.
630
+ sig { returns(T.nilable(Integer)) }
631
+ attr_reader :send_email_delay
632
+
633
+ sig { params(send_email_delay: Integer).void }
634
+ attr_writer :send_email_delay
635
+
636
+ # Email subject for the signature request that the recipient will see. Overrides
637
+ # the general subject for the template.
638
+ sig { returns(T.nilable(String)) }
639
+ attr_reader :subject
640
+
641
+ sig { params(subject: String).void }
642
+ attr_writer :subject
643
+
644
+ sig do
645
+ params(
646
+ id: String,
647
+ email: String,
648
+ message: String,
649
+ name: String,
650
+ passcode: String,
651
+ placeholder_name: String,
652
+ send_email: T::Boolean,
653
+ send_email_delay: Integer,
654
+ subject: String
655
+ ).returns(T.attached_class)
656
+ end
657
+ def self.new(
658
+ # A unique identifier that you will give to each recipient. We recommend numbering
659
+ # sequentially from 1 to X. IDs are required for associating recipients to fields
660
+ # and more.
661
+ id:,
662
+ # Email address for the recipient.
663
+ email:,
664
+ # Email message for the signature request that the recipient will see. Overrides
665
+ # the general message for the template.
666
+ message: nil,
667
+ # Name of the recipient.
668
+ name: nil,
669
+ # If set, signers assigned with a passcode will be required to enter the passcode
670
+ # before they’re able to view and complete the document.
671
+ passcode: nil,
672
+ # The name of the placeholder you want this recipient assigned to.
673
+ placeholder_name: nil,
674
+ # Applies on when `embedded_signing` is `true`. By default, recipients are not
675
+ # notified through email to sign when doing embedded signing. Setting this to
676
+ # `true` will send a notification email to the recipient. Default is `false`.
677
+ send_email: nil,
678
+ # If `send_email` is `true` recipients will receive a new document notification
679
+ # immediately. In the case of embedded signing, you can delay this notification to
680
+ # only send if the document is not completed within a few minutes. The email
681
+ # notification will not go out if the document is completed before the delay time
682
+ # is over. Valid values are in minutes ranging from `0` to `60`. Defaults to `0`.
683
+ send_email_delay: nil,
684
+ # Email subject for the signature request that the recipient will see. Overrides
685
+ # the general subject for the template.
686
+ subject: nil
687
+ )
688
+ end
689
+
690
+ sig do
691
+ override.returns(
692
+ {
693
+ id: String,
694
+ email: String,
695
+ message: String,
696
+ name: String,
697
+ passcode: String,
698
+ placeholder_name: String,
699
+ send_email: T::Boolean,
700
+ send_email_delay: Integer,
701
+ subject: String
702
+ }
703
+ )
704
+ end
705
+ def to_hash
706
+ end
707
+ end
708
+
709
+ class Field < SignwellSDK::Internal::Type::BaseModel
710
+ OrHash =
711
+ T.type_alias do
712
+ T.any(
713
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field,
714
+ SignwellSDK::Internal::AnyHash
715
+ )
716
+ end
717
+
718
+ # The page number within the file. If the page does not exist within the file then
719
+ # the field won't be created.
720
+ sig { returns(Integer) }
721
+ attr_accessor :page
722
+
723
+ # Unique identifier of the recipient assigned to the field. Recipients assigned to
724
+ # fields will be the only ones that will see and be able to complete those fields.
725
+ sig { returns(String) }
726
+ attr_accessor :recipient_id
727
+
728
+ # Field type of the field. Valid field types: initials, signatures, checkbox,
729
+ # date, and text. To autofill fields with contact data, use an autofill field
730
+ # type. To group checkbox fields, enter an api_id for each checkbox and add the
731
+ # checkbox_groups parameter.
732
+ sig { returns(SignwellSDK::FieldType::OrSymbol) }
733
+ attr_accessor :type
734
+
735
+ # Horizontal value in the coordinates of the field (in pixels). Coordinates are
736
+ # specific to the page where fields are located.
737
+ sig { returns(Float) }
738
+ attr_accessor :x
739
+
740
+ # Vertical value in the coordinates of the field (in pixels). Coordinates are
741
+ # specific to the page where fields are located.
742
+ sig { returns(Float) }
743
+ attr_accessor :y_
744
+
745
+ # Whether to allow "Other" option with text input (for dropdown/select fields
746
+ # only)
747
+ sig { returns(T.nilable(T::Boolean)) }
748
+ attr_reader :allow_other
749
+
750
+ sig { params(allow_other: T::Boolean).void }
751
+ attr_writer :allow_other
752
+
753
+ # Unique identifier of the field. Useful when needing to reference specific field
754
+ # values or update a document and its fields.
755
+ sig { returns(T.nilable(String)) }
756
+ attr_reader :api_id
757
+
758
+ sig { params(api_id: String).void }
759
+ attr_writer :api_id
760
+
761
+ # Date fields only: date format to use for the field. Valid values: MM/DD/YYYY,
762
+ # DD/MM/YYYY, YYYY/MM/DD, Month DD, YYYY, and MM/DD/YYYY hh:mm:ss a. Defaults to
763
+ # MM/DD/YYYY.
764
+ sig { returns(T.nilable(SignwellSDK::DateFormat::OrSymbol)) }
765
+ attr_reader :date_format
766
+
767
+ sig { params(date_format: SignwellSDK::DateFormat::OrSymbol).void }
768
+ attr_writer :date_format
769
+
770
+ # Default selected option (for dropdown/select fields only)
771
+ sig { returns(T.nilable(String)) }
772
+ attr_reader :default_option
773
+
774
+ sig { params(default_option: String).void }
775
+ attr_writer :default_option
776
+
777
+ # Text fields only: whether the field width will stay fixed and text will display
778
+ # in multiple lines, rather than one long line. If set to `false` the field width
779
+ # will automatically grow horizontally to fit text on one line. Defaults to
780
+ # `false`.
781
+ sig { returns(T.nilable(T::Boolean)) }
782
+ attr_reader :fixed_width
783
+
784
+ sig { params(fixed_width: T::Boolean).void }
785
+ attr_writer :fixed_width
786
+
787
+ # Date fields only (text field formulas coming soon): formulas are a way to
788
+ # prefill fields with calculated future or past dates. Addition, subtraction, and
789
+ # parentheses are allowed. Valid event dates are `created_date`, `sent_date`, and
790
+ # `signed_date`. Valid time periods are `day`, `days`, `week`, `weeks`, `month`,
791
+ # and `months`. Example: `formula: 'sent_date + 10 days'`. Use with
792
+ # `lock_sign_date` if you'd like to make the field readonly and prevent signers
793
+ # from choosing a different date.
794
+ sig { returns(T.nilable(String)) }
795
+ attr_reader :formula
796
+
797
+ sig { params(formula: String).void }
798
+ attr_writer :formula
799
+
800
+ # Height of the field (in pixels). Maximum height varies by field type:
801
+ # Signature/Initials (200px), others (74px). When using text tags if the height is
802
+ # greater than the maximum height, the height will be set to the maximum height.
803
+ sig { returns(T.nilable(Float)) }
804
+ attr_reader :height
805
+
806
+ sig { params(height: Float).void }
807
+ attr_writer :height
808
+
809
+ # Text and Date fields only: label that is displayed when the field is empty.
810
+ sig { returns(T.nilable(String)) }
811
+ attr_reader :label
812
+
813
+ sig { params(label: String).void }
814
+ attr_writer :label
815
+
816
+ # Date fields only: makes fields readonly and automatically populates with the
817
+ # date the recipient signed. Defaults to `false`.
818
+ sig { returns(T.nilable(T::Boolean)) }
819
+ attr_reader :lock_sign_date
820
+
821
+ sig { params(lock_sign_date: T::Boolean).void }
822
+ attr_writer :lock_sign_date
823
+
824
+ # Checkbox fields only. At least 2 checkbox fields in an array of fields must be
825
+ # assigned to the same recipient and grouped with selection requirements.
826
+ sig { returns(T.nilable(String)) }
827
+ attr_reader :name
828
+
829
+ sig { params(name: String).void }
830
+ attr_writer :name
831
+
832
+ # Array of dropdown options (for dropdown/select fields only)
833
+ sig do
834
+ returns(
835
+ T.nilable(
836
+ T::Array[
837
+ T.any(
838
+ String,
839
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Option::DetailedOption
840
+ )
841
+ ]
842
+ )
843
+ )
844
+ end
845
+ attr_reader :options
846
+
847
+ sig do
848
+ params(
849
+ options:
850
+ T::Array[
851
+ T.any(
852
+ String,
853
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Option::DetailedOption::OrHash
854
+ )
855
+ ]
856
+ ).void
857
+ end
858
+ attr_writer :options
859
+
860
+ # Whether the field must be completed by the recipient. Defaults to `true` except
861
+ # for checkbox type fields.
862
+ sig { returns(T.nilable(T::Boolean)) }
863
+ attr_reader :required
864
+
865
+ sig { params(required: T::Boolean).void }
866
+ attr_writer :required
867
+
868
+ # Text fields only: optional validation for field values. Valid values: numbers,
869
+ # letters, email_address, us_phone_number, us_zip_code, us_ssn, us_age,
870
+ # alphanumeric, us_bank_routing_number, us_bank_account.
871
+ sig { returns(T.nilable(SignwellSDK::TextValidation::OrSymbol)) }
872
+ attr_reader :validation
873
+
874
+ sig { params(validation: SignwellSDK::TextValidation::OrSymbol).void }
875
+ attr_writer :validation
876
+
877
+ # Varies according to the field type. Text fields accept strings or numbers. Date
878
+ # fields accept Iso8601 date strings. CheckBoxes accept booleans. Signature and
879
+ # Initials fields can't be signed through API requests. Autofill text fields
880
+ # accept strings or numbers.
881
+ sig do
882
+ returns(
883
+ T.nilable(
884
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Value::Variants
885
+ )
886
+ )
887
+ end
888
+ attr_reader :value
889
+
890
+ sig do
891
+ params(
892
+ value:
893
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Value::Variants
894
+ ).void
895
+ end
896
+ attr_writer :value
897
+
898
+ # Width of the field (in pixels). For text fields, width will auto-grow unless
899
+ # `fixed_width` is true.
900
+ sig { returns(T.nilable(Float)) }
901
+ attr_reader :width
902
+
903
+ sig { params(width: Float).void }
904
+ attr_writer :width
905
+
906
+ sig do
907
+ params(
908
+ page: Integer,
909
+ recipient_id: String,
910
+ type: SignwellSDK::FieldType::OrSymbol,
911
+ x: Float,
912
+ y_: Float,
913
+ allow_other: T::Boolean,
914
+ api_id: String,
915
+ date_format: SignwellSDK::DateFormat::OrSymbol,
916
+ default_option: String,
917
+ fixed_width: T::Boolean,
918
+ formula: String,
919
+ height: Float,
920
+ label: String,
921
+ lock_sign_date: T::Boolean,
922
+ name: String,
923
+ options:
924
+ T::Array[
925
+ T.any(
926
+ String,
927
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Option::DetailedOption::OrHash
928
+ )
929
+ ],
930
+ required: T::Boolean,
931
+ validation: SignwellSDK::TextValidation::OrSymbol,
932
+ value:
933
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Value::Variants,
934
+ width: Float
935
+ ).returns(T.attached_class)
936
+ end
937
+ def self.new(
938
+ # The page number within the file. If the page does not exist within the file then
939
+ # the field won't be created.
940
+ page:,
941
+ # Unique identifier of the recipient assigned to the field. Recipients assigned to
942
+ # fields will be the only ones that will see and be able to complete those fields.
943
+ recipient_id:,
944
+ # Field type of the field. Valid field types: initials, signatures, checkbox,
945
+ # date, and text. To autofill fields with contact data, use an autofill field
946
+ # type. To group checkbox fields, enter an api_id for each checkbox and add the
947
+ # checkbox_groups parameter.
948
+ type:,
949
+ # Horizontal value in the coordinates of the field (in pixels). Coordinates are
950
+ # specific to the page where fields are located.
951
+ x:,
952
+ # Vertical value in the coordinates of the field (in pixels). Coordinates are
953
+ # specific to the page where fields are located.
954
+ y_:,
955
+ # Whether to allow "Other" option with text input (for dropdown/select fields
956
+ # only)
957
+ allow_other: nil,
958
+ # Unique identifier of the field. Useful when needing to reference specific field
959
+ # values or update a document and its fields.
960
+ api_id: nil,
961
+ # Date fields only: date format to use for the field. Valid values: MM/DD/YYYY,
962
+ # DD/MM/YYYY, YYYY/MM/DD, Month DD, YYYY, and MM/DD/YYYY hh:mm:ss a. Defaults to
963
+ # MM/DD/YYYY.
964
+ date_format: nil,
965
+ # Default selected option (for dropdown/select fields only)
966
+ default_option: nil,
967
+ # Text fields only: whether the field width will stay fixed and text will display
968
+ # in multiple lines, rather than one long line. If set to `false` the field width
969
+ # will automatically grow horizontally to fit text on one line. Defaults to
970
+ # `false`.
971
+ fixed_width: nil,
972
+ # Date fields only (text field formulas coming soon): formulas are a way to
973
+ # prefill fields with calculated future or past dates. Addition, subtraction, and
974
+ # parentheses are allowed. Valid event dates are `created_date`, `sent_date`, and
975
+ # `signed_date`. Valid time periods are `day`, `days`, `week`, `weeks`, `month`,
976
+ # and `months`. Example: `formula: 'sent_date + 10 days'`. Use with
977
+ # `lock_sign_date` if you'd like to make the field readonly and prevent signers
978
+ # from choosing a different date.
979
+ formula: nil,
980
+ # Height of the field (in pixels). Maximum height varies by field type:
981
+ # Signature/Initials (200px), others (74px). When using text tags if the height is
982
+ # greater than the maximum height, the height will be set to the maximum height.
983
+ height: nil,
984
+ # Text and Date fields only: label that is displayed when the field is empty.
985
+ label: nil,
986
+ # Date fields only: makes fields readonly and automatically populates with the
987
+ # date the recipient signed. Defaults to `false`.
988
+ lock_sign_date: nil,
989
+ # Checkbox fields only. At least 2 checkbox fields in an array of fields must be
990
+ # assigned to the same recipient and grouped with selection requirements.
991
+ name: nil,
992
+ # Array of dropdown options (for dropdown/select fields only)
993
+ options: nil,
994
+ # Whether the field must be completed by the recipient. Defaults to `true` except
995
+ # for checkbox type fields.
996
+ required: nil,
997
+ # Text fields only: optional validation for field values. Valid values: numbers,
998
+ # letters, email_address, us_phone_number, us_zip_code, us_ssn, us_age,
999
+ # alphanumeric, us_bank_routing_number, us_bank_account.
1000
+ validation: nil,
1001
+ # Varies according to the field type. Text fields accept strings or numbers. Date
1002
+ # fields accept Iso8601 date strings. CheckBoxes accept booleans. Signature and
1003
+ # Initials fields can't be signed through API requests. Autofill text fields
1004
+ # accept strings or numbers.
1005
+ value: nil,
1006
+ # Width of the field (in pixels). For text fields, width will auto-grow unless
1007
+ # `fixed_width` is true.
1008
+ width: nil
1009
+ )
1010
+ end
1011
+
1012
+ sig do
1013
+ override.returns(
1014
+ {
1015
+ page: Integer,
1016
+ recipient_id: String,
1017
+ type: SignwellSDK::FieldType::OrSymbol,
1018
+ x: Float,
1019
+ y_: Float,
1020
+ allow_other: T::Boolean,
1021
+ api_id: String,
1022
+ date_format: SignwellSDK::DateFormat::OrSymbol,
1023
+ default_option: String,
1024
+ fixed_width: T::Boolean,
1025
+ formula: String,
1026
+ height: Float,
1027
+ label: String,
1028
+ lock_sign_date: T::Boolean,
1029
+ name: String,
1030
+ options:
1031
+ T::Array[
1032
+ T.any(
1033
+ String,
1034
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Option::DetailedOption
1035
+ )
1036
+ ],
1037
+ required: T::Boolean,
1038
+ validation: SignwellSDK::TextValidation::OrSymbol,
1039
+ value:
1040
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Value::Variants,
1041
+ width: Float
1042
+ }
1043
+ )
1044
+ end
1045
+ def to_hash
1046
+ end
1047
+
1048
+ # A dropdown option - either a simple string or a detailed object with name and
1049
+ # optional api_id
1050
+ module Option
1051
+ extend SignwellSDK::Internal::Type::Union
1052
+
1053
+ Variants =
1054
+ T.type_alias do
1055
+ T.any(
1056
+ String,
1057
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Option::DetailedOption
1058
+ )
1059
+ end
1060
+
1061
+ class DetailedOption < SignwellSDK::Internal::Type::BaseModel
1062
+ OrHash =
1063
+ T.type_alias do
1064
+ T.any(
1065
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Option::DetailedOption,
1066
+ SignwellSDK::Internal::AnyHash
1067
+ )
1068
+ end
1069
+
1070
+ # Option display name
1071
+ sig { returns(String) }
1072
+ attr_accessor :name
1073
+
1074
+ # Unique identifier for the option
1075
+ sig { returns(T.nilable(String)) }
1076
+ attr_reader :api_id
1077
+
1078
+ sig { params(api_id: String).void }
1079
+ attr_writer :api_id
1080
+
1081
+ # Whether this is the special "Other" option
1082
+ sig { returns(T.nilable(T::Boolean)) }
1083
+ attr_reader :is_other
1084
+
1085
+ sig { params(is_other: T::Boolean).void }
1086
+ attr_writer :is_other
1087
+
1088
+ # Detailed option object
1089
+ sig do
1090
+ params(
1091
+ name: String,
1092
+ api_id: String,
1093
+ is_other: T::Boolean
1094
+ ).returns(T.attached_class)
1095
+ end
1096
+ def self.new(
1097
+ # Option display name
1098
+ name:,
1099
+ # Unique identifier for the option
1100
+ api_id: nil,
1101
+ # Whether this is the special "Other" option
1102
+ is_other: nil
1103
+ )
1104
+ end
1105
+
1106
+ sig do
1107
+ override.returns(
1108
+ { name: String, api_id: String, is_other: T::Boolean }
1109
+ )
1110
+ end
1111
+ def to_hash
1112
+ end
1113
+ end
1114
+
1115
+ sig do
1116
+ override.returns(
1117
+ T::Array[
1118
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Option::Variants
1119
+ ]
1120
+ )
1121
+ end
1122
+ def self.variants
1123
+ end
1124
+ end
1125
+
1126
+ # Varies according to the field type. Text fields accept strings or numbers. Date
1127
+ # fields accept Iso8601 date strings. CheckBoxes accept booleans. Signature and
1128
+ # Initials fields can't be signed through API requests. Autofill text fields
1129
+ # accept strings or numbers.
1130
+ module Value
1131
+ extend SignwellSDK::Internal::Type::Union
1132
+
1133
+ Variants = T.type_alias { T.any(String, T::Boolean, Float) }
1134
+
1135
+ sig do
1136
+ override.returns(
1137
+ T::Array[
1138
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::Field::Value::Variants
1139
+ ]
1140
+ )
1141
+ end
1142
+ def self.variants
1143
+ end
1144
+ end
1145
+ end
1146
+
1147
+ class File < SignwellSDK::Internal::Type::BaseModel
1148
+ OrHash =
1149
+ T.type_alias do
1150
+ T.any(
1151
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::File,
1152
+ SignwellSDK::Internal::AnyHash
1153
+ )
1154
+ end
1155
+
1156
+ # Name of the file that will be uploaded.
1157
+ sig { returns(String) }
1158
+ attr_accessor :name
1159
+
1160
+ # A RFC 4648 base64 string of the file to be uploaded.
1161
+ sig { returns(T.nilable(String)) }
1162
+ attr_reader :file_base64
1163
+
1164
+ sig { params(file_base64: String).void }
1165
+ attr_writer :file_base64
1166
+
1167
+ # Publicly available URL of the file to be uploaded.
1168
+ sig { returns(T.nilable(String)) }
1169
+ attr_reader :file_url
1170
+
1171
+ sig { params(file_url: String).void }
1172
+ attr_writer :file_url
1173
+
1174
+ # Additional files to be appended to the document. Will not replace existing files
1175
+ # from the template. Document files can be uploaded by specifying a file URL or
1176
+ # base64 string. Either `file_url` or `file_base64` must be present (not both).
1177
+ # Valid file types are: .pdf, .docx, .jpg, .png, .ppt, .xls, .pages, and .txt.
1178
+ sig do
1179
+ params(name: String, file_base64: String, file_url: String).returns(
1180
+ T.attached_class
1181
+ )
1182
+ end
1183
+ def self.new(
1184
+ # Name of the file that will be uploaded.
1185
+ name:,
1186
+ # A RFC 4648 base64 string of the file to be uploaded.
1187
+ file_base64: nil,
1188
+ # Publicly available URL of the file to be uploaded.
1189
+ file_url: nil
1190
+ )
1191
+ end
1192
+
1193
+ sig do
1194
+ override.returns(
1195
+ { name: String, file_base64: String, file_url: String }
1196
+ )
1197
+ end
1198
+ def to_hash
1199
+ end
1200
+ end
1201
+
1202
+ class TemplateField < SignwellSDK::Internal::Type::BaseModel
1203
+ OrHash =
1204
+ T.type_alias do
1205
+ T.any(
1206
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::TemplateField,
1207
+ SignwellSDK::Internal::AnyHash
1208
+ )
1209
+ end
1210
+
1211
+ # The API ID of the field in your template. This field is case sensitive.
1212
+ sig { returns(String) }
1213
+ attr_accessor :api_id
1214
+
1215
+ # TextField value must be a string or a number.
1216
+ sig do
1217
+ returns(
1218
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::TemplateField::Value::Variants
1219
+ )
1220
+ end
1221
+ attr_accessor :value
1222
+
1223
+ sig do
1224
+ params(
1225
+ api_id: String,
1226
+ value:
1227
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::TemplateField::Value::Variants
1228
+ ).returns(T.attached_class)
1229
+ end
1230
+ def self.new(
1231
+ # The API ID of the field in your template. This field is case sensitive.
1232
+ api_id:,
1233
+ # TextField value must be a string or a number.
1234
+ value:
1235
+ )
1236
+ end
1237
+
1238
+ sig do
1239
+ override.returns(
1240
+ {
1241
+ api_id: String,
1242
+ value:
1243
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::TemplateField::Value::Variants
1244
+ }
1245
+ )
1246
+ end
1247
+ def to_hash
1248
+ end
1249
+
1250
+ # TextField value must be a string or a number.
1251
+ module Value
1252
+ extend SignwellSDK::Internal::Type::Union
1253
+
1254
+ Variants = T.type_alias { T.any(String, T::Boolean, Float) }
1255
+
1256
+ sig do
1257
+ override.returns(
1258
+ T::Array[
1259
+ SignwellSDK::V1::DocumentCreateFromTemplateParams::TemplateField::Value::Variants
1260
+ ]
1261
+ )
1262
+ end
1263
+ def self.variants
1264
+ end
1265
+ end
1266
+ end
1267
+ end
1268
+ end
1269
+ end
1270
+ end