invoicetronic_sdk 1.9 → 1.11

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 (296) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1 -1
  3. data/Gemfile.lock +5 -5
  4. data/README.md +16 -5
  5. data/docs/CompanyApi.md +8 -8
  6. data/docs/Permissions.md +34 -0
  7. data/docs/ReceiveApi.md +2 -2
  8. data/docs/SendApi.md +20 -20
  9. data/docs/StatusApi.md +1 -1
  10. data/docs/SubKey.md +34 -0
  11. data/docs/SubKeyRequest.md +26 -0
  12. data/docs/SubKeyUpdate.md +30 -0
  13. data/docs/SubKeyWithSecrets.md +38 -0
  14. data/docs/SubkeyApi.md +447 -0
  15. data/docs/WebHookHistory.md +4 -0
  16. data/docs/WebhookApi.md +9 -9
  17. data/invoicetronic_sdk.gemspec +1 -1
  18. data/lib/invoicetronic_sdk/api/company_api.rb +15 -15
  19. data/lib/invoicetronic_sdk/api/export_api.rb +1 -1
  20. data/lib/invoicetronic_sdk/api/health_api.rb +1 -1
  21. data/lib/invoicetronic_sdk/api/log_api.rb +1 -1
  22. data/lib/invoicetronic_sdk/api/receive_api.rb +3 -3
  23. data/lib/invoicetronic_sdk/api/send_api.rb +25 -25
  24. data/lib/invoicetronic_sdk/api/status_api.rb +3 -3
  25. data/lib/invoicetronic_sdk/api/subkey_api.rb +422 -0
  26. data/lib/invoicetronic_sdk/api/update_api.rb +1 -1
  27. data/lib/invoicetronic_sdk/api/webhook_api.rb +17 -17
  28. data/lib/invoicetronic_sdk/api_client.rb +2 -2
  29. data/lib/invoicetronic_sdk/api_error.rb +1 -1
  30. data/lib/invoicetronic_sdk/api_model_base.rb +1 -1
  31. data/lib/invoicetronic_sdk/configuration.rb +1 -1
  32. data/lib/invoicetronic_sdk/models/company.rb +1 -1
  33. data/lib/invoicetronic_sdk/models/document_data.rb +1 -1
  34. data/lib/invoicetronic_sdk/models/error.rb +1 -1
  35. data/lib/invoicetronic_sdk/models/event.rb +1 -1
  36. data/lib/invoicetronic_sdk/models/model_send.rb +1 -1
  37. data/lib/invoicetronic_sdk/models/permissions.rb +368 -0
  38. data/lib/invoicetronic_sdk/models/problem_details.rb +1 -1
  39. data/lib/invoicetronic_sdk/models/receive.rb +1 -1
  40. data/lib/invoicetronic_sdk/models/send_reduced.rb +1 -1
  41. data/lib/invoicetronic_sdk/models/status.rb +1 -1
  42. data/lib/invoicetronic_sdk/models/sub_key.rb +236 -0
  43. data/lib/invoicetronic_sdk/models/sub_key_request.rb +220 -0
  44. data/lib/invoicetronic_sdk/models/sub_key_update.rb +240 -0
  45. data/lib/invoicetronic_sdk/models/sub_key_with_secrets.rb +258 -0
  46. data/lib/invoicetronic_sdk/models/update.rb +1 -1
  47. data/lib/invoicetronic_sdk/models/web_hook.rb +1 -1
  48. data/lib/invoicetronic_sdk/models/web_hook_history.rb +23 -2
  49. data/lib/invoicetronic_sdk/version.rb +2 -2
  50. data/lib/invoicetronic_sdk.rb +7 -1
  51. data/spec/api/company_api_spec.rb +7 -7
  52. data/spec/api/export_api_spec.rb +1 -1
  53. data/spec/api/health_api_spec.rb +1 -1
  54. data/spec/api/log_api_spec.rb +1 -1
  55. data/spec/api/receive_api_spec.rb +1 -1
  56. data/spec/api/send_api_spec.rb +9 -9
  57. data/spec/api/status_api_spec.rb +2 -2
  58. data/spec/api/subkey_api_spec.rb +112 -0
  59. data/spec/api/update_api_spec.rb +1 -1
  60. data/spec/api/webhook_api_spec.rb +8 -8
  61. data/spec/models/company_spec.rb +1 -1
  62. data/spec/models/document_data_spec.rb +1 -1
  63. data/spec/models/error_spec.rb +1 -1
  64. data/spec/models/event_spec.rb +1 -1
  65. data/spec/models/model_send_spec.rb +1 -1
  66. data/spec/models/permissions_spec.rb +120 -0
  67. data/spec/models/problem_details_spec.rb +1 -1
  68. data/spec/models/receive_spec.rb +1 -1
  69. data/spec/models/send_reduced_spec.rb +1 -1
  70. data/spec/models/status_spec.rb +1 -1
  71. data/spec/models/sub_key_request_spec.rb +60 -0
  72. data/spec/models/sub_key_spec.rb +84 -0
  73. data/spec/models/sub_key_update_spec.rb +72 -0
  74. data/spec/models/sub_key_with_secrets_spec.rb +96 -0
  75. data/spec/models/update_spec.rb +1 -1
  76. data/spec/models/web_hook_history_spec.rb +13 -1
  77. data/spec/models/web_hook_spec.rb +1 -1
  78. data/spec/spec_helper.rb +1 -1
  79. data/vendor/bundle/ruby/3.3.0/cache/io-console-0.9.4.gem +0 -0
  80. data/vendor/bundle/ruby/3.3.0/cache/parser-3.3.12.0.gem +0 -0
  81. data/vendor/bundle/ruby/3.3.0/cache/psych-5.5.0.gem +0 -0
  82. data/vendor/bundle/ruby/3.3.0/cache/reline-0.7.0.gem +0 -0
  83. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-13.0.0/byebug/byebug.so +0 -0
  84. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-13.0.0/gem_make.out +6 -6
  85. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.5.1/date_core.so +0 -0
  86. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.5.1/gem_make.out +6 -6
  87. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.5.1/mkmf.log +4 -4
  88. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.9.4/gem_make.out +34 -0
  89. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.9.4/io/console.so +0 -0
  90. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{io-console-0.8.2 → io-console-0.9.4}/mkmf.log +129 -99
  91. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/jaro_winkler-1.5.6/gem_make.out +6 -6
  92. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/jaro_winkler-1.5.6/jaro_winkler/jaro_winkler_ext.so +0 -0
  93. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{psych-5.4.0 → psych-5.5.0}/gem_make.out +11 -11
  94. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{psych-5.4.0 → psych-5.5.0}/mkmf.log +7 -7
  95. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.5.0/psych.so +0 -0
  96. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +6 -6
  97. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/racc/cparse.so +0 -0
  98. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.2.0/gem_make.out +6 -6
  99. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.2.0/mkmf.log +2 -2
  100. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.2.0/stringio.so +0 -0
  101. data/vendor/bundle/ruby/3.3.0/gems/byebug-13.0.0/ext/byebug/Makefile +3 -3
  102. data/vendor/bundle/ruby/3.3.0/gems/byebug-13.0.0/lib/byebug/byebug.so +0 -0
  103. data/vendor/bundle/ruby/3.3.0/gems/date-3.5.1/ext/date/Makefile +3 -3
  104. data/vendor/bundle/ruby/3.3.0/gems/date-3.5.1/lib/date_core.so +0 -0
  105. data/vendor/bundle/ruby/3.3.0/gems/{io-console-0.8.2 → io-console-0.9.4}/ext/io/console/Makefile +6 -6
  106. data/vendor/bundle/ruby/3.3.0/gems/{io-console-0.8.2 → io-console-0.9.4}/ext/io/console/console.c +621 -40
  107. data/vendor/bundle/ruby/3.3.0/gems/{io-console-0.8.2 → io-console-0.9.4}/ext/io/console/extconf.rb +39 -15
  108. data/vendor/bundle/ruby/3.3.0/gems/{io-console-0.8.2 → io-console-0.9.4}/ext/io/console/win32_vk.inc +313 -165
  109. data/vendor/bundle/ruby/3.3.0/gems/{io-console-0.8.2 → io-console-0.9.4}/lib/io/console/size.rb +4 -2
  110. data/vendor/bundle/ruby/3.3.0/gems/io-console-0.9.4/lib/io/console.so +0 -0
  111. data/vendor/bundle/ruby/3.3.0/gems/jaro_winkler-1.5.6/ext/jaro_winkler/Makefile +3 -3
  112. data/vendor/bundle/ruby/3.3.0/gems/jaro_winkler-1.5.6/lib/jaro_winkler/jaro_winkler_ext.so +0 -0
  113. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current.rb +1 -1
  114. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/version.rb +1 -1
  115. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/README.md +53 -0
  116. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/Makefile +3 -3
  117. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/extconf.rb +22 -0
  118. data/vendor/bundle/ruby/3.3.0/gems/psych-5.5.0/ext/psych/psych.c +68 -0
  119. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych.h +4 -0
  120. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_emitter.c +4 -0
  121. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_parser.c +79 -18
  122. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/class_loader.rb +1 -0
  123. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/parser.rb +40 -1
  124. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/scalar_scanner.rb +15 -3
  125. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/versions.rb +1 -1
  126. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/to_ruby.rb +20 -9
  127. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/yaml_tree.rb +0 -3
  128. data/vendor/bundle/ruby/3.3.0/gems/psych-5.5.0/lib/psych.so +0 -0
  129. data/vendor/bundle/ruby/3.3.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +3 -3
  130. data/vendor/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
  131. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/io/ansi.rb +6 -4
  132. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/io/windows.rb +49 -23
  133. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/io.rb +8 -2
  134. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/line_editor.rb +49 -21
  135. data/vendor/bundle/ruby/3.3.0/gems/reline-0.7.0/lib/reline/version.rb +3 -0
  136. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline.rb +10 -9
  137. data/vendor/bundle/ruby/3.3.0/gems/stringio-3.2.0/ext/stringio/Makefile +3 -3
  138. data/vendor/bundle/ruby/3.3.0/gems/stringio-3.2.0/lib/stringio.so +0 -0
  139. data/vendor/bundle/ruby/3.3.0/specifications/{io-console-0.8.2.gemspec → io-console-0.9.4.gemspec} +3 -3
  140. data/vendor/bundle/ruby/3.3.0/specifications/{parser-3.3.11.1.gemspec → parser-3.3.12.0.gemspec} +4 -4
  141. data/vendor/bundle/ruby/3.3.0/specifications/{psych-5.4.0.gemspec → psych-5.5.0.gemspec} +2 -2
  142. data/vendor/bundle/ruby/3.3.0/specifications/{reline-0.6.3.gemspec → reline-0.7.0.gemspec} +2 -2
  143. metadata +223 -199
  144. data/vendor/bundle/ruby/3.3.0/cache/io-console-0.8.2.gem +0 -0
  145. data/vendor/bundle/ruby/3.3.0/cache/parser-3.3.11.1.gem +0 -0
  146. data/vendor/bundle/ruby/3.3.0/cache/psych-5.4.0.gem +0 -0
  147. data/vendor/bundle/ruby/3.3.0/cache/reline-0.6.3.gem +0 -0
  148. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.2/gem_make.out +0 -31
  149. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.2/io/console.so +0 -0
  150. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.4.0/psych.so +0 -0
  151. data/vendor/bundle/ruby/3.3.0/gems/io-console-0.8.2/lib/io/console.so +0 -0
  152. data/vendor/bundle/ruby/3.3.0/gems/psych-5.4.0/ext/psych/psych.c +0 -36
  153. data/vendor/bundle/ruby/3.3.0/gems/psych-5.4.0/lib/psych.so +0 -0
  154. data/vendor/bundle/ruby/3.3.0/gems/reline-0.6.3/lib/reline/version.rb +0 -3
  155. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{io-console-0.8.2 → io-console-0.9.4}/gem.build_complete +0 -0
  156. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{psych-5.4.0 → psych-5.5.0}/gem.build_complete +0 -0
  157. data/vendor/bundle/ruby/3.3.0/gems/{io-console-0.8.2 → io-console-0.9.4}/.document +0 -0
  158. data/vendor/bundle/ruby/3.3.0/gems/{io-console-0.8.2 → io-console-0.9.4}/BSDL +0 -0
  159. data/vendor/bundle/ruby/3.3.0/gems/{io-console-0.8.2 → io-console-0.9.4}/COPYING +0 -0
  160. data/vendor/bundle/ruby/3.3.0/gems/{io-console-0.8.2 → io-console-0.9.4}/README.md +0 -0
  161. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/LICENSE.txt +0 -0
  162. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
  163. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
  164. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/gauntlet_parser.rb +0 -0
  165. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/all.rb +0 -0
  166. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/node.rb +0 -0
  167. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/processor.rb +0 -0
  168. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/base.rb +0 -0
  169. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/builders/default.rb +0 -0
  170. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/clobbering_error.rb +0 -0
  171. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/color.rb +0 -0
  172. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/context.rb +0 -0
  173. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current_arg_stack.rb +0 -0
  174. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/deprecation.rb +0 -0
  175. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic/engine.rb +0 -0
  176. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic.rb +0 -0
  177. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/dedenter.rb +0 -0
  178. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/explanation.rb +0 -0
  179. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/literal.rb +0 -0
  180. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/stack_state.rb +0 -0
  181. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F0.rb +0 -0
  182. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F1.rb +0 -0
  183. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-strings.rb +0 -0
  184. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/macruby.rb +0 -0
  185. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/max_numparam_stack.rb +0 -0
  186. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/messages.rb +0 -0
  187. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/meta.rb +0 -0
  188. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rewriter.rb +0 -0
  189. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby18.rb +0 -0
  190. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby19.rb +0 -0
  191. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby20.rb +0 -0
  192. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby21.rb +0 -0
  193. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby22.rb +0 -0
  194. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby23.rb +0 -0
  195. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby24.rb +0 -0
  196. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby25.rb +0 -0
  197. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby26.rb +0 -0
  198. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby27.rb +0 -0
  199. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby30.rb +0 -0
  200. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby31.rb +0 -0
  201. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby32.rb +0 -0
  202. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby33.rb +0 -0
  203. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby34.rb +0 -0
  204. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rubymotion.rb +0 -0
  205. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_parse.rb +0 -0
  206. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_rewrite.rb +0 -0
  207. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner.rb +0 -0
  208. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/buffer.rb +0 -0
  209. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment/associator.rb +0 -0
  210. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment.rb +0 -0
  211. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/collection.rb +0 -0
  212. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/condition.rb +0 -0
  213. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/constant.rb +0 -0
  214. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/definition.rb +0 -0
  215. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/for.rb +0 -0
  216. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/heredoc.rb +0 -0
  217. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/index.rb +0 -0
  218. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/keyword.rb +0 -0
  219. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/method_definition.rb +0 -0
  220. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/objc_kwarg.rb +0 -0
  221. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/operator.rb +0 -0
  222. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/rescue_body.rb +0 -0
  223. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/send.rb +0 -0
  224. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/ternary.rb +0 -0
  225. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/variable.rb +0 -0
  226. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map.rb +0 -0
  227. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/range.rb +0 -0
  228. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter/action.rb +0 -0
  229. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter.rb +0 -0
  230. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter/action.rb +0 -0
  231. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter.rb +0 -0
  232. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/static_environment.rb +0 -0
  233. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/syntax_error.rb +0 -0
  234. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/tree_rewriter.rb +0 -0
  235. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/unknown_encoding_in_magic_comment_error.rb +0 -0
  236. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/variables_stack.rb +0 -0
  237. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser.rb +0 -0
  238. data/vendor/bundle/ruby/3.3.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/parser.gemspec +0 -0
  239. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/CONTRIBUTING.md +0 -0
  240. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/LICENSE +0 -0
  241. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/depend +0 -0
  242. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_emitter.h +0 -0
  243. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_parser.h +0 -0
  244. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_to_ruby.c +0 -0
  245. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_to_ruby.h +0 -0
  246. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_yaml_tree.c +0 -0
  247. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_yaml_tree.h +0 -0
  248. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/coder.rb +0 -0
  249. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/core_ext.rb +0 -0
  250. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/exception.rb +0 -0
  251. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/handler.rb +0 -0
  252. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/handlers/document_stream.rb +0 -0
  253. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/handlers/recorder.rb +0 -0
  254. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/json/ruby_events.rb +0 -0
  255. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/json/stream.rb +0 -0
  256. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/json/tree_builder.rb +0 -0
  257. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/json/yaml_events.rb +0 -0
  258. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/alias.rb +0 -0
  259. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/document.rb +0 -0
  260. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/mapping.rb +0 -0
  261. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/node.rb +0 -0
  262. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/scalar.rb +0 -0
  263. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/sequence.rb +0 -0
  264. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/stream.rb +0 -0
  265. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes.rb +0 -0
  266. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/omap.rb +0 -0
  267. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/set.rb +0 -0
  268. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/stream.rb +0 -0
  269. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/streaming.rb +0 -0
  270. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/syntax_error.rb +0 -0
  271. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/tree_builder.rb +0 -0
  272. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/depth_first.rb +0 -0
  273. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/emitter.rb +0 -0
  274. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/json_tree.rb +0 -0
  275. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/visitor.rb +0 -0
  276. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors.rb +0 -0
  277. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/y.rb +0 -0
  278. data/vendor/bundle/ruby/3.3.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych.rb +0 -0
  279. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/BSDL +0 -0
  280. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/COPYING +0 -0
  281. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/README.md +0 -0
  282. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/config.rb +0 -0
  283. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/face.rb +0 -0
  284. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/history.rb +0 -0
  285. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/io/dumb.rb +0 -0
  286. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/key_actor/base.rb +0 -0
  287. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/key_actor/composite.rb +0 -0
  288. data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/key_actor/emacs.rb +2 -2
  289. /data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/key_actor/vi_command.rb +0 -0
  290. /data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/key_actor/vi_insert.rb +0 -0
  291. /data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/key_actor.rb +0 -0
  292. /data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/key_stroke.rb +0 -0
  293. /data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/kill_ring.rb +0 -0
  294. /data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/unicode/east_asian_width.rb +0 -0
  295. /data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/lib/reline/unicode.rb +0 -0
  296. /data/vendor/bundle/ruby/3.3.0/gems/{reline-0.6.3 → reline-0.7.0}/license_of_rb-readline +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 26528c2b72851b8fb80fa975a54ec6ce01f0fcaa22ec0e857f35ae63d9c57a4a
4
- data.tar.gz: 1917ebcb258bf9d1c47283766f831962d56eb16d53dd6402fe055f8bbddab890
3
+ metadata.gz: d8b8c56e3407502c2b0e473a367f599c8c43fad3ddc125a9c09fb6a360441d96
4
+ data.tar.gz: e617daf1be23b5569ed7ee4188fabd072ef7fe2547c1b73bb616b0704725a053
5
5
  SHA512:
6
- metadata.gz: 546eb1877c9bc3ad20524bb3dabe8937aa80be36c2bdb61801e31271ba0b0b67a1b8fc1b1f3e5a33796894d8d7c3adeda23528226af256df235c9c0d44266d69
7
- data.tar.gz: af27a9504e4d19069967b21071e6f7913b20c52b9b74f6425d1763a774b9bc1bb3430a189b6d65805294c3192a5d729b06143c0d3b329cbf16afd906b54ec53a
6
+ metadata.gz: 4b0356a5c293866f838de6f6f6d5418b5e764b12146af045c8636e294e523146c8e85e7eb783090425f4af7a31f622713233d5304677108a70ce095609cf9809
7
+ data.tar.gz: 9e800d7c1930a02ddfc1c74c4b6b0bdfe220da539d786178d837d5cfd1f7504966e95f0e6ac8e93dd82d7fc37b8b832e119a4609e8be7c76ef26c67f291a0e93
data/CHANGELOG.md CHANGED
@@ -1 +1 @@
1
- # Changelog\n\n## [1.9.0] - 2026-07-07\nSee main repository changelog for details.
1
+ # Changelog\n\n## [1.11.0] - 2026-09-23\nSee main repository changelog for details.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- invoicetronic_sdk (1.9)
4
+ invoicetronic_sdk (1.11)
5
5
  typhoeus (~> 1.0, >= 1.0.1)
6
6
 
7
7
  GEM
@@ -27,12 +27,12 @@ GEM
27
27
  ffi (1.17.4-x86_64-darwin)
28
28
  ffi (1.17.4-x86_64-linux-gnu)
29
29
  ffi (1.17.4-x86_64-linux-musl)
30
- io-console (0.8.2)
30
+ io-console (0.9.4)
31
31
  jaro_winkler (1.5.6)
32
32
  logger (1.7.0)
33
33
  method_source (1.1.0)
34
34
  parallel (1.28.0)
35
- parser (3.3.11.1)
35
+ parser (3.3.12.0)
36
36
  ast (~> 2.4.1)
37
37
  racc
38
38
  pry (0.16.0)
@@ -42,13 +42,13 @@ GEM
42
42
  pry-byebug (3.12.0)
43
43
  byebug (~> 13.0)
44
44
  pry (>= 0.13, < 0.17)
45
- psych (5.4.0)
45
+ psych (5.5.0)
46
46
  date
47
47
  stringio
48
48
  racc (1.8.1)
49
49
  rainbow (3.1.1)
50
50
  rake (13.0.6)
51
- reline (0.6.3)
51
+ reline (0.7.0)
52
52
  io-console (~> 0.5)
53
53
  rspec (3.13.2)
54
54
  rspec-core (~> 3.13.0)
data/README.md CHANGED
@@ -23,8 +23,8 @@ For the full integration guide, tutorials, SDKs and quickstarts, see the **[Docu
23
23
 
24
24
  This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
25
25
 
26
- - API version: 1.14.0
27
- - Package version: 1.9
26
+ - API version: 1.17.0
27
+ - Package version: 1.11
28
28
  - Generator version: 7.20.0
29
29
  - Build package: org.openapitools.codegen.languages.RubyClientCodegen
30
30
  For more information, please visit [https://invoicetronic.com/en/contact/](https://invoicetronic.com/en/contact/)
@@ -42,16 +42,16 @@ gem build invoicetronic_sdk.gemspec
42
42
  Then either install the gem locally:
43
43
 
44
44
  ```shell
45
- gem install ./invoicetronic_sdk-1.9.gem
45
+ gem install ./invoicetronic_sdk-1.11.gem
46
46
  ```
47
47
 
48
- (for development, run `gem install --dev ./invoicetronic_sdk-1.9.gem` to install the development dependencies)
48
+ (for development, run `gem install --dev ./invoicetronic_sdk-1.11.gem` to install the development dependencies)
49
49
 
50
50
  or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
51
51
 
52
52
  Finally add this to the Gemfile:
53
53
 
54
- gem 'invoicetronic_sdk', '~> 1.9'
54
+ gem 'invoicetronic_sdk', '~> 1.11'
55
55
 
56
56
  ### Install from Git
57
57
 
@@ -133,6 +133,12 @@ Class | Method | HTTP request | Description
133
133
  *Invoicetronic_Sdk::SendApi* | [**send_validate_xml_post**](docs/SendApi.md#send_validate_xml_post) | **POST** /send/validate/xml | Validate an invoice by xml
134
134
  *Invoicetronic_Sdk::SendApi* | [**send_xml_post**](docs/SendApi.md#send_xml_post) | **POST** /send/xml | Add an invoice by xml
135
135
  *Invoicetronic_Sdk::StatusApi* | [**status_get**](docs/StatusApi.md#status_get) | **GET** /status | Account status
136
+ *Invoicetronic_Sdk::SubkeyApi* | [**subkey_get**](docs/SubkeyApi.md#subkey_get) | **GET** /subkey | List restricted keys
137
+ *Invoicetronic_Sdk::SubkeyApi* | [**subkey_id_delete**](docs/SubkeyApi.md#subkey_id_delete) | **DELETE** /subkey/{id} | Delete a restricted key
138
+ *Invoicetronic_Sdk::SubkeyApi* | [**subkey_id_get**](docs/SubkeyApi.md#subkey_id_get) | **GET** /subkey/{id} | Get a restricted key by id
139
+ *Invoicetronic_Sdk::SubkeyApi* | [**subkey_id_roll_post**](docs/SubkeyApi.md#subkey_id_roll_post) | **POST** /subkey/{id}/roll | Roll the secrets of a restricted key
140
+ *Invoicetronic_Sdk::SubkeyApi* | [**subkey_post**](docs/SubkeyApi.md#subkey_post) | **POST** /subkey | Add a restricted key
141
+ *Invoicetronic_Sdk::SubkeyApi* | [**subkey_put**](docs/SubkeyApi.md#subkey_put) | **PUT** /subkey | Update a restricted key
136
142
  *Invoicetronic_Sdk::UpdateApi* | [**update_get**](docs/UpdateApi.md#update_get) | **GET** /update | List updates
137
143
  *Invoicetronic_Sdk::UpdateApi* | [**update_id_get**](docs/UpdateApi.md#update_id_get) | **GET** /update/{id} | Get an update by id
138
144
  *Invoicetronic_Sdk::WebhookApi* | [**webhook_get**](docs/WebhookApi.md#webhook_get) | **GET** /webhook | List webhooks
@@ -151,10 +157,15 @@ Class | Method | HTTP request | Description
151
157
  - [Invoicetronic_Sdk::Error](docs/Error.md)
152
158
  - [Invoicetronic_Sdk::Event](docs/Event.md)
153
159
  - [Invoicetronic_Sdk::ModelSend](docs/ModelSend.md)
160
+ - [Invoicetronic_Sdk::Permissions](docs/Permissions.md)
154
161
  - [Invoicetronic_Sdk::ProblemDetails](docs/ProblemDetails.md)
155
162
  - [Invoicetronic_Sdk::Receive](docs/Receive.md)
156
163
  - [Invoicetronic_Sdk::SendReduced](docs/SendReduced.md)
157
164
  - [Invoicetronic_Sdk::Status](docs/Status.md)
165
+ - [Invoicetronic_Sdk::SubKey](docs/SubKey.md)
166
+ - [Invoicetronic_Sdk::SubKeyRequest](docs/SubKeyRequest.md)
167
+ - [Invoicetronic_Sdk::SubKeyUpdate](docs/SubKeyUpdate.md)
168
+ - [Invoicetronic_Sdk::SubKeyWithSecrets](docs/SubKeyWithSecrets.md)
158
169
  - [Invoicetronic_Sdk::Update](docs/Update.md)
159
170
  - [Invoicetronic_Sdk::WebHook](docs/WebHook.md)
160
171
  - [Invoicetronic_Sdk::WebHookHistory](docs/WebHookHistory.md)
data/docs/CompanyApi.md CHANGED
@@ -18,7 +18,7 @@ All URIs are relative to *http://localhost*
18
18
 
19
19
  List companies
20
20
 
21
- Retrieve a paginated list of companies. Results can be filtered by free-text search (`q`) across name, VAT number, and fiscal code. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received.
21
+ Retrieve a paginated list of companies. Results can be filtered by free-text search (`q`) across name, VAT number, and fiscal code. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received. A company's `vat` and `fiscal_code` are unique platform-wide, not just within your account: incoming invoices are routed to their owner by VAT number alone, so a company belongs to one account at a time. Registering a company that is already active under another account is therefore not possible, and that account is not disclosed to you. Moving a company to your account is a transfer: contact support with the company's written authorization.
22
22
 
23
23
  ### Examples
24
24
 
@@ -96,7 +96,7 @@ end
96
96
 
97
97
  Delete a company
98
98
 
99
- Delete a company by its internal id. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received. **Warning:** Deleting a company will permanently remove all associated data, including sent invoices, received invoices, invoice updates from SDI, logs, and webhooks. If the company has any linked invoices, you must explicitly confirm deletion by adding `?force=true` to the request. Without this parameter, the API will return `409 Conflict` with details about the linked data.
99
+ Delete a company by its internal id. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received. A company's `vat` and `fiscal_code` are unique platform-wide, not just within your account: incoming invoices are routed to their owner by VAT number alone, so a company belongs to one account at a time. Registering a company that is already active under another account is therefore not possible, and that account is not disclosed to you. Moving a company to your account is a transfer: contact support with the company's written authorization. **Warning:** Deleting a company will permanently remove all associated data, including sent invoices, received invoices, invoice updates from SDI, logs, and webhooks. If the company has any linked invoices, you must explicitly confirm deletion by adding `?force=true` to the request. Without this parameter, the API will return `409 Conflict` with details about the linked data.
100
100
 
101
101
  ### Examples
102
102
 
@@ -170,7 +170,7 @@ end
170
170
 
171
171
  Get a company by id
172
172
 
173
- Retrieve a company by its internal id. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received.
173
+ Retrieve a company by its internal id. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received. A company's `vat` and `fiscal_code` are unique platform-wide, not just within your account: incoming invoices are routed to their owner by VAT number alone, so a company belongs to one account at a time. Registering a company that is already active under another account is therefore not possible, and that account is not disclosed to you. Moving a company to your account is a transfer: contact support with the company's written authorization.
174
174
 
175
175
  ### Examples
176
176
 
@@ -240,7 +240,7 @@ end
240
240
 
241
241
  Add a company
242
242
 
243
- Add a new company. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received.
243
+ Add a new company. When the company is already registered on the platform, the request fails with `400 Bad Request` and a problem details body whose `code` member is `company_already_registered`. Branch on `code`, not on `detail`, which is localized according to the `Accept-Language` header. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received. A company's `vat` and `fiscal_code` are unique platform-wide, not just within your account: incoming invoices are routed to their owner by VAT number alone, so a company belongs to one account at a time. Registering a company that is already active under another account is therefore not possible, and that account is not disclosed to you. Moving a company to your account is a transfer: contact support with the company's written authorization.
244
244
 
245
245
  ### Examples
246
246
 
@@ -301,7 +301,7 @@ end
301
301
  ### HTTP request headers
302
302
 
303
303
  - **Content-Type**: application/json
304
- - **Accept**: application/json
304
+ - **Accept**: application/json, application/problem+json
305
305
 
306
306
 
307
307
  ## company_put
@@ -310,7 +310,7 @@ end
310
310
 
311
311
  Update a company
312
312
 
313
- Update an existing company. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received.
313
+ Update an existing company. Changing `vat` or `fiscal_code` to a value already registered on the platform fails with `400 Bad Request` and `code` = `company_already_registered`. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received. A company's `vat` and `fiscal_code` are unique platform-wide, not just within your account: incoming invoices are routed to their owner by VAT number alone, so a company belongs to one account at a time. Registering a company that is already active under another account is therefore not possible, and that account is not disclosed to you. Moving a company to your account is a transfer: contact support with the company's written authorization.
314
314
 
315
315
  ### Examples
316
316
 
@@ -371,7 +371,7 @@ end
371
371
  ### HTTP request headers
372
372
 
373
373
  - **Content-Type**: application/json
374
- - **Accept**: application/json
374
+ - **Accept**: application/json, application/problem+json
375
375
 
376
376
 
377
377
  ## company_vat_get
@@ -380,7 +380,7 @@ end
380
380
 
381
381
  Get a company by vat number
382
382
 
383
- Retrieve a company by its VAT number. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received.
383
+ Retrieve a company by its VAT number. **Companies** are the entities that send and receive invoices. They are automatically created from invoice data when invoices are sent or received. A company's `vat` and `fiscal_code` are unique platform-wide, not just within your account: incoming invoices are routed to their owner by VAT number alone, so a company belongs to one account at a time. Registering a company that is already active under another account is therefore not possible, and that account is not disclosed to you. Moving a company to your account is a transfer: contact support with the company's written authorization.
384
384
 
385
385
  ### Examples
386
386
 
@@ -0,0 +1,34 @@
1
+ # Invoicetronic_Sdk::Permissions
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **company** | **String** | Companies: &#x60;Read&#x60; lists and reads them, &#x60;Write&#x60; also creates, updates and deletes them. | [optional] |
8
+ | **_send** | **String** | Outgoing invoices: &#x60;Read&#x60; lists and reads them, &#x60;Write&#x60; also sends and validates invoices. | [optional] |
9
+ | **receive** | **String** | Incoming invoices: &#x60;Read&#x60; lists and reads them, &#x60;Write&#x60; also deletes them. | [optional] |
10
+ | **webhook** | **String** | Webhooks: &#x60;Read&#x60; lists and reads them, &#x60;Write&#x60; also creates, updates and deletes them. | [optional] |
11
+ | **update** | **String** | SDI status updates of outgoing invoices. | [optional] |
12
+ | **log** | **String** | Event log. | [optional] |
13
+ | **webhookhistory** | **String** | Webhook delivery history. | [optional] |
14
+ | **export** | **String** | Invoice export. | [optional] |
15
+ | **status** | **String** | Account status (remaining operations and signatures). | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'invoicetronic_sdk'
21
+
22
+ instance = Invoicetronic_Sdk::Permissions.new(
23
+ company: null,
24
+ _send: null,
25
+ receive: null,
26
+ webhook: null,
27
+ update: null,
28
+ log: null,
29
+ webhookhistory: null,
30
+ export: null,
31
+ status: null
32
+ )
33
+ ```
34
+
data/docs/ReceiveApi.md CHANGED
@@ -113,7 +113,7 @@ end
113
113
  ### HTTP request headers
114
114
 
115
115
  - **Content-Type**: Not defined
116
- - **Accept**: application/json
116
+ - **Accept**: application/json, application/problem+json
117
117
 
118
118
 
119
119
  ## receive_id_delete
@@ -257,7 +257,7 @@ end
257
257
  ### HTTP request headers
258
258
 
259
259
  - **Content-Type**: Not defined
260
- - **Accept**: application/json
260
+ - **Accept**: application/json, application/problem+json
261
261
 
262
262
 
263
263
  ## receive_id_payload_get
data/docs/SendApi.md CHANGED
@@ -24,7 +24,7 @@ All URIs are relative to *http://localhost*
24
24
 
25
25
  Add an invoice by file
26
26
 
27
- Add a new invoice by uploading a file. Supported formats are XML (FatturaPA) and P7M (signed). The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
27
+ Add a new invoice by uploading a file. Supported formats are XML (FatturaPA) and P7M (signed). The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. A replayed response carries the `Idempotent-Replayed: true` header, so you can tell it apart from a freshly processed one. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
28
28
 
29
29
  ### Examples
30
30
 
@@ -43,7 +43,7 @@ file = File.new('/path/to/some/file') # File |
43
43
  opts = {
44
44
  validate: true, # Boolean | Validate the document first, and reject it on failure.
45
45
  signature: 'None', # String | Whether to digitally sign the document.
46
- idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice.
46
+ idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. A replayed response carries the `Idempotent-Replayed: true` header.
47
47
  }
48
48
 
49
49
  begin
@@ -80,7 +80,7 @@ end
80
80
  | **file** | **File** | | |
81
81
  | **validate** | **Boolean** | Validate the document first, and reject it on failure. | [optional][default to false] |
82
82
  | **signature** | **String** | Whether to digitally sign the document. | [optional][default to &#39;Auto&#39;] |
83
- | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. | [optional] |
83
+ | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. A replayed response carries the &#x60;Idempotent-Replayed: true&#x60; header. | [optional] |
84
84
 
85
85
  ### Return type
86
86
 
@@ -93,7 +93,7 @@ end
93
93
  ### HTTP request headers
94
94
 
95
95
  - **Content-Type**: multipart/form-data
96
- - **Accept**: application/json
96
+ - **Accept**: application/json, application/problem+json
97
97
 
98
98
 
99
99
  ## send_get
@@ -427,7 +427,7 @@ end
427
427
 
428
428
  Add an invoice by json
429
429
 
430
- Add a new invoice using a FatturaPA JSON representation. Property names mirror the FatturaPA XML schema (PascalCase, e.g. `FatturaElettronicaHeader`). The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
430
+ Add a new invoice using a FatturaPA JSON representation. Property names mirror the FatturaPA XML schema (PascalCase, e.g. `FatturaElettronicaHeader`). The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. A replayed response carries the `Idempotent-Replayed: true` header, so you can tell it apart from a freshly processed one. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
431
431
 
432
432
  ### Examples
433
433
 
@@ -446,7 +446,7 @@ body = { ... } # Object |
446
446
  opts = {
447
447
  validate: true, # Boolean | Validate the document first, and reject it on failure.
448
448
  signature: 'None', # String | Whether to digitally sign the document.
449
- idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice.
449
+ idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. A replayed response carries the `Idempotent-Replayed: true` header.
450
450
  }
451
451
 
452
452
  begin
@@ -483,7 +483,7 @@ end
483
483
  | **body** | **Object** | | |
484
484
  | **validate** | **Boolean** | Validate the document first, and reject it on failure. | [optional][default to false] |
485
485
  | **signature** | **String** | Whether to digitally sign the document. | [optional][default to &#39;Auto&#39;] |
486
- | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. | [optional] |
486
+ | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. A replayed response carries the &#x60;Idempotent-Replayed: true&#x60; header. | [optional] |
487
487
 
488
488
  ### Return type
489
489
 
@@ -496,7 +496,7 @@ end
496
496
  ### HTTP request headers
497
497
 
498
498
  - **Content-Type**: application/json
499
- - **Accept**: application/json
499
+ - **Accept**: application/json, application/problem+json
500
500
 
501
501
 
502
502
  ## send_post
@@ -505,7 +505,7 @@ end
505
505
 
506
506
  Add an invoice
507
507
 
508
- Add a new invoice using a structured Send object. The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
508
+ Add a new invoice using a structured Send object. The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. A replayed response carries the `Idempotent-Replayed: true` header, so you can tell it apart from a freshly processed one. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
509
509
 
510
510
  ### Examples
511
511
 
@@ -524,7 +524,7 @@ model_send = Invoicetronic_Sdk::ModelSend.new({payload: 'PD94bWwgdmVyc2lvbj0iMS4
524
524
  opts = {
525
525
  validate: true, # Boolean | Validate the document first, and reject it on failure.
526
526
  signature: 'None', # String | Whether to digitally sign the document.
527
- idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice.
527
+ idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. A replayed response carries the `Idempotent-Replayed: true` header.
528
528
  }
529
529
 
530
530
  begin
@@ -561,7 +561,7 @@ end
561
561
  | **model_send** | [**ModelSend**](ModelSend.md) | | |
562
562
  | **validate** | **Boolean** | Validate the document first, and reject it on failure. | [optional][default to false] |
563
563
  | **signature** | **String** | Whether to digitally sign the document. | [optional][default to &#39;Auto&#39;] |
564
- | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. | [optional] |
564
+ | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. A replayed response carries the &#x60;Idempotent-Replayed: true&#x60; header. | [optional] |
565
565
 
566
566
  ### Return type
567
567
 
@@ -574,7 +574,7 @@ end
574
574
  ### HTTP request headers
575
575
 
576
576
  - **Content-Type**: application/json
577
- - **Accept**: application/json
577
+ - **Accept**: application/json, application/problem+json
578
578
 
579
579
 
580
580
  ## send_validate_file_post
@@ -643,7 +643,7 @@ nil (empty response body)
643
643
  ### HTTP request headers
644
644
 
645
645
  - **Content-Type**: multipart/form-data
646
- - **Accept**: application/json
646
+ - **Accept**: application/json, application/problem+json
647
647
 
648
648
 
649
649
  ## send_validate_json_post
@@ -712,7 +712,7 @@ nil (empty response body)
712
712
  ### HTTP request headers
713
713
 
714
714
  - **Content-Type**: application/json
715
- - **Accept**: application/json
715
+ - **Accept**: application/json, application/problem+json
716
716
 
717
717
 
718
718
  ## send_validate_post
@@ -781,7 +781,7 @@ nil (empty response body)
781
781
  ### HTTP request headers
782
782
 
783
783
  - **Content-Type**: application/json
784
- - **Accept**: application/json
784
+ - **Accept**: application/json, application/problem+json
785
785
 
786
786
 
787
787
  ## send_validate_xml_post
@@ -850,7 +850,7 @@ nil (empty response body)
850
850
  ### HTTP request headers
851
851
 
852
852
  - **Content-Type**: application/xml
853
- - **Accept**: application/json
853
+ - **Accept**: application/json, application/problem+json
854
854
 
855
855
 
856
856
  ## send_xml_post
@@ -859,7 +859,7 @@ nil (empty response body)
859
859
 
860
860
  Add an invoice by xml
861
861
 
862
- Add a new invoice using a raw XML document in FatturaPA format. The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
862
+ Add a new invoice using a raw XML document in FatturaPA format. The invoice will be signed (if requested), validated (if requested), and queued for delivery to SDI. Status updates from SDI will be available in the `update` endpoint. **Send** invoices are outbound sales invoices transmitted to customers through Italy's SDI (Sistema di Interscambio). Preserved for two years in the live environment and 15 days in the [Sandbox](https://invoicetronic.com/en/docs/sandbox/). You can also upload invoices via the [Dashboard](https://dashboard.invoicetronic.com). ### Idempotency To protect against duplicate submissions caused by network retries, you can send an optional `Idempotency-Key` header with any unique, client-generated value (up to 255 characters). - The first request with a given key is processed normally, and its response (status, body and `Location`) is stored for 24 hours. - Any subsequent request that reuses the same key within that window replays the original response instead of sending a second invoice to SDI. A replayed response carries the `Idempotent-Replayed: true` header, so you can tell it apart from a freshly processed one. - If a request with the same key is still being processed, the retry receives `409 Conflict`. - If the same key is reused with a **different** invoice payload, the request is rejected with `422 Unprocessable Entity`: a given key must always map to the same request. Keys are scoped per account, so different accounts can use the same key value without interfering. If the idempotency store is temporarily unavailable, the request is processed normally without idempotency protection.
863
863
 
864
864
  ### Examples
865
865
 
@@ -878,7 +878,7 @@ body = { ... } # Object |
878
878
  opts = {
879
879
  validate: true, # Boolean | Validate the document first, and reject it on failure.
880
880
  signature: 'None', # String | Whether to digitally sign the document.
881
- idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice.
881
+ idempotency_key: 'idempotency_key_example' # String | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. A replayed response carries the `Idempotent-Replayed: true` header.
882
882
  }
883
883
 
884
884
  begin
@@ -915,7 +915,7 @@ end
915
915
  | **body** | **Object** | | |
916
916
  | **validate** | **Boolean** | Validate the document first, and reject it on failure. | [optional][default to false] |
917
917
  | **signature** | **String** | Whether to digitally sign the document. | [optional][default to &#39;Auto&#39;] |
918
- | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. | [optional] |
918
+ | **idempotency_key** | **String** | Optional client-generated key that makes the submission idempotent. Retrying the same request with the same key within 24 hours returns the original response instead of creating a duplicate invoice. A replayed response carries the &#x60;Idempotent-Replayed: true&#x60; header. | [optional] |
919
919
 
920
920
  ### Return type
921
921
 
@@ -928,5 +928,5 @@ end
928
928
  ### HTTP request headers
929
929
 
930
930
  - **Content-Type**: application/xml
931
- - **Accept**: application/json
931
+ - **Accept**: application/json, application/problem+json
932
932
 
data/docs/StatusApi.md CHANGED
@@ -13,7 +13,7 @@ All URIs are relative to *http://localhost*
13
13
 
14
14
  Account status
15
15
 
16
- Retrieve the number of operations (invoices + validations) and signatures left on your account. When `signature_left` is 0, you will receive a `403 Forbidden` response when trying to sign an invoice. Likewise, if `operation_left` is 0, you will receive a `403 Forbidden` response when storing or validating an invoice. You can also check your account status from the [Dashboard](https://dashboard.invoicetronic.com), where you can purchase additional operations and/or signatures. **Please note** that these values are not enforced if you are on the [Sandbox](https://invoicetronic.com/en/docs/sandbox/).
16
+ Retrieve the number of operations (invoices + validations) and signatures left on your account. When `signature_left` is 0, you will receive a `403 Forbidden` response when trying to sign an invoice. Likewise, if `operation_left` is 0, you will receive a `403 Forbidden` response when storing or validating an invoice. These responses carry a problem details body whose `code` member tells them apart from other `403 Forbidden` responses: `usage_limit_exceeded` when you are out of operations, `signature_limit_exceeded` when you are out of signatures. Branch on `code`, not on `detail`, which is localized according to the `Accept-Language` header. You can also check your account status from the [Dashboard](https://dashboard.invoicetronic.com), where you can purchase additional operations and/or signatures. **Please note** that these values are not enforced if you are on the [Sandbox](https://invoicetronic.com/en/docs/sandbox/).
17
17
 
18
18
  ### Examples
19
19
 
data/docs/SubKey.md ADDED
@@ -0,0 +1,34 @@
1
+ # Invoicetronic_Sdk::SubKey
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **Integer** | Unique identifier. | [optional] |
8
+ | **created** | **Time** | Creation date. | [optional][readonly] |
9
+ | **version** | **Integer** | Row version, for optimistic concurrency. | [optional][readonly] |
10
+ | **description** | **String** | Human-readable label. | [optional] |
11
+ | **active** | **Boolean** | Whether the key can authenticate. | [optional] |
12
+ | **permissions** | [**Permissions**](Permissions.md) | | [optional] |
13
+ | **company_ids** | **Array&lt;Integer&gt;** | Companies the key can access. Empty means all the companies of the account. | [optional] |
14
+ | **cors_origins** | **Array&lt;String&gt;** | Browser origins allowed to call the API with this key (CORS). | [optional] |
15
+ | **previous_key_expires_at** | **Time** | When the secrets replaced by the last roll stop working; null when there are none still valid. | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'invoicetronic_sdk'
21
+
22
+ instance = Invoicetronic_Sdk::SubKey.new(
23
+ id: null,
24
+ created: null,
25
+ version: null,
26
+ description: null,
27
+ active: null,
28
+ permissions: null,
29
+ company_ids: null,
30
+ cors_origins: null,
31
+ previous_key_expires_at: null
32
+ )
33
+ ```
34
+
@@ -0,0 +1,26 @@
1
+ # Invoicetronic_Sdk::SubKeyRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **description** | **String** | Human-readable label, e.g. the name of the tenant the key is for. | |
8
+ | **active** | **Boolean** | Whether the key can authenticate. Defaults to true. | [optional] |
9
+ | **permissions** | [**Permissions**](Permissions.md) | | [optional] |
10
+ | **company_ids** | **Array&lt;Integer&gt;** | Companies the key can access. When omitted or empty, the key can access all the companies of the account, including the ones created later. | [optional] |
11
+ | **cors_origins** | **Array&lt;String&gt;** | Browser origins allowed to call the API with this key (CORS), e.g. &#x60;https://app.example.com&#x60; or &#x60;*.example.com&#x60;. A key used from a browser is public: keep its permissions and companies minimal. | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'invoicetronic_sdk'
17
+
18
+ instance = Invoicetronic_Sdk::SubKeyRequest.new(
19
+ description: Studio Rossi Srl,
20
+ active: null,
21
+ permissions: null,
22
+ company_ids: null,
23
+ cors_origins: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,30 @@
1
+ # Invoicetronic_Sdk::SubKeyUpdate
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **description** | **String** | Human-readable label, e.g. the name of the tenant the key is for. | |
8
+ | **active** | **Boolean** | Whether the key can authenticate. Defaults to true. | [optional] |
9
+ | **permissions** | [**Permissions**](Permissions.md) | | [optional] |
10
+ | **company_ids** | **Array&lt;Integer&gt;** | Companies the key can access. When omitted or empty, the key can access all the companies of the account, including the ones created later. | [optional] |
11
+ | **cors_origins** | **Array&lt;String&gt;** | Browser origins allowed to call the API with this key (CORS), e.g. &#x60;https://app.example.com&#x60; or &#x60;*.example.com&#x60;. A key used from a browser is public: keep its permissions and companies minimal. | [optional] |
12
+ | **id** | **Integer** | Id of the restricted key to update. | [optional] |
13
+ | **version** | **Integer** | Row version read with the key, for optimistic concurrency: a stale version fails with 422. | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'invoicetronic_sdk'
19
+
20
+ instance = Invoicetronic_Sdk::SubKeyUpdate.new(
21
+ description: Studio Rossi Srl,
22
+ active: null,
23
+ permissions: null,
24
+ company_ids: null,
25
+ cors_origins: null,
26
+ id: null,
27
+ version: null
28
+ )
29
+ ```
30
+
@@ -0,0 +1,38 @@
1
+ # Invoicetronic_Sdk::SubKeyWithSecrets
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **Integer** | Unique identifier. | [optional] |
8
+ | **created** | **Time** | Creation date. | [optional][readonly] |
9
+ | **version** | **Integer** | Row version, for optimistic concurrency. | [optional][readonly] |
10
+ | **description** | **String** | Human-readable label. | [optional] |
11
+ | **active** | **Boolean** | Whether the key can authenticate. | [optional] |
12
+ | **permissions** | [**Permissions**](Permissions.md) | | [optional] |
13
+ | **company_ids** | **Array&lt;Integer&gt;** | Companies the key can access. Empty means all the companies of the account. | [optional] |
14
+ | **cors_origins** | **Array&lt;String&gt;** | Browser origins allowed to call the API with this key (CORS). | [optional] |
15
+ | **previous_key_expires_at** | **Time** | When the secrets replaced by the last roll stop working; null when there are none still valid. | [optional] |
16
+ | **test_key** | **String** | Sandbox secret. | [optional] |
17
+ | **live_key** | **String** | Production secret. | [optional] |
18
+
19
+ ## Example
20
+
21
+ ```ruby
22
+ require 'invoicetronic_sdk'
23
+
24
+ instance = Invoicetronic_Sdk::SubKeyWithSecrets.new(
25
+ id: null,
26
+ created: null,
27
+ version: null,
28
+ description: null,
29
+ active: null,
30
+ permissions: null,
31
+ company_ids: null,
32
+ cors_origins: null,
33
+ previous_key_expires_at: null,
34
+ test_key: null,
35
+ live_key: null
36
+ )
37
+ ```
38
+