@zyphr-dev/node-sdk 0.1.41 → 0.1.43

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 (56) hide show
  1. package/dist/index.cjs +1912 -392
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +2055 -501
  4. package/dist/index.d.ts +2055 -501
  5. package/dist/index.js +1721 -387
  6. package/dist/index.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/.openapi-generator/FILES +37 -1
  9. package/src/client.ts +4 -0
  10. package/src/src/apis/AuthUserDirectoryApi.ts +68 -46
  11. package/src/src/apis/DomainsApi.ts +7 -6
  12. package/src/src/apis/InboxApi.ts +82 -58
  13. package/src/src/apis/TemplatesApi.ts +10 -6
  14. package/src/src/apis/WaaSDeliveriesApi.ts +17 -12
  15. package/src/src/apis/WaaSEndpointsApi.ts +50 -30
  16. package/src/src/apis/WaaSEventTypesApi.ts +17 -12
  17. package/src/src/models/CloseWaaSEndpointCircuit200Response.ts +88 -0
  18. package/src/src/models/CloseWaaSEndpointCircuit200ResponseData.ts +76 -0
  19. package/src/src/models/GetEndUserById200Response.ts +88 -0
  20. package/src/src/models/GetEndUserClaims200Response.ts +88 -0
  21. package/src/src/models/GetEndUserClaims200ResponseData.ts +65 -0
  22. package/src/src/models/GetSubscriberInboxPreferences200Response.ts +73 -0
  23. package/src/src/models/GetSubscriberInboxPreferences200ResponseData.ts +88 -0
  24. package/src/src/models/GetSubscriberInboxPreferences200ResponseDataCategoriesInner.ts +88 -0
  25. package/src/src/models/GetSubscriberInboxPreferences200ResponseDataCategoriesInnerCategory.ts +97 -0
  26. package/src/src/models/GetSubscriberInboxPreferences200ResponseDataGlobal.ts +73 -0
  27. package/src/src/models/GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner.ts +94 -0
  28. package/src/src/models/GetSubscriberNotification200Response.ts +73 -0
  29. package/src/src/models/GetSubscriberUnreadCount200Response.ts +73 -0
  30. package/src/src/models/GetWaaSDelivery200Response.ts +88 -0
  31. package/src/src/models/GetWaaSEndpointCircuit200Response.ts +88 -0
  32. package/src/src/models/GetWaaSEndpointCircuit200ResponseData.ts +123 -0
  33. package/src/src/models/GetWaaSEndpointMetrics200Response.ts +88 -0
  34. package/src/src/models/GetWaaSEndpointMetrics200ResponseData.ts +99 -0
  35. package/src/src/models/GetWaaSEndpointMetrics200ResponseDataHealth.ts +87 -0
  36. package/src/src/models/GetWaaSEndpointMetrics200ResponseDataWindowsValue.ts +126 -0
  37. package/src/src/models/InviteEndUser200Response.ts +88 -0
  38. package/src/src/models/InviteEndUser200ResponseData.ts +81 -0
  39. package/src/src/models/ListEndUsers200Response.ts +88 -0
  40. package/src/src/models/{ListWorkflowExecutions200ResponseMeta.ts → ListEndUsers200ResponseMeta.ts} +15 -15
  41. package/src/src/models/ListWorkflowExecutions200Response.ts +11 -11
  42. package/src/src/models/MarkAllSubscriberNotificationsRead200Response.ts +73 -0
  43. package/src/src/models/RotateWaaSEndpointSecret200Response.ts +88 -0
  44. package/src/src/models/RotateWaaSEndpointSecret200ResponseData.ts +66 -0
  45. package/src/src/models/SendTemplateTestEmail202Response.ts +90 -0
  46. package/src/src/models/SendTemplateTestEmail202ResponseData.ts +120 -0
  47. package/src/src/models/SendTemplateTestEmail202ResponseMeta.ts +66 -0
  48. package/src/src/models/SetEndUserClaims200Response.ts +73 -0
  49. package/src/src/models/SetEndUserClaims200ResponseData.ts +73 -0
  50. package/src/src/models/SmsListResponse.ts +10 -10
  51. package/src/src/models/UpdateSubscriberPreferences200Response.ts +73 -0
  52. package/src/src/models/UpdateSubscriberPreferences200ResponseData.ts +81 -0
  53. package/src/src/models/UpdateSubscriberPreferences200ResponseDataPreferencesInner.ts +102 -0
  54. package/src/src/models/UpdateWaaSEndpoint200Response.ts +88 -0
  55. package/src/src/models/UpdateWaaSEventType200Response.ts +88 -0
  56. package/src/src/models/index.ts +37 -1
@@ -0,0 +1,94 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Zyphr API
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. ## 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. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## 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\" } } ```
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@zyphr.dev
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner
20
+ */
21
+ export interface GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner
26
+ */
27
+ channel?: GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInnerChannelEnum;
28
+ /**
29
+ *
30
+ * @type {boolean}
31
+ * @memberof GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner
32
+ */
33
+ enabled?: boolean;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner
38
+ */
39
+ source?: string;
40
+ }
41
+
42
+
43
+ /**
44
+ * @export
45
+ */
46
+ export const GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInnerChannelEnum = {
47
+ EMAIL: 'email',
48
+ PUSH: 'push',
49
+ SMS: 'sms',
50
+ IN_APP: 'in_app'
51
+ } as const;
52
+ export type GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInnerChannelEnum = typeof GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInnerChannelEnum[keyof typeof GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInnerChannelEnum];
53
+
54
+
55
+ /**
56
+ * Check if a given object implements the GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner interface.
57
+ */
58
+ export function instanceOfGetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner(value: object): value is GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner {
59
+ return true;
60
+ }
61
+
62
+ export function GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInnerFromJSON(json: any): GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner {
63
+ return GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInnerFromJSONTyped(json, false);
64
+ }
65
+
66
+ export function GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner {
67
+ if (json == null) {
68
+ return json;
69
+ }
70
+ return {
71
+
72
+ 'channel': json['channel'] == null ? undefined : json['channel'],
73
+ 'enabled': json['enabled'] == null ? undefined : json['enabled'],
74
+ 'source': json['source'] == null ? undefined : json['source'],
75
+ };
76
+ }
77
+
78
+ export function GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInnerToJSON(json: any): GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner {
79
+ return GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInnerToJSONTyped(json, false);
80
+ }
81
+
82
+ export function GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInnerToJSONTyped(value?: GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner | null, ignoreDiscriminator: boolean = false): any {
83
+ if (value == null) {
84
+ return value;
85
+ }
86
+
87
+ return {
88
+
89
+ 'channel': value['channel'],
90
+ 'enabled': value['enabled'],
91
+ 'source': value['source'],
92
+ };
93
+ }
94
+
@@ -0,0 +1,73 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Zyphr API
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. ## 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. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## 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\" } } ```
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@zyphr.dev
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { InAppNotification } from './InAppNotification';
17
+ import {
18
+ InAppNotificationFromJSON,
19
+ InAppNotificationFromJSONTyped,
20
+ InAppNotificationToJSON,
21
+ InAppNotificationToJSONTyped,
22
+ } from './InAppNotification';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetSubscriberNotification200Response
28
+ */
29
+ export interface GetSubscriberNotification200Response {
30
+ /**
31
+ *
32
+ * @type {InAppNotification}
33
+ * @memberof GetSubscriberNotification200Response
34
+ */
35
+ data?: InAppNotification;
36
+ }
37
+
38
+ /**
39
+ * Check if a given object implements the GetSubscriberNotification200Response interface.
40
+ */
41
+ export function instanceOfGetSubscriberNotification200Response(value: object): value is GetSubscriberNotification200Response {
42
+ return true;
43
+ }
44
+
45
+ export function GetSubscriberNotification200ResponseFromJSON(json: any): GetSubscriberNotification200Response {
46
+ return GetSubscriberNotification200ResponseFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function GetSubscriberNotification200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetSubscriberNotification200Response {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'data': json['data'] == null ? undefined : InAppNotificationFromJSON(json['data']),
56
+ };
57
+ }
58
+
59
+ export function GetSubscriberNotification200ResponseToJSON(json: any): GetSubscriberNotification200Response {
60
+ return GetSubscriberNotification200ResponseToJSONTyped(json, false);
61
+ }
62
+
63
+ export function GetSubscriberNotification200ResponseToJSONTyped(value?: GetSubscriberNotification200Response | null, ignoreDiscriminator: boolean = false): any {
64
+ if (value == null) {
65
+ return value;
66
+ }
67
+
68
+ return {
69
+
70
+ 'data': InAppNotificationToJSON(value['data']),
71
+ };
72
+ }
73
+
@@ -0,0 +1,73 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Zyphr API
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. ## 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. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## 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\" } } ```
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@zyphr.dev
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { UnreadCountData } from './UnreadCountData';
17
+ import {
18
+ UnreadCountDataFromJSON,
19
+ UnreadCountDataFromJSONTyped,
20
+ UnreadCountDataToJSON,
21
+ UnreadCountDataToJSONTyped,
22
+ } from './UnreadCountData';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetSubscriberUnreadCount200Response
28
+ */
29
+ export interface GetSubscriberUnreadCount200Response {
30
+ /**
31
+ *
32
+ * @type {UnreadCountData}
33
+ * @memberof GetSubscriberUnreadCount200Response
34
+ */
35
+ data?: UnreadCountData;
36
+ }
37
+
38
+ /**
39
+ * Check if a given object implements the GetSubscriberUnreadCount200Response interface.
40
+ */
41
+ export function instanceOfGetSubscriberUnreadCount200Response(value: object): value is GetSubscriberUnreadCount200Response {
42
+ return true;
43
+ }
44
+
45
+ export function GetSubscriberUnreadCount200ResponseFromJSON(json: any): GetSubscriberUnreadCount200Response {
46
+ return GetSubscriberUnreadCount200ResponseFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function GetSubscriberUnreadCount200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetSubscriberUnreadCount200Response {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'data': json['data'] == null ? undefined : UnreadCountDataFromJSON(json['data']),
56
+ };
57
+ }
58
+
59
+ export function GetSubscriberUnreadCount200ResponseToJSON(json: any): GetSubscriberUnreadCount200Response {
60
+ return GetSubscriberUnreadCount200ResponseToJSONTyped(json, false);
61
+ }
62
+
63
+ export function GetSubscriberUnreadCount200ResponseToJSONTyped(value?: GetSubscriberUnreadCount200Response | null, ignoreDiscriminator: boolean = false): any {
64
+ if (value == null) {
65
+ return value;
66
+ }
67
+
68
+ return {
69
+
70
+ 'data': UnreadCountDataToJSON(value['data']),
71
+ };
72
+ }
73
+
@@ -0,0 +1,88 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Zyphr API
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. ## 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. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## 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\" } } ```
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@zyphr.dev
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { GetDomain200ResponseMeta } from './GetDomain200ResponseMeta';
17
+ import {
18
+ GetDomain200ResponseMetaFromJSON,
19
+ GetDomain200ResponseMetaFromJSONTyped,
20
+ GetDomain200ResponseMetaToJSON,
21
+ GetDomain200ResponseMetaToJSONTyped,
22
+ } from './GetDomain200ResponseMeta';
23
+ import type { WaaSDelivery } from './WaaSDelivery';
24
+ import {
25
+ WaaSDeliveryFromJSON,
26
+ WaaSDeliveryFromJSONTyped,
27
+ WaaSDeliveryToJSON,
28
+ WaaSDeliveryToJSONTyped,
29
+ } from './WaaSDelivery';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface GetWaaSDelivery200Response
35
+ */
36
+ export interface GetWaaSDelivery200Response {
37
+ /**
38
+ *
39
+ * @type {WaaSDelivery}
40
+ * @memberof GetWaaSDelivery200Response
41
+ */
42
+ data?: WaaSDelivery;
43
+ /**
44
+ *
45
+ * @type {GetDomain200ResponseMeta}
46
+ * @memberof GetWaaSDelivery200Response
47
+ */
48
+ meta?: GetDomain200ResponseMeta;
49
+ }
50
+
51
+ /**
52
+ * Check if a given object implements the GetWaaSDelivery200Response interface.
53
+ */
54
+ export function instanceOfGetWaaSDelivery200Response(value: object): value is GetWaaSDelivery200Response {
55
+ return true;
56
+ }
57
+
58
+ export function GetWaaSDelivery200ResponseFromJSON(json: any): GetWaaSDelivery200Response {
59
+ return GetWaaSDelivery200ResponseFromJSONTyped(json, false);
60
+ }
61
+
62
+ export function GetWaaSDelivery200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetWaaSDelivery200Response {
63
+ if (json == null) {
64
+ return json;
65
+ }
66
+ return {
67
+
68
+ 'data': json['data'] == null ? undefined : WaaSDeliveryFromJSON(json['data']),
69
+ 'meta': json['meta'] == null ? undefined : GetDomain200ResponseMetaFromJSON(json['meta']),
70
+ };
71
+ }
72
+
73
+ export function GetWaaSDelivery200ResponseToJSON(json: any): GetWaaSDelivery200Response {
74
+ return GetWaaSDelivery200ResponseToJSONTyped(json, false);
75
+ }
76
+
77
+ export function GetWaaSDelivery200ResponseToJSONTyped(value?: GetWaaSDelivery200Response | null, ignoreDiscriminator: boolean = false): any {
78
+ if (value == null) {
79
+ return value;
80
+ }
81
+
82
+ return {
83
+
84
+ 'data': WaaSDeliveryToJSON(value['data']),
85
+ 'meta': GetDomain200ResponseMetaToJSON(value['meta']),
86
+ };
87
+ }
88
+
@@ -0,0 +1,88 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Zyphr API
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. ## 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. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## 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\" } } ```
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@zyphr.dev
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { GetWaaSEndpointCircuit200ResponseData } from './GetWaaSEndpointCircuit200ResponseData';
17
+ import {
18
+ GetWaaSEndpointCircuit200ResponseDataFromJSON,
19
+ GetWaaSEndpointCircuit200ResponseDataFromJSONTyped,
20
+ GetWaaSEndpointCircuit200ResponseDataToJSON,
21
+ GetWaaSEndpointCircuit200ResponseDataToJSONTyped,
22
+ } from './GetWaaSEndpointCircuit200ResponseData';
23
+ import type { GetDomain200ResponseMeta } from './GetDomain200ResponseMeta';
24
+ import {
25
+ GetDomain200ResponseMetaFromJSON,
26
+ GetDomain200ResponseMetaFromJSONTyped,
27
+ GetDomain200ResponseMetaToJSON,
28
+ GetDomain200ResponseMetaToJSONTyped,
29
+ } from './GetDomain200ResponseMeta';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface GetWaaSEndpointCircuit200Response
35
+ */
36
+ export interface GetWaaSEndpointCircuit200Response {
37
+ /**
38
+ *
39
+ * @type {GetWaaSEndpointCircuit200ResponseData}
40
+ * @memberof GetWaaSEndpointCircuit200Response
41
+ */
42
+ data?: GetWaaSEndpointCircuit200ResponseData;
43
+ /**
44
+ *
45
+ * @type {GetDomain200ResponseMeta}
46
+ * @memberof GetWaaSEndpointCircuit200Response
47
+ */
48
+ meta?: GetDomain200ResponseMeta;
49
+ }
50
+
51
+ /**
52
+ * Check if a given object implements the GetWaaSEndpointCircuit200Response interface.
53
+ */
54
+ export function instanceOfGetWaaSEndpointCircuit200Response(value: object): value is GetWaaSEndpointCircuit200Response {
55
+ return true;
56
+ }
57
+
58
+ export function GetWaaSEndpointCircuit200ResponseFromJSON(json: any): GetWaaSEndpointCircuit200Response {
59
+ return GetWaaSEndpointCircuit200ResponseFromJSONTyped(json, false);
60
+ }
61
+
62
+ export function GetWaaSEndpointCircuit200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetWaaSEndpointCircuit200Response {
63
+ if (json == null) {
64
+ return json;
65
+ }
66
+ return {
67
+
68
+ 'data': json['data'] == null ? undefined : GetWaaSEndpointCircuit200ResponseDataFromJSON(json['data']),
69
+ 'meta': json['meta'] == null ? undefined : GetDomain200ResponseMetaFromJSON(json['meta']),
70
+ };
71
+ }
72
+
73
+ export function GetWaaSEndpointCircuit200ResponseToJSON(json: any): GetWaaSEndpointCircuit200Response {
74
+ return GetWaaSEndpointCircuit200ResponseToJSONTyped(json, false);
75
+ }
76
+
77
+ export function GetWaaSEndpointCircuit200ResponseToJSONTyped(value?: GetWaaSEndpointCircuit200Response | null, ignoreDiscriminator: boolean = false): any {
78
+ if (value == null) {
79
+ return value;
80
+ }
81
+
82
+ return {
83
+
84
+ 'data': GetWaaSEndpointCircuit200ResponseDataToJSON(value['data']),
85
+ 'meta': GetDomain200ResponseMetaToJSON(value['meta']),
86
+ };
87
+ }
88
+
@@ -0,0 +1,123 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Zyphr API
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. ## 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. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## 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\" } } ```
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@zyphr.dev
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface GetWaaSEndpointCircuit200ResponseData
20
+ */
21
+ export interface GetWaaSEndpointCircuit200ResponseData {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof GetWaaSEndpointCircuit200ResponseData
26
+ */
27
+ state: GetWaaSEndpointCircuit200ResponseDataStateEnum;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof GetWaaSEndpointCircuit200ResponseData
32
+ */
33
+ failures: number;
34
+ /**
35
+ *
36
+ * @type {Date}
37
+ * @memberof GetWaaSEndpointCircuit200ResponseData
38
+ */
39
+ lastFailureAt: Date | null;
40
+ /**
41
+ *
42
+ * @type {Date}
43
+ * @memberof GetWaaSEndpointCircuit200ResponseData
44
+ */
45
+ openedAt: Date | null;
46
+ /**
47
+ *
48
+ * @type {Date}
49
+ * @memberof GetWaaSEndpointCircuit200ResponseData
50
+ */
51
+ nextTestAt: Date | null;
52
+ /**
53
+ *
54
+ * @type {number}
55
+ * @memberof GetWaaSEndpointCircuit200ResponseData
56
+ */
57
+ recoveryAttempts: number;
58
+ }
59
+
60
+
61
+ /**
62
+ * @export
63
+ */
64
+ export const GetWaaSEndpointCircuit200ResponseDataStateEnum = {
65
+ CLOSED: 'closed',
66
+ OPEN: 'open',
67
+ HALF_OPEN: 'half_open'
68
+ } as const;
69
+ export type GetWaaSEndpointCircuit200ResponseDataStateEnum = typeof GetWaaSEndpointCircuit200ResponseDataStateEnum[keyof typeof GetWaaSEndpointCircuit200ResponseDataStateEnum];
70
+
71
+
72
+ /**
73
+ * Check if a given object implements the GetWaaSEndpointCircuit200ResponseData interface.
74
+ */
75
+ export function instanceOfGetWaaSEndpointCircuit200ResponseData(value: object): value is GetWaaSEndpointCircuit200ResponseData {
76
+ if (!('state' in value) || value['state'] === undefined) return false;
77
+ if (!('failures' in value) || value['failures'] === undefined) return false;
78
+ if (!('lastFailureAt' in value) || value['lastFailureAt'] === undefined) return false;
79
+ if (!('openedAt' in value) || value['openedAt'] === undefined) return false;
80
+ if (!('nextTestAt' in value) || value['nextTestAt'] === undefined) return false;
81
+ if (!('recoveryAttempts' in value) || value['recoveryAttempts'] === undefined) return false;
82
+ return true;
83
+ }
84
+
85
+ export function GetWaaSEndpointCircuit200ResponseDataFromJSON(json: any): GetWaaSEndpointCircuit200ResponseData {
86
+ return GetWaaSEndpointCircuit200ResponseDataFromJSONTyped(json, false);
87
+ }
88
+
89
+ export function GetWaaSEndpointCircuit200ResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetWaaSEndpointCircuit200ResponseData {
90
+ if (json == null) {
91
+ return json;
92
+ }
93
+ return {
94
+
95
+ 'state': json['state'],
96
+ 'failures': json['failures'],
97
+ 'lastFailureAt': (json['last_failure_at'] == null ? null : new Date(json['last_failure_at'])),
98
+ 'openedAt': (json['opened_at'] == null ? null : new Date(json['opened_at'])),
99
+ 'nextTestAt': (json['next_test_at'] == null ? null : new Date(json['next_test_at'])),
100
+ 'recoveryAttempts': json['recovery_attempts'],
101
+ };
102
+ }
103
+
104
+ export function GetWaaSEndpointCircuit200ResponseDataToJSON(json: any): GetWaaSEndpointCircuit200ResponseData {
105
+ return GetWaaSEndpointCircuit200ResponseDataToJSONTyped(json, false);
106
+ }
107
+
108
+ export function GetWaaSEndpointCircuit200ResponseDataToJSONTyped(value?: GetWaaSEndpointCircuit200ResponseData | null, ignoreDiscriminator: boolean = false): any {
109
+ if (value == null) {
110
+ return value;
111
+ }
112
+
113
+ return {
114
+
115
+ 'state': value['state'],
116
+ 'failures': value['failures'],
117
+ 'last_failure_at': (value['lastFailureAt'] == null ? null : (value['lastFailureAt'] as any).toISOString()),
118
+ 'opened_at': (value['openedAt'] == null ? null : (value['openedAt'] as any).toISOString()),
119
+ 'next_test_at': (value['nextTestAt'] == null ? null : (value['nextTestAt'] as any).toISOString()),
120
+ 'recovery_attempts': value['recoveryAttempts'],
121
+ };
122
+ }
123
+
@@ -0,0 +1,88 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Zyphr API
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. ## 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. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## 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\" } } ```
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@zyphr.dev
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { GetDomain200ResponseMeta } from './GetDomain200ResponseMeta';
17
+ import {
18
+ GetDomain200ResponseMetaFromJSON,
19
+ GetDomain200ResponseMetaFromJSONTyped,
20
+ GetDomain200ResponseMetaToJSON,
21
+ GetDomain200ResponseMetaToJSONTyped,
22
+ } from './GetDomain200ResponseMeta';
23
+ import type { GetWaaSEndpointMetrics200ResponseData } from './GetWaaSEndpointMetrics200ResponseData';
24
+ import {
25
+ GetWaaSEndpointMetrics200ResponseDataFromJSON,
26
+ GetWaaSEndpointMetrics200ResponseDataFromJSONTyped,
27
+ GetWaaSEndpointMetrics200ResponseDataToJSON,
28
+ GetWaaSEndpointMetrics200ResponseDataToJSONTyped,
29
+ } from './GetWaaSEndpointMetrics200ResponseData';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface GetWaaSEndpointMetrics200Response
35
+ */
36
+ export interface GetWaaSEndpointMetrics200Response {
37
+ /**
38
+ *
39
+ * @type {GetWaaSEndpointMetrics200ResponseData}
40
+ * @memberof GetWaaSEndpointMetrics200Response
41
+ */
42
+ data?: GetWaaSEndpointMetrics200ResponseData;
43
+ /**
44
+ *
45
+ * @type {GetDomain200ResponseMeta}
46
+ * @memberof GetWaaSEndpointMetrics200Response
47
+ */
48
+ meta?: GetDomain200ResponseMeta;
49
+ }
50
+
51
+ /**
52
+ * Check if a given object implements the GetWaaSEndpointMetrics200Response interface.
53
+ */
54
+ export function instanceOfGetWaaSEndpointMetrics200Response(value: object): value is GetWaaSEndpointMetrics200Response {
55
+ return true;
56
+ }
57
+
58
+ export function GetWaaSEndpointMetrics200ResponseFromJSON(json: any): GetWaaSEndpointMetrics200Response {
59
+ return GetWaaSEndpointMetrics200ResponseFromJSONTyped(json, false);
60
+ }
61
+
62
+ export function GetWaaSEndpointMetrics200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetWaaSEndpointMetrics200Response {
63
+ if (json == null) {
64
+ return json;
65
+ }
66
+ return {
67
+
68
+ 'data': json['data'] == null ? undefined : GetWaaSEndpointMetrics200ResponseDataFromJSON(json['data']),
69
+ 'meta': json['meta'] == null ? undefined : GetDomain200ResponseMetaFromJSON(json['meta']),
70
+ };
71
+ }
72
+
73
+ export function GetWaaSEndpointMetrics200ResponseToJSON(json: any): GetWaaSEndpointMetrics200Response {
74
+ return GetWaaSEndpointMetrics200ResponseToJSONTyped(json, false);
75
+ }
76
+
77
+ export function GetWaaSEndpointMetrics200ResponseToJSONTyped(value?: GetWaaSEndpointMetrics200Response | null, ignoreDiscriminator: boolean = false): any {
78
+ if (value == null) {
79
+ return value;
80
+ }
81
+
82
+ return {
83
+
84
+ 'data': GetWaaSEndpointMetrics200ResponseDataToJSON(value['data']),
85
+ 'meta': GetDomain200ResponseMetaToJSON(value['meta']),
86
+ };
87
+ }
88
+