daknode 0.3.8__tar.gz → 0.3.10__tar.gz

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 (251) hide show
  1. daknode-0.3.10/PKG-INFO +125 -0
  2. daknode-0.3.10/README.md +102 -0
  3. daknode-0.3.10/daknode/api/calendar/book_calendar_event.py +193 -0
  4. daknode-0.3.10/daknode/api/calendar/edit_calendar_series.py +222 -0
  5. daknode-0.3.10/daknode/api/calendar/get_calendar_availability.py +178 -0
  6. daknode-0.3.10/daknode/api/calendar/get_calendar_free_busy.py +178 -0
  7. daknode-0.3.10/daknode/api/calendar/get_calendar_reminders.py +169 -0
  8. daknode-0.3.10/daknode/api/calendar/set_calendar_reminders.py +206 -0
  9. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/__init__.py +22 -0
  10. daknode-0.3.10/daknode/models/availability_input.py +116 -0
  11. daknode-0.3.10/daknode/models/availability_out.py +95 -0
  12. daknode-0.3.10/daknode/models/booking_input.py +66 -0
  13. daknode-0.3.10/daknode/models/free_busy_out.py +86 -0
  14. daknode-0.3.10/daknode/models/interval_out.py +69 -0
  15. daknode-0.3.10/daknode/models/reminder_input.py +40 -0
  16. daknode-0.3.10/daknode/models/reminder_out.py +57 -0
  17. daknode-0.3.10/daknode/models/series_edit_input.py +110 -0
  18. daknode-0.3.10/daknode/models/series_edit_input_scope.py +10 -0
  19. daknode-0.3.10/daknode/models/subscription_change_event_types_type_0_item.py +16 -0
  20. daknode-0.3.10/daknode/models/subscription_create_event_types_item.py +16 -0
  21. daknode-0.3.10/daknode/models/subscription_out_event_types_item.py +16 -0
  22. daknode-0.3.10/daknode/models/window_input.py +50 -0
  23. daknode-0.3.10/daknode/models/working_hours.py +56 -0
  24. {daknode-0.3.8 → daknode-0.3.10}/pyproject.toml +8 -2
  25. daknode-0.3.8/PKG-INFO +0 -143
  26. daknode-0.3.8/README.md +0 -124
  27. daknode-0.3.8/daknode/models/subscription_change_event_types_type_0_item.py +0 -9
  28. daknode-0.3.8/daknode/models/subscription_create_event_types_item.py +0 -9
  29. daknode-0.3.8/daknode/models/subscription_out_event_types_item.py +0 -9
  30. {daknode-0.3.8 → daknode-0.3.10}/daknode/__init__.py +0 -0
  31. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/__init__.py +0 -0
  32. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/block_rules/__init__.py +0 -0
  33. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/block_rules/create_block_rule.py +0 -0
  34. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/block_rules/create_inbox_block_rule.py +0 -0
  35. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/block_rules/delete_block_rule.py +0 -0
  36. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/block_rules/list_block_rules.py +0 -0
  37. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/block_rules/list_inbox_block_rules.py +0 -0
  38. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/__init__.py +0 -0
  39. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/cancel_calendar_event.py +0 -0
  40. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/create_calendar_event.py +0 -0
  41. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/delete_calendar_event.py +0 -0
  42. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/delete_calendar_exception.py +0 -0
  43. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/get_calendar_agenda.py +0 -0
  44. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/get_calendar_event.py +0 -0
  45. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/list_calendar_events.py +0 -0
  46. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/list_calendar_instances.py +0 -0
  47. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/list_calendar_invitations.py +0 -0
  48. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/poll_calendar_changes.py +0 -0
  49. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/put_calendar_exception.py +0 -0
  50. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/respond_calendar_event.py +0 -0
  51. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/send_calendar_invitations.py +0 -0
  52. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/calendar/update_calendar_event.py +0 -0
  53. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/consent/__init__.py +0 -0
  54. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/consent/create_consent.py +0 -0
  55. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/consent/revoke.py +0 -0
  56. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/control_plane/__init__.py +0 -0
  57. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/control_plane/close_workspace.py +0 -0
  58. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/control_plane/create_workspace.py +0 -0
  59. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/control_plane/list_workspaces.py +0 -0
  60. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/control_plane/read_workspace.py +0 -0
  61. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/control_plane/update_workspace.py +0 -0
  62. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/dead_letters/__init__.py +0 -0
  63. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/dead_letters/list_dead_letters.py +0 -0
  64. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/dead_letters/replay_dead_letter.py +0 -0
  65. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/domains/__init__.py +0 -0
  66. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/domains/disable_domain.py +0 -0
  67. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/domains/get_domain.py +0 -0
  68. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/domains/list_domains.py +0 -0
  69. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/domains/register_domain.py +0 -0
  70. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/domains/verify_domain.py +0 -0
  71. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/drafts/__init__.py +0 -0
  72. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/drafts/cancel_draft.py +0 -0
  73. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/drafts/create_draft.py +0 -0
  74. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/drafts/delete_draft.py +0 -0
  75. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/drafts/get_draft.py +0 -0
  76. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/drafts/list_drafts.py +0 -0
  77. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/drafts/schedule_draft.py +0 -0
  78. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/drafts/send_draft.py +0 -0
  79. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/drafts/update_draft.py +0 -0
  80. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/events/__init__.py +0 -0
  81. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/events/poll_inbox_events.py +0 -0
  82. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/inboxes/__init__.py +0 -0
  83. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/inboxes/create_inbox.py +0 -0
  84. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/inboxes/delete_inbox.py +0 -0
  85. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/inboxes/get_inbox.py +0 -0
  86. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/inboxes/list_inboxes.py +0 -0
  87. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/inboxes/register_webhook.py +0 -0
  88. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/inboxes/rotate_webhook_secret.py +0 -0
  89. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/inboxes/update_inbox.py +0 -0
  90. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/mail_policy/__init__.py +0 -0
  91. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/mail_policy/create_inbox_mail_policy_rule.py +0 -0
  92. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/mail_policy/create_mail_policy_rule.py +0 -0
  93. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/mail_policy/delete_mail_policy_rule.py +0 -0
  94. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/mail_policy/get_inbox_mail_policy.py +0 -0
  95. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/mail_policy/get_mail_policy.py +0 -0
  96. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/mail_policy/list_inbox_mail_policy_rules.py +0 -0
  97. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/mail_policy/list_mail_policy_rules.py +0 -0
  98. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/mail_policy/update_inbox_mail_policy.py +0 -0
  99. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/mail_policy/update_mail_policy.py +0 -0
  100. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/messages/__init__.py +0 -0
  101. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/messages/download_raw_message.py +0 -0
  102. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/messages/download_received_attachment.py +0 -0
  103. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/messages/get_message.py +0 -0
  104. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/messages/get_thread.py +0 -0
  105. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/messages/list_messages.py +0 -0
  106. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/messages/list_received_attachments.py +0 -0
  107. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/messages/list_threads.py +0 -0
  108. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/messages/update_message_state.py +0 -0
  109. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/metrics/__init__.py +0 -0
  110. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/metrics/inbox_metrics.py +0 -0
  111. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/metrics/workspace_metrics.py +0 -0
  112. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/privacy/__init__.py +0 -0
  113. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/privacy/create_erasure_request.py +0 -0
  114. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/privacy/read_erasure_request.py +0 -0
  115. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/public/__init__.py +0 -0
  116. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/public/agent_signup.py +0 -0
  117. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/public/agent_verify.py +0 -0
  118. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/search/__init__.py +0 -0
  119. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/search/search.py +0 -0
  120. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/security/__init__.py +0 -0
  121. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/security/get_risk_feedback.py +0 -0
  122. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/security/list_audit_events.py +0 -0
  123. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/security/record_risk_feedback.py +0 -0
  124. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/send/__init__.py +0 -0
  125. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/send/forward_message.py +0 -0
  126. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/send/send.py +0 -0
  127. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/webhook_subscriptions/__init__.py +0 -0
  128. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/webhook_subscriptions/create_webhook_subscription.py +0 -0
  129. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/webhook_subscriptions/delete_webhook_subscription.py +0 -0
  130. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/webhook_subscriptions/get_webhook_subscription.py +0 -0
  131. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/webhook_subscriptions/list_webhook_subscriptions.py +0 -0
  132. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/webhook_subscriptions/rotate_webhook_subscription.py +0 -0
  133. {daknode-0.3.8 → daknode-0.3.10}/daknode/api/webhook_subscriptions/update_webhook_subscription.py +0 -0
  134. {daknode-0.3.8 → daknode-0.3.10}/daknode/client.py +0 -0
  135. {daknode-0.3.8 → daknode-0.3.10}/daknode/errors.py +0 -0
  136. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/attachment_out.py +0 -0
  137. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/attendee_input.py +0 -0
  138. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/attendee_out.py +0 -0
  139. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/attendee_out_response.py +0 -0
  140. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/audit_out.py +0 -0
  141. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/audit_page.py +0 -0
  142. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/block_rule_create.py +0 -0
  143. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/block_rule_out.py +0 -0
  144. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/block_rule_page.py +0 -0
  145. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/calendar_fact.py +0 -0
  146. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/calendar_fact_page.py +0 -0
  147. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/check_domain_request.py +0 -0
  148. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/consent_request.py +0 -0
  149. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/consent_response.py +0 -0
  150. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/create_erasure_request_response_create_erasure_request.py +0 -0
  151. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/create_in.py +0 -0
  152. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/daily_usage.py +0 -0
  153. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/dead_letter_response.py +0 -0
  154. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/delivery_cohort.py +0 -0
  155. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/delivery_cohort_current_status.py +0 -0
  156. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/delivery_cohort_provider_outcomes.py +0 -0
  157. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/delivery_out.py +0 -0
  158. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/dns_record.py +0 -0
  159. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/domain_out.py +0 -0
  160. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/domain_page.py +0 -0
  161. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/draft_create.py +0 -0
  162. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/draft_edit.py +0 -0
  163. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/draft_file_out.py +0 -0
  164. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/draft_message_out.py +0 -0
  165. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/draft_out.py +0 -0
  166. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/draft_out_state.py +0 -0
  167. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/draft_page.py +0 -0
  168. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/draft_schedule.py +0 -0
  169. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/erasure_request_body.py +0 -0
  170. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/event_create.py +0 -0
  171. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/event_out.py +0 -0
  172. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/event_out_source.py +0 -0
  173. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/event_out_status.py +0 -0
  174. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/event_page.py +0 -0
  175. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/event_patch.py +0 -0
  176. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/exception_put.py +0 -0
  177. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/feedback_change.py +0 -0
  178. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/feedback_change_assessment.py +0 -0
  179. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/feedback_out.py +0 -0
  180. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/feedback_out_assessment.py +0 -0
  181. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/forward_message_response_forward_message.py +0 -0
  182. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/forward_request.py +0 -0
  183. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/http_validation_error.py +0 -0
  184. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/inbox_create_request.py +0 -0
  185. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/inbox_deleted.py +0 -0
  186. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/inbox_event.py +0 -0
  187. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/inbox_event_page.py +0 -0
  188. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/inbox_out.py +0 -0
  189. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/inbox_page.py +0 -0
  190. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/inbox_response.py +0 -0
  191. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/inbox_update_request.py +0 -0
  192. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/instance_out.py +0 -0
  193. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/instance_page.py +0 -0
  194. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/invitation_input.py +0 -0
  195. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/invitation_input_method.py +0 -0
  196. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/list_drafts_state_type_0.py +0 -0
  197. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/message_out.py +0 -0
  198. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/message_out_spam_verdict_type_0.py +0 -0
  199. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/message_out_virus_verdict_type_0.py +0 -0
  200. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/message_page.py +0 -0
  201. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/message_state.py +0 -0
  202. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/metrics_out.py +0 -0
  203. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/metrics_window.py +0 -0
  204. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/outgoing_attachment.py +0 -0
  205. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/policy_change.py +0 -0
  206. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/policy_out.py +0 -0
  207. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/poll_inbox_events_start.py +0 -0
  208. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/read_erasure_request_response_read_erasure_request.py +0 -0
  209. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/register_domain_request.py +0 -0
  210. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/replay_response.py +0 -0
  211. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/respond_input.py +0 -0
  212. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/respond_input_response.py +0 -0
  213. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/revision.py +0 -0
  214. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/revoke_request.py +0 -0
  215. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/revoke_response_revoke.py +0 -0
  216. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/rule_create.py +0 -0
  217. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/rule_create_direction.py +0 -0
  218. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/rule_create_effect.py +0 -0
  219. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/rule_out.py +0 -0
  220. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/rule_out_direction.py +0 -0
  221. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/rule_out_effect.py +0 -0
  222. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/rule_out_kind.py +0 -0
  223. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/search_match.py +0 -0
  224. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/search_request.py +0 -0
  225. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/search_response.py +0 -0
  226. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/send_draft_response_send_draft.py +0 -0
  227. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/send_request.py +0 -0
  228. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/send_response_send.py +0 -0
  229. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/signup_in.py +0 -0
  230. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/signup_out.py +0 -0
  231. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/state_change.py +0 -0
  232. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/subscription_change.py +0 -0
  233. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/subscription_change_headers_type_0.py +0 -0
  234. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/subscription_create.py +0 -0
  235. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/subscription_create_headers.py +0 -0
  236. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/subscription_out.py +0 -0
  237. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/thread_detail_out.py +0 -0
  238. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/thread_out.py +0 -0
  239. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/thread_page.py +0 -0
  240. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/timeline_item_out.py +0 -0
  241. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/update_in.py +0 -0
  242. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/usage_counts.py +0 -0
  243. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/validation_error.py +0 -0
  244. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/validation_error_context.py +0 -0
  245. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/verify_in.py +0 -0
  246. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/verify_out.py +0 -0
  247. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/webhook_register_request.py +0 -0
  248. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/workspace_list_out.py +0 -0
  249. {daknode-0.3.8 → daknode-0.3.10}/daknode/models/workspace_out.py +0 -0
  250. {daknode-0.3.8 → daknode-0.3.10}/daknode/py.typed +0 -0
  251. {daknode-0.3.8 → daknode-0.3.10}/daknode/types.py +0 -0
@@ -0,0 +1,125 @@
1
+ Metadata-Version: 2.4
2
+ Name: daknode
3
+ Version: 0.3.10
4
+ Summary: Typed sync and async client for DakNode's email and inbox-calendar API
5
+ Keywords: daknode,email,calendar,sdk
6
+ Requires-Python: >=3.9,<4.0
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Python :: 3.9
9
+ Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
14
+ Classifier: Programming Language :: Python :: 3.15
15
+ Requires-Dist: attrs (>=22.2.0)
16
+ Requires-Dist: httpx (>=0.23.0,<0.29.0)
17
+ Requires-Dist: python-dateutil (>=2.8.0,<3.0.0)
18
+ Project-URL: Documentation, https://daknode.com/integrations/python/
19
+ Project-URL: Homepage, https://daknode.com
20
+ Project-URL: Security, https://daknode.com/security/reporting/
21
+ Description-Content-Type: text/markdown
22
+
23
+ # DakNode Python SDK
24
+
25
+ Typed synchronous and asynchronous client for DakNode's public email and
26
+ inbox-calendar API. Keep credentials on your server, never in browser code.
27
+
28
+ ## Install and configure
29
+
30
+ Use Python 3.10+ for this starter, in an isolated virtual environment.
31
+
32
+ ```sh
33
+ python -m pip install 'daknode>=0.3.9,<0.4'
34
+ ```
35
+
36
+ Configure DAKNODE_API_KEY through your server's private secret settings and
37
+ DAKNODE_INBOX_ID with an inbox UUID you are authorized to read. Obtain both from
38
+ the console. Do not put keys in command arguments, chat, source control or logs.
39
+ The operation needs messages.read. Workspace boundaries apply; inbox-scoped
40
+ keys require an eligible plan. Do not add send permissions for this example.
41
+
42
+ ## First operation: count one page
43
+
44
+ Save this tested starter as daknode_tools.py, then run
45
+ `python daknode_tools.py` in the configured environment. It makes one bounded
46
+ read and prints only a count. Importing the module performs no request.
47
+
48
+ ```python
49
+ """Customer-side tools: one bounded SDK read, no mail contents or agent loop."""
50
+ import os
51
+ from uuid import UUID
52
+
53
+ from daknode import AuthenticatedClient
54
+ from daknode.api.messages import list_messages
55
+
56
+
57
+ def count_recent_mail() -> int:
58
+ """Count up to ten retained messages in the privately configured inbox."""
59
+ key = os.environ.get("DAKNODE_API_KEY", "").strip()
60
+ identifier = os.environ.get("DAKNODE_INBOX_ID", "")
61
+ if not key or not identifier:
62
+ raise RuntimeError("Configure DAKNODE_API_KEY and DAKNODE_INBOX_ID privately")
63
+ try:
64
+ inbox_id = UUID(identifier)
65
+ except ValueError:
66
+ raise RuntimeError("DAKNODE_INBOX_ID must be a valid inbox UUID") from None
67
+ try:
68
+ with AuthenticatedClient(base_url="https://api.daknode.com", token=key, timeout=10) as client:
69
+ response = list_messages.sync_detailed(inbox_id, client=client, limit=10)
70
+ except Exception:
71
+ # Do not propagate SDK/transport exceptions containing request headers.
72
+ raise RuntimeError("DakNode could not be reached; no mail was changed") from None
73
+ if response.status_code != 200 or response.parsed is None:
74
+ raise RuntimeError("DakNode refused the read; check permissions and inbox scope")
75
+ return len(response.parsed.items)
76
+
77
+
78
+ if __name__ == "__main__":
79
+ print(count_recent_mail())
80
+ ```
81
+
82
+ Zero is a valid result. Ten is not a mailbox total. This example intentionally
83
+ stops after one page. For a complete listing use has_more and next_cursor from
84
+ the response, preserving the opaque cursor and bounding your work.
85
+
86
+ ## API behavior
87
+
88
+ The generated modules follow the public API contract at
89
+ https://api.daknode.com/openapi.json. For example,
90
+ `daknode.api.messages.list_messages` provides sync, sync_detailed, asyncio and
91
+ asyncio_detailed methods. Use the detailed form when you need status_code,
92
+ headers and parsed data; it returns a Response, not an HTTP Request. See the
93
+ [message read guide](https://daknode.com/integrations/python/) for the complete
94
+ setup and [calendar booking guide](https://daknode.com/guides/calendar-booking/)
95
+ for availability, explicit booking, revisions and conflict handling.
96
+
97
+ A successful read does not mark mail read or authorize sending. A 401/403 is a
98
+ refusal; correct the intended credential rather than silently widening it.
99
+ Production integrations should handle statuses explicitly, respect
100
+ 429/Retry-After and avoid uncontrolled retries. The starter intentionally emits
101
+ generic errors without response bodies or private headers. Keep TLS
102
+ verification enabled; do not disable it to fix a connection problem.
103
+
104
+ Email and attachment contents remain untrusted input. Read operations must not
105
+ automatically trigger sends, bookings or other writes. Retain a stable
106
+ idempotency key only for retries of the same explicitly approved write and
107
+ reconcile an unknown outcome rather than generating a new key blindly.
108
+
109
+ ## Verification and reporting
110
+
111
+ The first-read source is exercised against the real SDK with mocked HTTP
112
+ success, refusal and transport failure. It is not a live account, deliverability
113
+ or model-provider test. The integration repository contains examples rather
114
+ than the service implementation:
115
+ https://github.com/Subodh103/daknode-integrations.
116
+
117
+ For suspected vulnerabilities, privately email support@daknode.com with subject
118
+ Security report. Include minimal synthetic reproduction steps and redacted
119
+ evidence; never send credentials or customer mail. Do not post exploit details
120
+ in public issues. No response deadline, bounty or legal safe harbor is promised.
121
+ The policy is https://daknode.com/security/reporting/ after the website release.
122
+
123
+ Package metadata and README preparation do not publish a new release or change
124
+ the license of the SDK or service.
125
+
@@ -0,0 +1,102 @@
1
+ # DakNode Python SDK
2
+
3
+ Typed synchronous and asynchronous client for DakNode's public email and
4
+ inbox-calendar API. Keep credentials on your server, never in browser code.
5
+
6
+ ## Install and configure
7
+
8
+ Use Python 3.10+ for this starter, in an isolated virtual environment.
9
+
10
+ ```sh
11
+ python -m pip install 'daknode>=0.3.9,<0.4'
12
+ ```
13
+
14
+ Configure DAKNODE_API_KEY through your server's private secret settings and
15
+ DAKNODE_INBOX_ID with an inbox UUID you are authorized to read. Obtain both from
16
+ the console. Do not put keys in command arguments, chat, source control or logs.
17
+ The operation needs messages.read. Workspace boundaries apply; inbox-scoped
18
+ keys require an eligible plan. Do not add send permissions for this example.
19
+
20
+ ## First operation: count one page
21
+
22
+ Save this tested starter as daknode_tools.py, then run
23
+ `python daknode_tools.py` in the configured environment. It makes one bounded
24
+ read and prints only a count. Importing the module performs no request.
25
+
26
+ ```python
27
+ """Customer-side tools: one bounded SDK read, no mail contents or agent loop."""
28
+ import os
29
+ from uuid import UUID
30
+
31
+ from daknode import AuthenticatedClient
32
+ from daknode.api.messages import list_messages
33
+
34
+
35
+ def count_recent_mail() -> int:
36
+ """Count up to ten retained messages in the privately configured inbox."""
37
+ key = os.environ.get("DAKNODE_API_KEY", "").strip()
38
+ identifier = os.environ.get("DAKNODE_INBOX_ID", "")
39
+ if not key or not identifier:
40
+ raise RuntimeError("Configure DAKNODE_API_KEY and DAKNODE_INBOX_ID privately")
41
+ try:
42
+ inbox_id = UUID(identifier)
43
+ except ValueError:
44
+ raise RuntimeError("DAKNODE_INBOX_ID must be a valid inbox UUID") from None
45
+ try:
46
+ with AuthenticatedClient(base_url="https://api.daknode.com", token=key, timeout=10) as client:
47
+ response = list_messages.sync_detailed(inbox_id, client=client, limit=10)
48
+ except Exception:
49
+ # Do not propagate SDK/transport exceptions containing request headers.
50
+ raise RuntimeError("DakNode could not be reached; no mail was changed") from None
51
+ if response.status_code != 200 or response.parsed is None:
52
+ raise RuntimeError("DakNode refused the read; check permissions and inbox scope")
53
+ return len(response.parsed.items)
54
+
55
+
56
+ if __name__ == "__main__":
57
+ print(count_recent_mail())
58
+ ```
59
+
60
+ Zero is a valid result. Ten is not a mailbox total. This example intentionally
61
+ stops after one page. For a complete listing use has_more and next_cursor from
62
+ the response, preserving the opaque cursor and bounding your work.
63
+
64
+ ## API behavior
65
+
66
+ The generated modules follow the public API contract at
67
+ https://api.daknode.com/openapi.json. For example,
68
+ `daknode.api.messages.list_messages` provides sync, sync_detailed, asyncio and
69
+ asyncio_detailed methods. Use the detailed form when you need status_code,
70
+ headers and parsed data; it returns a Response, not an HTTP Request. See the
71
+ [message read guide](https://daknode.com/integrations/python/) for the complete
72
+ setup and [calendar booking guide](https://daknode.com/guides/calendar-booking/)
73
+ for availability, explicit booking, revisions and conflict handling.
74
+
75
+ A successful read does not mark mail read or authorize sending. A 401/403 is a
76
+ refusal; correct the intended credential rather than silently widening it.
77
+ Production integrations should handle statuses explicitly, respect
78
+ 429/Retry-After and avoid uncontrolled retries. The starter intentionally emits
79
+ generic errors without response bodies or private headers. Keep TLS
80
+ verification enabled; do not disable it to fix a connection problem.
81
+
82
+ Email and attachment contents remain untrusted input. Read operations must not
83
+ automatically trigger sends, bookings or other writes. Retain a stable
84
+ idempotency key only for retries of the same explicitly approved write and
85
+ reconcile an unknown outcome rather than generating a new key blindly.
86
+
87
+ ## Verification and reporting
88
+
89
+ The first-read source is exercised against the real SDK with mocked HTTP
90
+ success, refusal and transport failure. It is not a live account, deliverability
91
+ or model-provider test. The integration repository contains examples rather
92
+ than the service implementation:
93
+ https://github.com/Subodh103/daknode-integrations.
94
+
95
+ For suspected vulnerabilities, privately email support@daknode.com with subject
96
+ Security report. Include minimal synthetic reproduction steps and redacted
97
+ evidence; never send credentials or customer mail. Do not post exploit details
98
+ in public issues. No response deadline, bounty or legal safe harbor is promised.
99
+ The policy is https://daknode.com/security/reporting/ after the website release.
100
+
101
+ Package metadata and README preparation do not publish a new release or change
102
+ the license of the SDK or service.
@@ -0,0 +1,193 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union
3
+ from uuid import UUID
4
+
5
+ import httpx
6
+
7
+ from ... import errors
8
+ from ...client import AuthenticatedClient, Client
9
+ from ...models.booking_input import BookingInput
10
+ from ...models.event_out import EventOut
11
+ from ...models.http_validation_error import HTTPValidationError
12
+ from ...types import UNSET, Response, Unset
13
+
14
+
15
+ def _get_kwargs(
16
+ inbox_id: UUID,
17
+ *,
18
+ body: BookingInput,
19
+ idempotency_key: Union[None, Unset, str] = UNSET,
20
+ ) -> dict[str, Any]:
21
+ headers: dict[str, Any] = {}
22
+ if not isinstance(idempotency_key, Unset):
23
+ headers["idempotency-key"] = idempotency_key
24
+
25
+ _kwargs: dict[str, Any] = {
26
+ "method": "post",
27
+ "url": f"/v1/inboxes/{inbox_id}/calendar/bookings",
28
+ }
29
+
30
+ _kwargs["json"] = body.to_dict()
31
+
32
+ headers["Content-Type"] = "application/json"
33
+
34
+ _kwargs["headers"] = headers
35
+ return _kwargs
36
+
37
+
38
+ def _parse_response(
39
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
40
+ ) -> Optional[Union[EventOut, HTTPValidationError]]:
41
+ if response.status_code == 201:
42
+ response_201 = EventOut.from_dict(response.json())
43
+
44
+ return response_201
45
+ if response.status_code == 422:
46
+ response_422 = HTTPValidationError.from_dict(response.json())
47
+
48
+ return response_422
49
+ if client.raise_on_unexpected_status:
50
+ raise errors.UnexpectedStatus(response.status_code, response.content)
51
+ else:
52
+ return None
53
+
54
+
55
+ def _build_response(
56
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
57
+ ) -> Response[Union[EventOut, HTTPValidationError]]:
58
+ return Response(
59
+ status_code=HTTPStatus(response.status_code),
60
+ content=response.content,
61
+ headers=response.headers,
62
+ parsed=_parse_response(client=client, response=response),
63
+ )
64
+
65
+
66
+ def sync_detailed(
67
+ inbox_id: UUID,
68
+ *,
69
+ client: AuthenticatedClient,
70
+ body: BookingInput,
71
+ idempotency_key: Union[None, Unset, str] = UNSET,
72
+ ) -> Response[Union[EventOut, HTTPValidationError]]:
73
+ """Book Calendar Event
74
+
75
+ Args:
76
+ inbox_id (UUID):
77
+ idempotency_key (Union[None, Unset, str]):
78
+ body (BookingInput):
79
+
80
+ Raises:
81
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
82
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
83
+
84
+ Returns:
85
+ Response[Union[EventOut, HTTPValidationError]]
86
+ """
87
+
88
+ kwargs = _get_kwargs(
89
+ inbox_id=inbox_id,
90
+ body=body,
91
+ idempotency_key=idempotency_key,
92
+ )
93
+
94
+ response = client.get_httpx_client().request(
95
+ **kwargs,
96
+ )
97
+
98
+ return _build_response(client=client, response=response)
99
+
100
+
101
+ def sync(
102
+ inbox_id: UUID,
103
+ *,
104
+ client: AuthenticatedClient,
105
+ body: BookingInput,
106
+ idempotency_key: Union[None, Unset, str] = UNSET,
107
+ ) -> Optional[Union[EventOut, HTTPValidationError]]:
108
+ """Book Calendar Event
109
+
110
+ Args:
111
+ inbox_id (UUID):
112
+ idempotency_key (Union[None, Unset, str]):
113
+ body (BookingInput):
114
+
115
+ Raises:
116
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
117
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
118
+
119
+ Returns:
120
+ Union[EventOut, HTTPValidationError]
121
+ """
122
+
123
+ return sync_detailed(
124
+ inbox_id=inbox_id,
125
+ client=client,
126
+ body=body,
127
+ idempotency_key=idempotency_key,
128
+ ).parsed
129
+
130
+
131
+ async def asyncio_detailed(
132
+ inbox_id: UUID,
133
+ *,
134
+ client: AuthenticatedClient,
135
+ body: BookingInput,
136
+ idempotency_key: Union[None, Unset, str] = UNSET,
137
+ ) -> Response[Union[EventOut, HTTPValidationError]]:
138
+ """Book Calendar Event
139
+
140
+ Args:
141
+ inbox_id (UUID):
142
+ idempotency_key (Union[None, Unset, str]):
143
+ body (BookingInput):
144
+
145
+ Raises:
146
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
147
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
148
+
149
+ Returns:
150
+ Response[Union[EventOut, HTTPValidationError]]
151
+ """
152
+
153
+ kwargs = _get_kwargs(
154
+ inbox_id=inbox_id,
155
+ body=body,
156
+ idempotency_key=idempotency_key,
157
+ )
158
+
159
+ response = await client.get_async_httpx_client().request(**kwargs)
160
+
161
+ return _build_response(client=client, response=response)
162
+
163
+
164
+ async def asyncio(
165
+ inbox_id: UUID,
166
+ *,
167
+ client: AuthenticatedClient,
168
+ body: BookingInput,
169
+ idempotency_key: Union[None, Unset, str] = UNSET,
170
+ ) -> Optional[Union[EventOut, HTTPValidationError]]:
171
+ """Book Calendar Event
172
+
173
+ Args:
174
+ inbox_id (UUID):
175
+ idempotency_key (Union[None, Unset, str]):
176
+ body (BookingInput):
177
+
178
+ Raises:
179
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
180
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
181
+
182
+ Returns:
183
+ Union[EventOut, HTTPValidationError]
184
+ """
185
+
186
+ return (
187
+ await asyncio_detailed(
188
+ inbox_id=inbox_id,
189
+ client=client,
190
+ body=body,
191
+ idempotency_key=idempotency_key,
192
+ )
193
+ ).parsed
@@ -0,0 +1,222 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union
3
+ from uuid import UUID
4
+
5
+ import httpx
6
+
7
+ from ... import errors
8
+ from ...client import AuthenticatedClient, Client
9
+ from ...models.event_out import EventOut
10
+ from ...models.http_validation_error import HTTPValidationError
11
+ from ...models.series_edit_input import SeriesEditInput
12
+ from ...types import UNSET, Response, Unset
13
+
14
+
15
+ def _get_kwargs(
16
+ inbox_id: UUID,
17
+ event_id: UUID,
18
+ *,
19
+ body: SeriesEditInput,
20
+ if_match: Union[None, Unset, str] = UNSET,
21
+ idempotency_key: Union[None, Unset, str] = UNSET,
22
+ ) -> dict[str, Any]:
23
+ headers: dict[str, Any] = {}
24
+ if not isinstance(if_match, Unset):
25
+ headers["if-match"] = if_match
26
+
27
+ if not isinstance(idempotency_key, Unset):
28
+ headers["idempotency-key"] = idempotency_key
29
+
30
+ _kwargs: dict[str, Any] = {
31
+ "method": "post",
32
+ "url": f"/v1/inboxes/{inbox_id}/calendar/events/{event_id}/series-edit",
33
+ }
34
+
35
+ _kwargs["json"] = body.to_dict()
36
+
37
+ headers["Content-Type"] = "application/json"
38
+
39
+ _kwargs["headers"] = headers
40
+ return _kwargs
41
+
42
+
43
+ def _parse_response(
44
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
45
+ ) -> Optional[Union[EventOut, HTTPValidationError]]:
46
+ if response.status_code == 200:
47
+ response_200 = EventOut.from_dict(response.json())
48
+
49
+ return response_200
50
+ if response.status_code == 422:
51
+ response_422 = HTTPValidationError.from_dict(response.json())
52
+
53
+ return response_422
54
+ if client.raise_on_unexpected_status:
55
+ raise errors.UnexpectedStatus(response.status_code, response.content)
56
+ else:
57
+ return None
58
+
59
+
60
+ def _build_response(
61
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
62
+ ) -> Response[Union[EventOut, HTTPValidationError]]:
63
+ return Response(
64
+ status_code=HTTPStatus(response.status_code),
65
+ content=response.content,
66
+ headers=response.headers,
67
+ parsed=_parse_response(client=client, response=response),
68
+ )
69
+
70
+
71
+ def sync_detailed(
72
+ inbox_id: UUID,
73
+ event_id: UUID,
74
+ *,
75
+ client: AuthenticatedClient,
76
+ body: SeriesEditInput,
77
+ if_match: Union[None, Unset, str] = UNSET,
78
+ idempotency_key: Union[None, Unset, str] = UNSET,
79
+ ) -> Response[Union[EventOut, HTTPValidationError]]:
80
+ """Edit Calendar Series
81
+
82
+ Args:
83
+ inbox_id (UUID):
84
+ event_id (UUID):
85
+ if_match (Union[None, Unset, str]):
86
+ idempotency_key (Union[None, Unset, str]):
87
+ body (SeriesEditInput):
88
+
89
+ Raises:
90
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
91
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
92
+
93
+ Returns:
94
+ Response[Union[EventOut, HTTPValidationError]]
95
+ """
96
+
97
+ kwargs = _get_kwargs(
98
+ inbox_id=inbox_id,
99
+ event_id=event_id,
100
+ body=body,
101
+ if_match=if_match,
102
+ idempotency_key=idempotency_key,
103
+ )
104
+
105
+ response = client.get_httpx_client().request(
106
+ **kwargs,
107
+ )
108
+
109
+ return _build_response(client=client, response=response)
110
+
111
+
112
+ def sync(
113
+ inbox_id: UUID,
114
+ event_id: UUID,
115
+ *,
116
+ client: AuthenticatedClient,
117
+ body: SeriesEditInput,
118
+ if_match: Union[None, Unset, str] = UNSET,
119
+ idempotency_key: Union[None, Unset, str] = UNSET,
120
+ ) -> Optional[Union[EventOut, HTTPValidationError]]:
121
+ """Edit Calendar Series
122
+
123
+ Args:
124
+ inbox_id (UUID):
125
+ event_id (UUID):
126
+ if_match (Union[None, Unset, str]):
127
+ idempotency_key (Union[None, Unset, str]):
128
+ body (SeriesEditInput):
129
+
130
+ Raises:
131
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
132
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
133
+
134
+ Returns:
135
+ Union[EventOut, HTTPValidationError]
136
+ """
137
+
138
+ return sync_detailed(
139
+ inbox_id=inbox_id,
140
+ event_id=event_id,
141
+ client=client,
142
+ body=body,
143
+ if_match=if_match,
144
+ idempotency_key=idempotency_key,
145
+ ).parsed
146
+
147
+
148
+ async def asyncio_detailed(
149
+ inbox_id: UUID,
150
+ event_id: UUID,
151
+ *,
152
+ client: AuthenticatedClient,
153
+ body: SeriesEditInput,
154
+ if_match: Union[None, Unset, str] = UNSET,
155
+ idempotency_key: Union[None, Unset, str] = UNSET,
156
+ ) -> Response[Union[EventOut, HTTPValidationError]]:
157
+ """Edit Calendar Series
158
+
159
+ Args:
160
+ inbox_id (UUID):
161
+ event_id (UUID):
162
+ if_match (Union[None, Unset, str]):
163
+ idempotency_key (Union[None, Unset, str]):
164
+ body (SeriesEditInput):
165
+
166
+ Raises:
167
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
168
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
169
+
170
+ Returns:
171
+ Response[Union[EventOut, HTTPValidationError]]
172
+ """
173
+
174
+ kwargs = _get_kwargs(
175
+ inbox_id=inbox_id,
176
+ event_id=event_id,
177
+ body=body,
178
+ if_match=if_match,
179
+ idempotency_key=idempotency_key,
180
+ )
181
+
182
+ response = await client.get_async_httpx_client().request(**kwargs)
183
+
184
+ return _build_response(client=client, response=response)
185
+
186
+
187
+ async def asyncio(
188
+ inbox_id: UUID,
189
+ event_id: UUID,
190
+ *,
191
+ client: AuthenticatedClient,
192
+ body: SeriesEditInput,
193
+ if_match: Union[None, Unset, str] = UNSET,
194
+ idempotency_key: Union[None, Unset, str] = UNSET,
195
+ ) -> Optional[Union[EventOut, HTTPValidationError]]:
196
+ """Edit Calendar Series
197
+
198
+ Args:
199
+ inbox_id (UUID):
200
+ event_id (UUID):
201
+ if_match (Union[None, Unset, str]):
202
+ idempotency_key (Union[None, Unset, str]):
203
+ body (SeriesEditInput):
204
+
205
+ Raises:
206
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
207
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
208
+
209
+ Returns:
210
+ Union[EventOut, HTTPValidationError]
211
+ """
212
+
213
+ return (
214
+ await asyncio_detailed(
215
+ inbox_id=inbox_id,
216
+ event_id=event_id,
217
+ client=client,
218
+ body=body,
219
+ if_match=if_match,
220
+ idempotency_key=idempotency_key,
221
+ )
222
+ ).parsed