zyphr 0.1.60 → 0.1.62

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 (1093) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/docs/WaaSBatchPublishResponse.md +5 -3
  4. data/docs/WaaSBatchPublishResult.md +34 -0
  5. data/docs/WaaSPublishEventResponse.md +7 -3
  6. data/lib/zyphr/api/auth_application_api.rb +1 -1
  7. data/lib/zyphr/api/auth_email_otp_api.rb +1 -1
  8. data/lib/zyphr/api/auth_email_templates_api.rb +1 -1
  9. data/lib/zyphr/api/auth_email_verification_api.rb +1 -1
  10. data/lib/zyphr/api/auth_login_api.rb +1 -1
  11. data/lib/zyphr/api/auth_magic_links_api.rb +1 -1
  12. data/lib/zyphr/api/auth_mfa_api.rb +1 -1
  13. data/lib/zyphr/api/auth_o_auth_api.rb +1 -1
  14. data/lib/zyphr/api/auth_organizations_api.rb +1 -1
  15. data/lib/zyphr/api/auth_password_reset_api.rb +1 -1
  16. data/lib/zyphr/api/auth_phone_api.rb +1 -1
  17. data/lib/zyphr/api/auth_registration_api.rb +1 -1
  18. data/lib/zyphr/api/auth_sessions_api.rb +1 -1
  19. data/lib/zyphr/api/auth_user_directory_api.rb +1 -1
  20. data/lib/zyphr/api/auth_user_profile_api.rb +1 -1
  21. data/lib/zyphr/api/auth_web_authn_api.rb +1 -1
  22. data/lib/zyphr/api/devices_api.rb +1 -1
  23. data/lib/zyphr/api/domains_api.rb +1 -1
  24. data/lib/zyphr/api/emails_api.rb +1 -1
  25. data/lib/zyphr/api/executions_api.rb +1 -1
  26. data/lib/zyphr/api/inbound_email_api.rb +1 -1
  27. data/lib/zyphr/api/inbox_api.rb +1 -1
  28. data/lib/zyphr/api/push_api.rb +1 -1
  29. data/lib/zyphr/api/slack_api.rb +1 -1
  30. data/lib/zyphr/api/sms_api.rb +1 -1
  31. data/lib/zyphr/api/subscribers_api.rb +1 -1
  32. data/lib/zyphr/api/templates_api.rb +1 -1
  33. data/lib/zyphr/api/topics_api.rb +1 -1
  34. data/lib/zyphr/api/utility_api.rb +1 -1
  35. data/lib/zyphr/api/waa_s_applications_api.rb +1 -1
  36. data/lib/zyphr/api/waa_s_deliveries_api.rb +1 -1
  37. data/lib/zyphr/api/waa_s_endpoints_api.rb +1 -1
  38. data/lib/zyphr/api/waa_s_event_types_api.rb +1 -1
  39. data/lib/zyphr/api/waa_s_events_api.rb +1 -1
  40. data/lib/zyphr/api/waa_s_portal_api.rb +1 -1
  41. data/lib/zyphr/api/webhooks_api.rb +1 -1
  42. data/lib/zyphr/api/workflows_api.rb +1 -1
  43. data/lib/zyphr/api_client.rb +1 -1
  44. data/lib/zyphr/api_error.rb +1 -1
  45. data/lib/zyphr/configuration.rb +1 -1
  46. data/lib/zyphr/models/add_domain200_response.rb +1 -1
  47. data/lib/zyphr/models/add_domain200_response_meta.rb +1 -1
  48. data/lib/zyphr/models/add_domain_request.rb +1 -1
  49. data/lib/zyphr/models/add_organization_member_request.rb +1 -1
  50. data/lib/zyphr/models/add_topic_subscribers_request.rb +1 -1
  51. data/lib/zyphr/models/add_workflow_step201_response.rb +1 -1
  52. data/lib/zyphr/models/add_workflow_step_request.rb +1 -1
  53. data/lib/zyphr/models/api_error.rb +1 -1
  54. data/lib/zyphr/models/api_error_error.rb +1 -1
  55. data/lib/zyphr/models/api_error_meta.rb +1 -1
  56. data/lib/zyphr/models/application_self.rb +1 -1
  57. data/lib/zyphr/models/application_self_response.rb +1 -1
  58. data/lib/zyphr/models/auth_email_template.rb +1 -1
  59. data/lib/zyphr/models/auth_email_template_default.rb +1 -1
  60. data/lib/zyphr/models/auth_email_template_default_response.rb +1 -1
  61. data/lib/zyphr/models/auth_email_template_delete_response.rb +1 -1
  62. data/lib/zyphr/models/auth_email_template_delete_response_data.rb +1 -1
  63. data/lib/zyphr/models/auth_email_template_list_response.rb +1 -1
  64. data/lib/zyphr/models/auth_email_template_preview_draft.rb +1 -1
  65. data/lib/zyphr/models/auth_email_template_preview_request.rb +1 -1
  66. data/lib/zyphr/models/auth_email_template_preview_response.rb +1 -1
  67. data/lib/zyphr/models/auth_email_template_preview_result.rb +1 -1
  68. data/lib/zyphr/models/auth_email_template_response.rb +1 -1
  69. data/lib/zyphr/models/auth_email_template_test_request.rb +1 -1
  70. data/lib/zyphr/models/auth_email_template_test_response.rb +1 -1
  71. data/lib/zyphr/models/auth_email_template_test_result.rb +1 -1
  72. data/lib/zyphr/models/auth_email_template_version.rb +1 -1
  73. data/lib/zyphr/models/auth_email_template_versions_response.rb +1 -1
  74. data/lib/zyphr/models/auth_email_type.rb +1 -1
  75. data/lib/zyphr/models/auth_login_response.rb +1 -1
  76. data/lib/zyphr/models/auth_login_result.rb +1 -1
  77. data/lib/zyphr/models/auth_login_result_mfa_challenge.rb +1 -1
  78. data/lib/zyphr/models/auth_methods.rb +1 -1
  79. data/lib/zyphr/models/auth_result.rb +1 -1
  80. data/lib/zyphr/models/auth_result_response.rb +1 -1
  81. data/lib/zyphr/models/auth_session.rb +1 -1
  82. data/lib/zyphr/models/auth_tokens.rb +1 -1
  83. data/lib/zyphr/models/auth_user.rb +1 -1
  84. data/lib/zyphr/models/auth_user_response.rb +1 -1
  85. data/lib/zyphr/models/auth_user_response_data.rb +1 -1
  86. data/lib/zyphr/models/batch_publish_waa_s_events201_response.rb +1 -1
  87. data/lib/zyphr/models/batch_recipient.rb +1 -1
  88. data/lib/zyphr/models/bulk_retry_webhook_deliveries_request.rb +1 -1
  89. data/lib/zyphr/models/bulk_upsert_auth_email_templates_request.rb +1 -1
  90. data/lib/zyphr/models/bulk_upsert_auth_email_templates_response.rb +1 -1
  91. data/lib/zyphr/models/category.rb +1 -1
  92. data/lib/zyphr/models/category_list_response.rb +1 -1
  93. data/lib/zyphr/models/category_response.rb +1 -1
  94. data/lib/zyphr/models/change_password_request.rb +1 -1
  95. data/lib/zyphr/models/close_waa_s_endpoint_circuit200_response.rb +1 -1
  96. data/lib/zyphr/models/close_waa_s_endpoint_circuit200_response_data.rb +1 -1
  97. data/lib/zyphr/models/confirm_email_verification_request.rb +1 -1
  98. data/lib/zyphr/models/confirm_email_verification_response.rb +1 -1
  99. data/lib/zyphr/models/confirm_email_verification_response_data.rb +1 -1
  100. data/lib/zyphr/models/consent_history_entry.rb +1 -1
  101. data/lib/zyphr/models/consent_history_response.rb +1 -1
  102. data/lib/zyphr/models/consent_record_response.rb +1 -1
  103. data/lib/zyphr/models/consent_record_response_data.rb +1 -1
  104. data/lib/zyphr/models/consent_status.rb +1 -1
  105. data/lib/zyphr/models/consent_status_response.rb +1 -1
  106. data/lib/zyphr/models/consent_withdraw_response.rb +1 -1
  107. data/lib/zyphr/models/convert_anonymous_user_request.rb +1 -1
  108. data/lib/zyphr/models/convert_anonymous_user_request_one_of.rb +1 -1
  109. data/lib/zyphr/models/convert_anonymous_user_request_one_of1.rb +1 -1
  110. data/lib/zyphr/models/convert_anonymous_user_request_one_of1_apple_user.rb +1 -1
  111. data/lib/zyphr/models/convert_anonymous_user_request_one_of1_apple_user_name.rb +1 -1
  112. data/lib/zyphr/models/create_category_request.rb +1 -1
  113. data/lib/zyphr/models/create_organization_request.rb +1 -1
  114. data/lib/zyphr/models/create_subscriber_request.rb +1 -1
  115. data/lib/zyphr/models/create_template_request.rb +1 -1
  116. data/lib/zyphr/models/create_topic_request.rb +1 -1
  117. data/lib/zyphr/models/create_waa_s_application201_response.rb +1 -1
  118. data/lib/zyphr/models/create_waa_s_application_request.rb +1 -1
  119. data/lib/zyphr/models/create_waa_s_endpoint201_response.rb +1 -1
  120. data/lib/zyphr/models/create_waa_s_endpoint_request.rb +1 -1
  121. data/lib/zyphr/models/create_waa_s_endpoint_response.rb +1 -1
  122. data/lib/zyphr/models/create_waa_s_event_type201_response.rb +1 -1
  123. data/lib/zyphr/models/create_waa_s_event_type_request.rb +1 -1
  124. data/lib/zyphr/models/create_webhook_request.rb +1 -1
  125. data/lib/zyphr/models/create_workflow201_response.rb +1 -1
  126. data/lib/zyphr/models/create_workflow_request.rb +1 -1
  127. data/lib/zyphr/models/delete_domain_response.rb +1 -1
  128. data/lib/zyphr/models/delete_domain_response_data.rb +1 -1
  129. data/lib/zyphr/models/delete_result.rb +1 -1
  130. data/lib/zyphr/models/delete_result_data.rb +1 -1
  131. data/lib/zyphr/models/delete_workflow200_response.rb +1 -1
  132. data/lib/zyphr/models/delete_workflow200_response_data.rb +1 -1
  133. data/lib/zyphr/models/delete_workflow_step200_response.rb +1 -1
  134. data/lib/zyphr/models/delete_workflow_step200_response_data.rb +1 -1
  135. data/lib/zyphr/models/device.rb +1 -1
  136. data/lib/zyphr/models/device_list_response.rb +1 -1
  137. data/lib/zyphr/models/device_push_topic.rb +1 -1
  138. data/lib/zyphr/models/device_push_topic_list_response.rb +1 -1
  139. data/lib/zyphr/models/device_push_topic_list_response_meta.rb +1 -1
  140. data/lib/zyphr/models/device_response.rb +1 -1
  141. data/lib/zyphr/models/device_stats.rb +1 -1
  142. data/lib/zyphr/models/device_stats_response.rb +1 -1
  143. data/lib/zyphr/models/dns_record.rb +1 -1
  144. data/lib/zyphr/models/domain_list_response.rb +1 -1
  145. data/lib/zyphr/models/domain_list_response_meta.rb +1 -1
  146. data/lib/zyphr/models/domain_response.rb +1 -1
  147. data/lib/zyphr/models/email_address.rb +1 -1
  148. data/lib/zyphr/models/email_attachment.rb +1 -1
  149. data/lib/zyphr/models/email_event.rb +1 -1
  150. data/lib/zyphr/models/email_events_response.rb +1 -1
  151. data/lib/zyphr/models/email_list_response.rb +1 -1
  152. data/lib/zyphr/models/email_message.rb +1 -1
  153. data/lib/zyphr/models/email_response.rb +1 -1
  154. data/lib/zyphr/models/email_tracking_click_link.rb +1 -1
  155. data/lib/zyphr/models/email_tracking_clicks.rb +1 -1
  156. data/lib/zyphr/models/email_tracking_data.rb +1 -1
  157. data/lib/zyphr/models/email_tracking_opens.rb +1 -1
  158. data/lib/zyphr/models/email_tracking_response.rb +1 -1
  159. data/lib/zyphr/models/end_user_delete_response.rb +1 -1
  160. data/lib/zyphr/models/end_user_delete_response_data.rb +1 -1
  161. data/lib/zyphr/models/execution_cancel_response.rb +1 -1
  162. data/lib/zyphr/models/execution_cancel_response_data.rb +1 -1
  163. data/lib/zyphr/models/execution_response.rb +1 -1
  164. data/lib/zyphr/models/execution_retry_response.rb +1 -1
  165. data/lib/zyphr/models/execution_retry_response_data.rb +1 -1
  166. data/lib/zyphr/models/forgot_password_request.rb +1 -1
  167. data/lib/zyphr/models/generate_subscriber_token200_response.rb +1 -1
  168. data/lib/zyphr/models/generate_subscriber_token200_response_data.rb +1 -1
  169. data/lib/zyphr/models/generate_subscriber_token_request.rb +1 -1
  170. data/lib/zyphr/models/generate_waa_s_portal_token201_response.rb +1 -1
  171. data/lib/zyphr/models/get_domain200_response.rb +1 -1
  172. data/lib/zyphr/models/get_domain200_response_meta.rb +1 -1
  173. data/lib/zyphr/models/get_end_user_auth_methods200_response.rb +1 -1
  174. data/lib/zyphr/models/get_end_user_by_id200_response.rb +1 -1
  175. data/lib/zyphr/models/get_end_user_claims200_response.rb +1 -1
  176. data/lib/zyphr/models/get_end_user_claims200_response_data.rb +1 -1
  177. data/lib/zyphr/models/get_subscriber_inbox_preferences200_response.rb +1 -1
  178. data/lib/zyphr/models/get_subscriber_inbox_preferences200_response_data.rb +1 -1
  179. data/lib/zyphr/models/get_subscriber_inbox_preferences200_response_data_categories_inner.rb +1 -1
  180. data/lib/zyphr/models/get_subscriber_inbox_preferences200_response_data_categories_inner_category.rb +1 -1
  181. data/lib/zyphr/models/get_subscriber_inbox_preferences200_response_data_global.rb +1 -1
  182. data/lib/zyphr/models/get_subscriber_inbox_preferences200_response_data_global_channels_inner.rb +1 -1
  183. data/lib/zyphr/models/get_subscriber_notification200_response.rb +1 -1
  184. data/lib/zyphr/models/get_subscriber_unread_count200_response.rb +1 -1
  185. data/lib/zyphr/models/get_waa_s_delivery200_response.rb +1 -1
  186. data/lib/zyphr/models/get_waa_s_endpoint200_response.rb +1 -1
  187. data/lib/zyphr/models/get_waa_s_endpoint_circuit200_response.rb +1 -1
  188. data/lib/zyphr/models/get_waa_s_endpoint_circuit200_response_data.rb +1 -1
  189. data/lib/zyphr/models/get_waa_s_endpoint_metrics200_response.rb +1 -1
  190. data/lib/zyphr/models/get_waa_s_endpoint_metrics200_response_data.rb +1 -1
  191. data/lib/zyphr/models/get_waa_s_endpoint_metrics200_response_data_health.rb +1 -1
  192. data/lib/zyphr/models/get_waa_s_endpoint_metrics200_response_data_windows_value.rb +1 -1
  193. data/lib/zyphr/models/get_waa_s_usage200_response.rb +1 -1
  194. data/lib/zyphr/models/in_app_notification.rb +1 -1
  195. data/lib/zyphr/models/inbound_attachment_url_response.rb +1 -1
  196. data/lib/zyphr/models/inbound_attachment_url_response_data.rb +1 -1
  197. data/lib/zyphr/models/inbound_email.rb +1 -1
  198. data/lib/zyphr/models/inbound_email_attachment.rb +1 -1
  199. data/lib/zyphr/models/inbound_email_from.rb +1 -1
  200. data/lib/zyphr/models/inbound_email_list_response.rb +1 -1
  201. data/lib/zyphr/models/inbound_email_list_response_meta.rb +1 -1
  202. data/lib/zyphr/models/inbound_email_response.rb +1 -1
  203. data/lib/zyphr/models/inbox_list_meta.rb +1 -1
  204. data/lib/zyphr/models/inbox_list_response.rb +1 -1
  205. data/lib/zyphr/models/inbox_notification_response.rb +1 -1
  206. data/lib/zyphr/models/invite_end_user200_response.rb +1 -1
  207. data/lib/zyphr/models/invite_end_user200_response_data.rb +1 -1
  208. data/lib/zyphr/models/invite_end_user_request.rb +1 -1
  209. data/lib/zyphr/models/list_end_users200_response.rb +1 -1
  210. data/lib/zyphr/models/list_end_users200_response_meta.rb +1 -1
  211. data/lib/zyphr/models/list_waa_s_applications200_response.rb +1 -1
  212. data/lib/zyphr/models/list_waa_s_endpoint_deliveries200_response.rb +1 -1
  213. data/lib/zyphr/models/list_waa_s_endpoints200_response.rb +1 -1
  214. data/lib/zyphr/models/list_waa_s_event_types200_response.rb +1 -1
  215. data/lib/zyphr/models/list_workflow_executions200_response.rb +1 -1
  216. data/lib/zyphr/models/list_workflows200_response.rb +1 -1
  217. data/lib/zyphr/models/list_workflows200_response_meta.rb +1 -1
  218. data/lib/zyphr/models/login_request.rb +1 -1
  219. data/lib/zyphr/models/magic_link_send_request.rb +1 -1
  220. data/lib/zyphr/models/magic_link_verify_request.rb +1 -1
  221. data/lib/zyphr/models/magic_link_verify_response.rb +1 -1
  222. data/lib/zyphr/models/magic_link_verify_response_data.rb +1 -1
  223. data/lib/zyphr/models/mark_all_inbox_read_request.rb +1 -1
  224. data/lib/zyphr/models/mark_all_read_data.rb +1 -1
  225. data/lib/zyphr/models/mark_all_read_response.rb +1 -1
  226. data/lib/zyphr/models/mark_all_subscriber_notifications_read200_response.rb +1 -1
  227. data/lib/zyphr/models/mark_all_subscriber_notifications_read_request.rb +1 -1
  228. data/lib/zyphr/models/mark_inbox_read_request.rb +1 -1
  229. data/lib/zyphr/models/mfa_backup_codes_response.rb +1 -1
  230. data/lib/zyphr/models/mfa_backup_codes_response_data.rb +1 -1
  231. data/lib/zyphr/models/mfa_disable_request.rb +1 -1
  232. data/lib/zyphr/models/mfa_disable_response.rb +1 -1
  233. data/lib/zyphr/models/mfa_disable_response_data.rb +1 -1
  234. data/lib/zyphr/models/mfa_enroll_request.rb +1 -1
  235. data/lib/zyphr/models/mfa_enrollment_response.rb +1 -1
  236. data/lib/zyphr/models/mfa_enrollment_response_data.rb +1 -1
  237. data/lib/zyphr/models/mfa_regenerate_backup_codes_request.rb +1 -1
  238. data/lib/zyphr/models/mfa_status_response.rb +1 -1
  239. data/lib/zyphr/models/mfa_status_response_data.rb +1 -1
  240. data/lib/zyphr/models/mfa_verify_backup_request.rb +1 -1
  241. data/lib/zyphr/models/mfa_verify_backup_response.rb +1 -1
  242. data/lib/zyphr/models/mfa_verify_backup_response_data.rb +1 -1
  243. data/lib/zyphr/models/mfa_verify_enrollment_request.rb +1 -1
  244. data/lib/zyphr/models/mfa_verify_enrollment_response.rb +1 -1
  245. data/lib/zyphr/models/mfa_verify_enrollment_response_data.rb +1 -1
  246. data/lib/zyphr/models/mfa_verify_request.rb +1 -1
  247. data/lib/zyphr/models/o_auth_authorization_url_response.rb +1 -1
  248. data/lib/zyphr/models/o_auth_authorization_url_response_data.rb +1 -1
  249. data/lib/zyphr/models/o_auth_authorize_response.rb +1 -1
  250. data/lib/zyphr/models/o_auth_authorize_response_data.rb +1 -1
  251. data/lib/zyphr/models/o_auth_callback_request.rb +1 -1
  252. data/lib/zyphr/models/o_auth_callback_response.rb +1 -1
  253. data/lib/zyphr/models/o_auth_callback_response_data.rb +1 -1
  254. data/lib/zyphr/models/o_auth_connection.rb +1 -1
  255. data/lib/zyphr/models/o_auth_connection_info_response.rb +1 -1
  256. data/lib/zyphr/models/o_auth_connection_info_response_data.rb +1 -1
  257. data/lib/zyphr/models/o_auth_connections_response.rb +1 -1
  258. data/lib/zyphr/models/o_auth_connections_response_data.rb +1 -1
  259. data/lib/zyphr/models/o_auth_link_response.rb +1 -1
  260. data/lib/zyphr/models/o_auth_link_response_data.rb +1 -1
  261. data/lib/zyphr/models/o_auth_provider.rb +1 -1
  262. data/lib/zyphr/models/o_auth_provider_info.rb +1 -1
  263. data/lib/zyphr/models/o_auth_provider_name.rb +1 -1
  264. data/lib/zyphr/models/o_auth_providers_response.rb +1 -1
  265. data/lib/zyphr/models/o_auth_providers_response_data.rb +1 -1
  266. data/lib/zyphr/models/o_auth_tokens_refresh_response.rb +1 -1
  267. data/lib/zyphr/models/o_auth_tokens_refresh_response_data.rb +1 -1
  268. data/lib/zyphr/models/o_auth_tokens_response.rb +1 -1
  269. data/lib/zyphr/models/o_auth_tokens_response_data.rb +1 -1
  270. data/lib/zyphr/models/organization.rb +1 -1
  271. data/lib/zyphr/models/organization_list_response.rb +1 -1
  272. data/lib/zyphr/models/organization_list_response_meta.rb +1 -1
  273. data/lib/zyphr/models/organization_members_list_response.rb +1 -1
  274. data/lib/zyphr/models/organization_membership.rb +1 -1
  275. data/lib/zyphr/models/organization_membership_response.rb +1 -1
  276. data/lib/zyphr/models/organization_membership_with_user.rb +1 -1
  277. data/lib/zyphr/models/organization_response.rb +1 -1
  278. data/lib/zyphr/models/pagination_meta.rb +1 -1
  279. data/lib/zyphr/models/password_policy.rb +1 -1
  280. data/lib/zyphr/models/password_requirements_response.rb +1 -1
  281. data/lib/zyphr/models/password_requirements_response_data.rb +1 -1
  282. data/lib/zyphr/models/password_strength.rb +1 -1
  283. data/lib/zyphr/models/password_strength_request.rb +1 -1
  284. data/lib/zyphr/models/password_strength_response.rb +1 -1
  285. data/lib/zyphr/models/payload_too_large_error.rb +1 -1
  286. data/lib/zyphr/models/payload_too_large_error_error.rb +1 -1
  287. data/lib/zyphr/models/payload_too_large_error_error_details.rb +1 -1
  288. data/lib/zyphr/models/phone_auth_availability_response.rb +1 -1
  289. data/lib/zyphr/models/phone_auth_availability_response_data.rb +1 -1
  290. data/lib/zyphr/models/phone_login_verify_request.rb +1 -1
  291. data/lib/zyphr/models/phone_otp_send_request.rb +1 -1
  292. data/lib/zyphr/models/phone_otp_sent_response.rb +1 -1
  293. data/lib/zyphr/models/phone_otp_sent_response_data.rb +1 -1
  294. data/lib/zyphr/models/phone_register_verify_request.rb +1 -1
  295. data/lib/zyphr/models/preference_list_response.rb +1 -1
  296. data/lib/zyphr/models/publish_waa_s_event201_response.rb +1 -1
  297. data/lib/zyphr/models/push_detail_response.rb +1 -1
  298. data/lib/zyphr/models/push_event.rb +1 -1
  299. data/lib/zyphr/models/push_list_response.rb +1 -1
  300. data/lib/zyphr/models/push_message.rb +1 -1
  301. data/lib/zyphr/models/push_message_detail.rb +1 -1
  302. data/lib/zyphr/models/push_message_detail_all_of_action_buttons.rb +1 -1
  303. data/lib/zyphr/models/push_stats_data.rb +1 -1
  304. data/lib/zyphr/models/push_stats_response.rb +1 -1
  305. data/lib/zyphr/models/push_topic_device.rb +1 -1
  306. data/lib/zyphr/models/push_topic_device_list_response.rb +1 -1
  307. data/lib/zyphr/models/push_topic_subscribe_data.rb +1 -1
  308. data/lib/zyphr/models/push_topic_subscribe_response.rb +1 -1
  309. data/lib/zyphr/models/push_topic_unsubscribe_data.rb +1 -1
  310. data/lib/zyphr/models/push_topic_unsubscribe_response.rb +1 -1
  311. data/lib/zyphr/models/refresh_o_auth_tokens_request.rb +1 -1
  312. data/lib/zyphr/models/refresh_session_request.rb +1 -1
  313. data/lib/zyphr/models/refresh_token_response.rb +1 -1
  314. data/lib/zyphr/models/refresh_token_response_data.rb +1 -1
  315. data/lib/zyphr/models/register_device_request.rb +1 -1
  316. data/lib/zyphr/models/register_request.rb +1 -1
  317. data/lib/zyphr/models/remove_topic_subscribers_request.rb +1 -1
  318. data/lib/zyphr/models/rename_web_authn_credential_request.rb +1 -1
  319. data/lib/zyphr/models/render_template_request.rb +1 -1
  320. data/lib/zyphr/models/reorder_workflow_steps_request.rb +1 -1
  321. data/lib/zyphr/models/replay_webhook_events_request.rb +1 -1
  322. data/lib/zyphr/models/request_meta.rb +1 -1
  323. data/lib/zyphr/models/resend_email_verification_request.rb +1 -1
  324. data/lib/zyphr/models/reset_password_request.rb +1 -1
  325. data/lib/zyphr/models/reset_password_response.rb +1 -1
  326. data/lib/zyphr/models/resubscribe_request.rb +1 -1
  327. data/lib/zyphr/models/resubscribe_response.rb +1 -1
  328. data/lib/zyphr/models/revoke_all_sessions_response.rb +1 -1
  329. data/lib/zyphr/models/revoke_all_sessions_response_data.rb +1 -1
  330. data/lib/zyphr/models/revoke_session_request.rb +1 -1
  331. data/lib/zyphr/models/rotate_waa_s_endpoint_secret200_response.rb +1 -1
  332. data/lib/zyphr/models/rotate_waa_s_endpoint_secret200_response_data.rb +1 -1
  333. data/lib/zyphr/models/send_batch_email_request.rb +1 -1
  334. data/lib/zyphr/models/send_batch_email_response.rb +1 -1
  335. data/lib/zyphr/models/send_batch_email_result.rb +1 -1
  336. data/lib/zyphr/models/send_batch_email_result_item.rb +1 -1
  337. data/lib/zyphr/models/send_batch_in_app_meta.rb +1 -1
  338. data/lib/zyphr/models/send_batch_in_app_request.rb +1 -1
  339. data/lib/zyphr/models/send_batch_in_app_response.rb +1 -1
  340. data/lib/zyphr/models/send_batch_sms_data.rb +1 -1
  341. data/lib/zyphr/models/send_batch_sms_request.rb +1 -1
  342. data/lib/zyphr/models/send_batch_sms_response.rb +1 -1
  343. data/lib/zyphr/models/send_email_otp_registration_request.rb +1 -1
  344. data/lib/zyphr/models/send_email_request.rb +1 -1
  345. data/lib/zyphr/models/send_email_response.rb +1 -1
  346. data/lib/zyphr/models/send_email_response_data.rb +1 -1
  347. data/lib/zyphr/models/send_email_response_meta.rb +1 -1
  348. data/lib/zyphr/models/send_email_verification_request.rb +1 -1
  349. data/lib/zyphr/models/send_in_app_meta.rb +1 -1
  350. data/lib/zyphr/models/send_in_app_request.rb +1 -1
  351. data/lib/zyphr/models/send_in_app_response.rb +1 -1
  352. data/lib/zyphr/models/send_push_request.rb +1 -1
  353. data/lib/zyphr/models/send_push_request_action_buttons_inner.rb +1 -1
  354. data/lib/zyphr/models/send_push_response.rb +1 -1
  355. data/lib/zyphr/models/send_push_response_data.rb +1 -1
  356. data/lib/zyphr/models/send_push_to_topic_data.rb +1 -1
  357. data/lib/zyphr/models/send_push_to_topic_request.rb +1 -1
  358. data/lib/zyphr/models/send_push_to_topic_response.rb +1 -1
  359. data/lib/zyphr/models/send_slack_message_request.rb +1 -1
  360. data/lib/zyphr/models/send_slack_message_response.rb +1 -1
  361. data/lib/zyphr/models/send_slack_message_result.rb +1 -1
  362. data/lib/zyphr/models/send_sms_data.rb +1 -1
  363. data/lib/zyphr/models/send_sms_request.rb +1 -1
  364. data/lib/zyphr/models/send_sms_response.rb +1 -1
  365. data/lib/zyphr/models/send_template_test_email202_response.rb +1 -1
  366. data/lib/zyphr/models/send_template_test_email202_response_data.rb +1 -1
  367. data/lib/zyphr/models/send_template_test_email202_response_meta.rb +1 -1
  368. data/lib/zyphr/models/send_template_test_email_request.rb +1 -1
  369. data/lib/zyphr/models/send_test_sms_data.rb +1 -1
  370. data/lib/zyphr/models/send_test_sms_request.rb +1 -1
  371. data/lib/zyphr/models/send_test_sms_response.rb +1 -1
  372. data/lib/zyphr/models/send_webhook_test_event_request.rb +1 -1
  373. data/lib/zyphr/models/session_list_response.rb +1 -1
  374. data/lib/zyphr/models/session_list_response_data.rb +1 -1
  375. data/lib/zyphr/models/session_list_response_data_session_info.rb +1 -1
  376. data/lib/zyphr/models/set_domain_inbound_request.rb +1 -1
  377. data/lib/zyphr/models/set_end_user_claims200_response.rb +1 -1
  378. data/lib/zyphr/models/set_end_user_claims200_response_data.rb +1 -1
  379. data/lib/zyphr/models/set_end_user_claims_request.rb +1 -1
  380. data/lib/zyphr/models/set_preferences_request.rb +1 -1
  381. data/lib/zyphr/models/set_preferences_request_preferences_inner.rb +1 -1
  382. data/lib/zyphr/models/set_self_application_test_recipients_request.rb +1 -1
  383. data/lib/zyphr/models/sign_in_anonymously_request.rb +1 -1
  384. data/lib/zyphr/models/sign_in_with_game_center_request.rb +1 -1
  385. data/lib/zyphr/models/sign_in_with_google_play_games_request.rb +1 -1
  386. data/lib/zyphr/models/slack_message.rb +1 -1
  387. data/lib/zyphr/models/slack_message_list_response.rb +1 -1
  388. data/lib/zyphr/models/slack_message_list_response_meta.rb +1 -1
  389. data/lib/zyphr/models/slack_message_response.rb +1 -1
  390. data/lib/zyphr/models/slack_message_status.rb +1 -1
  391. data/lib/zyphr/models/slack_message_summary.rb +1 -1
  392. data/lib/zyphr/models/sms_batch_result_message.rb +1 -1
  393. data/lib/zyphr/models/sms_batch_result_summary.rb +1 -1
  394. data/lib/zyphr/models/sms_config.rb +1 -1
  395. data/lib/zyphr/models/sms_config_delete_response.rb +1 -1
  396. data/lib/zyphr/models/sms_config_delete_response_data.rb +1 -1
  397. data/lib/zyphr/models/sms_config_response.rb +1 -1
  398. data/lib/zyphr/models/sms_detail_response.rb +1 -1
  399. data/lib/zyphr/models/sms_list_response.rb +1 -1
  400. data/lib/zyphr/models/sms_message.rb +1 -1
  401. data/lib/zyphr/models/sms_message_detail.rb +1 -1
  402. data/lib/zyphr/models/subscribe_push_topic_request.rb +1 -1
  403. data/lib/zyphr/models/subscriber.rb +1 -1
  404. data/lib/zyphr/models/subscriber_list_response.rb +1 -1
  405. data/lib/zyphr/models/subscriber_preference.rb +1 -1
  406. data/lib/zyphr/models/subscriber_response.rb +1 -1
  407. data/lib/zyphr/models/success_result.rb +1 -1
  408. data/lib/zyphr/models/switch_organization_request.rb +1 -1
  409. data/lib/zyphr/models/switch_organization_response.rb +1 -1
  410. data/lib/zyphr/models/switch_organization_response_data.rb +1 -1
  411. data/lib/zyphr/models/switch_organization_response_data_tokens.rb +1 -1
  412. data/lib/zyphr/models/switch_organization_response_data_user.rb +1 -1
  413. data/lib/zyphr/models/template.rb +1 -1
  414. data/lib/zyphr/models/template_list_response.rb +1 -1
  415. data/lib/zyphr/models/template_render_response.rb +1 -1
  416. data/lib/zyphr/models/template_rendered_content.rb +1 -1
  417. data/lib/zyphr/models/template_response.rb +1 -1
  418. data/lib/zyphr/models/test_webhook_transform_request.rb +1 -1
  419. data/lib/zyphr/models/topic.rb +1 -1
  420. data/lib/zyphr/models/topic_delete_response.rb +1 -1
  421. data/lib/zyphr/models/topic_list_response.rb +1 -1
  422. data/lib/zyphr/models/topic_response.rb +1 -1
  423. data/lib/zyphr/models/topic_stats_data.rb +1 -1
  424. data/lib/zyphr/models/topic_stats_data_topics_by_subscriber_count_inner.rb +1 -1
  425. data/lib/zyphr/models/topic_stats_response.rb +1 -1
  426. data/lib/zyphr/models/topic_subscriber.rb +1 -1
  427. data/lib/zyphr/models/topic_subscriber_list_response.rb +1 -1
  428. data/lib/zyphr/models/topic_subscribers_add_response.rb +1 -1
  429. data/lib/zyphr/models/topic_subscribers_add_result.rb +1 -1
  430. data/lib/zyphr/models/topic_subscribers_remove_response.rb +1 -1
  431. data/lib/zyphr/models/topic_subscribers_remove_result.rb +1 -1
  432. data/lib/zyphr/models/trigger_workflow202_response.rb +1 -1
  433. data/lib/zyphr/models/trigger_workflow202_response_data.rb +1 -1
  434. data/lib/zyphr/models/trigger_workflow_request.rb +1 -1
  435. data/lib/zyphr/models/unread_count_data.rb +1 -1
  436. data/lib/zyphr/models/unread_count_response.rb +1 -1
  437. data/lib/zyphr/models/unsubscribe.rb +1 -1
  438. data/lib/zyphr/models/unsubscribe_list_response.rb +1 -1
  439. data/lib/zyphr/models/unsubscribe_request.rb +1 -1
  440. data/lib/zyphr/models/unsubscribe_response.rb +1 -1
  441. data/lib/zyphr/models/update_category_request.rb +1 -1
  442. data/lib/zyphr/models/update_end_user_by_application_request.rb +1 -1
  443. data/lib/zyphr/models/update_end_user_request.rb +1 -1
  444. data/lib/zyphr/models/update_organization_member_role_request.rb +1 -1
  445. data/lib/zyphr/models/update_organization_request.rb +1 -1
  446. data/lib/zyphr/models/update_subscriber_preferences200_response.rb +1 -1
  447. data/lib/zyphr/models/update_subscriber_preferences200_response_data.rb +1 -1
  448. data/lib/zyphr/models/update_subscriber_preferences200_response_data_preferences_inner.rb +1 -1
  449. data/lib/zyphr/models/update_subscriber_preferences_request.rb +1 -1
  450. data/lib/zyphr/models/update_subscriber_preferences_request_preferences_inner.rb +1 -1
  451. data/lib/zyphr/models/update_subscriber_request.rb +1 -1
  452. data/lib/zyphr/models/update_template_request.rb +1 -1
  453. data/lib/zyphr/models/update_topic_request.rb +1 -1
  454. data/lib/zyphr/models/update_waa_s_application_request.rb +1 -1
  455. data/lib/zyphr/models/update_waa_s_endpoint200_response.rb +1 -1
  456. data/lib/zyphr/models/update_waa_s_endpoint_request.rb +1 -1
  457. data/lib/zyphr/models/update_waa_s_event_type200_response.rb +1 -1
  458. data/lib/zyphr/models/update_waa_s_event_type_request.rb +1 -1
  459. data/lib/zyphr/models/update_webhook_request.rb +1 -1
  460. data/lib/zyphr/models/update_workflow_request.rb +1 -1
  461. data/lib/zyphr/models/update_workflow_status_request.rb +1 -1
  462. data/lib/zyphr/models/update_workflow_step_request.rb +1 -1
  463. data/lib/zyphr/models/upsert_auth_email_template_request.rb +1 -1
  464. data/lib/zyphr/models/upsert_sms_config_request.rb +1 -1
  465. data/lib/zyphr/models/user_devices_delete_response.rb +1 -1
  466. data/lib/zyphr/models/user_devices_delete_response_data.rb +1 -1
  467. data/lib/zyphr/models/validate_reset_token_request.rb +1 -1
  468. data/lib/zyphr/models/validate_reset_token_response.rb +1 -1
  469. data/lib/zyphr/models/validate_reset_token_response_data.rb +1 -1
  470. data/lib/zyphr/models/verification_status_response.rb +1 -1
  471. data/lib/zyphr/models/verification_status_response_data.rb +1 -1
  472. data/lib/zyphr/models/verify_domain_response.rb +1 -1
  473. data/lib/zyphr/models/verify_domain_response_data.rb +1 -1
  474. data/lib/zyphr/models/verify_email_otp_login_request.rb +1 -1
  475. data/lib/zyphr/models/verify_email_otp_registration_request.rb +1 -1
  476. data/lib/zyphr/models/verify_sms_config_data.rb +1 -1
  477. data/lib/zyphr/models/verify_sms_config_response.rb +1 -1
  478. data/lib/zyphr/models/waa_s_application.rb +1 -1
  479. data/lib/zyphr/models/waa_s_batch_publish_request.rb +1 -1
  480. data/lib/zyphr/models/waa_s_batch_publish_response.rb +20 -9
  481. data/lib/zyphr/models/waa_s_batch_publish_result.rb +299 -0
  482. data/lib/zyphr/models/waa_s_delivery.rb +1 -1
  483. data/lib/zyphr/models/waa_s_endpoint.rb +1 -1
  484. data/lib/zyphr/models/waa_s_event_type.rb +1 -1
  485. data/lib/zyphr/models/waa_s_portal_token_request.rb +1 -1
  486. data/lib/zyphr/models/waa_s_portal_token_request_theme.rb +1 -1
  487. data/lib/zyphr/models/waa_s_portal_token_response.rb +1 -1
  488. data/lib/zyphr/models/waa_s_publish_event_request.rb +1 -1
  489. data/lib/zyphr/models/waa_s_publish_event_response.rb +25 -5
  490. data/lib/zyphr/models/waa_s_usage_response.rb +1 -1
  491. data/lib/zyphr/models/web_authn_challenge_options.rb +1 -1
  492. data/lib/zyphr/models/web_authn_credential.rb +1 -1
  493. data/lib/zyphr/models/web_authn_credential_list_response.rb +1 -1
  494. data/lib/zyphr/models/web_authn_credential_list_response_data.rb +1 -1
  495. data/lib/zyphr/models/web_authn_credential_response.rb +1 -1
  496. data/lib/zyphr/models/web_authn_start_auth_request.rb +1 -1
  497. data/lib/zyphr/models/web_authn_start_auth_response.rb +1 -1
  498. data/lib/zyphr/models/web_authn_start_registration_request.rb +1 -1
  499. data/lib/zyphr/models/web_authn_start_registration_response.rb +1 -1
  500. data/lib/zyphr/models/web_authn_status_response.rb +1 -1
  501. data/lib/zyphr/models/web_authn_status_response_data.rb +1 -1
  502. data/lib/zyphr/models/web_authn_verify_auth_request.rb +1 -1
  503. data/lib/zyphr/models/web_authn_verify_registration_request.rb +1 -1
  504. data/lib/zyphr/models/web_authn_verify_registration_response.rb +1 -1
  505. data/lib/zyphr/models/web_authn_verify_registration_response_data.rb +1 -1
  506. data/lib/zyphr/models/webhook.rb +1 -1
  507. data/lib/zyphr/models/webhook_account_metrics_response.rb +1 -1
  508. data/lib/zyphr/models/webhook_bulk_retry_response.rb +1 -1
  509. data/lib/zyphr/models/webhook_circuit_state.rb +1 -1
  510. data/lib/zyphr/models/webhook_circuit_state_response.rb +1 -1
  511. data/lib/zyphr/models/webhook_create_response.rb +1 -1
  512. data/lib/zyphr/models/webhook_create_response_data.rb +1 -1
  513. data/lib/zyphr/models/webhook_delete_response.rb +1 -1
  514. data/lib/zyphr/models/webhook_delete_response_data.rb +1 -1
  515. data/lib/zyphr/models/webhook_delivery.rb +1 -1
  516. data/lib/zyphr/models/webhook_delivery_detail.rb +1 -1
  517. data/lib/zyphr/models/webhook_delivery_list_response.rb +1 -1
  518. data/lib/zyphr/models/webhook_delivery_response.rb +1 -1
  519. data/lib/zyphr/models/webhook_delivery_retry_response.rb +1 -1
  520. data/lib/zyphr/models/webhook_delivery_retry_response_data.rb +1 -1
  521. data/lib/zyphr/models/webhook_event_type.rb +1 -1
  522. data/lib/zyphr/models/webhook_event_types_response.rb +1 -1
  523. data/lib/zyphr/models/webhook_event_types_response_data.rb +1 -1
  524. data/lib/zyphr/models/webhook_ips_response.rb +1 -1
  525. data/lib/zyphr/models/webhook_ips_response_data.rb +1 -1
  526. data/lib/zyphr/models/webhook_job_response.rb +1 -1
  527. data/lib/zyphr/models/webhook_list_response.rb +1 -1
  528. data/lib/zyphr/models/webhook_metrics_response.rb +1 -1
  529. data/lib/zyphr/models/webhook_replay_response.rb +1 -1
  530. data/lib/zyphr/models/webhook_response.rb +1 -1
  531. data/lib/zyphr/models/webhook_secret_rotate_response.rb +1 -1
  532. data/lib/zyphr/models/webhook_secret_rotate_response_data.rb +1 -1
  533. data/lib/zyphr/models/webhook_test_event_response.rb +1 -1
  534. data/lib/zyphr/models/webhook_test_event_response_data.rb +1 -1
  535. data/lib/zyphr/models/webhook_transform_test_response.rb +1 -1
  536. data/lib/zyphr/models/webhook_usage_response.rb +1 -1
  537. data/lib/zyphr/models/webhook_version.rb +1 -1
  538. data/lib/zyphr/models/webhook_versions_response.rb +1 -1
  539. data/lib/zyphr/models/webhook_versions_response_data.rb +1 -1
  540. data/lib/zyphr/models/withdraw_subscriber_consent_request.rb +1 -1
  541. data/lib/zyphr/models/workflow.rb +1 -1
  542. data/lib/zyphr/models/workflow_execution.rb +1 -1
  543. data/lib/zyphr/models/workflow_execution_status.rb +1 -1
  544. data/lib/zyphr/models/workflow_status.rb +1 -1
  545. data/lib/zyphr/models/workflow_step.rb +1 -1
  546. data/lib/zyphr/models/workflow_step_execution.rb +1 -1
  547. data/lib/zyphr/models/workflow_step_execution_status.rb +1 -1
  548. data/lib/zyphr/models/workflow_step_type.rb +1 -1
  549. data/lib/zyphr/version.rb +1 -1
  550. data/lib/zyphr.rb +2 -1
  551. data/spec/api/auth_application_api_spec.rb +1 -1
  552. data/spec/api/auth_email_otp_api_spec.rb +1 -1
  553. data/spec/api/auth_email_templates_api_spec.rb +1 -1
  554. data/spec/api/auth_email_verification_api_spec.rb +1 -1
  555. data/spec/api/auth_login_api_spec.rb +1 -1
  556. data/spec/api/auth_magic_links_api_spec.rb +1 -1
  557. data/spec/api/auth_mfa_api_spec.rb +1 -1
  558. data/spec/api/auth_o_auth_api_spec.rb +1 -1
  559. data/spec/api/auth_organizations_api_spec.rb +1 -1
  560. data/spec/api/auth_password_reset_api_spec.rb +1 -1
  561. data/spec/api/auth_phone_api_spec.rb +1 -1
  562. data/spec/api/auth_registration_api_spec.rb +1 -1
  563. data/spec/api/auth_sessions_api_spec.rb +1 -1
  564. data/spec/api/auth_user_directory_api_spec.rb +1 -1
  565. data/spec/api/auth_user_profile_api_spec.rb +1 -1
  566. data/spec/api/auth_web_authn_api_spec.rb +1 -1
  567. data/spec/api/devices_api_spec.rb +1 -1
  568. data/spec/api/domains_api_spec.rb +1 -1
  569. data/spec/api/emails_api_spec.rb +1 -1
  570. data/spec/api/executions_api_spec.rb +1 -1
  571. data/spec/api/inbound_email_api_spec.rb +1 -1
  572. data/spec/api/inbox_api_spec.rb +1 -1
  573. data/spec/api/push_api_spec.rb +1 -1
  574. data/spec/api/slack_api_spec.rb +1 -1
  575. data/spec/api/sms_api_spec.rb +1 -1
  576. data/spec/api/subscribers_api_spec.rb +1 -1
  577. data/spec/api/templates_api_spec.rb +1 -1
  578. data/spec/api/topics_api_spec.rb +1 -1
  579. data/spec/api/utility_api_spec.rb +1 -1
  580. data/spec/api/waa_s_applications_api_spec.rb +1 -1
  581. data/spec/api/waa_s_deliveries_api_spec.rb +1 -1
  582. data/spec/api/waa_s_endpoints_api_spec.rb +1 -1
  583. data/spec/api/waa_s_event_types_api_spec.rb +1 -1
  584. data/spec/api/waa_s_events_api_spec.rb +1 -1
  585. data/spec/api/waa_s_portal_api_spec.rb +1 -1
  586. data/spec/api/webhooks_api_spec.rb +1 -1
  587. data/spec/api/workflows_api_spec.rb +1 -1
  588. data/spec/models/add_domain200_response_meta_spec.rb +1 -1
  589. data/spec/models/add_domain200_response_spec.rb +1 -1
  590. data/spec/models/add_domain_request_spec.rb +1 -1
  591. data/spec/models/add_organization_member_request_spec.rb +1 -1
  592. data/spec/models/add_topic_subscribers_request_spec.rb +1 -1
  593. data/spec/models/add_workflow_step201_response_spec.rb +1 -1
  594. data/spec/models/add_workflow_step_request_spec.rb +1 -1
  595. data/spec/models/api_error_error_spec.rb +1 -1
  596. data/spec/models/api_error_meta_spec.rb +1 -1
  597. data/spec/models/api_error_spec.rb +1 -1
  598. data/spec/models/application_self_response_spec.rb +1 -1
  599. data/spec/models/application_self_spec.rb +1 -1
  600. data/spec/models/auth_email_template_default_response_spec.rb +1 -1
  601. data/spec/models/auth_email_template_default_spec.rb +1 -1
  602. data/spec/models/auth_email_template_delete_response_data_spec.rb +1 -1
  603. data/spec/models/auth_email_template_delete_response_spec.rb +1 -1
  604. data/spec/models/auth_email_template_list_response_spec.rb +1 -1
  605. data/spec/models/auth_email_template_preview_draft_spec.rb +1 -1
  606. data/spec/models/auth_email_template_preview_request_spec.rb +1 -1
  607. data/spec/models/auth_email_template_preview_response_spec.rb +1 -1
  608. data/spec/models/auth_email_template_preview_result_spec.rb +1 -1
  609. data/spec/models/auth_email_template_response_spec.rb +1 -1
  610. data/spec/models/auth_email_template_spec.rb +1 -1
  611. data/spec/models/auth_email_template_test_request_spec.rb +1 -1
  612. data/spec/models/auth_email_template_test_response_spec.rb +1 -1
  613. data/spec/models/auth_email_template_test_result_spec.rb +1 -1
  614. data/spec/models/auth_email_template_version_spec.rb +1 -1
  615. data/spec/models/auth_email_template_versions_response_spec.rb +1 -1
  616. data/spec/models/auth_email_type_spec.rb +1 -1
  617. data/spec/models/auth_login_response_spec.rb +1 -1
  618. data/spec/models/auth_login_result_mfa_challenge_spec.rb +1 -1
  619. data/spec/models/auth_login_result_spec.rb +1 -1
  620. data/spec/models/auth_methods_spec.rb +1 -1
  621. data/spec/models/auth_result_response_spec.rb +1 -1
  622. data/spec/models/auth_result_spec.rb +1 -1
  623. data/spec/models/auth_session_spec.rb +1 -1
  624. data/spec/models/auth_tokens_spec.rb +1 -1
  625. data/spec/models/auth_user_response_data_spec.rb +1 -1
  626. data/spec/models/auth_user_response_spec.rb +1 -1
  627. data/spec/models/auth_user_spec.rb +1 -1
  628. data/spec/models/batch_publish_waa_s_events201_response_spec.rb +1 -1
  629. data/spec/models/batch_recipient_spec.rb +1 -1
  630. data/spec/models/bulk_retry_webhook_deliveries_request_spec.rb +1 -1
  631. data/spec/models/bulk_upsert_auth_email_templates_request_spec.rb +1 -1
  632. data/spec/models/bulk_upsert_auth_email_templates_response_spec.rb +1 -1
  633. data/spec/models/category_list_response_spec.rb +1 -1
  634. data/spec/models/category_response_spec.rb +1 -1
  635. data/spec/models/category_spec.rb +1 -1
  636. data/spec/models/change_password_request_spec.rb +1 -1
  637. data/spec/models/close_waa_s_endpoint_circuit200_response_data_spec.rb +1 -1
  638. data/spec/models/close_waa_s_endpoint_circuit200_response_spec.rb +1 -1
  639. data/spec/models/confirm_email_verification_request_spec.rb +1 -1
  640. data/spec/models/confirm_email_verification_response_data_spec.rb +1 -1
  641. data/spec/models/confirm_email_verification_response_spec.rb +1 -1
  642. data/spec/models/consent_history_entry_spec.rb +1 -1
  643. data/spec/models/consent_history_response_spec.rb +1 -1
  644. data/spec/models/consent_record_response_data_spec.rb +1 -1
  645. data/spec/models/consent_record_response_spec.rb +1 -1
  646. data/spec/models/consent_status_response_spec.rb +1 -1
  647. data/spec/models/consent_status_spec.rb +1 -1
  648. data/spec/models/consent_withdraw_response_spec.rb +1 -1
  649. data/spec/models/convert_anonymous_user_request_one_of1_apple_user_name_spec.rb +1 -1
  650. data/spec/models/convert_anonymous_user_request_one_of1_apple_user_spec.rb +1 -1
  651. data/spec/models/convert_anonymous_user_request_one_of1_spec.rb +1 -1
  652. data/spec/models/convert_anonymous_user_request_one_of_spec.rb +1 -1
  653. data/spec/models/convert_anonymous_user_request_spec.rb +1 -1
  654. data/spec/models/create_category_request_spec.rb +1 -1
  655. data/spec/models/create_organization_request_spec.rb +1 -1
  656. data/spec/models/create_subscriber_request_spec.rb +1 -1
  657. data/spec/models/create_template_request_spec.rb +1 -1
  658. data/spec/models/create_topic_request_spec.rb +1 -1
  659. data/spec/models/create_waa_s_application201_response_spec.rb +1 -1
  660. data/spec/models/create_waa_s_application_request_spec.rb +1 -1
  661. data/spec/models/create_waa_s_endpoint201_response_spec.rb +1 -1
  662. data/spec/models/create_waa_s_endpoint_request_spec.rb +1 -1
  663. data/spec/models/create_waa_s_endpoint_response_spec.rb +1 -1
  664. data/spec/models/create_waa_s_event_type201_response_spec.rb +1 -1
  665. data/spec/models/create_waa_s_event_type_request_spec.rb +1 -1
  666. data/spec/models/create_webhook_request_spec.rb +1 -1
  667. data/spec/models/create_workflow201_response_spec.rb +1 -1
  668. data/spec/models/create_workflow_request_spec.rb +1 -1
  669. data/spec/models/delete_domain_response_data_spec.rb +1 -1
  670. data/spec/models/delete_domain_response_spec.rb +1 -1
  671. data/spec/models/delete_result_data_spec.rb +1 -1
  672. data/spec/models/delete_result_spec.rb +1 -1
  673. data/spec/models/delete_workflow200_response_data_spec.rb +1 -1
  674. data/spec/models/delete_workflow200_response_spec.rb +1 -1
  675. data/spec/models/delete_workflow_step200_response_data_spec.rb +1 -1
  676. data/spec/models/delete_workflow_step200_response_spec.rb +1 -1
  677. data/spec/models/device_list_response_spec.rb +1 -1
  678. data/spec/models/device_push_topic_list_response_meta_spec.rb +1 -1
  679. data/spec/models/device_push_topic_list_response_spec.rb +1 -1
  680. data/spec/models/device_push_topic_spec.rb +1 -1
  681. data/spec/models/device_response_spec.rb +1 -1
  682. data/spec/models/device_spec.rb +1 -1
  683. data/spec/models/device_stats_response_spec.rb +1 -1
  684. data/spec/models/device_stats_spec.rb +1 -1
  685. data/spec/models/dns_record_spec.rb +1 -1
  686. data/spec/models/domain_list_response_meta_spec.rb +1 -1
  687. data/spec/models/domain_list_response_spec.rb +1 -1
  688. data/spec/models/domain_response_spec.rb +1 -1
  689. data/spec/models/email_address_spec.rb +1 -1
  690. data/spec/models/email_attachment_spec.rb +1 -1
  691. data/spec/models/email_event_spec.rb +1 -1
  692. data/spec/models/email_events_response_spec.rb +1 -1
  693. data/spec/models/email_list_response_spec.rb +1 -1
  694. data/spec/models/email_message_spec.rb +1 -1
  695. data/spec/models/email_response_spec.rb +1 -1
  696. data/spec/models/email_tracking_click_link_spec.rb +1 -1
  697. data/spec/models/email_tracking_clicks_spec.rb +1 -1
  698. data/spec/models/email_tracking_data_spec.rb +1 -1
  699. data/spec/models/email_tracking_opens_spec.rb +1 -1
  700. data/spec/models/email_tracking_response_spec.rb +1 -1
  701. data/spec/models/end_user_delete_response_data_spec.rb +1 -1
  702. data/spec/models/end_user_delete_response_spec.rb +1 -1
  703. data/spec/models/execution_cancel_response_data_spec.rb +1 -1
  704. data/spec/models/execution_cancel_response_spec.rb +1 -1
  705. data/spec/models/execution_response_spec.rb +1 -1
  706. data/spec/models/execution_retry_response_data_spec.rb +1 -1
  707. data/spec/models/execution_retry_response_spec.rb +1 -1
  708. data/spec/models/forgot_password_request_spec.rb +1 -1
  709. data/spec/models/generate_subscriber_token200_response_data_spec.rb +1 -1
  710. data/spec/models/generate_subscriber_token200_response_spec.rb +1 -1
  711. data/spec/models/generate_subscriber_token_request_spec.rb +1 -1
  712. data/spec/models/generate_waa_s_portal_token201_response_spec.rb +1 -1
  713. data/spec/models/get_domain200_response_meta_spec.rb +1 -1
  714. data/spec/models/get_domain200_response_spec.rb +1 -1
  715. data/spec/models/get_end_user_auth_methods200_response_spec.rb +1 -1
  716. data/spec/models/get_end_user_by_id200_response_spec.rb +1 -1
  717. data/spec/models/get_end_user_claims200_response_data_spec.rb +1 -1
  718. data/spec/models/get_end_user_claims200_response_spec.rb +1 -1
  719. data/spec/models/get_subscriber_inbox_preferences200_response_data_categories_inner_category_spec.rb +1 -1
  720. data/spec/models/get_subscriber_inbox_preferences200_response_data_categories_inner_spec.rb +1 -1
  721. data/spec/models/get_subscriber_inbox_preferences200_response_data_global_channels_inner_spec.rb +1 -1
  722. data/spec/models/get_subscriber_inbox_preferences200_response_data_global_spec.rb +1 -1
  723. data/spec/models/get_subscriber_inbox_preferences200_response_data_spec.rb +1 -1
  724. data/spec/models/get_subscriber_inbox_preferences200_response_spec.rb +1 -1
  725. data/spec/models/get_subscriber_notification200_response_spec.rb +1 -1
  726. data/spec/models/get_subscriber_unread_count200_response_spec.rb +1 -1
  727. data/spec/models/get_waa_s_delivery200_response_spec.rb +1 -1
  728. data/spec/models/get_waa_s_endpoint200_response_spec.rb +1 -1
  729. data/spec/models/get_waa_s_endpoint_circuit200_response_data_spec.rb +1 -1
  730. data/spec/models/get_waa_s_endpoint_circuit200_response_spec.rb +1 -1
  731. data/spec/models/get_waa_s_endpoint_metrics200_response_data_health_spec.rb +1 -1
  732. data/spec/models/get_waa_s_endpoint_metrics200_response_data_spec.rb +1 -1
  733. data/spec/models/get_waa_s_endpoint_metrics200_response_data_windows_value_spec.rb +1 -1
  734. data/spec/models/get_waa_s_endpoint_metrics200_response_spec.rb +1 -1
  735. data/spec/models/get_waa_s_usage200_response_spec.rb +1 -1
  736. data/spec/models/in_app_notification_spec.rb +1 -1
  737. data/spec/models/inbound_attachment_url_response_data_spec.rb +1 -1
  738. data/spec/models/inbound_attachment_url_response_spec.rb +1 -1
  739. data/spec/models/inbound_email_attachment_spec.rb +1 -1
  740. data/spec/models/inbound_email_from_spec.rb +1 -1
  741. data/spec/models/inbound_email_list_response_meta_spec.rb +1 -1
  742. data/spec/models/inbound_email_list_response_spec.rb +1 -1
  743. data/spec/models/inbound_email_response_spec.rb +1 -1
  744. data/spec/models/inbound_email_spec.rb +1 -1
  745. data/spec/models/inbox_list_meta_spec.rb +1 -1
  746. data/spec/models/inbox_list_response_spec.rb +1 -1
  747. data/spec/models/inbox_notification_response_spec.rb +1 -1
  748. data/spec/models/invite_end_user200_response_data_spec.rb +1 -1
  749. data/spec/models/invite_end_user200_response_spec.rb +1 -1
  750. data/spec/models/invite_end_user_request_spec.rb +1 -1
  751. data/spec/models/list_end_users200_response_meta_spec.rb +1 -1
  752. data/spec/models/list_end_users200_response_spec.rb +1 -1
  753. data/spec/models/list_waa_s_applications200_response_spec.rb +1 -1
  754. data/spec/models/list_waa_s_endpoint_deliveries200_response_spec.rb +1 -1
  755. data/spec/models/list_waa_s_endpoints200_response_spec.rb +1 -1
  756. data/spec/models/list_waa_s_event_types200_response_spec.rb +1 -1
  757. data/spec/models/list_workflow_executions200_response_spec.rb +1 -1
  758. data/spec/models/list_workflows200_response_meta_spec.rb +1 -1
  759. data/spec/models/list_workflows200_response_spec.rb +1 -1
  760. data/spec/models/login_request_spec.rb +1 -1
  761. data/spec/models/magic_link_send_request_spec.rb +1 -1
  762. data/spec/models/magic_link_verify_request_spec.rb +1 -1
  763. data/spec/models/magic_link_verify_response_data_spec.rb +1 -1
  764. data/spec/models/magic_link_verify_response_spec.rb +1 -1
  765. data/spec/models/mark_all_inbox_read_request_spec.rb +1 -1
  766. data/spec/models/mark_all_read_data_spec.rb +1 -1
  767. data/spec/models/mark_all_read_response_spec.rb +1 -1
  768. data/spec/models/mark_all_subscriber_notifications_read200_response_spec.rb +1 -1
  769. data/spec/models/mark_all_subscriber_notifications_read_request_spec.rb +1 -1
  770. data/spec/models/mark_inbox_read_request_spec.rb +1 -1
  771. data/spec/models/mfa_backup_codes_response_data_spec.rb +1 -1
  772. data/spec/models/mfa_backup_codes_response_spec.rb +1 -1
  773. data/spec/models/mfa_disable_request_spec.rb +1 -1
  774. data/spec/models/mfa_disable_response_data_spec.rb +1 -1
  775. data/spec/models/mfa_disable_response_spec.rb +1 -1
  776. data/spec/models/mfa_enroll_request_spec.rb +1 -1
  777. data/spec/models/mfa_enrollment_response_data_spec.rb +1 -1
  778. data/spec/models/mfa_enrollment_response_spec.rb +1 -1
  779. data/spec/models/mfa_regenerate_backup_codes_request_spec.rb +1 -1
  780. data/spec/models/mfa_status_response_data_spec.rb +1 -1
  781. data/spec/models/mfa_status_response_spec.rb +1 -1
  782. data/spec/models/mfa_verify_backup_request_spec.rb +1 -1
  783. data/spec/models/mfa_verify_backup_response_data_spec.rb +1 -1
  784. data/spec/models/mfa_verify_backup_response_spec.rb +1 -1
  785. data/spec/models/mfa_verify_enrollment_request_spec.rb +1 -1
  786. data/spec/models/mfa_verify_enrollment_response_data_spec.rb +1 -1
  787. data/spec/models/mfa_verify_enrollment_response_spec.rb +1 -1
  788. data/spec/models/mfa_verify_request_spec.rb +1 -1
  789. data/spec/models/o_auth_authorization_url_response_data_spec.rb +1 -1
  790. data/spec/models/o_auth_authorization_url_response_spec.rb +1 -1
  791. data/spec/models/o_auth_authorize_response_data_spec.rb +1 -1
  792. data/spec/models/o_auth_authorize_response_spec.rb +1 -1
  793. data/spec/models/o_auth_callback_request_spec.rb +1 -1
  794. data/spec/models/o_auth_callback_response_data_spec.rb +1 -1
  795. data/spec/models/o_auth_callback_response_spec.rb +1 -1
  796. data/spec/models/o_auth_connection_info_response_data_spec.rb +1 -1
  797. data/spec/models/o_auth_connection_info_response_spec.rb +1 -1
  798. data/spec/models/o_auth_connection_spec.rb +1 -1
  799. data/spec/models/o_auth_connections_response_data_spec.rb +1 -1
  800. data/spec/models/o_auth_connections_response_spec.rb +1 -1
  801. data/spec/models/o_auth_link_response_data_spec.rb +1 -1
  802. data/spec/models/o_auth_link_response_spec.rb +1 -1
  803. data/spec/models/o_auth_provider_info_spec.rb +1 -1
  804. data/spec/models/o_auth_provider_name_spec.rb +1 -1
  805. data/spec/models/o_auth_provider_spec.rb +1 -1
  806. data/spec/models/o_auth_providers_response_data_spec.rb +1 -1
  807. data/spec/models/o_auth_providers_response_spec.rb +1 -1
  808. data/spec/models/o_auth_tokens_refresh_response_data_spec.rb +1 -1
  809. data/spec/models/o_auth_tokens_refresh_response_spec.rb +1 -1
  810. data/spec/models/o_auth_tokens_response_data_spec.rb +1 -1
  811. data/spec/models/o_auth_tokens_response_spec.rb +1 -1
  812. data/spec/models/organization_list_response_meta_spec.rb +1 -1
  813. data/spec/models/organization_list_response_spec.rb +1 -1
  814. data/spec/models/organization_members_list_response_spec.rb +1 -1
  815. data/spec/models/organization_membership_response_spec.rb +1 -1
  816. data/spec/models/organization_membership_spec.rb +1 -1
  817. data/spec/models/organization_membership_with_user_spec.rb +1 -1
  818. data/spec/models/organization_response_spec.rb +1 -1
  819. data/spec/models/organization_spec.rb +1 -1
  820. data/spec/models/pagination_meta_spec.rb +1 -1
  821. data/spec/models/password_policy_spec.rb +1 -1
  822. data/spec/models/password_requirements_response_data_spec.rb +1 -1
  823. data/spec/models/password_requirements_response_spec.rb +1 -1
  824. data/spec/models/password_strength_request_spec.rb +1 -1
  825. data/spec/models/password_strength_response_spec.rb +1 -1
  826. data/spec/models/password_strength_spec.rb +1 -1
  827. data/spec/models/payload_too_large_error_error_details_spec.rb +1 -1
  828. data/spec/models/payload_too_large_error_error_spec.rb +1 -1
  829. data/spec/models/payload_too_large_error_spec.rb +1 -1
  830. data/spec/models/phone_auth_availability_response_data_spec.rb +1 -1
  831. data/spec/models/phone_auth_availability_response_spec.rb +1 -1
  832. data/spec/models/phone_login_verify_request_spec.rb +1 -1
  833. data/spec/models/phone_otp_send_request_spec.rb +1 -1
  834. data/spec/models/phone_otp_sent_response_data_spec.rb +1 -1
  835. data/spec/models/phone_otp_sent_response_spec.rb +1 -1
  836. data/spec/models/phone_register_verify_request_spec.rb +1 -1
  837. data/spec/models/preference_list_response_spec.rb +1 -1
  838. data/spec/models/publish_waa_s_event201_response_spec.rb +1 -1
  839. data/spec/models/push_detail_response_spec.rb +1 -1
  840. data/spec/models/push_event_spec.rb +1 -1
  841. data/spec/models/push_list_response_spec.rb +1 -1
  842. data/spec/models/push_message_detail_all_of_action_buttons_spec.rb +1 -1
  843. data/spec/models/push_message_detail_spec.rb +1 -1
  844. data/spec/models/push_message_spec.rb +1 -1
  845. data/spec/models/push_stats_data_spec.rb +1 -1
  846. data/spec/models/push_stats_response_spec.rb +1 -1
  847. data/spec/models/push_topic_device_list_response_spec.rb +1 -1
  848. data/spec/models/push_topic_device_spec.rb +1 -1
  849. data/spec/models/push_topic_subscribe_data_spec.rb +1 -1
  850. data/spec/models/push_topic_subscribe_response_spec.rb +1 -1
  851. data/spec/models/push_topic_unsubscribe_data_spec.rb +1 -1
  852. data/spec/models/push_topic_unsubscribe_response_spec.rb +1 -1
  853. data/spec/models/refresh_o_auth_tokens_request_spec.rb +1 -1
  854. data/spec/models/refresh_session_request_spec.rb +1 -1
  855. data/spec/models/refresh_token_response_data_spec.rb +1 -1
  856. data/spec/models/refresh_token_response_spec.rb +1 -1
  857. data/spec/models/register_device_request_spec.rb +1 -1
  858. data/spec/models/register_request_spec.rb +1 -1
  859. data/spec/models/remove_topic_subscribers_request_spec.rb +1 -1
  860. data/spec/models/rename_web_authn_credential_request_spec.rb +1 -1
  861. data/spec/models/render_template_request_spec.rb +1 -1
  862. data/spec/models/reorder_workflow_steps_request_spec.rb +1 -1
  863. data/spec/models/replay_webhook_events_request_spec.rb +1 -1
  864. data/spec/models/request_meta_spec.rb +1 -1
  865. data/spec/models/resend_email_verification_request_spec.rb +1 -1
  866. data/spec/models/reset_password_request_spec.rb +1 -1
  867. data/spec/models/reset_password_response_spec.rb +1 -1
  868. data/spec/models/resubscribe_request_spec.rb +1 -1
  869. data/spec/models/resubscribe_response_spec.rb +1 -1
  870. data/spec/models/revoke_all_sessions_response_data_spec.rb +1 -1
  871. data/spec/models/revoke_all_sessions_response_spec.rb +1 -1
  872. data/spec/models/revoke_session_request_spec.rb +1 -1
  873. data/spec/models/rotate_waa_s_endpoint_secret200_response_data_spec.rb +1 -1
  874. data/spec/models/rotate_waa_s_endpoint_secret200_response_spec.rb +1 -1
  875. data/spec/models/send_batch_email_request_spec.rb +1 -1
  876. data/spec/models/send_batch_email_response_spec.rb +1 -1
  877. data/spec/models/send_batch_email_result_item_spec.rb +1 -1
  878. data/spec/models/send_batch_email_result_spec.rb +1 -1
  879. data/spec/models/send_batch_in_app_meta_spec.rb +1 -1
  880. data/spec/models/send_batch_in_app_request_spec.rb +1 -1
  881. data/spec/models/send_batch_in_app_response_spec.rb +1 -1
  882. data/spec/models/send_batch_sms_data_spec.rb +1 -1
  883. data/spec/models/send_batch_sms_request_spec.rb +1 -1
  884. data/spec/models/send_batch_sms_response_spec.rb +1 -1
  885. data/spec/models/send_email_otp_registration_request_spec.rb +1 -1
  886. data/spec/models/send_email_request_spec.rb +1 -1
  887. data/spec/models/send_email_response_data_spec.rb +1 -1
  888. data/spec/models/send_email_response_meta_spec.rb +1 -1
  889. data/spec/models/send_email_response_spec.rb +1 -1
  890. data/spec/models/send_email_verification_request_spec.rb +1 -1
  891. data/spec/models/send_in_app_meta_spec.rb +1 -1
  892. data/spec/models/send_in_app_request_spec.rb +1 -1
  893. data/spec/models/send_in_app_response_spec.rb +1 -1
  894. data/spec/models/send_push_request_action_buttons_inner_spec.rb +1 -1
  895. data/spec/models/send_push_request_spec.rb +1 -1
  896. data/spec/models/send_push_response_data_spec.rb +1 -1
  897. data/spec/models/send_push_response_spec.rb +1 -1
  898. data/spec/models/send_push_to_topic_data_spec.rb +1 -1
  899. data/spec/models/send_push_to_topic_request_spec.rb +1 -1
  900. data/spec/models/send_push_to_topic_response_spec.rb +1 -1
  901. data/spec/models/send_slack_message_request_spec.rb +1 -1
  902. data/spec/models/send_slack_message_response_spec.rb +1 -1
  903. data/spec/models/send_slack_message_result_spec.rb +1 -1
  904. data/spec/models/send_sms_data_spec.rb +1 -1
  905. data/spec/models/send_sms_request_spec.rb +1 -1
  906. data/spec/models/send_sms_response_spec.rb +1 -1
  907. data/spec/models/send_template_test_email202_response_data_spec.rb +1 -1
  908. data/spec/models/send_template_test_email202_response_meta_spec.rb +1 -1
  909. data/spec/models/send_template_test_email202_response_spec.rb +1 -1
  910. data/spec/models/send_template_test_email_request_spec.rb +1 -1
  911. data/spec/models/send_test_sms_data_spec.rb +1 -1
  912. data/spec/models/send_test_sms_request_spec.rb +1 -1
  913. data/spec/models/send_test_sms_response_spec.rb +1 -1
  914. data/spec/models/send_webhook_test_event_request_spec.rb +1 -1
  915. data/spec/models/session_list_response_data_session_info_spec.rb +1 -1
  916. data/spec/models/session_list_response_data_spec.rb +1 -1
  917. data/spec/models/session_list_response_spec.rb +1 -1
  918. data/spec/models/set_domain_inbound_request_spec.rb +1 -1
  919. data/spec/models/set_end_user_claims200_response_data_spec.rb +1 -1
  920. data/spec/models/set_end_user_claims200_response_spec.rb +1 -1
  921. data/spec/models/set_end_user_claims_request_spec.rb +1 -1
  922. data/spec/models/set_preferences_request_preferences_inner_spec.rb +1 -1
  923. data/spec/models/set_preferences_request_spec.rb +1 -1
  924. data/spec/models/set_self_application_test_recipients_request_spec.rb +1 -1
  925. data/spec/models/sign_in_anonymously_request_spec.rb +1 -1
  926. data/spec/models/sign_in_with_game_center_request_spec.rb +1 -1
  927. data/spec/models/sign_in_with_google_play_games_request_spec.rb +1 -1
  928. data/spec/models/slack_message_list_response_meta_spec.rb +1 -1
  929. data/spec/models/slack_message_list_response_spec.rb +1 -1
  930. data/spec/models/slack_message_response_spec.rb +1 -1
  931. data/spec/models/slack_message_spec.rb +1 -1
  932. data/spec/models/slack_message_status_spec.rb +1 -1
  933. data/spec/models/slack_message_summary_spec.rb +1 -1
  934. data/spec/models/sms_batch_result_message_spec.rb +1 -1
  935. data/spec/models/sms_batch_result_summary_spec.rb +1 -1
  936. data/spec/models/sms_config_delete_response_data_spec.rb +1 -1
  937. data/spec/models/sms_config_delete_response_spec.rb +1 -1
  938. data/spec/models/sms_config_response_spec.rb +1 -1
  939. data/spec/models/sms_config_spec.rb +1 -1
  940. data/spec/models/sms_detail_response_spec.rb +1 -1
  941. data/spec/models/sms_list_response_spec.rb +1 -1
  942. data/spec/models/sms_message_detail_spec.rb +1 -1
  943. data/spec/models/sms_message_spec.rb +1 -1
  944. data/spec/models/subscribe_push_topic_request_spec.rb +1 -1
  945. data/spec/models/subscriber_list_response_spec.rb +1 -1
  946. data/spec/models/subscriber_preference_spec.rb +1 -1
  947. data/spec/models/subscriber_response_spec.rb +1 -1
  948. data/spec/models/subscriber_spec.rb +1 -1
  949. data/spec/models/success_result_spec.rb +1 -1
  950. data/spec/models/switch_organization_request_spec.rb +1 -1
  951. data/spec/models/switch_organization_response_data_spec.rb +1 -1
  952. data/spec/models/switch_organization_response_data_tokens_spec.rb +1 -1
  953. data/spec/models/switch_organization_response_data_user_spec.rb +1 -1
  954. data/spec/models/switch_organization_response_spec.rb +1 -1
  955. data/spec/models/template_list_response_spec.rb +1 -1
  956. data/spec/models/template_render_response_spec.rb +1 -1
  957. data/spec/models/template_rendered_content_spec.rb +1 -1
  958. data/spec/models/template_response_spec.rb +1 -1
  959. data/spec/models/template_spec.rb +1 -1
  960. data/spec/models/test_webhook_transform_request_spec.rb +1 -1
  961. data/spec/models/topic_delete_response_spec.rb +1 -1
  962. data/spec/models/topic_list_response_spec.rb +1 -1
  963. data/spec/models/topic_response_spec.rb +1 -1
  964. data/spec/models/topic_spec.rb +1 -1
  965. data/spec/models/topic_stats_data_spec.rb +1 -1
  966. data/spec/models/topic_stats_data_topics_by_subscriber_count_inner_spec.rb +1 -1
  967. data/spec/models/topic_stats_response_spec.rb +1 -1
  968. data/spec/models/topic_subscriber_list_response_spec.rb +1 -1
  969. data/spec/models/topic_subscriber_spec.rb +1 -1
  970. data/spec/models/topic_subscribers_add_response_spec.rb +1 -1
  971. data/spec/models/topic_subscribers_add_result_spec.rb +1 -1
  972. data/spec/models/topic_subscribers_remove_response_spec.rb +1 -1
  973. data/spec/models/topic_subscribers_remove_result_spec.rb +1 -1
  974. data/spec/models/trigger_workflow202_response_data_spec.rb +1 -1
  975. data/spec/models/trigger_workflow202_response_spec.rb +1 -1
  976. data/spec/models/trigger_workflow_request_spec.rb +1 -1
  977. data/spec/models/unread_count_data_spec.rb +1 -1
  978. data/spec/models/unread_count_response_spec.rb +1 -1
  979. data/spec/models/unsubscribe_list_response_spec.rb +1 -1
  980. data/spec/models/unsubscribe_request_spec.rb +1 -1
  981. data/spec/models/unsubscribe_response_spec.rb +1 -1
  982. data/spec/models/unsubscribe_spec.rb +1 -1
  983. data/spec/models/update_category_request_spec.rb +1 -1
  984. data/spec/models/update_end_user_by_application_request_spec.rb +1 -1
  985. data/spec/models/update_end_user_request_spec.rb +1 -1
  986. data/spec/models/update_organization_member_role_request_spec.rb +1 -1
  987. data/spec/models/update_organization_request_spec.rb +1 -1
  988. data/spec/models/update_subscriber_preferences200_response_data_preferences_inner_spec.rb +1 -1
  989. data/spec/models/update_subscriber_preferences200_response_data_spec.rb +1 -1
  990. data/spec/models/update_subscriber_preferences200_response_spec.rb +1 -1
  991. data/spec/models/update_subscriber_preferences_request_preferences_inner_spec.rb +1 -1
  992. data/spec/models/update_subscriber_preferences_request_spec.rb +1 -1
  993. data/spec/models/update_subscriber_request_spec.rb +1 -1
  994. data/spec/models/update_template_request_spec.rb +1 -1
  995. data/spec/models/update_topic_request_spec.rb +1 -1
  996. data/spec/models/update_waa_s_application_request_spec.rb +1 -1
  997. data/spec/models/update_waa_s_endpoint200_response_spec.rb +1 -1
  998. data/spec/models/update_waa_s_endpoint_request_spec.rb +1 -1
  999. data/spec/models/update_waa_s_event_type200_response_spec.rb +1 -1
  1000. data/spec/models/update_waa_s_event_type_request_spec.rb +1 -1
  1001. data/spec/models/update_webhook_request_spec.rb +1 -1
  1002. data/spec/models/update_workflow_request_spec.rb +1 -1
  1003. data/spec/models/update_workflow_status_request_spec.rb +1 -1
  1004. data/spec/models/update_workflow_step_request_spec.rb +1 -1
  1005. data/spec/models/upsert_auth_email_template_request_spec.rb +1 -1
  1006. data/spec/models/upsert_sms_config_request_spec.rb +1 -1
  1007. data/spec/models/user_devices_delete_response_data_spec.rb +1 -1
  1008. data/spec/models/user_devices_delete_response_spec.rb +1 -1
  1009. data/spec/models/validate_reset_token_request_spec.rb +1 -1
  1010. data/spec/models/validate_reset_token_response_data_spec.rb +1 -1
  1011. data/spec/models/validate_reset_token_response_spec.rb +1 -1
  1012. data/spec/models/verification_status_response_data_spec.rb +1 -1
  1013. data/spec/models/verification_status_response_spec.rb +1 -1
  1014. data/spec/models/verify_domain_response_data_spec.rb +1 -1
  1015. data/spec/models/verify_domain_response_spec.rb +1 -1
  1016. data/spec/models/verify_email_otp_login_request_spec.rb +1 -1
  1017. data/spec/models/verify_email_otp_registration_request_spec.rb +1 -1
  1018. data/spec/models/verify_sms_config_data_spec.rb +1 -1
  1019. data/spec/models/verify_sms_config_response_spec.rb +1 -1
  1020. data/spec/models/waa_s_application_spec.rb +1 -1
  1021. data/spec/models/waa_s_batch_publish_request_spec.rb +1 -1
  1022. data/spec/models/waa_s_batch_publish_response_spec.rb +8 -2
  1023. data/spec/models/waa_s_batch_publish_result_spec.rb +84 -0
  1024. data/spec/models/waa_s_delivery_spec.rb +1 -1
  1025. data/spec/models/waa_s_endpoint_spec.rb +1 -1
  1026. data/spec/models/waa_s_event_type_spec.rb +1 -1
  1027. data/spec/models/waa_s_portal_token_request_spec.rb +1 -1
  1028. data/spec/models/waa_s_portal_token_request_theme_spec.rb +1 -1
  1029. data/spec/models/waa_s_portal_token_response_spec.rb +1 -1
  1030. data/spec/models/waa_s_publish_event_request_spec.rb +1 -1
  1031. data/spec/models/waa_s_publish_event_response_spec.rb +13 -1
  1032. data/spec/models/waa_s_usage_response_spec.rb +1 -1
  1033. data/spec/models/web_authn_challenge_options_spec.rb +1 -1
  1034. data/spec/models/web_authn_credential_list_response_data_spec.rb +1 -1
  1035. data/spec/models/web_authn_credential_list_response_spec.rb +1 -1
  1036. data/spec/models/web_authn_credential_response_spec.rb +1 -1
  1037. data/spec/models/web_authn_credential_spec.rb +1 -1
  1038. data/spec/models/web_authn_start_auth_request_spec.rb +1 -1
  1039. data/spec/models/web_authn_start_auth_response_spec.rb +1 -1
  1040. data/spec/models/web_authn_start_registration_request_spec.rb +1 -1
  1041. data/spec/models/web_authn_start_registration_response_spec.rb +1 -1
  1042. data/spec/models/web_authn_status_response_data_spec.rb +1 -1
  1043. data/spec/models/web_authn_status_response_spec.rb +1 -1
  1044. data/spec/models/web_authn_verify_auth_request_spec.rb +1 -1
  1045. data/spec/models/web_authn_verify_registration_request_spec.rb +1 -1
  1046. data/spec/models/web_authn_verify_registration_response_data_spec.rb +1 -1
  1047. data/spec/models/web_authn_verify_registration_response_spec.rb +1 -1
  1048. data/spec/models/webhook_account_metrics_response_spec.rb +1 -1
  1049. data/spec/models/webhook_bulk_retry_response_spec.rb +1 -1
  1050. data/spec/models/webhook_circuit_state_response_spec.rb +1 -1
  1051. data/spec/models/webhook_circuit_state_spec.rb +1 -1
  1052. data/spec/models/webhook_create_response_data_spec.rb +1 -1
  1053. data/spec/models/webhook_create_response_spec.rb +1 -1
  1054. data/spec/models/webhook_delete_response_data_spec.rb +1 -1
  1055. data/spec/models/webhook_delete_response_spec.rb +1 -1
  1056. data/spec/models/webhook_delivery_detail_spec.rb +1 -1
  1057. data/spec/models/webhook_delivery_list_response_spec.rb +1 -1
  1058. data/spec/models/webhook_delivery_response_spec.rb +1 -1
  1059. data/spec/models/webhook_delivery_retry_response_data_spec.rb +1 -1
  1060. data/spec/models/webhook_delivery_retry_response_spec.rb +1 -1
  1061. data/spec/models/webhook_delivery_spec.rb +1 -1
  1062. data/spec/models/webhook_event_type_spec.rb +1 -1
  1063. data/spec/models/webhook_event_types_response_data_spec.rb +1 -1
  1064. data/spec/models/webhook_event_types_response_spec.rb +1 -1
  1065. data/spec/models/webhook_ips_response_data_spec.rb +1 -1
  1066. data/spec/models/webhook_ips_response_spec.rb +1 -1
  1067. data/spec/models/webhook_job_response_spec.rb +1 -1
  1068. data/spec/models/webhook_list_response_spec.rb +1 -1
  1069. data/spec/models/webhook_metrics_response_spec.rb +1 -1
  1070. data/spec/models/webhook_replay_response_spec.rb +1 -1
  1071. data/spec/models/webhook_response_spec.rb +1 -1
  1072. data/spec/models/webhook_secret_rotate_response_data_spec.rb +1 -1
  1073. data/spec/models/webhook_secret_rotate_response_spec.rb +1 -1
  1074. data/spec/models/webhook_spec.rb +1 -1
  1075. data/spec/models/webhook_test_event_response_data_spec.rb +1 -1
  1076. data/spec/models/webhook_test_event_response_spec.rb +1 -1
  1077. data/spec/models/webhook_transform_test_response_spec.rb +1 -1
  1078. data/spec/models/webhook_usage_response_spec.rb +1 -1
  1079. data/spec/models/webhook_version_spec.rb +1 -1
  1080. data/spec/models/webhook_versions_response_data_spec.rb +1 -1
  1081. data/spec/models/webhook_versions_response_spec.rb +1 -1
  1082. data/spec/models/withdraw_subscriber_consent_request_spec.rb +1 -1
  1083. data/spec/models/workflow_execution_spec.rb +1 -1
  1084. data/spec/models/workflow_execution_status_spec.rb +1 -1
  1085. data/spec/models/workflow_spec.rb +1 -1
  1086. data/spec/models/workflow_status_spec.rb +1 -1
  1087. data/spec/models/workflow_step_execution_spec.rb +1 -1
  1088. data/spec/models/workflow_step_execution_status_spec.rb +1 -1
  1089. data/spec/models/workflow_step_spec.rb +1 -1
  1090. data/spec/models/workflow_step_type_spec.rb +1 -1
  1091. data/spec/spec_helper.rb +1 -1
  1092. data/zyphr.gemspec +3 -3
  1093. metadata +495 -490
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 989531f9cebaa55cb73c64fb0f1e2d9f8f901cc686b96f87e12acdc2a01d932a
4
- data.tar.gz: 6c2fce5a90ac551b101c280ad9c8deba2a18b563e0439508d5c7b0883ea8d1d8
3
+ metadata.gz: 96202db228c2729e8ac83663ac831379eb3df54812757454fd62f88cf0b57a12
4
+ data.tar.gz: 0a90dcd10a6746cdb517ba32b7cb562457ddb1c0369ef800c36ef77a31ad7a3a
5
5
  SHA512:
6
- metadata.gz: 2e9ed9709a7345f4d0ba4a7d96e3e5016c446b34984f94cafed2363ab899e66c47df76d44a34d141c1d3f9a5a2db3dba843cfbeaf088d7715bca25dc903aebc0
7
- data.tar.gz: dde989246f9a7ff923a55da9358fd549077f64c529f9a9816f9f478637734c100d3c3902c165af03f53a6c2ca16df55f682369482baace84a66192c6b1228fe1
6
+ metadata.gz: 3a6ae272115380ff3a53feb788700b576d7063c557de55f61235c26cc462678db20eaa3547d02dfac8edf355d7b9602c26129e4c2d56d15507d0ad2254b645a3
7
+ data.tar.gz: f9811269b56b9bca37b179c8c044d83fb4b490e346b07cc9642985aba803fc0aef1a32af21982be4c0c7868fed8127788156330a49ecb3d8094d7d1a7952641a
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Zyphr - the Ruby gem for the Zyphr API
4
4
 
5
- Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API.
5
+ Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks.
6
6
 
7
7
  ## Authentication
8
8
 
@@ -819,6 +819,7 @@ Class | Method | HTTP request | Description
819
819
  - [Zyphr::WaaSApplication](docs/WaaSApplication.md)
820
820
  - [Zyphr::WaaSBatchPublishRequest](docs/WaaSBatchPublishRequest.md)
821
821
  - [Zyphr::WaaSBatchPublishResponse](docs/WaaSBatchPublishResponse.md)
822
+ - [Zyphr::WaaSBatchPublishResult](docs/WaaSBatchPublishResult.md)
822
823
  - [Zyphr::WaaSDelivery](docs/WaaSDelivery.md)
823
824
  - [Zyphr::WaaSEndpoint](docs/WaaSEndpoint.md)
824
825
  - [Zyphr::WaaSEventType](docs/WaaSEventType.md)
@@ -4,9 +4,10 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **published** | **Integer** | | [optional] |
7
+ | **total** | **Integer** | Events in the request | [optional] |
8
+ | **succeeded** | **Integer** | | [optional] |
8
9
  | **failed** | **Integer** | | [optional] |
9
- | **results** | **Array<Object>** | | [optional] |
10
+ | **results** | [**Array<WaaSBatchPublishResult>**](WaaSBatchPublishResult.md) | One entry per event, in request order. A published event has the same fields as a single publish (`event_id`, `endpoints_matched`, `deliveries_created`, `created_at`, ...). An event that was not published has `error` and `code` instead, e.g. `code: usage_limit_exceeded` when the monthly event limit is reached. Tell them apart by the presence of `error`. | [optional] |
10
11
 
11
12
  ## Example
12
13
 
@@ -14,7 +15,8 @@
14
15
  require 'zyphr'
15
16
 
16
17
  instance = Zyphr::WaaSBatchPublishResponse.new(
17
- published: null,
18
+ total: null,
19
+ succeeded: null,
18
20
  failed: null,
19
21
  results: null
20
22
  )
@@ -0,0 +1,34 @@
1
+ # Zyphr::WaaSBatchPublishResult
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **event_id** | **String** | Set when the event was published | [optional] |
8
+ | **event_type** | **String** | | [optional] |
9
+ | **tenant_id** | **String** | | [optional] |
10
+ | **endpoints_matched** | **Integer** | Set when the event was published | [optional] |
11
+ | **deliveries_created** | **Integer** | Set when the event was published | [optional] |
12
+ | **created_at** | **Time** | Set when the event was published | [optional] |
13
+ | **deduplicated** | **Boolean** | True when the idempotency key matched an earlier publish | [optional] |
14
+ | **error** | **String** | Set when the event was not published | [optional] |
15
+ | **code** | **String** | Set when the event was not published, e.g. `usage_limit_exceeded` (monthly event limit reached), `event_type_not_found`, `event_type_deprecated`, `internal_error` | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'zyphr'
21
+
22
+ instance = Zyphr::WaaSBatchPublishResult.new(
23
+ event_id: null,
24
+ event_type: null,
25
+ tenant_id: null,
26
+ endpoints_matched: null,
27
+ deliveries_created: null,
28
+ created_at: null,
29
+ deduplicated: null,
30
+ error: WaaS event limit reached (250000/250000),
31
+ code: usage_limit_exceeded
32
+ )
33
+ ```
34
+
@@ -4,11 +4,13 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **event_id** | **String** | | [optional] |
7
+ | **event_id** | **String** | Prefixed id, not a bare UUID | [optional] |
8
8
  | **event_type** | **String** | | [optional] |
9
9
  | **tenant_id** | **String** | | [optional] |
10
10
  | **endpoints_matched** | **Integer** | | [optional] |
11
11
  | **deliveries_created** | **Integer** | | [optional] |
12
+ | **created_at** | **Time** | | [optional] |
13
+ | **deduplicated** | **Boolean** | Present and true when the idempotency key matched an earlier publish, which is returned instead of publishing again | [optional] |
12
14
 
13
15
  ## Example
14
16
 
@@ -16,11 +18,13 @@
16
18
  require 'zyphr'
17
19
 
18
20
  instance = Zyphr::WaaSPublishEventResponse.new(
19
- event_id: null,
21
+ event_id: evt_3f6c1e2a-8b4d-4c1e-9a7f-2d5b6e8c9a10,
20
22
  event_type: null,
21
23
  tenant_id: null,
22
24
  endpoints_matched: null,
23
- deliveries_created: null
25
+ deliveries_created: null,
26
+ created_at: null,
27
+ deduplicated: null
24
28
  )
25
29
  ```
26
30
 
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Zyphr API
3
3
 
4
- #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
4
+ #Zyphr is a developer platform for user authentication and transactional messaging. One API covers auth (passkeys, social sign-in, passwordless, MFA, sessions, organizations) plus email, push notifications, SMS, in-app messages, and webhooks. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. > **Test keys are being retired.** `zy_test_*` keys are no longer issued, and existing ones stop working on **21 October 2026**. They never delivered mail — sends were mocked and marked sent without reaching a provider, so they could not verify domain authentication, rendering, or deliverability. To test your integration, use a `zy_live_*` key against a verified domain and send to an address you control. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Account Sending Status Every authenticated response carries the account's current sending state so you can surface it in your own tooling without a separate call: - `X-Account-Sending-Status`: `active`, `throttled`, or `frozen` - `X-Account-Sending-Status-Reason`: human-readable reason (present only when the status is `throttled` or `frozen`) This header is informational and non-blocking on non-send endpoints (reads, billing, and deliverability stay available). Send-capable endpoints additionally enforce the state: a frozen account receives `403 account_frozen` and a throttled account receives `429 account_throttled`, both with the reason in the error message. ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@zyphr.dev