cloudpdf 3.0.0.alpha.16 → 3.0.0.alpha.18

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 (200) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +2 -2
  3. data/lib/CloudPDF/client.rb +5 -0
  4. data/lib/CloudPDF/doc/client.rb +55 -0
  5. data/lib/CloudPDF/doc/signatures/client.rb +5 -4
  6. data/lib/CloudPDF/doc/types/doc_download_link_request.rb +17 -0
  7. data/lib/CloudPDF/doc/versions/client.rb +27 -10
  8. data/lib/CloudPDF/doc/versions/types/analysis_versions_request.rb +2 -0
  9. data/lib/CloudPDF/doc/versions/types/download_versions_request.rb +2 -0
  10. data/lib/CloudPDF/doc/versions/types/list_versions_request.rb +2 -0
  11. data/lib/CloudPDF/doc/versions/types/revision_versions_request.rb +2 -0
  12. data/lib/CloudPDF/doc/versions/types/signature_contents_versions_request.rb +2 -0
  13. data/lib/CloudPDF/doc/versions/types/signature_digest_versions_request.rb +2 -0
  14. data/lib/CloudPDF/doc/versions/types/signatures_versions_request.rb +2 -0
  15. data/lib/CloudPDF/documents/client.rb +60 -0
  16. data/lib/CloudPDF/documents/layers/client.rb +103 -0
  17. data/lib/CloudPDF/documents/layers/types/delete_layers_request.rb +17 -0
  18. data/lib/CloudPDF/documents/layers/types/list_layers_request.rb +21 -0
  19. data/lib/CloudPDF/documents/types/documents_import_from_request.rb +4 -0
  20. data/lib/CloudPDF/documents/types/documents_init_request.rb +4 -0
  21. data/lib/CloudPDF/documents/types/documents_update_request.rb +15 -0
  22. data/lib/CloudPDF/documents/types/list_documents_request.rb +8 -0
  23. data/lib/CloudPDF/documents/types/list_documents_request_order.rb +14 -0
  24. data/lib/CloudPDF/documents/types/list_documents_request_sort.rb +15 -0
  25. data/lib/CloudPDF/folders/client.rb +286 -0
  26. data/lib/CloudPDF/folders/types/delete_folders_request.rb +15 -0
  27. data/lib/CloudPDF/folders/types/folders_create_request.rb +15 -0
  28. data/lib/CloudPDF/folders/types/folders_move_into_request.rb +17 -0
  29. data/lib/CloudPDF/folders/types/folders_update_request.rb +15 -0
  30. data/lib/CloudPDF/folders/types/get_folders_request.rb +13 -0
  31. data/lib/CloudPDF/folders/types/list_folders_request.rb +17 -0
  32. data/lib/CloudPDF/shares/client.rb +56 -1
  33. data/lib/CloudPDF/shares/types/archive_shares_request.rb +13 -0
  34. data/lib/CloudPDF/shares/types/list_shares_request.rb +2 -0
  35. data/lib/CloudPDF/shares/types/shares_create_request.rb +10 -0
  36. data/lib/CloudPDF/shares/types/shares_create_request_layer_mode.rb +14 -0
  37. data/lib/CloudPDF/shares/types/shares_create_request_visitor_identity.rb +17 -0
  38. data/lib/CloudPDF/shares/types/shares_create_request_visitor_identity_ask.rb +14 -0
  39. data/lib/CloudPDF/shares/types/shares_create_request_visitor_identity_fields.rb +19 -0
  40. data/lib/CloudPDF/shares/types/shares_create_request_visitor_identity_fields_display_name.rb +14 -0
  41. data/lib/CloudPDF/shares/types/shares_create_request_visitor_identity_fields_email.rb +14 -0
  42. data/lib/CloudPDF/shares/types/shares_create_request_visitor_identity_fields_organization.rb +14 -0
  43. data/lib/CloudPDF/shares/types/shares_create_request_visitor_identity_fields_organizational_unit.rb +14 -0
  44. data/lib/CloudPDF/shares/types/shares_create_request_visitor_identity_fields_title.rb +14 -0
  45. data/lib/CloudPDF/shares/types/shares_exchange_request.rb +6 -0
  46. data/lib/CloudPDF/shares/types/shares_exchange_request_visitor_identity.rb +19 -0
  47. data/lib/CloudPDF/shares/types/shares_update_request.rb +12 -0
  48. data/lib/CloudPDF/shares/types/shares_update_request_layer_mode.rb +14 -0
  49. data/lib/CloudPDF/shares/types/shares_update_request_visitor_identity.rb +17 -0
  50. data/lib/CloudPDF/shares/types/shares_update_request_visitor_identity_ask.rb +14 -0
  51. data/lib/CloudPDF/shares/types/shares_update_request_visitor_identity_fields.rb +19 -0
  52. data/lib/CloudPDF/shares/types/shares_update_request_visitor_identity_fields_display_name.rb +14 -0
  53. data/lib/CloudPDF/shares/types/shares_update_request_visitor_identity_fields_email.rb +14 -0
  54. data/lib/CloudPDF/shares/types/shares_update_request_visitor_identity_fields_organization.rb +14 -0
  55. data/lib/CloudPDF/shares/types/shares_update_request_visitor_identity_fields_organizational_unit.rb +14 -0
  56. data/lib/CloudPDF/shares/types/shares_update_request_visitor_identity_fields_title.rb +14 -0
  57. data/lib/CloudPDF/shares/visitors/client.rb +106 -0
  58. data/lib/CloudPDF/shares/visitors/types/delete_visitors_request.rb +17 -0
  59. data/lib/CloudPDF/shares/visitors/types/list_visitors_request.rb +19 -0
  60. data/lib/CloudPDF/types/admin_error_payload_error.rb +2 -0
  61. data/lib/CloudPDF/types/doc_download_link200response.rb +11 -0
  62. data/lib/CloudPDF/types/doc_download_link404response.rb +23 -0
  63. data/lib/CloudPDF/types/doc_download_link501response.rb +23 -0
  64. data/lib/CloudPDF/types/doc_versions_list200response.rb +1 -1
  65. data/lib/CloudPDF/types/documents_commit200response_document.rb +4 -0
  66. data/lib/CloudPDF/types/documents_get200response_document.rb +4 -0
  67. data/lib/CloudPDF/types/documents_import_from200response_document.rb +4 -0
  68. data/lib/CloudPDF/types/documents_import_from202response_document.rb +4 -0
  69. data/lib/CloudPDF/types/documents_init200response_created_document.rb +4 -0
  70. data/lib/CloudPDF/types/documents_init200response_deduped_document.rb +4 -0
  71. data/lib/CloudPDF/types/documents_init200response_resumed_document.rb +4 -0
  72. data/lib/CloudPDF/types/documents_layers_delete403response.rb +23 -0
  73. data/lib/CloudPDF/types/documents_layers_delete404response.rb +23 -0
  74. data/lib/CloudPDF/types/documents_layers_delete409response.rb +23 -0
  75. data/lib/CloudPDF/types/documents_layers_list200response.rb +11 -0
  76. data/lib/CloudPDF/types/documents_layers_list200response_layers_item.rb +23 -0
  77. data/lib/CloudPDF/types/documents_layers_list400response.rb +23 -0
  78. data/lib/CloudPDF/types/documents_layers_list403response.rb +23 -0
  79. data/lib/CloudPDF/types/documents_layers_list404response.rb +23 -0
  80. data/lib/CloudPDF/types/documents_list200response_documents_item.rb +4 -0
  81. data/lib/CloudPDF/types/documents_update200response.rb +9 -0
  82. data/lib/CloudPDF/types/documents_update200response_document.rb +37 -0
  83. data/lib/CloudPDF/types/documents_update200response_document_state.rb +14 -0
  84. data/lib/CloudPDF/types/documents_update200response_document_thumbnail_state.rb +14 -0
  85. data/lib/CloudPDF/types/documents_update400response.rb +23 -0
  86. data/lib/CloudPDF/types/documents_update403response.rb +23 -0
  87. data/lib/CloudPDF/types/documents_update404response.rb +23 -0
  88. data/lib/CloudPDF/types/engine_error_payload_code.rb +2 -1
  89. data/lib/CloudPDF/types/folders_create200response.rb +9 -0
  90. data/lib/CloudPDF/types/folders_create200response_folder.rb +21 -0
  91. data/lib/CloudPDF/types/folders_create400response.rb +23 -0
  92. data/lib/CloudPDF/types/folders_create403response.rb +23 -0
  93. data/lib/CloudPDF/types/folders_create404response.rb +23 -0
  94. data/lib/CloudPDF/types/folders_create409response.rb +23 -0
  95. data/lib/CloudPDF/types/folders_delete403response.rb +23 -0
  96. data/lib/CloudPDF/types/folders_delete404response.rb +23 -0
  97. data/lib/CloudPDF/types/folders_delete409response.rb +23 -0
  98. data/lib/CloudPDF/types/folders_get200response.rb +11 -0
  99. data/lib/CloudPDF/types/folders_get200response_folder.rb +21 -0
  100. data/lib/CloudPDF/types/folders_get200response_path_item.rb +11 -0
  101. data/lib/CloudPDF/types/{shares_delete_response.rb → folders_get403response.rb} +2 -2
  102. data/lib/CloudPDF/types/folders_get404response.rb +23 -0
  103. data/lib/CloudPDF/types/folders_list200response.rb +11 -0
  104. data/lib/CloudPDF/types/folders_list200response_folders_item.rb +21 -0
  105. data/lib/CloudPDF/types/folders_list400response.rb +23 -0
  106. data/lib/CloudPDF/types/folders_list403response.rb +23 -0
  107. data/lib/CloudPDF/types/folders_list404response.rb +23 -0
  108. data/lib/CloudPDF/types/folders_move_into400response.rb +23 -0
  109. data/lib/CloudPDF/types/folders_move_into403response.rb +23 -0
  110. data/lib/CloudPDF/types/folders_move_into404response.rb +23 -0
  111. data/lib/CloudPDF/types/folders_move_into409response.rb +23 -0
  112. data/lib/CloudPDF/types/folders_update200response.rb +9 -0
  113. data/lib/CloudPDF/types/folders_update200response_folder.rb +21 -0
  114. data/lib/CloudPDF/types/folders_update400response.rb +23 -0
  115. data/lib/CloudPDF/types/folders_update403response.rb +23 -0
  116. data/lib/CloudPDF/types/folders_update404response.rb +23 -0
  117. data/lib/CloudPDF/types/folders_update409response.rb +23 -0
  118. data/lib/CloudPDF/types/{tokens_issue_request_doc_identity.rb → identity.rb} +1 -1
  119. data/lib/CloudPDF/types/shares_archive200response.rb +9 -0
  120. data/lib/CloudPDF/types/shares_archive200response_share.rb +49 -0
  121. data/lib/CloudPDF/types/shares_archive200response_share_layer_mode.rb +12 -0
  122. data/lib/CloudPDF/types/shares_archive200response_share_visitor_identity.rb +15 -0
  123. data/lib/CloudPDF/types/shares_archive200response_share_visitor_identity_ask.rb +12 -0
  124. data/lib/CloudPDF/types/shares_archive200response_share_visitor_identity_fields.rb +17 -0
  125. data/lib/CloudPDF/types/shares_archive200response_share_visitor_identity_fields_display_name.rb +12 -0
  126. data/lib/CloudPDF/types/shares_archive200response_share_visitor_identity_fields_email.rb +12 -0
  127. data/lib/CloudPDF/types/shares_archive200response_share_visitor_identity_fields_organization.rb +12 -0
  128. data/lib/CloudPDF/types/shares_archive200response_share_visitor_identity_fields_organizational_unit.rb +12 -0
  129. data/lib/CloudPDF/types/shares_archive200response_share_visitor_identity_fields_title.rb +12 -0
  130. data/lib/CloudPDF/types/shares_archive404response.rb +23 -0
  131. data/lib/CloudPDF/types/shares_create200response_share.rb +13 -1
  132. data/lib/CloudPDF/types/shares_create200response_share_layer_mode.rb +12 -0
  133. data/lib/CloudPDF/types/shares_create200response_share_visitor_identity.rb +15 -0
  134. data/lib/CloudPDF/types/shares_create200response_share_visitor_identity_ask.rb +12 -0
  135. data/lib/CloudPDF/types/shares_create200response_share_visitor_identity_fields.rb +17 -0
  136. data/lib/CloudPDF/types/shares_create200response_share_visitor_identity_fields_display_name.rb +12 -0
  137. data/lib/CloudPDF/types/shares_create200response_share_visitor_identity_fields_email.rb +12 -0
  138. data/lib/CloudPDF/types/shares_create200response_share_visitor_identity_fields_organization.rb +12 -0
  139. data/lib/CloudPDF/types/shares_create200response_share_visitor_identity_fields_organizational_unit.rb +12 -0
  140. data/lib/CloudPDF/types/shares_create200response_share_visitor_identity_fields_title.rb +12 -0
  141. data/lib/CloudPDF/types/shares_delete404response.rb +23 -0
  142. data/lib/CloudPDF/types/shares_delete409response.rb +23 -0
  143. data/lib/CloudPDF/types/shares_exchange200response.rb +4 -0
  144. data/lib/CloudPDF/types/{tokens_issue_request_tenant_scope_item_zero.rb → shares_exchange200response_layer_mode.rb} +3 -2
  145. data/lib/CloudPDF/types/shares_exchange200response_visitor.rb +13 -0
  146. data/lib/CloudPDF/types/shares_exchange200response_visitor_identity_request.rb +17 -0
  147. data/lib/CloudPDF/types/shares_exchange200response_visitor_identity_request_fields.rb +17 -0
  148. data/lib/CloudPDF/types/shares_exchange200response_visitor_identity_request_fields_display_name.rb +12 -0
  149. data/lib/CloudPDF/types/shares_exchange200response_visitor_identity_request_fields_email.rb +12 -0
  150. data/lib/CloudPDF/types/shares_exchange200response_visitor_identity_request_fields_organization.rb +12 -0
  151. data/lib/CloudPDF/types/shares_exchange200response_visitor_identity_request_fields_organizational_unit.rb +12 -0
  152. data/lib/CloudPDF/types/shares_exchange200response_visitor_identity_request_fields_title.rb +12 -0
  153. data/lib/CloudPDF/types/shares_exchange200response_visitor_identity_request_invalid_item.rb +15 -0
  154. data/lib/CloudPDF/types/shares_exchange200response_visitor_identity_request_missing_item.rb +15 -0
  155. data/lib/CloudPDF/types/shares_get200response_share.rb +13 -1
  156. data/lib/CloudPDF/types/shares_get200response_share_layer_mode.rb +12 -0
  157. data/lib/CloudPDF/types/shares_get200response_share_visitor_identity.rb +15 -0
  158. data/lib/CloudPDF/types/shares_get200response_share_visitor_identity_ask.rb +12 -0
  159. data/lib/CloudPDF/types/shares_get200response_share_visitor_identity_fields.rb +17 -0
  160. data/lib/CloudPDF/types/shares_get200response_share_visitor_identity_fields_display_name.rb +12 -0
  161. data/lib/CloudPDF/types/shares_get200response_share_visitor_identity_fields_email.rb +12 -0
  162. data/lib/CloudPDF/types/shares_get200response_share_visitor_identity_fields_organization.rb +12 -0
  163. data/lib/CloudPDF/types/shares_get200response_share_visitor_identity_fields_organizational_unit.rb +12 -0
  164. data/lib/CloudPDF/types/shares_get200response_share_visitor_identity_fields_title.rb +12 -0
  165. data/lib/CloudPDF/types/shares_list200response_shares_item.rb +13 -1
  166. data/lib/CloudPDF/types/shares_list200response_shares_item_layer_mode.rb +12 -0
  167. data/lib/CloudPDF/types/shares_list200response_shares_item_visitor_identity.rb +15 -0
  168. data/lib/CloudPDF/types/shares_list200response_shares_item_visitor_identity_ask.rb +12 -0
  169. data/lib/CloudPDF/types/shares_list200response_shares_item_visitor_identity_fields.rb +17 -0
  170. data/lib/CloudPDF/types/shares_list200response_shares_item_visitor_identity_fields_display_name.rb +12 -0
  171. data/lib/CloudPDF/types/shares_list200response_shares_item_visitor_identity_fields_email.rb +12 -0
  172. data/lib/CloudPDF/types/shares_list200response_shares_item_visitor_identity_fields_organization.rb +12 -0
  173. data/lib/CloudPDF/types/shares_list200response_shares_item_visitor_identity_fields_organizational_unit.rb +12 -0
  174. data/lib/CloudPDF/types/shares_list200response_shares_item_visitor_identity_fields_title.rb +12 -0
  175. data/lib/CloudPDF/types/shares_update200response_share.rb +13 -1
  176. data/lib/CloudPDF/types/shares_update200response_share_layer_mode.rb +12 -0
  177. data/lib/CloudPDF/types/shares_update200response_share_visitor_identity.rb +15 -0
  178. data/lib/CloudPDF/types/shares_update200response_share_visitor_identity_ask.rb +12 -0
  179. data/lib/CloudPDF/types/shares_update200response_share_visitor_identity_fields.rb +17 -0
  180. data/lib/CloudPDF/types/shares_update200response_share_visitor_identity_fields_display_name.rb +12 -0
  181. data/lib/CloudPDF/types/shares_update200response_share_visitor_identity_fields_email.rb +12 -0
  182. data/lib/CloudPDF/types/shares_update200response_share_visitor_identity_fields_organization.rb +12 -0
  183. data/lib/CloudPDF/types/shares_update200response_share_visitor_identity_fields_organizational_unit.rb +12 -0
  184. data/lib/CloudPDF/types/shares_update200response_share_visitor_identity_fields_title.rb +12 -0
  185. data/lib/CloudPDF/types/shares_update409response.rb +23 -0
  186. data/lib/CloudPDF/types/shares_visitors_delete_response.rb +23 -0
  187. data/lib/CloudPDF/types/shares_visitors_list200response.rb +11 -0
  188. data/lib/CloudPDF/types/shares_visitors_list200response_visitors_item.rb +21 -0
  189. data/lib/CloudPDF/types/shares_visitors_list200response_visitors_item_answers.rb +17 -0
  190. data/lib/CloudPDF/types/shares_visitors_list200response_visitors_item_layer.rb +11 -0
  191. data/lib/CloudPDF/types/shares_visitors_list400response.rb +23 -0
  192. data/lib/CloudPDF/types/shares_visitors_list404response.rb +23 -0
  193. data/lib/CloudPDF/types/tokens_issue_request_doc.rb +1 -1
  194. data/lib/CloudPDF/types/tokens_issue_request_tenant.rb +1 -1
  195. data/lib/CloudPDF/version.rb +1 -1
  196. data/lib/cloudpdf.rb +154 -5
  197. data/reference.md +1968 -686
  198. metadata +156 -7
  199. data/lib/CloudPDF/types/tokens_issue_request_tenant_scope_item.rb +0 -13
  200. data/lib/CloudPDF/types/tokens_issue_request_tenant_scope_item_one.rb +0 -16
data/reference.md CHANGED
@@ -252,6 +252,95 @@ client.doc.download(
252
252
  </dl>
253
253
 
254
254
 
255
+ </dd>
256
+ </dl>
257
+ </details>
258
+
259
+ <details><summary><code>client.doc.<a href="/lib/CloudPDF/doc/client.rb">download_link</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocDownloadLink200Response</code></summary>
260
+ <dl>
261
+ <dd>
262
+
263
+ #### 📝 Description
264
+
265
+ <dl>
266
+ <dd>
267
+
268
+ <dl>
269
+ <dd>
270
+
271
+ The link opens the layer as it is when created: once the layer changes, it answers 404, so create it right before handing it over. It downloads that one file and nothing else, and a password-protected document is checked when the link is created. Deployments that verify tokens with their own keys (JWKS) mint links on their backend: a doc token with `layer_name`, a `download: { docVersion, mode: "incremental" }` claim and a short `exp`, passed as `link` on the versioned download URL.
272
+ </dd>
273
+ </dl>
274
+ </dd>
275
+ </dl>
276
+
277
+ #### 🔌 Usage
278
+
279
+ <dl>
280
+ <dd>
281
+
282
+ <dl>
283
+ <dd>
284
+
285
+ ```ruby
286
+ client.doc.download_link(
287
+ doc_id: "docId",
288
+ layer_name: "layerName"
289
+ )
290
+ ```
291
+ </dd>
292
+ </dl>
293
+ </dd>
294
+ </dl>
295
+
296
+ #### ⚙️ Parameters
297
+
298
+ <dl>
299
+ <dd>
300
+
301
+ <dl>
302
+ <dd>
303
+
304
+ **doc_id:** `String`
305
+
306
+ </dd>
307
+ </dl>
308
+
309
+ <dl>
310
+ <dd>
311
+
312
+ **layer_name:** `String`
313
+
314
+ </dd>
315
+ </dl>
316
+
317
+ <dl>
318
+ <dd>
319
+
320
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
321
+
322
+ </dd>
323
+ </dl>
324
+
325
+ <dl>
326
+ <dd>
327
+
328
+ **expires_in:** `Integer`
329
+
330
+ </dd>
331
+ </dl>
332
+
333
+ <dl>
334
+ <dd>
335
+
336
+ **request_options:** `CloudPDF::Doc::RequestOptions`
337
+
338
+ </dd>
339
+ </dl>
340
+ </dd>
341
+ </dl>
342
+
343
+
255
344
  </dd>
256
345
  </dl>
257
346
  </details>
@@ -502,7 +591,7 @@ client.doc.text(
502
591
  <dl>
503
592
  <dd>
504
593
 
505
- Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until `password` is supplied. Mounted only when the deployment can sign (HS256 mode).
594
+ Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until `password` is supplied. A link that asks its visitors who they are on open returns 422 VisitorIdentityRequired until the required answers are given; `error.details` carries `fields` (what the link asks), `missing`, `invalid`, `purpose` and `privacyUrl`. A link that asks before the first change issues the session at once with `visitor.identityRequest`, and writes answer 403 VisitorIdentityRequired with the same details until the visitor exchanges again with their answers. Answers that can not be taken answer 422 on any link. Mounted only when the deployment can sign (HS256 mode).
506
595
  </dd>
507
596
  </dl>
508
597
  </dd>
@@ -548,6 +637,30 @@ client.shares.exchange(share_token: "shareToken")
548
637
  <dl>
549
638
  <dd>
550
639
 
640
+ **visitor_handle:** `String`
641
+
642
+ </dd>
643
+ </dl>
644
+
645
+ <dl>
646
+ <dd>
647
+
648
+ **restart:** `Internal::Types::Boolean`
649
+
650
+ </dd>
651
+ </dl>
652
+
653
+ <dl>
654
+ <dd>
655
+
656
+ **visitor_identity:** `CloudPDF::Shares::Types::SharesExchangeRequestVisitorIdentity`
657
+
658
+ </dd>
659
+ </dl>
660
+
661
+ <dl>
662
+ <dd>
663
+
551
664
  **request_options:** `CloudPDF::Shares::RequestOptions`
552
665
 
553
666
  </dd>
@@ -620,6 +733,14 @@ client.shares.list(tenant_id: "tenantId")
620
733
  <dl>
621
734
  <dd>
622
735
 
736
+ **archived:** `Internal::Types::Boolean`
737
+
738
+ </dd>
739
+ </dl>
740
+
741
+ <dl>
742
+ <dd>
743
+
623
744
  **request_options:** `CloudPDF::Shares::RequestOptions`
624
745
 
625
746
  </dd>
@@ -694,6 +815,14 @@ client.shares.create(
694
815
  <dl>
695
816
  <dd>
696
817
 
818
+ **layer_mode:** `CloudPDF::Shares::Types::SharesCreateRequestLayerMode`
819
+
820
+ </dd>
821
+ </dl>
822
+
823
+ <dl>
824
+ <dd>
825
+
697
826
  **layer_name:** `String`
698
827
 
699
828
  </dd>
@@ -702,6 +831,38 @@ client.shares.create(
702
831
  <dl>
703
832
  <dd>
704
833
 
834
+ **keep_visitor_layers:** `Internal::Types::Boolean`
835
+
836
+ </dd>
837
+ </dl>
838
+
839
+ <dl>
840
+ <dd>
841
+
842
+ **visitor_idle_seconds:** `Integer`
843
+
844
+ </dd>
845
+ </dl>
846
+
847
+ <dl>
848
+ <dd>
849
+
850
+ **visitor_identity:** `CloudPDF::Shares::Types::SharesCreateRequestVisitorIdentity`
851
+
852
+ </dd>
853
+ </dl>
854
+
855
+ <dl>
856
+ <dd>
857
+
858
+ **identity:** `CloudPDF::Types::Identity`
859
+
860
+ </dd>
861
+ </dl>
862
+
863
+ <dl>
864
+ <dd>
865
+
705
866
  **scope:** `Internal::Types::Array[String]`
706
867
 
707
868
  </dd>
@@ -919,6 +1080,54 @@ client.shares.update(
919
1080
  <dl>
920
1081
  <dd>
921
1082
 
1083
+ **layer_mode:** `CloudPDF::Shares::Types::SharesUpdateRequestLayerMode`
1084
+
1085
+ </dd>
1086
+ </dl>
1087
+
1088
+ <dl>
1089
+ <dd>
1090
+
1091
+ **layer_name:** `String`
1092
+
1093
+ </dd>
1094
+ </dl>
1095
+
1096
+ <dl>
1097
+ <dd>
1098
+
1099
+ **keep_visitor_layers:** `Internal::Types::Boolean`
1100
+
1101
+ </dd>
1102
+ </dl>
1103
+
1104
+ <dl>
1105
+ <dd>
1106
+
1107
+ **visitor_idle_seconds:** `Integer`
1108
+
1109
+ </dd>
1110
+ </dl>
1111
+
1112
+ <dl>
1113
+ <dd>
1114
+
1115
+ **visitor_identity:** `CloudPDF::Shares::Types::SharesUpdateRequestVisitorIdentity`
1116
+
1117
+ </dd>
1118
+ </dl>
1119
+
1120
+ <dl>
1121
+ <dd>
1122
+
1123
+ **identity:** `CloudPDF::Types::Identity`
1124
+
1125
+ </dd>
1126
+ </dl>
1127
+
1128
+ <dl>
1129
+ <dd>
1130
+
922
1131
  **scope:** `Internal::Types::Array[String]`
923
1132
 
924
1133
  </dd>
@@ -979,11 +1188,24 @@ client.shares.update(
979
1188
  </dl>
980
1189
  </details>
981
1190
 
982
- ## Tenants
983
- <details><summary><code>client.tenants.<a href="/lib/CloudPDF/tenants/client.rb">list</a>() -> CloudPDF::Types::TenantsList200Response</code></summary>
1191
+ <details><summary><code>client.shares.<a href="/lib/CloudPDF/shares/client.rb">archive</a>(tenant_id:, share_id:) -> CloudPDF::Types::SharesArchive200Response</code></summary>
1192
+ <dl>
1193
+ <dd>
1194
+
1195
+ #### 📝 Description
1196
+
1197
+ <dl>
1198
+ <dd>
1199
+
984
1200
  <dl>
985
1201
  <dd>
986
1202
 
1203
+ Archiving is final: an archived link never exchanges again, and to share again you create a new link. Pausing (`disabled`) is the reversible stop. An archived link no longer counts as using its shared layer, so that layer can be deleted.
1204
+ </dd>
1205
+ </dl>
1206
+ </dd>
1207
+ </dl>
1208
+
987
1209
  #### 🔌 Usage
988
1210
 
989
1211
  <dl>
@@ -993,7 +1215,10 @@ client.shares.update(
993
1215
  <dd>
994
1216
 
995
1217
  ```ruby
996
- client.tenants.list
1218
+ client.shares.archive(
1219
+ tenant_id: "tenantId",
1220
+ share_id: "shareId"
1221
+ )
997
1222
  ```
998
1223
  </dd>
999
1224
  </dl>
@@ -1008,7 +1233,7 @@ client.tenants.list
1008
1233
  <dl>
1009
1234
  <dd>
1010
1235
 
1011
- **limit:** `Integer`
1236
+ **tenant_id:** `String`
1012
1237
 
1013
1238
  </dd>
1014
1239
  </dl>
@@ -1016,7 +1241,7 @@ client.tenants.list
1016
1241
  <dl>
1017
1242
  <dd>
1018
1243
 
1019
- **cursor:** `String`
1244
+ **share_id:** `String`
1020
1245
 
1021
1246
  </dd>
1022
1247
  </dl>
@@ -1024,7 +1249,7 @@ client.tenants.list
1024
1249
  <dl>
1025
1250
  <dd>
1026
1251
 
1027
- **request_options:** `CloudPDF::Tenants::RequestOptions`
1252
+ **request_options:** `CloudPDF::Shares::RequestOptions`
1028
1253
 
1029
1254
  </dd>
1030
1255
  </dl>
@@ -1036,7 +1261,8 @@ client.tenants.list
1036
1261
  </dl>
1037
1262
  </details>
1038
1263
 
1039
- <details><summary><code>client.tenants.<a href="/lib/CloudPDF/tenants/client.rb">create</a>(request) -> CloudPDF::Types::TenantsCreate200Response</code></summary>
1264
+ ## Tenants
1265
+ <details><summary><code>client.tenants.<a href="/lib/CloudPDF/tenants/client.rb">list</a>() -> CloudPDF::Types::TenantsList200Response</code></summary>
1040
1266
  <dl>
1041
1267
  <dd>
1042
1268
 
@@ -1049,7 +1275,7 @@ client.tenants.list
1049
1275
  <dd>
1050
1276
 
1051
1277
  ```ruby
1052
- client.tenants.create(id: "id")
1278
+ client.tenants.list
1053
1279
  ```
1054
1280
  </dd>
1055
1281
  </dl>
@@ -1064,7 +1290,7 @@ client.tenants.create(id: "id")
1064
1290
  <dl>
1065
1291
  <dd>
1066
1292
 
1067
- **id:** `String`
1293
+ **limit:** `Integer`
1068
1294
 
1069
1295
  </dd>
1070
1296
  </dl>
@@ -1072,7 +1298,7 @@ client.tenants.create(id: "id")
1072
1298
  <dl>
1073
1299
  <dd>
1074
1300
 
1075
- **name:** `String`
1301
+ **cursor:** `String`
1076
1302
 
1077
1303
  </dd>
1078
1304
  </dl>
@@ -1092,7 +1318,7 @@ client.tenants.create(id: "id")
1092
1318
  </dl>
1093
1319
  </details>
1094
1320
 
1095
- <details><summary><code>client.tenants.<a href="/lib/CloudPDF/tenants/client.rb">get</a>(tenant_id:) -> CloudPDF::Types::TenantsGet200Response</code></summary>
1321
+ <details><summary><code>client.tenants.<a href="/lib/CloudPDF/tenants/client.rb">create</a>(request) -> CloudPDF::Types::TenantsCreate200Response</code></summary>
1096
1322
  <dl>
1097
1323
  <dd>
1098
1324
 
@@ -1105,7 +1331,7 @@ client.tenants.create(id: "id")
1105
1331
  <dd>
1106
1332
 
1107
1333
  ```ruby
1108
- client.tenants.get(tenant_id: "tenantId")
1334
+ client.tenants.create(id: "id")
1109
1335
  ```
1110
1336
  </dd>
1111
1337
  </dl>
@@ -1120,7 +1346,15 @@ client.tenants.get(tenant_id: "tenantId")
1120
1346
  <dl>
1121
1347
  <dd>
1122
1348
 
1123
- **tenant_id:** `String`
1349
+ **id:** `String`
1350
+
1351
+ </dd>
1352
+ </dl>
1353
+
1354
+ <dl>
1355
+ <dd>
1356
+
1357
+ **name:** `String`
1124
1358
 
1125
1359
  </dd>
1126
1360
  </dl>
@@ -1140,11 +1374,11 @@ client.tenants.get(tenant_id: "tenantId")
1140
1374
  </dl>
1141
1375
  </details>
1142
1376
 
1143
- <details><summary><code>client.tenants.<a href="/lib/CloudPDF/tenants/client.rb">delete</a>(tenant_id:) -> </code></summary>
1377
+ <details><summary><code>client.tenants.<a href="/lib/CloudPDF/tenants/client.rb">get</a>(tenant_id:) -> CloudPDF::Types::TenantsGet200Response</code></summary>
1144
1378
  <dl>
1145
1379
  <dd>
1146
1380
 
1147
- #### 📝 Description
1381
+ #### 🔌 Usage
1148
1382
 
1149
1383
  <dl>
1150
1384
  <dd>
@@ -1152,13 +1386,15 @@ client.tenants.get(tenant_id: "tenantId")
1152
1386
  <dl>
1153
1387
  <dd>
1154
1388
 
1155
- Destroys the tenant and everything in its namespace — documents, layers, stored bytes, audit history. Irreversible.
1389
+ ```ruby
1390
+ client.tenants.get(tenant_id: "tenantId")
1391
+ ```
1156
1392
  </dd>
1157
1393
  </dl>
1158
1394
  </dd>
1159
1395
  </dl>
1160
1396
 
1161
- #### 🔌 Usage
1397
+ #### ⚙️ Parameters
1162
1398
 
1163
1399
  <dl>
1164
1400
  <dd>
@@ -1166,11 +1402,57 @@ Destroys the tenant and everything in its namespace — documents, layers, store
1166
1402
  <dl>
1167
1403
  <dd>
1168
1404
 
1169
- ```ruby
1170
- client.tenants.delete(tenant_id: "tenantId")
1171
- ```
1172
- </dd>
1173
- </dl>
1405
+ **tenant_id:** `String`
1406
+
1407
+ </dd>
1408
+ </dl>
1409
+
1410
+ <dl>
1411
+ <dd>
1412
+
1413
+ **request_options:** `CloudPDF::Tenants::RequestOptions`
1414
+
1415
+ </dd>
1416
+ </dl>
1417
+ </dd>
1418
+ </dl>
1419
+
1420
+
1421
+ </dd>
1422
+ </dl>
1423
+ </details>
1424
+
1425
+ <details><summary><code>client.tenants.<a href="/lib/CloudPDF/tenants/client.rb">delete</a>(tenant_id:) -> </code></summary>
1426
+ <dl>
1427
+ <dd>
1428
+
1429
+ #### 📝 Description
1430
+
1431
+ <dl>
1432
+ <dd>
1433
+
1434
+ <dl>
1435
+ <dd>
1436
+
1437
+ Destroys the tenant and everything in its namespace — documents, layers, stored bytes, audit history. Irreversible.
1438
+ </dd>
1439
+ </dl>
1440
+ </dd>
1441
+ </dl>
1442
+
1443
+ #### 🔌 Usage
1444
+
1445
+ <dl>
1446
+ <dd>
1447
+
1448
+ <dl>
1449
+ <dd>
1450
+
1451
+ ```ruby
1452
+ client.tenants.delete(tenant_id: "tenantId")
1453
+ ```
1454
+ </dd>
1455
+ </dl>
1174
1456
  </dd>
1175
1457
  </dl>
1176
1458
 
@@ -1443,7 +1725,39 @@ client.documents.list(tenant_id: "tenantId")
1443
1725
  <dl>
1444
1726
  <dd>
1445
1727
 
1446
- **state:** `CloudPDF::Documents::Types::ListDocumentsRequestState`
1728
+ **state:** `CloudPDF::Documents::Types::ListDocumentsRequestState` — Only documents in this state. Without it, every state except deleting.
1729
+
1730
+ </dd>
1731
+ </dl>
1732
+
1733
+ <dl>
1734
+ <dd>
1735
+
1736
+ **q:** `String` — Only documents whose name contains this text, ignoring case.
1737
+
1738
+ </dd>
1739
+ </dl>
1740
+
1741
+ <dl>
1742
+ <dd>
1743
+
1744
+ **folder_id:** `String` — Only documents directly in this folder (root: the top level). Without it, documents in every folder.
1745
+
1746
+ </dd>
1747
+ </dl>
1748
+
1749
+ <dl>
1750
+ <dd>
1751
+
1752
+ **sort:** `CloudPDF::Documents::Types::ListDocumentsRequestSort` — createdAt (default), name (ignoring case), or size (stored bytes; 0 while pending).
1753
+
1754
+ </dd>
1755
+ </dl>
1756
+
1757
+ <dl>
1758
+ <dd>
1759
+
1760
+ **order:** `CloudPDF::Documents::Types::ListDocumentsRequestOrder` — Defaults to the reading order of the sort: A to Z for name, newest and largest first otherwise.
1447
1761
 
1448
1762
  </dd>
1449
1763
  </dl>
@@ -1577,6 +1891,88 @@ client.documents.delete(
1577
1891
  </dl>
1578
1892
 
1579
1893
 
1894
+ </dd>
1895
+ </dl>
1896
+ </details>
1897
+
1898
+ <details><summary><code>client.documents.<a href="/lib/CloudPDF/documents/client.rb">update</a>(tenant_id:, id:, request) -> CloudPDF::Types::DocumentsUpdate200Response</code></summary>
1899
+ <dl>
1900
+ <dd>
1901
+
1902
+ #### 📝 Description
1903
+
1904
+ <dl>
1905
+ <dd>
1906
+
1907
+ <dl>
1908
+ <dd>
1909
+
1910
+ A document that is being deleted answers 404.
1911
+ </dd>
1912
+ </dl>
1913
+ </dd>
1914
+ </dl>
1915
+
1916
+ #### 🔌 Usage
1917
+
1918
+ <dl>
1919
+ <dd>
1920
+
1921
+ <dl>
1922
+ <dd>
1923
+
1924
+ ```ruby
1925
+ client.documents.update(
1926
+ tenant_id: "tenantId",
1927
+ id: "id",
1928
+ name: "name"
1929
+ )
1930
+ ```
1931
+ </dd>
1932
+ </dl>
1933
+ </dd>
1934
+ </dl>
1935
+
1936
+ #### ⚙️ Parameters
1937
+
1938
+ <dl>
1939
+ <dd>
1940
+
1941
+ <dl>
1942
+ <dd>
1943
+
1944
+ **tenant_id:** `String`
1945
+
1946
+ </dd>
1947
+ </dl>
1948
+
1949
+ <dl>
1950
+ <dd>
1951
+
1952
+ **id:** `String`
1953
+
1954
+ </dd>
1955
+ </dl>
1956
+
1957
+ <dl>
1958
+ <dd>
1959
+
1960
+ **name:** `String` — What people call the document: shown in dashboards, searched and sorted by. 1 to 255 characters, no control characters, no leading or trailing whitespace. Names need not be unique.
1961
+
1962
+ </dd>
1963
+ </dl>
1964
+
1965
+ <dl>
1966
+ <dd>
1967
+
1968
+ **request_options:** `CloudPDF::Documents::RequestOptions`
1969
+
1970
+ </dd>
1971
+ </dl>
1972
+ </dd>
1973
+ </dl>
1974
+
1975
+
1580
1976
  </dd>
1581
1977
  </dl>
1582
1978
  </details>
@@ -1909,6 +2305,22 @@ client.documents.import_from(tenant_id: "tenantId")
1909
2305
  <dl>
1910
2306
  <dd>
1911
2307
 
2308
+ **name:** `String` — What people call the document: shown in dashboards, searched and sorted by. 1 to 255 characters, no control characters, no leading or trailing whitespace. Names need not be unique.
2309
+
2310
+ </dd>
2311
+ </dl>
2312
+
2313
+ <dl>
2314
+ <dd>
2315
+
2316
+ **folder_id:** `String` — A folder id, or root for the top level.
2317
+
2318
+ </dd>
2319
+ </dl>
2320
+
2321
+ <dl>
2322
+ <dd>
2323
+
1912
2324
  **metadata:** `Internal::Types::Hash[String, Object]`
1913
2325
 
1914
2326
  </dd>
@@ -2017,6 +2429,22 @@ client.documents.init(
2017
2429
  <dl>
2018
2430
  <dd>
2019
2431
 
2432
+ **name:** `String` — What people call the document: shown in dashboards, searched and sorted by. 1 to 255 characters, no control characters, no leading or trailing whitespace. Names need not be unique.
2433
+
2434
+ </dd>
2435
+ </dl>
2436
+
2437
+ <dl>
2438
+ <dd>
2439
+
2440
+ **folder_id:** `String` — A folder id, or root for the top level.
2441
+
2442
+ </dd>
2443
+ </dl>
2444
+
2445
+ <dl>
2446
+ <dd>
2447
+
2020
2448
  **metadata:** `Internal::Types::Hash[String, Object]`
2021
2449
 
2022
2450
  </dd>
@@ -2077,12 +2505,12 @@ client.documents.init(
2077
2505
  </dl>
2078
2506
  </details>
2079
2507
 
2080
- ## Tokens
2081
- <details><summary><code>client.tokens.<a href="/lib/CloudPDF/tokens/client.rb">issue</a>(tenant_id:, request) -> CloudPDF::Types::TokensIssue200Response</code></summary>
2508
+ ## Folders
2509
+ <details><summary><code>client.folders.<a href="/lib/CloudPDF/folders/client.rb">list</a>(tenant_id:) -> CloudPDF::Types::FoldersList200Response</code></summary>
2082
2510
  <dl>
2083
2511
  <dd>
2084
2512
 
2085
- #### 📝 Description
2513
+ #### 🔌 Usage
2086
2514
 
2087
2515
  <dl>
2088
2516
  <dd>
@@ -2090,13 +2518,15 @@ client.documents.init(
2090
2518
  <dl>
2091
2519
  <dd>
2092
2520
 
2093
- kind "tenant" requires the API token — authority mints only downward. Mounted only when the deployment can sign (HS256 mode); asymmetric deployments mint with their own private key.
2521
+ ```ruby
2522
+ client.folders.list(tenant_id: "tenantId")
2523
+ ```
2094
2524
  </dd>
2095
2525
  </dl>
2096
2526
  </dd>
2097
2527
  </dl>
2098
2528
 
2099
- #### 🔌 Usage
2529
+ #### ⚙️ Parameters
2100
2530
 
2101
2531
  <dl>
2102
2532
  <dd>
@@ -2104,23 +2534,23 @@ kind "tenant" requires the API token — authority mints only downward. Mounted
2104
2534
  <dl>
2105
2535
  <dd>
2106
2536
 
2107
- ```ruby
2108
- client.tokens.issue(tenant_id: "tenantId")
2109
- ```
2110
- </dd>
2111
- </dl>
2537
+ **tenant_id:** `String`
2538
+
2112
2539
  </dd>
2113
2540
  </dl>
2114
2541
 
2115
- #### ⚙️ Parameters
2116
-
2117
2542
  <dl>
2118
2543
  <dd>
2119
2544
 
2545
+ **limit:** `Integer`
2546
+
2547
+ </dd>
2548
+ </dl>
2549
+
2120
2550
  <dl>
2121
2551
  <dd>
2122
2552
 
2123
- **tenant_id:** `String`
2553
+ **cursor:** `String`
2124
2554
 
2125
2555
  </dd>
2126
2556
  </dl>
@@ -2128,7 +2558,7 @@ client.tokens.issue(tenant_id: "tenantId")
2128
2558
  <dl>
2129
2559
  <dd>
2130
2560
 
2131
- **request:** `CloudPDF::Types::TokensIssueRequest`
2561
+ **parent_id:** `String` — Only the folders directly in this folder (root: the top level). Without it, every folder.
2132
2562
 
2133
2563
  </dd>
2134
2564
  </dl>
@@ -2136,7 +2566,7 @@ client.tokens.issue(tenant_id: "tenantId")
2136
2566
  <dl>
2137
2567
  <dd>
2138
2568
 
2139
- **request_options:** `CloudPDF::Tokens::RequestOptions`
2569
+ **request_options:** `CloudPDF::Folders::RequestOptions`
2140
2570
 
2141
2571
  </dd>
2142
2572
  </dl>
@@ -2148,7 +2578,7 @@ client.tokens.issue(tenant_id: "tenantId")
2148
2578
  </dl>
2149
2579
  </details>
2150
2580
 
2151
- <details><summary><code>client.tokens.<a href="/lib/CloudPDF/tokens/client.rb">revoke</a>(tenant_id:, jti:, request) -> </code></summary>
2581
+ <details><summary><code>client.folders.<a href="/lib/CloudPDF/folders/client.rb">create</a>(tenant_id:, request) -> CloudPDF::Types::FoldersCreate200Response</code></summary>
2152
2582
  <dl>
2153
2583
  <dd>
2154
2584
 
@@ -2160,7 +2590,7 @@ client.tokens.issue(tenant_id: "tenantId")
2160
2590
  <dl>
2161
2591
  <dd>
2162
2592
 
2163
- Mounted only when the deployment enables token revocation.
2593
+ 409 Conflict carries `details.reason`: `name-taken` (a sibling has the name, ignoring case; `details.name`) or `too-deep` (folders nest at most 100 levels; `details.maxDepth`). 404 when the parent folder does not exist.
2164
2594
  </dd>
2165
2595
  </dl>
2166
2596
  </dd>
@@ -2175,9 +2605,9 @@ Mounted only when the deployment enables token revocation.
2175
2605
  <dd>
2176
2606
 
2177
2607
  ```ruby
2178
- client.tokens.revoke(
2608
+ client.folders.create(
2179
2609
  tenant_id: "tenantId",
2180
- jti: "jti"
2610
+ name: "name"
2181
2611
  )
2182
2612
  ```
2183
2613
  </dd>
@@ -2201,15 +2631,7 @@ client.tokens.revoke(
2201
2631
  <dl>
2202
2632
  <dd>
2203
2633
 
2204
- **jti:** `String`
2205
-
2206
- </dd>
2207
- </dl>
2208
-
2209
- <dl>
2210
- <dd>
2211
-
2212
- **reason:** `String`
2634
+ **name:** `String` — What people call the folder: 1 to 255 characters, no control characters, no leading or trailing whitespace, and unique among the folder's siblings, ignoring case.
2213
2635
 
2214
2636
  </dd>
2215
2637
  </dl>
@@ -2217,7 +2639,7 @@ client.tokens.revoke(
2217
2639
  <dl>
2218
2640
  <dd>
2219
2641
 
2220
- **expires_at_seconds:** `Integer`
2642
+ **parent_id:** `String` — A folder id, or root for the top level.
2221
2643
 
2222
2644
  </dd>
2223
2645
  </dl>
@@ -2225,7 +2647,7 @@ client.tokens.revoke(
2225
2647
  <dl>
2226
2648
  <dd>
2227
2649
 
2228
- **request_options:** `CloudPDF::Tokens::RequestOptions`
2650
+ **request_options:** `CloudPDF::Folders::RequestOptions`
2229
2651
 
2230
2652
  </dd>
2231
2653
  </dl>
@@ -2237,25 +2659,10 @@ client.tokens.revoke(
2237
2659
  </dl>
2238
2660
  </details>
2239
2661
 
2240
- ## Doc Annotations
2241
- <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">list_all</a>(doc_id:, layer_name:) -> CloudPDF::Types::AnnotationList</code></summary>
2242
- <dl>
2243
- <dd>
2244
-
2245
- #### 📝 Description
2246
-
2247
- <dl>
2248
- <dd>
2249
-
2662
+ <details><summary><code>client.folders.<a href="/lib/CloudPDF/folders/client.rb">get</a>(tenant_id:, folder_id:) -> CloudPDF::Types::FoldersGet200Response</code></summary>
2250
2663
  <dl>
2251
2664
  <dd>
2252
2665
 
2253
- Returns one entry per page plus the audit-log cursor for reconciling subsequent document events. Page order is unspecified; join by `page` (a `PageRef`) when display order matters.
2254
- </dd>
2255
- </dl>
2256
- </dd>
2257
- </dl>
2258
-
2259
2666
  #### 🔌 Usage
2260
2667
 
2261
2668
  <dl>
@@ -2265,9 +2672,9 @@ Returns one entry per page plus the audit-log cursor for reconciling subsequent
2265
2672
  <dd>
2266
2673
 
2267
2674
  ```ruby
2268
- client.doc.annotations.list_all(
2269
- doc_id: "docId",
2270
- layer_name: "layerName"
2675
+ client.folders.get(
2676
+ tenant_id: "tenantId",
2677
+ folder_id: "folderId"
2271
2678
  )
2272
2679
  ```
2273
2680
  </dd>
@@ -2283,15 +2690,7 @@ client.doc.annotations.list_all(
2283
2690
  <dl>
2284
2691
  <dd>
2285
2692
 
2286
- **doc_id:** `String`
2287
-
2288
- </dd>
2289
- </dl>
2290
-
2291
- <dl>
2292
- <dd>
2293
-
2294
- **layer_name:** `String`
2693
+ **tenant_id:** `String`
2295
2694
 
2296
2695
  </dd>
2297
2696
  </dl>
@@ -2299,7 +2698,7 @@ client.doc.annotations.list_all(
2299
2698
  <dl>
2300
2699
  <dd>
2301
2700
 
2302
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
2701
+ **folder_id:** `String`
2303
2702
 
2304
2703
  </dd>
2305
2704
  </dl>
@@ -2307,7 +2706,7 @@ client.doc.annotations.list_all(
2307
2706
  <dl>
2308
2707
  <dd>
2309
2708
 
2310
- **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
2709
+ **request_options:** `CloudPDF::Folders::RequestOptions`
2311
2710
 
2312
2711
  </dd>
2313
2712
  </dl>
@@ -2319,11 +2718,11 @@ client.doc.annotations.list_all(
2319
2718
  </dl>
2320
2719
  </details>
2321
2720
 
2322
- <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">list</a>(doc_id:, layer_name:, page_key:) -> CloudPDF::Types::AnnotationList</code></summary>
2721
+ <details><summary><code>client.folders.<a href="/lib/CloudPDF/folders/client.rb">delete</a>(tenant_id:, folder_id:) -> </code></summary>
2323
2722
  <dl>
2324
2723
  <dd>
2325
2724
 
2326
- #### 🔌 Usage
2725
+ #### 📝 Description
2327
2726
 
2328
2727
  <dl>
2329
2728
  <dd>
@@ -2331,19 +2730,13 @@ client.doc.annotations.list_all(
2331
2730
  <dl>
2332
2731
  <dd>
2333
2732
 
2334
- ```ruby
2335
- client.doc.annotations.list(
2336
- doc_id: "docId",
2337
- layer_name: "layerName",
2338
- page_key: "pageKey"
2339
- )
2340
- ```
2733
+ Without recursive, a folder with anything inside is refused: 409 Conflict with `details.reason` `not-empty` and what it holds, counted over every level below, in `details.folders` and `details.documents`. With recursive=true, the folder and every folder under it go at once, and every document in them stops opening, leaves every list and stops answering its share links at once; their stored files and links are removed in the background. Uploads into those folders that have not committed cannot commit.
2341
2734
  </dd>
2342
2735
  </dl>
2343
2736
  </dd>
2344
2737
  </dl>
2345
2738
 
2346
- #### ⚙️ Parameters
2739
+ #### 🔌 Usage
2347
2740
 
2348
2741
  <dl>
2349
2742
  <dd>
@@ -2351,15 +2744,26 @@ client.doc.annotations.list(
2351
2744
  <dl>
2352
2745
  <dd>
2353
2746
 
2354
- **doc_id:** `String`
2355
-
2747
+ ```ruby
2748
+ client.folders.delete(
2749
+ tenant_id: "tenantId",
2750
+ folder_id: "folderId"
2751
+ )
2752
+ ```
2753
+ </dd>
2754
+ </dl>
2356
2755
  </dd>
2357
2756
  </dl>
2358
2757
 
2758
+ #### ⚙️ Parameters
2759
+
2359
2760
  <dl>
2360
2761
  <dd>
2361
2762
 
2362
- **layer_name:** `String`
2763
+ <dl>
2764
+ <dd>
2765
+
2766
+ **tenant_id:** `String`
2363
2767
 
2364
2768
  </dd>
2365
2769
  </dl>
@@ -2367,7 +2771,7 @@ client.doc.annotations.list(
2367
2771
  <dl>
2368
2772
  <dd>
2369
2773
 
2370
- **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
2774
+ **folder_id:** `String`
2371
2775
 
2372
2776
  </dd>
2373
2777
  </dl>
@@ -2375,7 +2779,7 @@ client.doc.annotations.list(
2375
2779
  <dl>
2376
2780
  <dd>
2377
2781
 
2378
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
2782
+ **recursive:** `Internal::Types::Boolean` — true deletes everything in the folder too. Never the default.
2379
2783
 
2380
2784
  </dd>
2381
2785
  </dl>
@@ -2383,7 +2787,7 @@ client.doc.annotations.list(
2383
2787
  <dl>
2384
2788
  <dd>
2385
2789
 
2386
- **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
2790
+ **request_options:** `CloudPDF::Folders::RequestOptions`
2387
2791
 
2388
2792
  </dd>
2389
2793
  </dl>
@@ -2395,7 +2799,7 @@ client.doc.annotations.list(
2395
2799
  </dl>
2396
2800
  </details>
2397
2801
 
2398
- <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">create</a>(doc_id:, layer_name:, page_key:, request) -> CloudPDF::Types::DocAnnotationsCreate200Response</code></summary>
2802
+ <details><summary><code>client.folders.<a href="/lib/CloudPDF/folders/client.rb">update</a>(tenant_id:, folder_id:, request) -> CloudPDF::Types::FoldersUpdate200Response</code></summary>
2399
2803
  <dl>
2400
2804
  <dd>
2401
2805
 
@@ -2407,7 +2811,7 @@ client.doc.annotations.list(
2407
2811
  <dl>
2408
2812
  <dd>
2409
2813
 
2410
- Doc JWTs may instead carry collab scopes (annotations:create:self, …) that refine per-annotation authorship rules; the API token is exempt from both.
2814
+ 409 Conflict with `details.reason` `name-taken` when a sibling has the name, ignoring case.
2411
2815
  </dd>
2412
2816
  </dl>
2413
2817
  </dd>
@@ -2422,13 +2826,10 @@ Doc JWTs may instead carry collab scopes (annotations:create:self, …) that ref
2422
2826
  <dd>
2423
2827
 
2424
2828
  ```ruby
2425
- client.doc.annotations.create(
2426
- doc_id: "docId",
2427
- layer_name: "layerName",
2428
- page_key: "pageKey",
2429
- request: {
2430
- key: "value"
2431
- }
2829
+ client.folders.update(
2830
+ tenant_id: "tenantId",
2831
+ folder_id: "folderId",
2832
+ name: "name"
2432
2833
  )
2433
2834
  ```
2434
2835
  </dd>
@@ -2444,7 +2845,7 @@ client.doc.annotations.create(
2444
2845
  <dl>
2445
2846
  <dd>
2446
2847
 
2447
- **doc_id:** `String`
2848
+ **tenant_id:** `String`
2448
2849
 
2449
2850
  </dd>
2450
2851
  </dl>
@@ -2452,7 +2853,7 @@ client.doc.annotations.create(
2452
2853
  <dl>
2453
2854
  <dd>
2454
2855
 
2455
- **layer_name:** `String`
2856
+ **folder_id:** `String`
2456
2857
 
2457
2858
  </dd>
2458
2859
  </dl>
@@ -2460,7 +2861,7 @@ client.doc.annotations.create(
2460
2861
  <dl>
2461
2862
  <dd>
2462
2863
 
2463
- **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
2864
+ **name:** `String` — What people call the folder: 1 to 255 characters, no control characters, no leading or trailing whitespace, and unique among the folder's siblings, ignoring case.
2464
2865
 
2465
2866
  </dd>
2466
2867
  </dl>
@@ -2468,45 +2869,35 @@ client.doc.annotations.create(
2468
2869
  <dl>
2469
2870
  <dd>
2470
2871
 
2471
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
2872
+ **request_options:** `CloudPDF::Folders::RequestOptions`
2472
2873
 
2473
2874
  </dd>
2474
2875
  </dl>
2876
+ </dd>
2877
+ </dl>
2475
2878
 
2476
- <dl>
2477
- <dd>
2478
2879
 
2479
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
2480
-
2481
2880
  </dd>
2482
2881
  </dl>
2882
+ </details>
2483
2883
 
2884
+ <details><summary><code>client.folders.<a href="/lib/CloudPDF/folders/client.rb">move_into</a>(tenant_id:, folder_id:, request) -> </code></summary>
2484
2885
  <dl>
2485
2886
  <dd>
2486
2887
 
2487
- **request:** `Internal::Types::Hash[String, Object]`
2488
-
2489
- </dd>
2490
- </dl>
2888
+ #### 📝 Description
2491
2889
 
2492
2890
  <dl>
2493
2891
  <dd>
2494
2892
 
2495
- **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
2496
-
2497
- </dd>
2498
- </dl>
2893
+ <dl>
2894
+ <dd>
2895
+
2896
+ Up to 1,000 ids in total. A folder moves with everything in it. 404 NotFound names the ids that do not exist or are being deleted in `details.documentIds` and `details.folderIds`. 409 Conflict carries `details.reason`: `cycle` (the destination is a moved folder or inside one; `details.folderId`), `too-deep` (the move would nest folders deeper than 100 levels; `details.maxDepth`) or `name-taken` (a moved folder's name is taken in the destination, ignoring case; `details.name`).
2499
2897
  </dd>
2500
2898
  </dl>
2501
-
2502
-
2503
2899
  </dd>
2504
2900
  </dl>
2505
- </details>
2506
-
2507
- <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">delete</a>(doc_id:, layer_name:, page_key:, annot_key:) -> CloudPDF::Types::DocAnnotationsDelete200Response</code></summary>
2508
- <dl>
2509
- <dd>
2510
2901
 
2511
2902
  #### 🔌 Usage
2512
2903
 
@@ -2517,11 +2908,9 @@ client.doc.annotations.create(
2517
2908
  <dd>
2518
2909
 
2519
2910
  ```ruby
2520
- client.doc.annotations.delete(
2521
- doc_id: "docId",
2522
- layer_name: "layerName",
2523
- page_key: "pageKey",
2524
- annot_key: "annotKey"
2911
+ client.folders.move_into(
2912
+ tenant_id: "tenantId",
2913
+ folder_id: "folderId"
2525
2914
  )
2526
2915
  ```
2527
2916
  </dd>
@@ -2537,7 +2926,7 @@ client.doc.annotations.delete(
2537
2926
  <dl>
2538
2927
  <dd>
2539
2928
 
2540
- **doc_id:** `String`
2929
+ **tenant_id:** `String`
2541
2930
 
2542
2931
  </dd>
2543
2932
  </dl>
@@ -2545,7 +2934,7 @@ client.doc.annotations.delete(
2545
2934
  <dl>
2546
2935
  <dd>
2547
2936
 
2548
- **layer_name:** `String`
2937
+ **folder_id:** `String` — A folder id, or root for the top level.
2549
2938
 
2550
2939
  </dd>
2551
2940
  </dl>
@@ -2553,7 +2942,7 @@ client.doc.annotations.delete(
2553
2942
  <dl>
2554
2943
  <dd>
2555
2944
 
2556
- **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
2945
+ **document_ids:** `Internal::Types::Array[String]`
2557
2946
 
2558
2947
  </dd>
2559
2948
  </dl>
@@ -2561,7 +2950,7 @@ client.doc.annotations.delete(
2561
2950
  <dl>
2562
2951
  <dd>
2563
2952
 
2564
- **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
2953
+ **folder_ids:** `Internal::Types::Array[String]`
2565
2954
 
2566
2955
  </dd>
2567
2956
  </dl>
@@ -2569,38 +2958,37 @@ client.doc.annotations.delete(
2569
2958
  <dl>
2570
2959
  <dd>
2571
2960
 
2572
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
2961
+ **request_options:** `CloudPDF::Folders::RequestOptions`
2573
2962
 
2574
2963
  </dd>
2575
2964
  </dl>
2965
+ </dd>
2966
+ </dl>
2576
2967
 
2577
- <dl>
2578
- <dd>
2579
2968
 
2580
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
2581
-
2582
2969
  </dd>
2583
2970
  </dl>
2971
+ </details>
2584
2972
 
2973
+ ## Tokens
2974
+ <details><summary><code>client.tokens.<a href="/lib/CloudPDF/tokens/client.rb">issue</a>(tenant_id:, request) -> CloudPDF::Types::TokensIssue200Response</code></summary>
2585
2975
  <dl>
2586
2976
  <dd>
2587
2977
 
2588
- **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
2589
-
2590
- </dd>
2591
- </dl>
2592
- </dd>
2593
- </dl>
2594
-
2978
+ #### 📝 Description
2595
2979
 
2596
- </dd>
2597
- </dl>
2598
- </details>
2980
+ <dl>
2981
+ <dd>
2599
2982
 
2600
- <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">update</a>(doc_id:, layer_name:, page_key:, annot_key:, request) -> CloudPDF::Types::DocAnnotationsUpdate200Response</code></summary>
2601
2983
  <dl>
2602
2984
  <dd>
2603
2985
 
2986
+ kind "tenant" requires the API token — authority mints only downward. Mounted only when the deployment can sign (HS256 mode); asymmetric deployments mint with their own private key.
2987
+ </dd>
2988
+ </dl>
2989
+ </dd>
2990
+ </dl>
2991
+
2604
2992
  #### 🔌 Usage
2605
2993
 
2606
2994
  <dl>
@@ -2610,15 +2998,7 @@ client.doc.annotations.delete(
2610
2998
  <dd>
2611
2999
 
2612
3000
  ```ruby
2613
- client.doc.annotations.update(
2614
- doc_id: "docId",
2615
- layer_name: "layerName",
2616
- page_key: "pageKey",
2617
- annot_key: "annotKey",
2618
- request: {
2619
- key: "value"
2620
- }
2621
- )
3001
+ client.tokens.issue(tenant_id: "tenantId")
2622
3002
  ```
2623
3003
  </dd>
2624
3004
  </dl>
@@ -2633,7 +3013,7 @@ client.doc.annotations.update(
2633
3013
  <dl>
2634
3014
  <dd>
2635
3015
 
2636
- **doc_id:** `String`
3016
+ **tenant_id:** `String`
2637
3017
 
2638
3018
  </dd>
2639
3019
  </dl>
@@ -2641,7 +3021,7 @@ client.doc.annotations.update(
2641
3021
  <dl>
2642
3022
  <dd>
2643
3023
 
2644
- **layer_name:** `String`
3024
+ **request:** `CloudPDF::Types::TokensIssueRequest`
2645
3025
 
2646
3026
  </dd>
2647
3027
  </dl>
@@ -2649,61 +3029,35 @@ client.doc.annotations.update(
2649
3029
  <dl>
2650
3030
  <dd>
2651
3031
 
2652
- **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
3032
+ **request_options:** `CloudPDF::Tokens::RequestOptions`
2653
3033
 
2654
3034
  </dd>
2655
3035
  </dl>
2656
-
2657
- <dl>
2658
- <dd>
2659
-
2660
- **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
2661
-
2662
3036
  </dd>
2663
3037
  </dl>
2664
3038
 
2665
- <dl>
2666
- <dd>
2667
3039
 
2668
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
2669
-
2670
3040
  </dd>
2671
3041
  </dl>
3042
+ </details>
2672
3043
 
3044
+ <details><summary><code>client.tokens.<a href="/lib/CloudPDF/tokens/client.rb">revoke</a>(tenant_id:, jti:, request) -> </code></summary>
2673
3045
  <dl>
2674
3046
  <dd>
2675
3047
 
2676
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
2677
-
2678
- </dd>
2679
- </dl>
3048
+ #### 📝 Description
2680
3049
 
2681
3050
  <dl>
2682
3051
  <dd>
2683
3052
 
2684
- **request:** `Internal::Types::Hash[String, Object]`
2685
-
2686
- </dd>
2687
- </dl>
2688
-
2689
3053
  <dl>
2690
3054
  <dd>
2691
3055
 
2692
- **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
2693
-
2694
- </dd>
2695
- </dl>
3056
+ Mounted only when the deployment enables token revocation.
2696
3057
  </dd>
2697
3058
  </dl>
2698
-
2699
-
2700
3059
  </dd>
2701
3060
  </dl>
2702
- </details>
2703
-
2704
- <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">read_appearance</a>(doc_id:, layer_name:, page_key:, annot_key:) -> String</code></summary>
2705
- <dl>
2706
- <dd>
2707
3061
 
2708
3062
  #### 🔌 Usage
2709
3063
 
@@ -2714,11 +3068,9 @@ client.doc.annotations.update(
2714
3068
  <dd>
2715
3069
 
2716
3070
  ```ruby
2717
- client.doc.annotations.read_appearance(
2718
- doc_id: "docId",
2719
- layer_name: "layerName",
2720
- page_key: "pageKey",
2721
- annot_key: "annotKey"
3071
+ client.tokens.revoke(
3072
+ tenant_id: "tenantId",
3073
+ jti: "jti"
2722
3074
  )
2723
3075
  ```
2724
3076
  </dd>
@@ -2734,15 +3086,7 @@ client.doc.annotations.read_appearance(
2734
3086
  <dl>
2735
3087
  <dd>
2736
3088
 
2737
- **doc_id:** `String`
2738
-
2739
- </dd>
2740
- </dl>
2741
-
2742
- <dl>
2743
- <dd>
2744
-
2745
- **layer_name:** `String`
3089
+ **tenant_id:** `String`
2746
3090
 
2747
3091
  </dd>
2748
3092
  </dl>
@@ -2750,7 +3094,7 @@ client.doc.annotations.read_appearance(
2750
3094
  <dl>
2751
3095
  <dd>
2752
3096
 
2753
- **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
3097
+ **jti:** `String`
2754
3098
 
2755
3099
  </dd>
2756
3100
  </dl>
@@ -2758,7 +3102,7 @@ client.doc.annotations.read_appearance(
2758
3102
  <dl>
2759
3103
  <dd>
2760
3104
 
2761
- **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
3105
+ **reason:** `String`
2762
3106
 
2763
3107
  </dd>
2764
3108
  </dl>
@@ -2766,7 +3110,7 @@ client.doc.annotations.read_appearance(
2766
3110
  <dl>
2767
3111
  <dd>
2768
3112
 
2769
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3113
+ **expires_at_seconds:** `Integer`
2770
3114
 
2771
3115
  </dd>
2772
3116
  </dl>
@@ -2774,7 +3118,7 @@ client.doc.annotations.read_appearance(
2774
3118
  <dl>
2775
3119
  <dd>
2776
3120
 
2777
- **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
3121
+ **request_options:** `CloudPDF::Tokens::RequestOptions`
2778
3122
 
2779
3123
  </dd>
2780
3124
  </dl>
@@ -2786,7 +3130,8 @@ client.doc.annotations.read_appearance(
2786
3130
  </dl>
2787
3131
  </details>
2788
3132
 
2789
- <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">read_file</a>(doc_id:, layer_name:, page_key:, annot_key:) -> String</code></summary>
3133
+ ## Doc Annotations
3134
+ <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">list_all</a>(doc_id:, layer_name:) -> CloudPDF::Types::AnnotationList</code></summary>
2790
3135
  <dl>
2791
3136
  <dd>
2792
3137
 
@@ -2798,7 +3143,7 @@ client.doc.annotations.read_appearance(
2798
3143
  <dl>
2799
3144
  <dd>
2800
3145
 
2801
- A file that decodes past the server's limit is refused (PayloadTooLarge).
3146
+ Returns one entry per page plus the audit-log cursor for reconciling subsequent document events. Page order is unspecified; join by `page` (a `PageRef`) when display order matters.
2802
3147
  </dd>
2803
3148
  </dl>
2804
3149
  </dd>
@@ -2813,11 +3158,9 @@ A file that decodes past the server's limit is refused (PayloadTooLarge).
2813
3158
  <dd>
2814
3159
 
2815
3160
  ```ruby
2816
- client.doc.annotations.read_file(
3161
+ client.doc.annotations.list_all(
2817
3162
  doc_id: "docId",
2818
- layer_name: "layerName",
2819
- page_key: "pageKey",
2820
- annot_key: "annotKey"
3163
+ layer_name: "layerName"
2821
3164
  )
2822
3165
  ```
2823
3166
  </dd>
@@ -2849,22 +3192,6 @@ client.doc.annotations.read_file(
2849
3192
  <dl>
2850
3193
  <dd>
2851
3194
 
2852
- **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
2853
-
2854
- </dd>
2855
- </dl>
2856
-
2857
- <dl>
2858
- <dd>
2859
-
2860
- **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
2861
-
2862
- </dd>
2863
- </dl>
2864
-
2865
- <dl>
2866
- <dd>
2867
-
2868
3195
  **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
2869
3196
 
2870
3197
  </dd>
@@ -2885,7 +3212,7 @@ client.doc.annotations.read_file(
2885
3212
  </dl>
2886
3213
  </details>
2887
3214
 
2888
- <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">export_appearance</a>(doc_id:, layer_name:, page_key:, request) -> String</code></summary>
3215
+ <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">list</a>(doc_id:, layer_name:, page_key:) -> CloudPDF::Types::AnnotationList</code></summary>
2889
3216
  <dl>
2890
3217
  <dd>
2891
3218
 
@@ -2898,15 +3225,10 @@ client.doc.annotations.read_file(
2898
3225
  <dd>
2899
3226
 
2900
3227
  ```ruby
2901
- client.doc.annotations.export_appearance(
3228
+ client.doc.annotations.list(
2902
3229
  doc_id: "docId",
2903
3230
  layer_name: "layerName",
2904
- page_key: "pageKey",
2905
- request: {
2906
- string: {
2907
- key: "value"
2908
- }
2909
- }
3231
+ page_key: "pageKey"
2910
3232
  )
2911
3233
  ```
2912
3234
  </dd>
@@ -2954,14 +3276,6 @@ client.doc.annotations.export_appearance(
2954
3276
  <dl>
2955
3277
  <dd>
2956
3278
 
2957
- **request:** `Internal::Types::Hash[String, Object]`
2958
-
2959
- </dd>
2960
- </dl>
2961
-
2962
- <dl>
2963
- <dd>
2964
-
2965
3279
  **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
2966
3280
 
2967
3281
  </dd>
@@ -2974,10 +3288,24 @@ client.doc.annotations.export_appearance(
2974
3288
  </dl>
2975
3289
  </details>
2976
3290
 
2977
- <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">flatten</a>(doc_id:, layer_name:, page_key:, request) -> CloudPDF::Types::DocAnnotationsFlatten200Response</code></summary>
3291
+ <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">create</a>(doc_id:, layer_name:, page_key:, request) -> CloudPDF::Types::DocAnnotationsCreate200Response</code></summary>
3292
+ <dl>
3293
+ <dd>
3294
+
3295
+ #### 📝 Description
3296
+
3297
+ <dl>
3298
+ <dd>
3299
+
2978
3300
  <dl>
2979
3301
  <dd>
2980
3302
 
3303
+ Doc JWTs may instead carry collab scopes (annotations:create:self, …) that refine per-annotation authorship rules; the API token is exempt from both.
3304
+ </dd>
3305
+ </dl>
3306
+ </dd>
3307
+ </dl>
3308
+
2981
3309
  #### 🔌 Usage
2982
3310
 
2983
3311
  <dl>
@@ -2987,7 +3315,7 @@ client.doc.annotations.export_appearance(
2987
3315
  <dd>
2988
3316
 
2989
3317
  ```ruby
2990
- client.doc.annotations.flatten(
3318
+ client.doc.annotations.create(
2991
3319
  doc_id: "docId",
2992
3320
  layer_name: "layerName",
2993
3321
  page_key: "pageKey",
@@ -3069,7 +3397,7 @@ client.doc.annotations.flatten(
3069
3397
  </dl>
3070
3398
  </details>
3071
3399
 
3072
- <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">reorder</a>(doc_id:, layer_name:, page_key:, request) -> CloudPDF::Types::DocAnnotationsReorder200Response</code></summary>
3400
+ <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">delete</a>(doc_id:, layer_name:, page_key:, annot_key:) -> CloudPDF::Types::DocAnnotationsDelete200Response</code></summary>
3073
3401
  <dl>
3074
3402
  <dd>
3075
3403
 
@@ -3082,12 +3410,11 @@ client.doc.annotations.flatten(
3082
3410
  <dd>
3083
3411
 
3084
3412
  ```ruby
3085
- client.doc.annotations.reorder(
3413
+ client.doc.annotations.delete(
3086
3414
  doc_id: "docId",
3087
3415
  layer_name: "layerName",
3088
3416
  page_key: "pageKey",
3089
- refs: [],
3090
- position: "start"
3417
+ annot_key: "annotKey"
3091
3418
  )
3092
3419
  ```
3093
3420
  </dd>
@@ -3127,15 +3454,7 @@ client.doc.annotations.reorder(
3127
3454
  <dl>
3128
3455
  <dd>
3129
3456
 
3130
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3131
-
3132
- </dd>
3133
- </dl>
3134
-
3135
- <dl>
3136
- <dd>
3137
-
3138
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
3457
+ **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
3139
3458
 
3140
3459
  </dd>
3141
3460
  </dl>
@@ -3143,7 +3462,7 @@ client.doc.annotations.reorder(
3143
3462
  <dl>
3144
3463
  <dd>
3145
3464
 
3146
- **refs:** `Internal::Types::Array[CloudPDF::Types::AnnotationRef]`
3465
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3147
3466
 
3148
3467
  </dd>
3149
3468
  </dl>
@@ -3151,7 +3470,7 @@ client.doc.annotations.reorder(
3151
3470
  <dl>
3152
3471
  <dd>
3153
3472
 
3154
- **position:** `CloudPDF::Types::AnnotationPosition`
3473
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
3155
3474
 
3156
3475
  </dd>
3157
3476
  </dl>
@@ -3171,25 +3490,10 @@ client.doc.annotations.reorder(
3171
3490
  </dl>
3172
3491
  </details>
3173
3492
 
3174
- ## Doc Attachments
3175
- <details><summary><code>client.doc.attachments.<a href="/lib/CloudPDF/doc/attachments/client.rb">download</a>(doc_id:, layer_name:, file_key:) -> String</code></summary>
3176
- <dl>
3177
- <dd>
3178
-
3179
- #### 📝 Description
3180
-
3181
- <dl>
3182
- <dd>
3183
-
3493
+ <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">update</a>(doc_id:, layer_name:, page_key:, annot_key:, request) -> CloudPDF::Types::DocAnnotationsUpdate200Response</code></summary>
3184
3494
  <dl>
3185
3495
  <dd>
3186
3496
 
3187
- A file that decodes past the server's limit is refused (PayloadTooLarge).
3188
- </dd>
3189
- </dl>
3190
- </dd>
3191
- </dl>
3192
-
3193
3497
  #### 🔌 Usage
3194
3498
 
3195
3499
  <dl>
@@ -3199,10 +3503,14 @@ A file that decodes past the server's limit is refused (PayloadTooLarge).
3199
3503
  <dd>
3200
3504
 
3201
3505
  ```ruby
3202
- client.doc.attachments.download(
3506
+ client.doc.annotations.update(
3203
3507
  doc_id: "docId",
3204
3508
  layer_name: "layerName",
3205
- file_key: "fileKey"
3509
+ page_key: "pageKey",
3510
+ annot_key: "annotKey",
3511
+ request: {
3512
+ key: "value"
3513
+ }
3206
3514
  )
3207
3515
  ```
3208
3516
  </dd>
@@ -3234,7 +3542,7 @@ client.doc.attachments.download(
3234
3542
  <dl>
3235
3543
  <dd>
3236
3544
 
3237
- **file_key:** `String` — The embedded file's name-tree key (its `ref.key`), token-text encoded, as `fieldKey` is.
3545
+ **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
3238
3546
 
3239
3547
  </dd>
3240
3548
  </dl>
@@ -3242,7 +3550,7 @@ client.doc.attachments.download(
3242
3550
  <dl>
3243
3551
  <dd>
3244
3552
 
3245
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3553
+ **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
3246
3554
 
3247
3555
  </dd>
3248
3556
  </dl>
@@ -3250,35 +3558,45 @@ client.doc.attachments.download(
3250
3558
  <dl>
3251
3559
  <dd>
3252
3560
 
3253
- **request_options:** `CloudPDF::Doc::Attachments::RequestOptions`
3561
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3254
3562
 
3255
3563
  </dd>
3256
3564
  </dl>
3257
- </dd>
3258
- </dl>
3259
3565
 
3566
+ <dl>
3567
+ <dd>
3260
3568
 
3569
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
3570
+
3261
3571
  </dd>
3262
3572
  </dl>
3263
- </details>
3264
3573
 
3265
- <details><summary><code>client.doc.attachments.<a href="/lib/CloudPDF/doc/attachments/client.rb">list</a>(doc_id:, layer_name:) -> CloudPDF::Types::AttachmentList</code></summary>
3266
3574
  <dl>
3267
3575
  <dd>
3268
3576
 
3269
- #### 📝 Description
3270
-
3271
- <dl>
3272
- <dd>
3577
+ **request:** `Internal::Types::Hash[String, Object]`
3578
+
3579
+ </dd>
3580
+ </dl>
3273
3581
 
3274
3582
  <dl>
3275
3583
  <dd>
3276
3584
 
3277
- A file-attachment annotation's file is listed with the annotation; read its bytes with `doc.annotations.readFile`.
3585
+ **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
3586
+
3587
+ </dd>
3588
+ </dl>
3278
3589
  </dd>
3279
3590
  </dl>
3591
+
3592
+
3280
3593
  </dd>
3281
3594
  </dl>
3595
+ </details>
3596
+
3597
+ <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">read_appearance</a>(doc_id:, layer_name:, page_key:, annot_key:) -> String</code></summary>
3598
+ <dl>
3599
+ <dd>
3282
3600
 
3283
3601
  #### 🔌 Usage
3284
3602
 
@@ -3289,9 +3607,11 @@ A file-attachment annotation's file is listed with the annotation; read its byte
3289
3607
  <dd>
3290
3608
 
3291
3609
  ```ruby
3292
- client.doc.attachments.list(
3610
+ client.doc.annotations.read_appearance(
3293
3611
  doc_id: "docId",
3294
- layer_name: "layerName"
3612
+ layer_name: "layerName",
3613
+ page_key: "pageKey",
3614
+ annot_key: "annotKey"
3295
3615
  )
3296
3616
  ```
3297
3617
  </dd>
@@ -3323,6 +3643,22 @@ client.doc.attachments.list(
3323
3643
  <dl>
3324
3644
  <dd>
3325
3645
 
3646
+ **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
3647
+
3648
+ </dd>
3649
+ </dl>
3650
+
3651
+ <dl>
3652
+ <dd>
3653
+
3654
+ **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
3655
+
3656
+ </dd>
3657
+ </dl>
3658
+
3659
+ <dl>
3660
+ <dd>
3661
+
3326
3662
  **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3327
3663
 
3328
3664
  </dd>
@@ -3331,7 +3667,7 @@ client.doc.attachments.list(
3331
3667
  <dl>
3332
3668
  <dd>
3333
3669
 
3334
- **request_options:** `CloudPDF::Doc::Attachments::RequestOptions`
3670
+ **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
3335
3671
 
3336
3672
  </dd>
3337
3673
  </dl>
@@ -3343,11 +3679,24 @@ client.doc.attachments.list(
3343
3679
  </dl>
3344
3680
  </details>
3345
3681
 
3346
- ## Doc Forms
3347
- <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">list</a>(doc_id:, layer_name:) -> CloudPDF::Types::DocFormsList200Response</code></summary>
3682
+ <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">read_file</a>(doc_id:, layer_name:, page_key:, annot_key:) -> String</code></summary>
3683
+ <dl>
3684
+ <dd>
3685
+
3686
+ #### 📝 Description
3687
+
3348
3688
  <dl>
3349
3689
  <dd>
3350
3690
 
3691
+ <dl>
3692
+ <dd>
3693
+
3694
+ A file that decodes past the server's limit is refused (PayloadTooLarge).
3695
+ </dd>
3696
+ </dl>
3697
+ </dd>
3698
+ </dl>
3699
+
3351
3700
  #### 🔌 Usage
3352
3701
 
3353
3702
  <dl>
@@ -3357,9 +3706,11 @@ client.doc.attachments.list(
3357
3706
  <dd>
3358
3707
 
3359
3708
  ```ruby
3360
- client.doc.forms.list(
3709
+ client.doc.annotations.read_file(
3361
3710
  doc_id: "docId",
3362
- layer_name: "layerName"
3711
+ layer_name: "layerName",
3712
+ page_key: "pageKey",
3713
+ annot_key: "annotKey"
3363
3714
  )
3364
3715
  ```
3365
3716
  </dd>
@@ -3391,6 +3742,22 @@ client.doc.forms.list(
3391
3742
  <dl>
3392
3743
  <dd>
3393
3744
 
3745
+ **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
3746
+
3747
+ </dd>
3748
+ </dl>
3749
+
3750
+ <dl>
3751
+ <dd>
3752
+
3753
+ **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
3754
+
3755
+ </dd>
3756
+ </dl>
3757
+
3758
+ <dl>
3759
+ <dd>
3760
+
3394
3761
  **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3395
3762
 
3396
3763
  </dd>
@@ -3399,7 +3766,7 @@ client.doc.forms.list(
3399
3766
  <dl>
3400
3767
  <dd>
3401
3768
 
3402
- **request_options:** `CloudPDF::Doc::Forms::RequestOptions`
3769
+ **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
3403
3770
 
3404
3771
  </dd>
3405
3772
  </dl>
@@ -3411,7 +3778,7 @@ client.doc.forms.list(
3411
3778
  </dl>
3412
3779
  </details>
3413
3780
 
3414
- <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">reorder_calculations</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocFormsReorderCalculations200Response</code></summary>
3781
+ <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">export_appearance</a>(doc_id:, layer_name:, page_key:, request) -> String</code></summary>
3415
3782
  <dl>
3416
3783
  <dd>
3417
3784
 
@@ -3424,11 +3791,15 @@ client.doc.forms.list(
3424
3791
  <dd>
3425
3792
 
3426
3793
  ```ruby
3427
- client.doc.forms.reorder_calculations(
3794
+ client.doc.annotations.export_appearance(
3428
3795
  doc_id: "docId",
3429
3796
  layer_name: "layerName",
3430
- fields: [],
3431
- position: "start"
3797
+ page_key: "pageKey",
3798
+ request: {
3799
+ string: {
3800
+ key: "value"
3801
+ }
3802
+ }
3432
3803
  )
3433
3804
  ```
3434
3805
  </dd>
@@ -3460,15 +3831,7 @@ client.doc.forms.reorder_calculations(
3460
3831
  <dl>
3461
3832
  <dd>
3462
3833
 
3463
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3464
-
3465
- </dd>
3466
- </dl>
3467
-
3468
- <dl>
3469
- <dd>
3470
-
3471
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
3834
+ **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
3472
3835
 
3473
3836
  </dd>
3474
3837
  </dl>
@@ -3476,7 +3839,7 @@ client.doc.forms.reorder_calculations(
3476
3839
  <dl>
3477
3840
  <dd>
3478
3841
 
3479
- **fields:** `Internal::Types::Array[CloudPDF::Types::FormFieldRef]`
3842
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3480
3843
 
3481
3844
  </dd>
3482
3845
  </dl>
@@ -3484,7 +3847,7 @@ client.doc.forms.reorder_calculations(
3484
3847
  <dl>
3485
3848
  <dd>
3486
3849
 
3487
- **position:** `CloudPDF::Types::FieldPosition`
3850
+ **request:** `Internal::Types::Hash[String, Object]`
3488
3851
 
3489
3852
  </dd>
3490
3853
  </dl>
@@ -3492,7 +3855,7 @@ client.doc.forms.reorder_calculations(
3492
3855
  <dl>
3493
3856
  <dd>
3494
3857
 
3495
- **request_options:** `CloudPDF::Doc::Forms::RequestOptions`
3858
+ **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
3496
3859
 
3497
3860
  </dd>
3498
3861
  </dl>
@@ -3504,7 +3867,7 @@ client.doc.forms.reorder_calculations(
3504
3867
  </dl>
3505
3868
  </details>
3506
3869
 
3507
- <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">set_value</a>(doc_id:, layer_name:, field_key:, request) -> CloudPDF::Types::DocFormsSetValue200Response</code></summary>
3870
+ <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">flatten</a>(doc_id:, layer_name:, page_key:, request) -> CloudPDF::Types::DocAnnotationsFlatten200Response</code></summary>
3508
3871
  <dl>
3509
3872
  <dd>
3510
3873
 
@@ -3517,10 +3880,10 @@ client.doc.forms.reorder_calculations(
3517
3880
  <dd>
3518
3881
 
3519
3882
  ```ruby
3520
- client.doc.forms.set_value(
3883
+ client.doc.annotations.flatten(
3521
3884
  doc_id: "docId",
3522
3885
  layer_name: "layerName",
3523
- field_key: "fieldKey",
3886
+ page_key: "pageKey",
3524
3887
  request: {
3525
3888
  key: "value"
3526
3889
  }
@@ -3555,7 +3918,7 @@ client.doc.forms.set_value(
3555
3918
  <dl>
3556
3919
  <dd>
3557
3920
 
3558
- **field_key:** `String`
3921
+ **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
3559
3922
 
3560
3923
  </dd>
3561
3924
  </dl>
@@ -3587,7 +3950,7 @@ client.doc.forms.set_value(
3587
3950
  <dl>
3588
3951
  <dd>
3589
3952
 
3590
- **request_options:** `CloudPDF::Doc::Forms::RequestOptions`
3953
+ **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
3591
3954
 
3592
3955
  </dd>
3593
3956
  </dl>
@@ -3599,7 +3962,7 @@ client.doc.forms.set_value(
3599
3962
  </dl>
3600
3963
  </details>
3601
3964
 
3602
- <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">reset</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocFormsReset200Response</code></summary>
3965
+ <details><summary><code>client.doc.annotations.<a href="/lib/CloudPDF/doc/annotations/client.rb">reorder</a>(doc_id:, layer_name:, page_key:, request) -> CloudPDF::Types::DocAnnotationsReorder200Response</code></summary>
3603
3966
  <dl>
3604
3967
  <dd>
3605
3968
 
@@ -3612,9 +3975,12 @@ client.doc.forms.set_value(
3612
3975
  <dd>
3613
3976
 
3614
3977
  ```ruby
3615
- client.doc.forms.reset(
3978
+ client.doc.annotations.reorder(
3616
3979
  doc_id: "docId",
3617
- layer_name: "layerName"
3980
+ layer_name: "layerName",
3981
+ page_key: "pageKey",
3982
+ refs: [],
3983
+ position: "start"
3618
3984
  )
3619
3985
  ```
3620
3986
  </dd>
@@ -3646,6 +4012,14 @@ client.doc.forms.reset(
3646
4012
  <dl>
3647
4013
  <dd>
3648
4014
 
4015
+ **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
4016
+
4017
+ </dd>
4018
+ </dl>
4019
+
4020
+ <dl>
4021
+ <dd>
4022
+
3649
4023
  **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3650
4024
 
3651
4025
  </dd>
@@ -3662,7 +4036,7 @@ client.doc.forms.reset(
3662
4036
  <dl>
3663
4037
  <dd>
3664
4038
 
3665
- **refs:** `Internal::Types::Array[CloudPDF::Types::FormFieldRef]`
4039
+ **refs:** `Internal::Types::Array[CloudPDF::Types::AnnotationRef]`
3666
4040
 
3667
4041
  </dd>
3668
4042
  </dl>
@@ -3670,7 +4044,15 @@ client.doc.forms.reset(
3670
4044
  <dl>
3671
4045
  <dd>
3672
4046
 
3673
- **request_options:** `CloudPDF::Doc::Forms::RequestOptions`
4047
+ **position:** `CloudPDF::Types::AnnotationPosition`
4048
+
4049
+ </dd>
4050
+ </dl>
4051
+
4052
+ <dl>
4053
+ <dd>
4054
+
4055
+ **request_options:** `CloudPDF::Doc::Annotations::RequestOptions`
3674
4056
 
3675
4057
  </dd>
3676
4058
  </dl>
@@ -3682,10 +4064,25 @@ client.doc.forms.reset(
3682
4064
  </dl>
3683
4065
  </details>
3684
4066
 
3685
- <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">delete_widget</a>(doc_id:, layer_name:, page_key:, annot_key:) -> CloudPDF::Types::DocFormsDeleteWidget200Response</code></summary>
4067
+ ## Doc Attachments
4068
+ <details><summary><code>client.doc.attachments.<a href="/lib/CloudPDF/doc/attachments/client.rb">download</a>(doc_id:, layer_name:, file_key:) -> String</code></summary>
4069
+ <dl>
4070
+ <dd>
4071
+
4072
+ #### 📝 Description
4073
+
3686
4074
  <dl>
3687
4075
  <dd>
3688
4076
 
4077
+ <dl>
4078
+ <dd>
4079
+
4080
+ A file that decodes past the server's limit is refused (PayloadTooLarge).
4081
+ </dd>
4082
+ </dl>
4083
+ </dd>
4084
+ </dl>
4085
+
3689
4086
  #### 🔌 Usage
3690
4087
 
3691
4088
  <dl>
@@ -3695,11 +4092,10 @@ client.doc.forms.reset(
3695
4092
  <dd>
3696
4093
 
3697
4094
  ```ruby
3698
- client.doc.forms.delete_widget(
4095
+ client.doc.attachments.download(
3699
4096
  doc_id: "docId",
3700
4097
  layer_name: "layerName",
3701
- page_key: "pageKey",
3702
- annot_key: "annotKey"
4098
+ file_key: "fileKey"
3703
4099
  )
3704
4100
  ```
3705
4101
  </dd>
@@ -3731,15 +4127,7 @@ client.doc.forms.delete_widget(
3731
4127
  <dl>
3732
4128
  <dd>
3733
4129
 
3734
- **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
3735
-
3736
- </dd>
3737
- </dl>
3738
-
3739
- <dl>
3740
- <dd>
3741
-
3742
- **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
4130
+ **file_key:** `String` — The embedded file's name-tree key (its `ref.key`), token-text encoded, as `fieldKey` is.
3743
4131
 
3744
4132
  </dd>
3745
4133
  </dl>
@@ -3755,15 +4143,7 @@ client.doc.forms.delete_widget(
3755
4143
  <dl>
3756
4144
  <dd>
3757
4145
 
3758
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
3759
-
3760
- </dd>
3761
- </dl>
3762
-
3763
- <dl>
3764
- <dd>
3765
-
3766
- **request_options:** `CloudPDF::Doc::Forms::RequestOptions`
4146
+ **request_options:** `CloudPDF::Doc::Attachments::RequestOptions`
3767
4147
 
3768
4148
  </dd>
3769
4149
  </dl>
@@ -3775,11 +4155,11 @@ client.doc.forms.delete_widget(
3775
4155
  </dl>
3776
4156
  </details>
3777
4157
 
3778
- <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">update_widget</a>(doc_id:, layer_name:, page_key:, annot_key:, request) -> CloudPDF::Types::DocFormsUpdateWidget200Response</code></summary>
4158
+ <details><summary><code>client.doc.attachments.<a href="/lib/CloudPDF/doc/attachments/client.rb">list</a>(doc_id:, layer_name:) -> CloudPDF::Types::AttachmentList</code></summary>
3779
4159
  <dl>
3780
4160
  <dd>
3781
4161
 
3782
- #### 🔌 Usage
4162
+ #### 📝 Description
3783
4163
 
3784
4164
  <dl>
3785
4165
  <dd>
@@ -3787,13 +4167,24 @@ client.doc.forms.delete_widget(
3787
4167
  <dl>
3788
4168
  <dd>
3789
4169
 
3790
- ```ruby
3791
- client.doc.forms.update_widget(
4170
+ A file-attachment annotation's file is listed with the annotation; read its bytes with `doc.annotations.readFile`.
4171
+ </dd>
4172
+ </dl>
4173
+ </dd>
4174
+ </dl>
4175
+
4176
+ #### 🔌 Usage
4177
+
4178
+ <dl>
4179
+ <dd>
4180
+
4181
+ <dl>
4182
+ <dd>
4183
+
4184
+ ```ruby
4185
+ client.doc.attachments.list(
3792
4186
  doc_id: "docId",
3793
- layer_name: "layerName",
3794
- page_key: "pageKey",
3795
- annot_key: "annotKey",
3796
- patch: {}
4187
+ layer_name: "layerName"
3797
4188
  )
3798
4189
  ```
3799
4190
  </dd>
@@ -3825,7 +4216,7 @@ client.doc.forms.update_widget(
3825
4216
  <dl>
3826
4217
  <dd>
3827
4218
 
3828
- **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
4219
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3829
4220
 
3830
4221
  </dd>
3831
4222
  </dl>
@@ -3833,15 +4224,51 @@ client.doc.forms.update_widget(
3833
4224
  <dl>
3834
4225
  <dd>
3835
4226
 
3836
- **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
4227
+ **request_options:** `CloudPDF::Doc::Attachments::RequestOptions`
3837
4228
 
4229
+ </dd>
4230
+ </dl>
4231
+ </dd>
4232
+ </dl>
4233
+
4234
+
4235
+ </dd>
4236
+ </dl>
4237
+ </details>
4238
+
4239
+ ## Doc Forms
4240
+ <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">list</a>(doc_id:, layer_name:) -> CloudPDF::Types::DocFormsList200Response</code></summary>
4241
+ <dl>
4242
+ <dd>
4243
+
4244
+ #### 🔌 Usage
4245
+
4246
+ <dl>
4247
+ <dd>
4248
+
4249
+ <dl>
4250
+ <dd>
4251
+
4252
+ ```ruby
4253
+ client.doc.forms.list(
4254
+ doc_id: "docId",
4255
+ layer_name: "layerName"
4256
+ )
4257
+ ```
4258
+ </dd>
4259
+ </dl>
3838
4260
  </dd>
3839
4261
  </dl>
3840
4262
 
4263
+ #### ⚙️ Parameters
4264
+
3841
4265
  <dl>
3842
4266
  <dd>
3843
4267
 
3844
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4268
+ <dl>
4269
+ <dd>
4270
+
4271
+ **doc_id:** `String`
3845
4272
 
3846
4273
  </dd>
3847
4274
  </dl>
@@ -3849,7 +4276,7 @@ client.doc.forms.update_widget(
3849
4276
  <dl>
3850
4277
  <dd>
3851
4278
 
3852
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
4279
+ **layer_name:** `String`
3853
4280
 
3854
4281
  </dd>
3855
4282
  </dl>
@@ -3857,7 +4284,7 @@ client.doc.forms.update_widget(
3857
4284
  <dl>
3858
4285
  <dd>
3859
4286
 
3860
- **patch:** `CloudPDF::Types::WidgetPatch`
4287
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3861
4288
 
3862
4289
  </dd>
3863
4290
  </dl>
@@ -3877,7 +4304,7 @@ client.doc.forms.update_widget(
3877
4304
  </dl>
3878
4305
  </details>
3879
4306
 
3880
- <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">reorder_widgets</a>(doc_id:, layer_name:, page_key:, request) -> CloudPDF::Types::DocFormsReorderWidgets200Response</code></summary>
4307
+ <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">reorder_calculations</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocFormsReorderCalculations200Response</code></summary>
3881
4308
  <dl>
3882
4309
  <dd>
3883
4310
 
@@ -3890,11 +4317,10 @@ client.doc.forms.update_widget(
3890
4317
  <dd>
3891
4318
 
3892
4319
  ```ruby
3893
- client.doc.forms.reorder_widgets(
4320
+ client.doc.forms.reorder_calculations(
3894
4321
  doc_id: "docId",
3895
4322
  layer_name: "layerName",
3896
- page_key: "pageKey",
3897
- widgets: [],
4323
+ fields: [],
3898
4324
  position: "start"
3899
4325
  )
3900
4326
  ```
@@ -3927,14 +4353,6 @@ client.doc.forms.reorder_widgets(
3927
4353
  <dl>
3928
4354
  <dd>
3929
4355
 
3930
- **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
3931
-
3932
- </dd>
3933
- </dl>
3934
-
3935
- <dl>
3936
- <dd>
3937
-
3938
4356
  **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
3939
4357
 
3940
4358
  </dd>
@@ -3951,7 +4369,7 @@ client.doc.forms.reorder_widgets(
3951
4369
  <dl>
3952
4370
  <dd>
3953
4371
 
3954
- **widgets:** `Internal::Types::Array[CloudPDF::Types::AnnotationRef]`
4372
+ **fields:** `Internal::Types::Array[CloudPDF::Types::FormFieldRef]`
3955
4373
 
3956
4374
  </dd>
3957
4375
  </dl>
@@ -3959,7 +4377,7 @@ client.doc.forms.reorder_widgets(
3959
4377
  <dl>
3960
4378
  <dd>
3961
4379
 
3962
- **position:** `CloudPDF::Types::AnnotationPosition`
4380
+ **position:** `CloudPDF::Types::FieldPosition`
3963
4381
 
3964
4382
  </dd>
3965
4383
  </dl>
@@ -3979,8 +4397,7 @@ client.doc.forms.reorder_widgets(
3979
4397
  </dl>
3980
4398
  </details>
3981
4399
 
3982
- ## Doc Metadata
3983
- <details><summary><code>client.doc.metadata.<a href="/lib/CloudPDF/doc/metadata/client.rb">get</a>(doc_id:, layer_name:) -> CloudPDF::Types::DocumentMetadata</code></summary>
4400
+ <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">set_value</a>(doc_id:, layer_name:, field_key:, request) -> CloudPDF::Types::DocFormsSetValue200Response</code></summary>
3984
4401
  <dl>
3985
4402
  <dd>
3986
4403
 
@@ -3993,9 +4410,13 @@ client.doc.forms.reorder_widgets(
3993
4410
  <dd>
3994
4411
 
3995
4412
  ```ruby
3996
- client.doc.metadata.get(
4413
+ client.doc.forms.set_value(
3997
4414
  doc_id: "docId",
3998
- layer_name: "layerName"
4415
+ layer_name: "layerName",
4416
+ field_key: "fieldKey",
4417
+ request: {
4418
+ key: "value"
4419
+ }
3999
4420
  )
4000
4421
  ```
4001
4422
  </dd>
@@ -4027,6 +4448,14 @@ client.doc.metadata.get(
4027
4448
  <dl>
4028
4449
  <dd>
4029
4450
 
4451
+ **field_key:** `String`
4452
+
4453
+ </dd>
4454
+ </dl>
4455
+
4456
+ <dl>
4457
+ <dd>
4458
+
4030
4459
  **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4031
4460
 
4032
4461
  </dd>
@@ -4035,7 +4464,23 @@ client.doc.metadata.get(
4035
4464
  <dl>
4036
4465
  <dd>
4037
4466
 
4038
- **request_options:** `CloudPDF::Doc::Metadata::RequestOptions`
4467
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
4468
+
4469
+ </dd>
4470
+ </dl>
4471
+
4472
+ <dl>
4473
+ <dd>
4474
+
4475
+ **request:** `Internal::Types::Hash[String, Object]`
4476
+
4477
+ </dd>
4478
+ </dl>
4479
+
4480
+ <dl>
4481
+ <dd>
4482
+
4483
+ **request_options:** `CloudPDF::Doc::Forms::RequestOptions`
4039
4484
 
4040
4485
  </dd>
4041
4486
  </dl>
@@ -4047,8 +4492,7 @@ client.doc.metadata.get(
4047
4492
  </dl>
4048
4493
  </details>
4049
4494
 
4050
- ## Doc Outline
4051
- <details><summary><code>client.doc.outline.<a href="/lib/CloudPDF/doc/outline/client.rb">get</a>(doc_id:, layer_name:) -> CloudPDF::Types::DocumentOutline</code></summary>
4495
+ <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">reset</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocFormsReset200Response</code></summary>
4052
4496
  <dl>
4053
4497
  <dd>
4054
4498
 
@@ -4061,7 +4505,7 @@ client.doc.metadata.get(
4061
4505
  <dd>
4062
4506
 
4063
4507
  ```ruby
4064
- client.doc.outline.get(
4508
+ client.doc.forms.reset(
4065
4509
  doc_id: "docId",
4066
4510
  layer_name: "layerName"
4067
4511
  )
@@ -4103,7 +4547,23 @@ client.doc.outline.get(
4103
4547
  <dl>
4104
4548
  <dd>
4105
4549
 
4106
- **request_options:** `CloudPDF::Doc::Outline::RequestOptions`
4550
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
4551
+
4552
+ </dd>
4553
+ </dl>
4554
+
4555
+ <dl>
4556
+ <dd>
4557
+
4558
+ **refs:** `Internal::Types::Array[CloudPDF::Types::FormFieldRef]`
4559
+
4560
+ </dd>
4561
+ </dl>
4562
+
4563
+ <dl>
4564
+ <dd>
4565
+
4566
+ **request_options:** `CloudPDF::Doc::Forms::RequestOptions`
4107
4567
 
4108
4568
  </dd>
4109
4569
  </dl>
@@ -4115,8 +4575,7 @@ client.doc.outline.get(
4115
4575
  </dl>
4116
4576
  </details>
4117
4577
 
4118
- ## Doc Pages
4119
- <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">set_scale</a>(doc_id:, layer_name:, page_key:, request) -> CloudPDF::Types::DocPagesSetScale200Response</code></summary>
4578
+ <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">delete_widget</a>(doc_id:, layer_name:, page_key:, annot_key:) -> CloudPDF::Types::DocFormsDeleteWidget200Response</code></summary>
4120
4579
  <dl>
4121
4580
  <dd>
4122
4581
 
@@ -4129,10 +4588,11 @@ client.doc.outline.get(
4129
4588
  <dd>
4130
4589
 
4131
4590
  ```ruby
4132
- client.doc.pages.set_scale(
4591
+ client.doc.forms.delete_widget(
4133
4592
  doc_id: "docId",
4134
4593
  layer_name: "layerName",
4135
- page_key: "pageKey"
4594
+ page_key: "pageKey",
4595
+ annot_key: "annotKey"
4136
4596
  )
4137
4597
  ```
4138
4598
  </dd>
@@ -4172,7 +4632,7 @@ client.doc.pages.set_scale(
4172
4632
  <dl>
4173
4633
  <dd>
4174
4634
 
4175
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4635
+ **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
4176
4636
 
4177
4637
  </dd>
4178
4638
  </dl>
@@ -4180,7 +4640,7 @@ client.doc.pages.set_scale(
4180
4640
  <dl>
4181
4641
  <dd>
4182
4642
 
4183
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
4643
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4184
4644
 
4185
4645
  </dd>
4186
4646
  </dl>
@@ -4188,7 +4648,7 @@ client.doc.pages.set_scale(
4188
4648
  <dl>
4189
4649
  <dd>
4190
4650
 
4191
- **measure:** `CloudPDF::Doc::Pages::Types::DocPagesSetScaleRequestMeasure`
4651
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
4192
4652
 
4193
4653
  </dd>
4194
4654
  </dl>
@@ -4196,7 +4656,7 @@ client.doc.pages.set_scale(
4196
4656
  <dl>
4197
4657
  <dd>
4198
4658
 
4199
- **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
4659
+ **request_options:** `CloudPDF::Doc::Forms::RequestOptions`
4200
4660
 
4201
4661
  </dd>
4202
4662
  </dl>
@@ -4208,7 +4668,7 @@ client.doc.pages.set_scale(
4208
4668
  </dl>
4209
4669
  </details>
4210
4670
 
4211
- <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">viewports</a>(doc_id:, layer_name:, page_key:) -> CloudPDF::Types::DocPagesViewports200Response</code></summary>
4671
+ <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">update_widget</a>(doc_id:, layer_name:, page_key:, annot_key:, request) -> CloudPDF::Types::DocFormsUpdateWidget200Response</code></summary>
4212
4672
  <dl>
4213
4673
  <dd>
4214
4674
 
@@ -4221,10 +4681,12 @@ client.doc.pages.set_scale(
4221
4681
  <dd>
4222
4682
 
4223
4683
  ```ruby
4224
- client.doc.pages.viewports(
4684
+ client.doc.forms.update_widget(
4225
4685
  doc_id: "docId",
4226
4686
  layer_name: "layerName",
4227
- page_key: "pageKey"
4687
+ page_key: "pageKey",
4688
+ annot_key: "annotKey",
4689
+ patch: {}
4228
4690
  )
4229
4691
  ```
4230
4692
  </dd>
@@ -4264,7 +4726,7 @@ client.doc.pages.viewports(
4264
4726
  <dl>
4265
4727
  <dd>
4266
4728
 
4267
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4729
+ **annot_key:** `String` — The annotation's address on the page: `obj:N`, its indirect object number, or `base:N` for an annotation the uploaded file stored inline (without an object number of its own), the position it was born at in the page's /Annots. The name the annotation's `ref` carries for life.
4268
4730
 
4269
4731
  </dd>
4270
4732
  </dl>
@@ -4272,35 +4734,45 @@ client.doc.pages.viewports(
4272
4734
  <dl>
4273
4735
  <dd>
4274
4736
 
4275
- **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
4737
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4276
4738
 
4277
4739
  </dd>
4278
4740
  </dl>
4279
- </dd>
4280
- </dl>
4281
4741
 
4742
+ <dl>
4743
+ <dd>
4282
4744
 
4745
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
4746
+
4283
4747
  </dd>
4284
4748
  </dl>
4285
- </details>
4286
4749
 
4287
- <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">extract</a>(doc_id:, layer_name:, request) -> String</code></summary>
4288
4750
  <dl>
4289
4751
  <dd>
4290
4752
 
4291
- #### 📝 Description
4292
-
4293
- <dl>
4294
- <dd>
4753
+ **patch:** `CloudPDF::Types::WidgetPatch`
4754
+
4755
+ </dd>
4756
+ </dl>
4295
4757
 
4296
4758
  <dl>
4297
4759
  <dd>
4298
4760
 
4299
- A read, not a mutation: the source document is untouched and no event is published. Body is `{"pages": PageRef[], "flatten"?: {"usage"?: "display" | "print"}, "includeAnnotations"?: boolean, "includeFormFields"?: boolean}`; the response body is the new PDF. With `flatten` the copy is the pages as they draw for `usage` (`"print"`: a print copy): the annotations and form fields painted in, nothing interactive left, layers in their state for the usage. A flattened copy takes `doc.download` or `doc.download.flattened`, and paints only what the caller may read; `includeAnnotations` and `includeFormFields` choose what it paints, and are refused without `flatten`.
4761
+ **request_options:** `CloudPDF::Doc::Forms::RequestOptions`
4762
+
4763
+ </dd>
4764
+ </dl>
4300
4765
  </dd>
4301
4766
  </dl>
4767
+
4768
+
4302
4769
  </dd>
4303
4770
  </dl>
4771
+ </details>
4772
+
4773
+ <details><summary><code>client.doc.forms.<a href="/lib/CloudPDF/doc/forms/client.rb">reorder_widgets</a>(doc_id:, layer_name:, page_key:, request) -> CloudPDF::Types::DocFormsReorderWidgets200Response</code></summary>
4774
+ <dl>
4775
+ <dd>
4304
4776
 
4305
4777
  #### 🔌 Usage
4306
4778
 
@@ -4311,14 +4783,12 @@ A read, not a mutation: the source document is untouched and no event is publish
4311
4783
  <dd>
4312
4784
 
4313
4785
  ```ruby
4314
- client.doc.pages.extract(
4786
+ client.doc.forms.reorder_widgets(
4315
4787
  doc_id: "docId",
4316
4788
  layer_name: "layerName",
4317
- request: {
4318
- string: {
4319
- key: "value"
4320
- }
4321
- }
4789
+ page_key: "pageKey",
4790
+ widgets: [],
4791
+ position: "start"
4322
4792
  )
4323
4793
  ```
4324
4794
  </dd>
@@ -4350,6 +4820,14 @@ client.doc.pages.extract(
4350
4820
  <dl>
4351
4821
  <dd>
4352
4822
 
4823
+ **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
4824
+
4825
+ </dd>
4826
+ </dl>
4827
+
4828
+ <dl>
4829
+ <dd>
4830
+
4353
4831
  **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4354
4832
 
4355
4833
  </dd>
@@ -4358,7 +4836,7 @@ client.doc.pages.extract(
4358
4836
  <dl>
4359
4837
  <dd>
4360
4838
 
4361
- **request:** `Internal::Types::Hash[String, Object]`
4839
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
4362
4840
 
4363
4841
  </dd>
4364
4842
  </dl>
@@ -4366,7 +4844,23 @@ client.doc.pages.extract(
4366
4844
  <dl>
4367
4845
  <dd>
4368
4846
 
4369
- **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
4847
+ **widgets:** `Internal::Types::Array[CloudPDF::Types::AnnotationRef]`
4848
+
4849
+ </dd>
4850
+ </dl>
4851
+
4852
+ <dl>
4853
+ <dd>
4854
+
4855
+ **position:** `CloudPDF::Types::AnnotationPosition`
4856
+
4857
+ </dd>
4858
+ </dl>
4859
+
4860
+ <dl>
4861
+ <dd>
4862
+
4863
+ **request_options:** `CloudPDF::Doc::Forms::RequestOptions`
4370
4864
 
4371
4865
  </dd>
4372
4866
  </dl>
@@ -4378,7 +4872,8 @@ client.doc.pages.extract(
4378
4872
  </dl>
4379
4873
  </details>
4380
4874
 
4381
- <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">flatten</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocPagesFlatten200Response</code></summary>
4875
+ ## Doc Metadata
4876
+ <details><summary><code>client.doc.metadata.<a href="/lib/CloudPDF/doc/metadata/client.rb">get</a>(doc_id:, layer_name:) -> CloudPDF::Types::DocumentMetadata</code></summary>
4382
4877
  <dl>
4383
4878
  <dd>
4384
4879
 
@@ -4391,12 +4886,9 @@ client.doc.pages.extract(
4391
4886
  <dd>
4392
4887
 
4393
4888
  ```ruby
4394
- client.doc.pages.flatten(
4889
+ client.doc.metadata.get(
4395
4890
  doc_id: "docId",
4396
- layer_name: "layerName",
4397
- request: {
4398
- key: "value"
4399
- }
4891
+ layer_name: "layerName"
4400
4892
  )
4401
4893
  ```
4402
4894
  </dd>
@@ -4436,13 +4928,586 @@ client.doc.pages.flatten(
4436
4928
  <dl>
4437
4929
  <dd>
4438
4930
 
4439
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
4931
+ **request_options:** `CloudPDF::Doc::Metadata::RequestOptions`
4440
4932
 
4441
4933
  </dd>
4442
4934
  </dl>
4935
+ </dd>
4936
+ </dl>
4443
4937
 
4444
- <dl>
4445
- <dd>
4938
+
4939
+ </dd>
4940
+ </dl>
4941
+ </details>
4942
+
4943
+ ## Doc Outline
4944
+ <details><summary><code>client.doc.outline.<a href="/lib/CloudPDF/doc/outline/client.rb">get</a>(doc_id:, layer_name:) -> CloudPDF::Types::DocumentOutline</code></summary>
4945
+ <dl>
4946
+ <dd>
4947
+
4948
+ #### 🔌 Usage
4949
+
4950
+ <dl>
4951
+ <dd>
4952
+
4953
+ <dl>
4954
+ <dd>
4955
+
4956
+ ```ruby
4957
+ client.doc.outline.get(
4958
+ doc_id: "docId",
4959
+ layer_name: "layerName"
4960
+ )
4961
+ ```
4962
+ </dd>
4963
+ </dl>
4964
+ </dd>
4965
+ </dl>
4966
+
4967
+ #### ⚙️ Parameters
4968
+
4969
+ <dl>
4970
+ <dd>
4971
+
4972
+ <dl>
4973
+ <dd>
4974
+
4975
+ **doc_id:** `String`
4976
+
4977
+ </dd>
4978
+ </dl>
4979
+
4980
+ <dl>
4981
+ <dd>
4982
+
4983
+ **layer_name:** `String`
4984
+
4985
+ </dd>
4986
+ </dl>
4987
+
4988
+ <dl>
4989
+ <dd>
4990
+
4991
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4992
+
4993
+ </dd>
4994
+ </dl>
4995
+
4996
+ <dl>
4997
+ <dd>
4998
+
4999
+ **request_options:** `CloudPDF::Doc::Outline::RequestOptions`
5000
+
5001
+ </dd>
5002
+ </dl>
5003
+ </dd>
5004
+ </dl>
5005
+
5006
+
5007
+ </dd>
5008
+ </dl>
5009
+ </details>
5010
+
5011
+ ## Doc Pages
5012
+ <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">set_scale</a>(doc_id:, layer_name:, page_key:, request) -> CloudPDF::Types::DocPagesSetScale200Response</code></summary>
5013
+ <dl>
5014
+ <dd>
5015
+
5016
+ #### 🔌 Usage
5017
+
5018
+ <dl>
5019
+ <dd>
5020
+
5021
+ <dl>
5022
+ <dd>
5023
+
5024
+ ```ruby
5025
+ client.doc.pages.set_scale(
5026
+ doc_id: "docId",
5027
+ layer_name: "layerName",
5028
+ page_key: "pageKey"
5029
+ )
5030
+ ```
5031
+ </dd>
5032
+ </dl>
5033
+ </dd>
5034
+ </dl>
5035
+
5036
+ #### ⚙️ Parameters
5037
+
5038
+ <dl>
5039
+ <dd>
5040
+
5041
+ <dl>
5042
+ <dd>
5043
+
5044
+ **doc_id:** `String`
5045
+
5046
+ </dd>
5047
+ </dl>
5048
+
5049
+ <dl>
5050
+ <dd>
5051
+
5052
+ **layer_name:** `String`
5053
+
5054
+ </dd>
5055
+ </dl>
5056
+
5057
+ <dl>
5058
+ <dd>
5059
+
5060
+ **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
5061
+
5062
+ </dd>
5063
+ </dl>
5064
+
5065
+ <dl>
5066
+ <dd>
5067
+
5068
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5069
+
5070
+ </dd>
5071
+ </dl>
5072
+
5073
+ <dl>
5074
+ <dd>
5075
+
5076
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
5077
+
5078
+ </dd>
5079
+ </dl>
5080
+
5081
+ <dl>
5082
+ <dd>
5083
+
5084
+ **measure:** `CloudPDF::Doc::Pages::Types::DocPagesSetScaleRequestMeasure`
5085
+
5086
+ </dd>
5087
+ </dl>
5088
+
5089
+ <dl>
5090
+ <dd>
5091
+
5092
+ **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
5093
+
5094
+ </dd>
5095
+ </dl>
5096
+ </dd>
5097
+ </dl>
5098
+
5099
+
5100
+ </dd>
5101
+ </dl>
5102
+ </details>
5103
+
5104
+ <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">viewports</a>(doc_id:, layer_name:, page_key:) -> CloudPDF::Types::DocPagesViewports200Response</code></summary>
5105
+ <dl>
5106
+ <dd>
5107
+
5108
+ #### 🔌 Usage
5109
+
5110
+ <dl>
5111
+ <dd>
5112
+
5113
+ <dl>
5114
+ <dd>
5115
+
5116
+ ```ruby
5117
+ client.doc.pages.viewports(
5118
+ doc_id: "docId",
5119
+ layer_name: "layerName",
5120
+ page_key: "pageKey"
5121
+ )
5122
+ ```
5123
+ </dd>
5124
+ </dl>
5125
+ </dd>
5126
+ </dl>
5127
+
5128
+ #### ⚙️ Parameters
5129
+
5130
+ <dl>
5131
+ <dd>
5132
+
5133
+ <dl>
5134
+ <dd>
5135
+
5136
+ **doc_id:** `String`
5137
+
5138
+ </dd>
5139
+ </dl>
5140
+
5141
+ <dl>
5142
+ <dd>
5143
+
5144
+ **layer_name:** `String`
5145
+
5146
+ </dd>
5147
+ </dl>
5148
+
5149
+ <dl>
5150
+ <dd>
5151
+
5152
+ **page_key:** `String` — The page's address, `obj:N`: the page's indirect object number, the durable identity every `PageLayout.ref` carries. Mirrors `annotKey` and `fieldKey`.
5153
+
5154
+ </dd>
5155
+ </dl>
5156
+
5157
+ <dl>
5158
+ <dd>
5159
+
5160
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5161
+
5162
+ </dd>
5163
+ </dl>
5164
+
5165
+ <dl>
5166
+ <dd>
5167
+
5168
+ **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
5169
+
5170
+ </dd>
5171
+ </dl>
5172
+ </dd>
5173
+ </dl>
5174
+
5175
+
5176
+ </dd>
5177
+ </dl>
5178
+ </details>
5179
+
5180
+ <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">extract</a>(doc_id:, layer_name:, request) -> String</code></summary>
5181
+ <dl>
5182
+ <dd>
5183
+
5184
+ #### 📝 Description
5185
+
5186
+ <dl>
5187
+ <dd>
5188
+
5189
+ <dl>
5190
+ <dd>
5191
+
5192
+ A read, not a mutation: the source document is untouched and no event is published. Body is `{"pages": PageRef[], "flatten"?: {"usage"?: "display" | "print"}, "includeAnnotations"?: boolean, "includeFormFields"?: boolean}`; the response body is the new PDF. With `flatten` the copy is the pages as they draw for `usage` (`"print"`: a print copy): the annotations and form fields painted in, nothing interactive left, layers in their state for the usage. A flattened copy takes `doc.download` or `doc.download.flattened`, and paints only what the caller may read; `includeAnnotations` and `includeFormFields` choose what it paints, and are refused without `flatten`.
5193
+ </dd>
5194
+ </dl>
5195
+ </dd>
5196
+ </dl>
5197
+
5198
+ #### 🔌 Usage
5199
+
5200
+ <dl>
5201
+ <dd>
5202
+
5203
+ <dl>
5204
+ <dd>
5205
+
5206
+ ```ruby
5207
+ client.doc.pages.extract(
5208
+ doc_id: "docId",
5209
+ layer_name: "layerName",
5210
+ request: {
5211
+ string: {
5212
+ key: "value"
5213
+ }
5214
+ }
5215
+ )
5216
+ ```
5217
+ </dd>
5218
+ </dl>
5219
+ </dd>
5220
+ </dl>
5221
+
5222
+ #### ⚙️ Parameters
5223
+
5224
+ <dl>
5225
+ <dd>
5226
+
5227
+ <dl>
5228
+ <dd>
5229
+
5230
+ **doc_id:** `String`
5231
+
5232
+ </dd>
5233
+ </dl>
5234
+
5235
+ <dl>
5236
+ <dd>
5237
+
5238
+ **layer_name:** `String`
5239
+
5240
+ </dd>
5241
+ </dl>
5242
+
5243
+ <dl>
5244
+ <dd>
5245
+
5246
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5247
+
5248
+ </dd>
5249
+ </dl>
5250
+
5251
+ <dl>
5252
+ <dd>
5253
+
5254
+ **request:** `Internal::Types::Hash[String, Object]`
5255
+
5256
+ </dd>
5257
+ </dl>
5258
+
5259
+ <dl>
5260
+ <dd>
5261
+
5262
+ **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
5263
+
5264
+ </dd>
5265
+ </dl>
5266
+ </dd>
5267
+ </dl>
5268
+
5269
+
5270
+ </dd>
5271
+ </dl>
5272
+ </details>
5273
+
5274
+ <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">flatten</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocPagesFlatten200Response</code></summary>
5275
+ <dl>
5276
+ <dd>
5277
+
5278
+ #### 🔌 Usage
5279
+
5280
+ <dl>
5281
+ <dd>
5282
+
5283
+ <dl>
5284
+ <dd>
5285
+
5286
+ ```ruby
5287
+ client.doc.pages.flatten(
5288
+ doc_id: "docId",
5289
+ layer_name: "layerName",
5290
+ request: {
5291
+ key: "value"
5292
+ }
5293
+ )
5294
+ ```
5295
+ </dd>
5296
+ </dl>
5297
+ </dd>
5298
+ </dl>
5299
+
5300
+ #### ⚙️ Parameters
5301
+
5302
+ <dl>
5303
+ <dd>
5304
+
5305
+ <dl>
5306
+ <dd>
5307
+
5308
+ **doc_id:** `String`
5309
+
5310
+ </dd>
5311
+ </dl>
5312
+
5313
+ <dl>
5314
+ <dd>
5315
+
5316
+ **layer_name:** `String`
5317
+
5318
+ </dd>
5319
+ </dl>
5320
+
5321
+ <dl>
5322
+ <dd>
5323
+
5324
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5325
+
5326
+ </dd>
5327
+ </dl>
5328
+
5329
+ <dl>
5330
+ <dd>
5331
+
5332
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
5333
+
5334
+ </dd>
5335
+ </dl>
5336
+
5337
+ <dl>
5338
+ <dd>
5339
+
5340
+ **request:** `Internal::Types::Hash[String, Object]`
5341
+
5342
+ </dd>
5343
+ </dl>
5344
+
5345
+ <dl>
5346
+ <dd>
5347
+
5348
+ **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
5349
+
5350
+ </dd>
5351
+ </dl>
5352
+ </dd>
5353
+ </dl>
5354
+
5355
+
5356
+ </dd>
5357
+ </dl>
5358
+ </details>
5359
+
5360
+ <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">set_name</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocPagesSetName200Response</code></summary>
5361
+ <dl>
5362
+ <dd>
5363
+
5364
+ #### 🔌 Usage
5365
+
5366
+ <dl>
5367
+ <dd>
5368
+
5369
+ <dl>
5370
+ <dd>
5371
+
5372
+ ```ruby
5373
+ client.doc.pages.set_name(
5374
+ doc_id: "docId",
5375
+ layer_name: "layerName",
5376
+ request: {
5377
+ key: "value"
5378
+ }
5379
+ )
5380
+ ```
5381
+ </dd>
5382
+ </dl>
5383
+ </dd>
5384
+ </dl>
5385
+
5386
+ #### ⚙️ Parameters
5387
+
5388
+ <dl>
5389
+ <dd>
5390
+
5391
+ <dl>
5392
+ <dd>
5393
+
5394
+ **doc_id:** `String`
5395
+
5396
+ </dd>
5397
+ </dl>
5398
+
5399
+ <dl>
5400
+ <dd>
5401
+
5402
+ **layer_name:** `String`
5403
+
5404
+ </dd>
5405
+ </dl>
5406
+
5407
+ <dl>
5408
+ <dd>
5409
+
5410
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5411
+
5412
+ </dd>
5413
+ </dl>
5414
+
5415
+ <dl>
5416
+ <dd>
5417
+
5418
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
5419
+
5420
+ </dd>
5421
+ </dl>
5422
+
5423
+ <dl>
5424
+ <dd>
5425
+
5426
+ **request:** `Internal::Types::Hash[String, Object]`
5427
+
5428
+ </dd>
5429
+ </dl>
5430
+
5431
+ <dl>
5432
+ <dd>
5433
+
5434
+ **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
5435
+
5436
+ </dd>
5437
+ </dl>
5438
+ </dd>
5439
+ </dl>
5440
+
5441
+
5442
+ </dd>
5443
+ </dl>
5444
+ </details>
5445
+
5446
+ <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">remove_name</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocPagesRemoveName200Response</code></summary>
5447
+ <dl>
5448
+ <dd>
5449
+
5450
+ #### 🔌 Usage
5451
+
5452
+ <dl>
5453
+ <dd>
5454
+
5455
+ <dl>
5456
+ <dd>
5457
+
5458
+ ```ruby
5459
+ client.doc.pages.remove_name(
5460
+ doc_id: "docId",
5461
+ layer_name: "layerName",
5462
+ request: {
5463
+ key: "value"
5464
+ }
5465
+ )
5466
+ ```
5467
+ </dd>
5468
+ </dl>
5469
+ </dd>
5470
+ </dl>
5471
+
5472
+ #### ⚙️ Parameters
5473
+
5474
+ <dl>
5475
+ <dd>
5476
+
5477
+ <dl>
5478
+ <dd>
5479
+
5480
+ **doc_id:** `String`
5481
+
5482
+ </dd>
5483
+ </dl>
5484
+
5485
+ <dl>
5486
+ <dd>
5487
+
5488
+ **layer_name:** `String`
5489
+
5490
+ </dd>
5491
+ </dl>
5492
+
5493
+ <dl>
5494
+ <dd>
5495
+
5496
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5497
+
5498
+ </dd>
5499
+ </dl>
5500
+
5501
+ <dl>
5502
+ <dd>
5503
+
5504
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
5505
+
5506
+ </dd>
5507
+ </dl>
5508
+
5509
+ <dl>
5510
+ <dd>
4446
5511
 
4447
5512
  **request:** `Internal::Types::Hash[String, Object]`
4448
5513
 
@@ -4452,7 +5517,181 @@ client.doc.pages.flatten(
4452
5517
  <dl>
4453
5518
  <dd>
4454
5519
 
4455
- **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
5520
+ **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
5521
+
5522
+ </dd>
5523
+ </dl>
5524
+ </dd>
5525
+ </dl>
5526
+
5527
+
5528
+ </dd>
5529
+ </dl>
5530
+ </details>
5531
+
5532
+ ## Doc Redactions
5533
+ <details><summary><code>client.doc.redactions.<a href="/lib/CloudPDF/doc/redactions/client.rb">apply</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocRedactionsApply200Response</code></summary>
5534
+ <dl>
5535
+ <dd>
5536
+
5537
+ #### 🔌 Usage
5538
+
5539
+ <dl>
5540
+ <dd>
5541
+
5542
+ <dl>
5543
+ <dd>
5544
+
5545
+ ```ruby
5546
+ client.doc.redactions.apply(
5547
+ doc_id: "docId",
5548
+ layer_name: "layerName"
5549
+ )
5550
+ ```
5551
+ </dd>
5552
+ </dl>
5553
+ </dd>
5554
+ </dl>
5555
+
5556
+ #### ⚙️ Parameters
5557
+
5558
+ <dl>
5559
+ <dd>
5560
+
5561
+ <dl>
5562
+ <dd>
5563
+
5564
+ **doc_id:** `String`
5565
+
5566
+ </dd>
5567
+ </dl>
5568
+
5569
+ <dl>
5570
+ <dd>
5571
+
5572
+ **layer_name:** `String`
5573
+
5574
+ </dd>
5575
+ </dl>
5576
+
5577
+ <dl>
5578
+ <dd>
5579
+
5580
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5581
+
5582
+ </dd>
5583
+ </dl>
5584
+
5585
+ <dl>
5586
+ <dd>
5587
+
5588
+ **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
5589
+
5590
+ </dd>
5591
+ </dl>
5592
+
5593
+ <dl>
5594
+ <dd>
5595
+
5596
+ **pages:** `Internal::Types::Array[CloudPDF::Types::PageRef]`
5597
+
5598
+ </dd>
5599
+ </dl>
5600
+
5601
+ <dl>
5602
+ <dd>
5603
+
5604
+ **annotations:** `Internal::Types::Array[CloudPDF::Types::AnnotationRef]`
5605
+
5606
+ </dd>
5607
+ </dl>
5608
+
5609
+ <dl>
5610
+ <dd>
5611
+
5612
+ **request_options:** `CloudPDF::Doc::Redactions::RequestOptions`
5613
+
5614
+ </dd>
5615
+ </dl>
5616
+ </dd>
5617
+ </dl>
5618
+
5619
+
5620
+ </dd>
5621
+ </dl>
5622
+ </details>
5623
+
5624
+ ## Doc Signatures
5625
+ <details><summary><code>client.doc.signatures.<a href="/lib/CloudPDF/doc/signatures/client.rb">list</a>(doc_id:, layer_name:) -> CloudPDF::Types::DocSignaturesList200Response</code></summary>
5626
+ <dl>
5627
+ <dd>
5628
+
5629
+ #### 📝 Description
5630
+
5631
+ <dl>
5632
+ <dd>
5633
+
5634
+ <dl>
5635
+ <dd>
5636
+
5637
+ Describes the bytes the layer is over: the base version's signatures plus the layer's own edits as the last revision. Signed bytes (contents, digests, revision prefixes) are served per base version under /versions.
5638
+ </dd>
5639
+ </dl>
5640
+ </dd>
5641
+ </dl>
5642
+
5643
+ #### 🔌 Usage
5644
+
5645
+ <dl>
5646
+ <dd>
5647
+
5648
+ <dl>
5649
+ <dd>
5650
+
5651
+ ```ruby
5652
+ client.doc.signatures.list(
5653
+ doc_id: "docId",
5654
+ layer_name: "layerName"
5655
+ )
5656
+ ```
5657
+ </dd>
5658
+ </dl>
5659
+ </dd>
5660
+ </dl>
5661
+
5662
+ #### ⚙️ Parameters
5663
+
5664
+ <dl>
5665
+ <dd>
5666
+
5667
+ <dl>
5668
+ <dd>
5669
+
5670
+ **doc_id:** `String`
5671
+
5672
+ </dd>
5673
+ </dl>
5674
+
5675
+ <dl>
5676
+ <dd>
5677
+
5678
+ **layer_name:** `String`
5679
+
5680
+ </dd>
5681
+ </dl>
5682
+
5683
+ <dl>
5684
+ <dd>
5685
+
5686
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5687
+
5688
+ </dd>
5689
+ </dl>
5690
+
5691
+ <dl>
5692
+ <dd>
5693
+
5694
+ **request_options:** `CloudPDF::Doc::Signatures::RequestOptions`
4456
5695
 
4457
5696
  </dd>
4458
5697
  </dl>
@@ -4464,7 +5703,7 @@ client.doc.pages.flatten(
4464
5703
  </dl>
4465
5704
  </details>
4466
5705
 
4467
- <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">set_name</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocPagesSetName200Response</code></summary>
5706
+ <details><summary><code>client.doc.signatures.<a href="/lib/CloudPDF/doc/signatures/client.rb">cancel</a>(doc_id:, layer_name:, signing_id:) -> CloudPDF::Types::DocSignaturesCancel200Response</code></summary>
4468
5707
  <dl>
4469
5708
  <dd>
4470
5709
 
@@ -4477,12 +5716,10 @@ client.doc.pages.flatten(
4477
5716
  <dd>
4478
5717
 
4479
5718
  ```ruby
4480
- client.doc.pages.set_name(
5719
+ client.doc.signatures.cancel(
4481
5720
  doc_id: "docId",
4482
5721
  layer_name: "layerName",
4483
- request: {
4484
- key: "value"
4485
- }
5722
+ signing_id: "signingId"
4486
5723
  )
4487
5724
  ```
4488
5725
  </dd>
@@ -4514,15 +5751,7 @@ client.doc.pages.set_name(
4514
5751
  <dl>
4515
5752
  <dd>
4516
5753
 
4517
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4518
-
4519
- </dd>
4520
- </dl>
4521
-
4522
- <dl>
4523
- <dd>
4524
-
4525
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
5754
+ **signing_id:** `String`
4526
5755
 
4527
5756
  </dd>
4528
5757
  </dl>
@@ -4530,7 +5759,7 @@ client.doc.pages.set_name(
4530
5759
  <dl>
4531
5760
  <dd>
4532
5761
 
4533
- **request:** `Internal::Types::Hash[String, Object]`
5762
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4534
5763
 
4535
5764
  </dd>
4536
5765
  </dl>
@@ -4538,7 +5767,7 @@ client.doc.pages.set_name(
4538
5767
  <dl>
4539
5768
  <dd>
4540
5769
 
4541
- **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
5770
+ **request_options:** `CloudPDF::Doc::Signatures::RequestOptions`
4542
5771
 
4543
5772
  </dd>
4544
5773
  </dl>
@@ -4550,10 +5779,24 @@ client.doc.pages.set_name(
4550
5779
  </dl>
4551
5780
  </details>
4552
5781
 
4553
- <details><summary><code>client.doc.pages.<a href="/lib/CloudPDF/doc/pages/client.rb">remove_name</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocPagesRemoveName200Response</code></summary>
5782
+ <details><summary><code>client.doc.signatures.<a href="/lib/CloudPDF/doc/signatures/client.rb">complete</a>(doc_id:, layer_name:, signing_id:, request) -> CloudPDF::Types::DocSignaturesComplete200Response</code></summary>
4554
5783
  <dl>
4555
5784
  <dd>
4556
5785
 
5786
+ #### 📝 Description
5787
+
5788
+ <dl>
5789
+ <dd>
5790
+
5791
+ <dl>
5792
+ <dd>
5793
+
5794
+ `cms` is the detached CMS over the prepared digest, base64. `expectedVersion` must be what prepare returned. Idempotent by signing id: the same CMS again answers `already-completed`. The new version is the layer's own: only this layer moves to it, and the document and every other layer stay as they were. Refetch the manifest after a completion.
5795
+ </dd>
5796
+ </dl>
5797
+ </dd>
5798
+ </dl>
5799
+
4557
5800
  #### 🔌 Usage
4558
5801
 
4559
5802
  <dl>
@@ -4563,11 +5806,14 @@ client.doc.pages.set_name(
4563
5806
  <dd>
4564
5807
 
4565
5808
  ```ruby
4566
- client.doc.pages.remove_name(
5809
+ client.doc.signatures.complete(
4567
5810
  doc_id: "docId",
4568
5811
  layer_name: "layerName",
4569
- request: {
4570
- key: "value"
5812
+ signing_id: "signingId",
5813
+ cms: "cms",
5814
+ expected_version: {
5815
+ base_sha256: "baseSha256",
5816
+ edits_version: 1
4571
5817
  }
4572
5818
  )
4573
5819
  ```
@@ -4600,6 +5846,14 @@ client.doc.pages.remove_name(
4600
5846
  <dl>
4601
5847
  <dd>
4602
5848
 
5849
+ **signing_id:** `String`
5850
+
5851
+ </dd>
5852
+ </dl>
5853
+
5854
+ <dl>
5855
+ <dd>
5856
+
4603
5857
  **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4604
5858
 
4605
5859
  </dd>
@@ -4608,7 +5862,7 @@ client.doc.pages.remove_name(
4608
5862
  <dl>
4609
5863
  <dd>
4610
5864
 
4611
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
5865
+ **cms:** `String`
4612
5866
 
4613
5867
  </dd>
4614
5868
  </dl>
@@ -4616,7 +5870,7 @@ client.doc.pages.remove_name(
4616
5870
  <dl>
4617
5871
  <dd>
4618
5872
 
4619
- **request:** `Internal::Types::Hash[String, Object]`
5873
+ **expected_version:** `CloudPDF::Doc::Signatures::Types::DocSignaturesCompleteRequestExpectedVersion`
4620
5874
 
4621
5875
  </dd>
4622
5876
  </dl>
@@ -4624,7 +5878,7 @@ client.doc.pages.remove_name(
4624
5878
  <dl>
4625
5879
  <dd>
4626
5880
 
4627
- **request_options:** `CloudPDF::Doc::Pages::RequestOptions`
5881
+ **request_options:** `CloudPDF::Doc::Signatures::RequestOptions`
4628
5882
 
4629
5883
  </dd>
4630
5884
  </dl>
@@ -4636,11 +5890,24 @@ client.doc.pages.remove_name(
4636
5890
  </dl>
4637
5891
  </details>
4638
5892
 
4639
- ## Doc Redactions
4640
- <details><summary><code>client.doc.redactions.<a href="/lib/CloudPDF/doc/redactions/client.rb">apply</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocRedactionsApply200Response</code></summary>
5893
+ <details><summary><code>client.doc.signatures.<a href="/lib/CloudPDF/doc/signatures/client.rb">analysis</a>(doc_id:, layer_name:) -> CloudPDF::Types::DocSignaturesAnalysis200Response</code></summary>
5894
+ <dl>
5895
+ <dd>
5896
+
5897
+ #### 📝 Description
5898
+
4641
5899
  <dl>
4642
5900
  <dd>
4643
5901
 
5902
+ <dl>
5903
+ <dd>
5904
+
5905
+ Exactly one of `since.signature=<index>` or `since.revision=<index>`; the layer's pending edits are the end. `level=fill|annotate|lta|none` evaluates exploratorily and never becomes a verdict. For history between two base revisions use the version analysis.
5906
+ </dd>
5907
+ </dl>
5908
+ </dd>
5909
+ </dl>
5910
+
4644
5911
  #### 🔌 Usage
4645
5912
 
4646
5913
  <dl>
@@ -4650,7 +5917,7 @@ client.doc.pages.remove_name(
4650
5917
  <dd>
4651
5918
 
4652
5919
  ```ruby
4653
- client.doc.redactions.apply(
5920
+ client.doc.signatures.analysis(
4654
5921
  doc_id: "docId",
4655
5922
  layer_name: "layerName"
4656
5923
  )
@@ -4684,7 +5951,7 @@ client.doc.redactions.apply(
4684
5951
  <dl>
4685
5952
  <dd>
4686
5953
 
4687
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5954
+ **since_signature:** `Integer`
4688
5955
 
4689
5956
  </dd>
4690
5957
  </dl>
@@ -4692,7 +5959,7 @@ client.doc.redactions.apply(
4692
5959
  <dl>
4693
5960
  <dd>
4694
5961
 
4695
- **idempotency_key:** `String` — Names the change: 1 to 255 printable ASCII characters. A retry under the same key on the same layer answers with what the first request committed, and changes nothing.
5962
+ **since_revision:** `Integer`
4696
5963
 
4697
5964
  </dd>
4698
5965
  </dl>
@@ -4700,7 +5967,7 @@ client.doc.redactions.apply(
4700
5967
  <dl>
4701
5968
  <dd>
4702
5969
 
4703
- **pages:** `Internal::Types::Array[CloudPDF::Types::PageRef]`
5970
+ **level:** `CloudPDF::Doc::Signatures::Types::AnalysisSignaturesRequestLevel`
4704
5971
 
4705
5972
  </dd>
4706
5973
  </dl>
@@ -4708,7 +5975,7 @@ client.doc.redactions.apply(
4708
5975
  <dl>
4709
5976
  <dd>
4710
5977
 
4711
- **annotations:** `Internal::Types::Array[CloudPDF::Types::AnnotationRef]`
5978
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4712
5979
 
4713
5980
  </dd>
4714
5981
  </dl>
@@ -4716,7 +5983,7 @@ client.doc.redactions.apply(
4716
5983
  <dl>
4717
5984
  <dd>
4718
5985
 
4719
- **request_options:** `CloudPDF::Doc::Redactions::RequestOptions`
5986
+ **request_options:** `CloudPDF::Doc::Signatures::RequestOptions`
4720
5987
 
4721
5988
  </dd>
4722
5989
  </dl>
@@ -4728,8 +5995,7 @@ client.doc.redactions.apply(
4728
5995
  </dl>
4729
5996
  </details>
4730
5997
 
4731
- ## Doc Signatures
4732
- <details><summary><code>client.doc.signatures.<a href="/lib/CloudPDF/doc/signatures/client.rb">list</a>(doc_id:, layer_name:) -> CloudPDF::Types::DocSignaturesList200Response</code></summary>
5998
+ <details><summary><code>client.doc.signatures.<a href="/lib/CloudPDF/doc/signatures/client.rb">prepare</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocSignaturesPrepare200Response</code></summary>
4733
5999
  <dl>
4734
6000
  <dd>
4735
6001
 
@@ -4741,7 +6007,7 @@ client.doc.redactions.apply(
4741
6007
  <dl>
4742
6008
  <dd>
4743
6009
 
4744
- Describes the bytes the layer is over: the base version's signatures plus the layer's own edits as the last revision. Signed bytes (contents, digests, revision prefixes) are served per base version under /versions.
6010
+ Multipart: a JSON `body` part (field, subFilter, digest, contentsSize, signer, certify, lock), naming the appearance PDF it may carry as `resources: { appearance: '<key>' }`, and that PDF as the part `resource:<key>`. A certification (`certify.permission`) additionally requires `doc.sign.certify`. The layer is read-only until the signing completes, is cancelled, or expires (15 minutes). The signature is made over the layer's own base: the upload, or the version its last signature made.
4745
6011
  </dd>
4746
6012
  </dl>
4747
6013
  </dd>
@@ -4756,7 +6022,7 @@ Describes the bytes the layer is over: the base version's signatures plus the la
4756
6022
  <dd>
4757
6023
 
4758
6024
  ```ruby
4759
- client.doc.signatures.list(
6025
+ client.doc.signatures.prepare(
4760
6026
  doc_id: "docId",
4761
6027
  layer_name: "layerName"
4762
6028
  )
@@ -4810,10 +6076,25 @@ client.doc.signatures.list(
4810
6076
  </dl>
4811
6077
  </details>
4812
6078
 
4813
- <details><summary><code>client.doc.signatures.<a href="/lib/CloudPDF/doc/signatures/client.rb">cancel</a>(doc_id:, layer_name:, signing_id:) -> CloudPDF::Types::DocSignaturesCancel200Response</code></summary>
6079
+ ## Doc Versions
6080
+ <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">list</a>(doc_id:, layer_name:) -> CloudPDF::Types::DocVersionsList200Response</code></summary>
6081
+ <dl>
6082
+ <dd>
6083
+
6084
+ #### 📝 Description
6085
+
6086
+ <dl>
6087
+ <dd>
6088
+
4814
6089
  <dl>
4815
6090
  <dd>
4816
6091
 
6092
+ Every completed signature makes a new version of its layer; another layer's versions are never listed. Never cached: the list grows.
6093
+ </dd>
6094
+ </dl>
6095
+ </dd>
6096
+ </dl>
6097
+
4817
6098
  #### 🔌 Usage
4818
6099
 
4819
6100
  <dl>
@@ -4823,10 +6104,9 @@ client.doc.signatures.list(
4823
6104
  <dd>
4824
6105
 
4825
6106
  ```ruby
4826
- client.doc.signatures.cancel(
6107
+ client.doc.versions.list(
4827
6108
  doc_id: "docId",
4828
- layer_name: "layerName",
4829
- signing_id: "signingId"
6109
+ layer_name: "layerName"
4830
6110
  )
4831
6111
  ```
4832
6112
  </dd>
@@ -4858,14 +6138,6 @@ client.doc.signatures.cancel(
4858
6138
  <dl>
4859
6139
  <dd>
4860
6140
 
4861
- **signing_id:** `String`
4862
-
4863
- </dd>
4864
- </dl>
4865
-
4866
- <dl>
4867
- <dd>
4868
-
4869
6141
  **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
4870
6142
 
4871
6143
  </dd>
@@ -4874,7 +6146,7 @@ client.doc.signatures.cancel(
4874
6146
  <dl>
4875
6147
  <dd>
4876
6148
 
4877
- **request_options:** `CloudPDF::Doc::Signatures::RequestOptions`
6149
+ **request_options:** `CloudPDF::Doc::Versions::RequestOptions`
4878
6150
 
4879
6151
  </dd>
4880
6152
  </dl>
@@ -4886,7 +6158,7 @@ client.doc.signatures.cancel(
4886
6158
  </dl>
4887
6159
  </details>
4888
6160
 
4889
- <details><summary><code>client.doc.signatures.<a href="/lib/CloudPDF/doc/signatures/client.rb">complete</a>(doc_id:, layer_name:, signing_id:, request) -> CloudPDF::Types::DocSignaturesComplete200Response</code></summary>
6161
+ <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">analysis</a>(doc_id:, layer_name:, sha:) -> CloudPDF::Types::DocVersionsAnalysis200Response</code></summary>
4890
6162
  <dl>
4891
6163
  <dd>
4892
6164
 
@@ -4898,7 +6170,7 @@ client.doc.signatures.cancel(
4898
6170
  <dl>
4899
6171
  <dd>
4900
6172
 
4901
- `cms` is the detached CMS over the prepared digest, base64. `expectedVersion` must be what prepare returned. Idempotent by signing id: the same CMS again answers `already-completed`. Every layer of the document then sits over the new version; refetch the manifest after a completion.
6173
+ Exactly one of `since.signature` / `since.revision`; `until=<revision>` defaults to the last. The same answer for every caller.
4902
6174
  </dd>
4903
6175
  </dl>
4904
6176
  </dd>
@@ -4913,15 +6185,10 @@ client.doc.signatures.cancel(
4913
6185
  <dd>
4914
6186
 
4915
6187
  ```ruby
4916
- client.doc.signatures.complete(
6188
+ client.doc.versions.analysis(
4917
6189
  doc_id: "docId",
4918
6190
  layer_name: "layerName",
4919
- signing_id: "signingId",
4920
- cms: "cms",
4921
- expected_version: {
4922
- base_sha256: "baseSha256",
4923
- edits_version: 1
4924
- }
6191
+ sha: "sha"
4925
6192
  )
4926
6193
  ```
4927
6194
  </dd>
@@ -4953,7 +6220,7 @@ client.doc.signatures.complete(
4953
6220
  <dl>
4954
6221
  <dd>
4955
6222
 
4956
- **signing_id:** `String`
6223
+ **sha:** `String`
4957
6224
 
4958
6225
  </dd>
4959
6226
  </dl>
@@ -4961,7 +6228,7 @@ client.doc.signatures.complete(
4961
6228
  <dl>
4962
6229
  <dd>
4963
6230
 
4964
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
6231
+ **since_signature:** `Integer`
4965
6232
 
4966
6233
  </dd>
4967
6234
  </dl>
@@ -4969,7 +6236,7 @@ client.doc.signatures.complete(
4969
6236
  <dl>
4970
6237
  <dd>
4971
6238
 
4972
- **cms:** `String`
6239
+ **since_revision:** `Integer`
4973
6240
 
4974
6241
  </dd>
4975
6242
  </dl>
@@ -4977,7 +6244,7 @@ client.doc.signatures.complete(
4977
6244
  <dl>
4978
6245
  <dd>
4979
6246
 
4980
- **expected_version:** `CloudPDF::Doc::Signatures::Types::DocSignaturesCompleteRequestExpectedVersion`
6247
+ **level:** `CloudPDF::Doc::Versions::Types::AnalysisVersionsRequestLevel`
4981
6248
 
4982
6249
  </dd>
4983
6250
  </dl>
@@ -4985,35 +6252,45 @@ client.doc.signatures.complete(
4985
6252
  <dl>
4986
6253
  <dd>
4987
6254
 
4988
- **request_options:** `CloudPDF::Doc::Signatures::RequestOptions`
6255
+ **until_:** `Integer`
4989
6256
 
4990
6257
  </dd>
4991
6258
  </dl>
4992
- </dd>
4993
- </dl>
4994
6259
 
6260
+ <dl>
6261
+ <dd>
4995
6262
 
6263
+ **policy:** `Integer`
6264
+
4996
6265
  </dd>
4997
6266
  </dl>
4998
- </details>
4999
6267
 
5000
- <details><summary><code>client.doc.signatures.<a href="/lib/CloudPDF/doc/signatures/client.rb">analysis</a>(doc_id:, layer_name:) -> CloudPDF::Types::DocSignaturesAnalysis200Response</code></summary>
5001
6268
  <dl>
5002
6269
  <dd>
5003
6270
 
5004
- #### 📝 Description
5005
-
5006
- <dl>
5007
- <dd>
6271
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
6272
+
6273
+ </dd>
6274
+ </dl>
5008
6275
 
5009
6276
  <dl>
5010
6277
  <dd>
5011
6278
 
5012
- Exactly one of `since.signature=<index>` or `since.revision=<index>`; the layer's pending edits are the end. `level=fill|annotate|lta|none` evaluates exploratorily and never becomes a verdict. For history between two base revisions use the version analysis.
6279
+ **request_options:** `CloudPDF::Doc::Versions::RequestOptions`
6280
+
6281
+ </dd>
6282
+ </dl>
5013
6283
  </dd>
5014
6284
  </dl>
6285
+
6286
+
5015
6287
  </dd>
5016
6288
  </dl>
6289
+ </details>
6290
+
6291
+ <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">download</a>(doc_id:, layer_name:, sha:) -> String</code></summary>
6292
+ <dl>
6293
+ <dd>
5017
6294
 
5018
6295
  #### 🔌 Usage
5019
6296
 
@@ -5024,9 +6301,10 @@ Exactly one of `since.signature=<index>` or `since.revision=<index>`; the layer'
5024
6301
  <dd>
5025
6302
 
5026
6303
  ```ruby
5027
- client.doc.signatures.analysis(
6304
+ client.doc.versions.download(
5028
6305
  doc_id: "docId",
5029
- layer_name: "layerName"
6306
+ layer_name: "layerName",
6307
+ sha: "sha"
5030
6308
  )
5031
6309
  ```
5032
6310
  </dd>
@@ -5058,7 +6336,7 @@ client.doc.signatures.analysis(
5058
6336
  <dl>
5059
6337
  <dd>
5060
6338
 
5061
- **since_signature:** `Integer`
6339
+ **sha:** `String`
5062
6340
 
5063
6341
  </dd>
5064
6342
  </dl>
@@ -5066,7 +6344,76 @@ client.doc.signatures.analysis(
5066
6344
  <dl>
5067
6345
  <dd>
5068
6346
 
5069
- **since_revision:** `Integer`
6347
+ **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
6348
+
6349
+ </dd>
6350
+ </dl>
6351
+
6352
+ <dl>
6353
+ <dd>
6354
+
6355
+ **request_options:** `CloudPDF::Doc::Versions::RequestOptions`
6356
+
6357
+ </dd>
6358
+ </dl>
6359
+ </dd>
6360
+ </dl>
6361
+
6362
+
6363
+ </dd>
6364
+ </dl>
6365
+ </details>
6366
+
6367
+ <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">revision</a>(doc_id:, layer_name:, sha:, index:) -> String</code></summary>
6368
+ <dl>
6369
+ <dd>
6370
+
6371
+ #### 🔌 Usage
6372
+
6373
+ <dl>
6374
+ <dd>
6375
+
6376
+ <dl>
6377
+ <dd>
6378
+
6379
+ ```ruby
6380
+ client.doc.versions.revision(
6381
+ doc_id: "docId",
6382
+ layer_name: "layerName",
6383
+ sha: "sha",
6384
+ index: 1
6385
+ )
6386
+ ```
6387
+ </dd>
6388
+ </dl>
6389
+ </dd>
6390
+ </dl>
6391
+
6392
+ #### ⚙️ Parameters
6393
+
6394
+ <dl>
6395
+ <dd>
6396
+
6397
+ <dl>
6398
+ <dd>
6399
+
6400
+ **doc_id:** `String`
6401
+
6402
+ </dd>
6403
+ </dl>
6404
+
6405
+ <dl>
6406
+ <dd>
6407
+
6408
+ **layer_name:** `String`
6409
+
6410
+ </dd>
6411
+ </dl>
6412
+
6413
+ <dl>
6414
+ <dd>
6415
+
6416
+ **sha:** `String`
5070
6417
 
5071
6418
  </dd>
5072
6419
  </dl>
@@ -5074,7 +6421,7 @@ client.doc.signatures.analysis(
5074
6421
  <dl>
5075
6422
  <dd>
5076
6423
 
5077
- **level:** `CloudPDF::Doc::Signatures::Types::AnalysisSignaturesRequestLevel`
6424
+ **index:** `Integer`
5078
6425
 
5079
6426
  </dd>
5080
6427
  </dl>
@@ -5090,7 +6437,7 @@ client.doc.signatures.analysis(
5090
6437
  <dl>
5091
6438
  <dd>
5092
6439
 
5093
- **request_options:** `CloudPDF::Doc::Signatures::RequestOptions`
6440
+ **request_options:** `CloudPDF::Doc::Versions::RequestOptions`
5094
6441
 
5095
6442
  </dd>
5096
6443
  </dl>
@@ -5102,24 +6449,10 @@ client.doc.signatures.analysis(
5102
6449
  </dl>
5103
6450
  </details>
5104
6451
 
5105
- <details><summary><code>client.doc.signatures.<a href="/lib/CloudPDF/doc/signatures/client.rb">prepare</a>(doc_id:, layer_name:, request) -> CloudPDF::Types::DocSignaturesPrepare200Response</code></summary>
5106
- <dl>
5107
- <dd>
5108
-
5109
- #### 📝 Description
5110
-
5111
- <dl>
5112
- <dd>
5113
-
6452
+ <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">signatures</a>(doc_id:, layer_name:, sha:) -> CloudPDF::Types::DocVersionsSignatures200Response</code></summary>
5114
6453
  <dl>
5115
6454
  <dd>
5116
6455
 
5117
- Multipart: a JSON `body` part (field, subFilter, digest, contentsSize, signer, certify, lock), naming the appearance PDF it may carry as `resources: { appearance: '<key>' }`, and that PDF as the part `resource:<key>`. A certification (`certify.permission`) additionally requires `doc.sign.certify`. The layer is read-only until the signing completes, is cancelled, or expires (15 minutes). A layer behind the document head cannot sign (StaleBase).
5118
- </dd>
5119
- </dl>
5120
- </dd>
5121
- </dl>
5122
-
5123
6456
  #### 🔌 Usage
5124
6457
 
5125
6458
  <dl>
@@ -5129,9 +6462,10 @@ Multipart: a JSON `body` part (field, subFilter, digest, contentsSize, signer, c
5129
6462
  <dd>
5130
6463
 
5131
6464
  ```ruby
5132
- client.doc.signatures.prepare(
6465
+ client.doc.versions.signatures(
5133
6466
  doc_id: "docId",
5134
- layer_name: "layerName"
6467
+ layer_name: "layerName",
6468
+ sha: "sha"
5135
6469
  )
5136
6470
  ```
5137
6471
  </dd>
@@ -5163,6 +6497,14 @@ client.doc.signatures.prepare(
5163
6497
  <dl>
5164
6498
  <dd>
5165
6499
 
6500
+ **sha:** `String`
6501
+
6502
+ </dd>
6503
+ </dl>
6504
+
6505
+ <dl>
6506
+ <dd>
6507
+
5166
6508
  **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5167
6509
 
5168
6510
  </dd>
@@ -5171,7 +6513,7 @@ client.doc.signatures.prepare(
5171
6513
  <dl>
5172
6514
  <dd>
5173
6515
 
5174
- **request_options:** `CloudPDF::Doc::Signatures::RequestOptions`
6516
+ **request_options:** `CloudPDF::Doc::Versions::RequestOptions`
5175
6517
 
5176
6518
  </dd>
5177
6519
  </dl>
@@ -5183,8 +6525,7 @@ client.doc.signatures.prepare(
5183
6525
  </dl>
5184
6526
  </details>
5185
6527
 
5186
- ## Doc Versions
5187
- <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">list</a>(doc_id:) -> CloudPDF::Types::DocVersionsList200Response</code></summary>
6528
+ <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">signature_contents</a>(doc_id:, layer_name:, sha:, field_key:) -> String</code></summary>
5188
6529
  <dl>
5189
6530
  <dd>
5190
6531
 
@@ -5196,7 +6537,7 @@ client.doc.signatures.prepare(
5196
6537
  <dl>
5197
6538
  <dd>
5198
6539
 
5199
- Every completed signature publishes a new version. Never cached: the list grows.
6540
+ `fieldKey` is the field's fully qualified name, token-text encoded (the same encoding attachment keys use).
5200
6541
  </dd>
5201
6542
  </dl>
5202
6543
  </dd>
@@ -5211,7 +6552,12 @@ Every completed signature publishes a new version. Never cached: the list grows.
5211
6552
  <dd>
5212
6553
 
5213
6554
  ```ruby
5214
- client.doc.versions.list(doc_id: "docId")
6555
+ client.doc.versions.signature_contents(
6556
+ doc_id: "docId",
6557
+ layer_name: "layerName",
6558
+ sha: "sha",
6559
+ field_key: "fieldKey"
6560
+ )
5215
6561
  ```
5216
6562
  </dd>
5217
6563
  </dl>
@@ -5234,6 +6580,30 @@ client.doc.versions.list(doc_id: "docId")
5234
6580
  <dl>
5235
6581
  <dd>
5236
6582
 
6583
+ **layer_name:** `String`
6584
+
6585
+ </dd>
6586
+ </dl>
6587
+
6588
+ <dl>
6589
+ <dd>
6590
+
6591
+ **sha:** `String`
6592
+
6593
+ </dd>
6594
+ </dl>
6595
+
6596
+ <dl>
6597
+ <dd>
6598
+
6599
+ **field_key:** `String`
6600
+
6601
+ </dd>
6602
+ </dl>
6603
+
6604
+ <dl>
6605
+ <dd>
6606
+
5237
6607
  **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5238
6608
 
5239
6609
  </dd>
@@ -5254,7 +6624,7 @@ client.doc.versions.list(doc_id: "docId")
5254
6624
  </dl>
5255
6625
  </details>
5256
6626
 
5257
- <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">analysis</a>(doc_id:, sha:) -> CloudPDF::Types::DocVersionsAnalysis200Response</code></summary>
6627
+ <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">signature_digest</a>(doc_id:, layer_name:, sha:, field_key:, algorithm:) -> String</code></summary>
5258
6628
  <dl>
5259
6629
  <dd>
5260
6630
 
@@ -5266,7 +6636,7 @@ client.doc.versions.list(doc_id: "docId")
5266
6636
  <dl>
5267
6637
  <dd>
5268
6638
 
5269
- Exactly one of `since.signature` / `since.revision`; `until=<revision>` defaults to the last. The same answer for every layer and every caller.
6639
+ What a CMS verifier compares its message digest to.
5270
6640
  </dd>
5271
6641
  </dl>
5272
6642
  </dd>
@@ -5281,9 +6651,12 @@ Exactly one of `since.signature` / `since.revision`; `until=<revision>` defaults
5281
6651
  <dd>
5282
6652
 
5283
6653
  ```ruby
5284
- client.doc.versions.analysis(
6654
+ client.doc.versions.signature_digest(
5285
6655
  doc_id: "docId",
5286
- sha: "sha"
6656
+ layer_name: "layerName",
6657
+ sha: "sha",
6658
+ field_key: "fieldKey",
6659
+ algorithm: "sha1"
5287
6660
  )
5288
6661
  ```
5289
6662
  </dd>
@@ -5307,23 +6680,7 @@ client.doc.versions.analysis(
5307
6680
  <dl>
5308
6681
  <dd>
5309
6682
 
5310
- **sha:** `String`
5311
-
5312
- </dd>
5313
- </dl>
5314
-
5315
- <dl>
5316
- <dd>
5317
-
5318
- **since_signature:** `Integer`
5319
-
5320
- </dd>
5321
- </dl>
5322
-
5323
- <dl>
5324
- <dd>
5325
-
5326
- **since_revision:** `Integer`
6683
+ **layer_name:** `String`
5327
6684
 
5328
6685
  </dd>
5329
6686
  </dl>
@@ -5331,7 +6688,7 @@ client.doc.versions.analysis(
5331
6688
  <dl>
5332
6689
  <dd>
5333
6690
 
5334
- **level:** `CloudPDF::Doc::Versions::Types::AnalysisVersionsRequestLevel`
6691
+ **sha:** `String`
5335
6692
 
5336
6693
  </dd>
5337
6694
  </dl>
@@ -5339,7 +6696,7 @@ client.doc.versions.analysis(
5339
6696
  <dl>
5340
6697
  <dd>
5341
6698
 
5342
- **until_:** `Integer`
6699
+ **field_key:** `String`
5343
6700
 
5344
6701
  </dd>
5345
6702
  </dl>
@@ -5347,7 +6704,7 @@ client.doc.versions.analysis(
5347
6704
  <dl>
5348
6705
  <dd>
5349
6706
 
5350
- **policy:** `Integer`
6707
+ **algorithm:** `CloudPDF::Doc::Versions::Types::SignatureDigestVersionsRequestAlgorithm`
5351
6708
 
5352
6709
  </dd>
5353
6710
  </dl>
@@ -5375,7 +6732,8 @@ client.doc.versions.analysis(
5375
6732
  </dl>
5376
6733
  </details>
5377
6734
 
5378
- <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">download</a>(doc_id:, sha:) -> String</code></summary>
6735
+ ## Doc Metadata Custom
6736
+ <details><summary><code>client.doc.metadata.custom.<a href="/lib/CloudPDF/doc/metadata/custom/client.rb">get</a>(doc_id:, layer_name:) -> Internal::Types::Hash[String, String]</code></summary>
5379
6737
  <dl>
5380
6738
  <dd>
5381
6739
 
@@ -5388,9 +6746,9 @@ client.doc.versions.analysis(
5388
6746
  <dd>
5389
6747
 
5390
6748
  ```ruby
5391
- client.doc.versions.download(
6749
+ client.doc.metadata.custom.get(
5392
6750
  doc_id: "docId",
5393
- sha: "sha"
6751
+ layer_name: "layerName"
5394
6752
  )
5395
6753
  ```
5396
6754
  </dd>
@@ -5414,7 +6772,7 @@ client.doc.versions.download(
5414
6772
  <dl>
5415
6773
  <dd>
5416
6774
 
5417
- **sha:** `String`
6775
+ **layer_name:** `String`
5418
6776
 
5419
6777
  </dd>
5420
6778
  </dl>
@@ -5430,7 +6788,7 @@ client.doc.versions.download(
5430
6788
  <dl>
5431
6789
  <dd>
5432
6790
 
5433
- **request_options:** `CloudPDF::Doc::Versions::RequestOptions`
6791
+ **request_options:** `CloudPDF::Doc::Metadata::Custom::RequestOptions`
5434
6792
 
5435
6793
  </dd>
5436
6794
  </dl>
@@ -5442,7 +6800,8 @@ client.doc.versions.download(
5442
6800
  </dl>
5443
6801
  </details>
5444
6802
 
5445
- <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">revision</a>(doc_id:, sha:, index:) -> String</code></summary>
6803
+ ## Documents Layers
6804
+ <details><summary><code>client.documents.layers.<a href="/lib/CloudPDF/documents/layers/client.rb">list</a>(tenant_id:, id:) -> CloudPDF::Types::DocumentsLayersList200Response</code></summary>
5446
6805
  <dl>
5447
6806
  <dd>
5448
6807
 
@@ -5455,10 +6814,9 @@ client.doc.versions.download(
5455
6814
  <dd>
5456
6815
 
5457
6816
  ```ruby
5458
- client.doc.versions.revision(
5459
- doc_id: "docId",
5460
- sha: "sha",
5461
- index: 1
6817
+ client.documents.layers.list(
6818
+ tenant_id: "tenantId",
6819
+ id: "id"
5462
6820
  )
5463
6821
  ```
5464
6822
  </dd>
@@ -5474,7 +6832,7 @@ client.doc.versions.revision(
5474
6832
  <dl>
5475
6833
  <dd>
5476
6834
 
5477
- **doc_id:** `String`
6835
+ **tenant_id:** `String`
5478
6836
 
5479
6837
  </dd>
5480
6838
  </dl>
@@ -5482,7 +6840,7 @@ client.doc.versions.revision(
5482
6840
  <dl>
5483
6841
  <dd>
5484
6842
 
5485
- **sha:** `String`
6843
+ **id:** `String`
5486
6844
 
5487
6845
  </dd>
5488
6846
  </dl>
@@ -5490,7 +6848,7 @@ client.doc.versions.revision(
5490
6848
  <dl>
5491
6849
  <dd>
5492
6850
 
5493
- **index:** `Integer`
6851
+ **limit:** `Integer`
5494
6852
 
5495
6853
  </dd>
5496
6854
  </dl>
@@ -5498,7 +6856,7 @@ client.doc.versions.revision(
5498
6856
  <dl>
5499
6857
  <dd>
5500
6858
 
5501
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
6859
+ **cursor:** `String`
5502
6860
 
5503
6861
  </dd>
5504
6862
  </dl>
@@ -5506,7 +6864,15 @@ client.doc.versions.revision(
5506
6864
  <dl>
5507
6865
  <dd>
5508
6866
 
5509
- **request_options:** `CloudPDF::Doc::Versions::RequestOptions`
6867
+ **share_id:** `String`
6868
+
6869
+ </dd>
6870
+ </dl>
6871
+
6872
+ <dl>
6873
+ <dd>
6874
+
6875
+ **request_options:** `CloudPDF::Documents::Layers::RequestOptions`
5510
6876
 
5511
6877
  </dd>
5512
6878
  </dl>
@@ -5518,7 +6884,7 @@ client.doc.versions.revision(
5518
6884
  </dl>
5519
6885
  </details>
5520
6886
 
5521
- <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">signatures</a>(doc_id:, sha:) -> CloudPDF::Types::DocVersionsSignatures200Response</code></summary>
6887
+ <details><summary><code>client.documents.layers.<a href="/lib/CloudPDF/documents/layers/client.rb">delete</a>(tenant_id:, id:, layer_name:) -> </code></summary>
5522
6888
  <dl>
5523
6889
  <dd>
5524
6890
 
@@ -5531,9 +6897,10 @@ client.doc.versions.revision(
5531
6897
  <dd>
5532
6898
 
5533
6899
  ```ruby
5534
- client.doc.versions.signatures(
5535
- doc_id: "docId",
5536
- sha: "sha"
6900
+ client.documents.layers.delete(
6901
+ tenant_id: "tenantId",
6902
+ id: "id",
6903
+ layer_name: "layerName"
5537
6904
  )
5538
6905
  ```
5539
6906
  </dd>
@@ -5549,7 +6916,7 @@ client.doc.versions.signatures(
5549
6916
  <dl>
5550
6917
  <dd>
5551
6918
 
5552
- **doc_id:** `String`
6919
+ **tenant_id:** `String`
5553
6920
 
5554
6921
  </dd>
5555
6922
  </dl>
@@ -5557,7 +6924,7 @@ client.doc.versions.signatures(
5557
6924
  <dl>
5558
6925
  <dd>
5559
6926
 
5560
- **sha:** `String`
6927
+ **id:** `String`
5561
6928
 
5562
6929
  </dd>
5563
6930
  </dl>
@@ -5565,7 +6932,7 @@ client.doc.versions.signatures(
5565
6932
  <dl>
5566
6933
  <dd>
5567
6934
 
5568
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
6935
+ **layer_name:** `String`
5569
6936
 
5570
6937
  </dd>
5571
6938
  </dl>
@@ -5573,7 +6940,7 @@ client.doc.versions.signatures(
5573
6940
  <dl>
5574
6941
  <dd>
5575
6942
 
5576
- **request_options:** `CloudPDF::Doc::Versions::RequestOptions`
6943
+ **request_options:** `CloudPDF::Documents::Layers::RequestOptions`
5577
6944
 
5578
6945
  </dd>
5579
6946
  </dl>
@@ -5585,7 +6952,8 @@ client.doc.versions.signatures(
5585
6952
  </dl>
5586
6953
  </details>
5587
6954
 
5588
- <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">signature_contents</a>(doc_id:, sha:, field_key:) -> String</code></summary>
6955
+ ## Shares Visitors
6956
+ <details><summary><code>client.shares.visitors.<a href="/lib/CloudPDF/shares/visitors/client.rb">list</a>(tenant_id:, share_id:) -> CloudPDF::Types::SharesVisitorsList200Response</code></summary>
5589
6957
  <dl>
5590
6958
  <dd>
5591
6959
 
@@ -5597,7 +6965,7 @@ client.doc.versions.signatures(
5597
6965
  <dl>
5598
6966
  <dd>
5599
6967
 
5600
- `fieldKey` is the field's fully qualified name, token-text encoded (the same encoding attachment keys use).
6968
+ An archived link's visitors are listed too.
5601
6969
  </dd>
5602
6970
  </dl>
5603
6971
  </dd>
@@ -5612,10 +6980,9 @@ client.doc.versions.signatures(
5612
6980
  <dd>
5613
6981
 
5614
6982
  ```ruby
5615
- client.doc.versions.signature_contents(
5616
- doc_id: "docId",
5617
- sha: "sha",
5618
- field_key: "fieldKey"
6983
+ client.shares.visitors.list(
6984
+ tenant_id: "tenantId",
6985
+ share_id: "shareId"
5619
6986
  )
5620
6987
  ```
5621
6988
  </dd>
@@ -5631,7 +6998,7 @@ client.doc.versions.signature_contents(
5631
6998
  <dl>
5632
6999
  <dd>
5633
7000
 
5634
- **doc_id:** `String`
7001
+ **tenant_id:** `String`
5635
7002
 
5636
7003
  </dd>
5637
7004
  </dl>
@@ -5639,7 +7006,7 @@ client.doc.versions.signature_contents(
5639
7006
  <dl>
5640
7007
  <dd>
5641
7008
 
5642
- **sha:** `String`
7009
+ **share_id:** `String`
5643
7010
 
5644
7011
  </dd>
5645
7012
  </dl>
@@ -5647,7 +7014,7 @@ client.doc.versions.signature_contents(
5647
7014
  <dl>
5648
7015
  <dd>
5649
7016
 
5650
- **field_key:** `String`
7017
+ **limit:** `Integer`
5651
7018
 
5652
7019
  </dd>
5653
7020
  </dl>
@@ -5655,7 +7022,7 @@ client.doc.versions.signature_contents(
5655
7022
  <dl>
5656
7023
  <dd>
5657
7024
 
5658
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
7025
+ **cursor:** `String`
5659
7026
 
5660
7027
  </dd>
5661
7028
  </dl>
@@ -5663,7 +7030,7 @@ client.doc.versions.signature_contents(
5663
7030
  <dl>
5664
7031
  <dd>
5665
7032
 
5666
- **request_options:** `CloudPDF::Doc::Versions::RequestOptions`
7033
+ **request_options:** `CloudPDF::Shares::Visitors::RequestOptions`
5667
7034
 
5668
7035
  </dd>
5669
7036
  </dl>
@@ -5675,7 +7042,7 @@ client.doc.versions.signature_contents(
5675
7042
  </dl>
5676
7043
  </details>
5677
7044
 
5678
- <details><summary><code>client.doc.versions.<a href="/lib/CloudPDF/doc/versions/client.rb">signature_digest</a>(doc_id:, sha:, field_key:, algorithm:) -> String</code></summary>
7045
+ <details><summary><code>client.shares.visitors.<a href="/lib/CloudPDF/shares/visitors/client.rb">delete</a>(tenant_id:, share_id:, visitor_id:) -> </code></summary>
5679
7046
  <dl>
5680
7047
  <dd>
5681
7048
 
@@ -5687,98 +7054,12 @@ client.doc.versions.signature_contents(
5687
7054
  <dl>
5688
7055
  <dd>
5689
7056
 
5690
- What a CMS verifier compares its message digest to.
5691
- </dd>
5692
- </dl>
5693
- </dd>
5694
- </dl>
5695
-
5696
- #### 🔌 Usage
5697
-
5698
- <dl>
5699
- <dd>
5700
-
5701
- <dl>
5702
- <dd>
5703
-
5704
- ```ruby
5705
- client.doc.versions.signature_digest(
5706
- doc_id: "docId",
5707
- sha: "sha",
5708
- field_key: "fieldKey",
5709
- algorithm: "sha1"
5710
- )
5711
- ```
5712
- </dd>
5713
- </dl>
5714
- </dd>
5715
- </dl>
5716
-
5717
- #### ⚙️ Parameters
5718
-
5719
- <dl>
5720
- <dd>
5721
-
5722
- <dl>
5723
- <dd>
5724
-
5725
- **doc_id:** `String`
5726
-
5727
- </dd>
5728
- </dl>
5729
-
5730
- <dl>
5731
- <dd>
5732
-
5733
- **sha:** `String`
5734
-
5735
- </dd>
5736
- </dl>
5737
-
5738
- <dl>
5739
- <dd>
5740
-
5741
- **field_key:** `String`
5742
-
5743
- </dd>
5744
- </dl>
5745
-
5746
- <dl>
5747
- <dd>
5748
-
5749
- **algorithm:** `CloudPDF::Doc::Versions::Types::SignatureDigestVersionsRequestAlgorithm`
5750
-
5751
- </dd>
5752
- </dl>
5753
-
5754
- <dl>
5755
- <dd>
5756
-
5757
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
5758
-
5759
- </dd>
5760
- </dl>
5761
-
5762
- <dl>
5763
- <dd>
5764
-
5765
- **request_options:** `CloudPDF::Doc::Versions::RequestOptions`
5766
-
7057
+ Their handle brings them back as a new visitor, who is asked again. Deleting a visitor already deleted changes nothing.
5767
7058
  </dd>
5768
7059
  </dl>
5769
7060
  </dd>
5770
7061
  </dl>
5771
7062
 
5772
-
5773
- </dd>
5774
- </dl>
5775
- </details>
5776
-
5777
- ## Doc Metadata Custom
5778
- <details><summary><code>client.doc.metadata.custom.<a href="/lib/CloudPDF/doc/metadata/custom/client.rb">get</a>(doc_id:, layer_name:) -> Internal::Types::Hash[String, String]</code></summary>
5779
- <dl>
5780
- <dd>
5781
-
5782
7063
  #### 🔌 Usage
5783
7064
 
5784
7065
  <dl>
@@ -5788,9 +7069,10 @@ client.doc.versions.signature_digest(
5788
7069
  <dd>
5789
7070
 
5790
7071
  ```ruby
5791
- client.doc.metadata.custom.get(
5792
- doc_id: "docId",
5793
- layer_name: "layerName"
7072
+ client.shares.visitors.delete(
7073
+ tenant_id: "tenantId",
7074
+ share_id: "shareId",
7075
+ visitor_id: "visitorId"
5794
7076
  )
5795
7077
  ```
5796
7078
  </dd>
@@ -5806,7 +7088,7 @@ client.doc.metadata.custom.get(
5806
7088
  <dl>
5807
7089
  <dd>
5808
7090
 
5809
- **doc_id:** `String`
7091
+ **tenant_id:** `String`
5810
7092
 
5811
7093
  </dd>
5812
7094
  </dl>
@@ -5814,7 +7096,7 @@ client.doc.metadata.custom.get(
5814
7096
  <dl>
5815
7097
  <dd>
5816
7098
 
5817
- **layer_name:** `String`
7099
+ **share_id:** `String`
5818
7100
 
5819
7101
  </dd>
5820
7102
  </dl>
@@ -5822,7 +7104,7 @@ client.doc.metadata.custom.get(
5822
7104
  <dl>
5823
7105
  <dd>
5824
7106
 
5825
- **document_password:** `String` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
7107
+ **visitor_id:** `String`
5826
7108
 
5827
7109
  </dd>
5828
7110
  </dl>
@@ -5830,7 +7112,7 @@ client.doc.metadata.custom.get(
5830
7112
  <dl>
5831
7113
  <dd>
5832
7114
 
5833
- **request_options:** `CloudPDF::Doc::Metadata::Custom::RequestOptions`
7115
+ **request_options:** `CloudPDF::Shares::Visitors::RequestOptions`
5834
7116
 
5835
7117
  </dd>
5836
7118
  </dl>