@zyphr-dev/node-sdk 0.1.42 → 0.1.44

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 (64) hide show
  1. package/README.md +6 -4
  2. package/dist/index.cjs +2056 -345
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +2258 -466
  5. package/dist/index.d.ts +2258 -466
  6. package/dist/index.js +1852 -340
  7. package/dist/index.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/.openapi-generator/FILES +40 -1
  10. package/src/client.ts +18 -3
  11. package/src/clientAuth.ts +45 -12
  12. package/src/src/apis/AuthApplicationApi.ts +93 -0
  13. package/src/src/apis/AuthEmailTemplatesApi.ts +4 -4
  14. package/src/src/apis/AuthUserDirectoryApi.ts +120 -36
  15. package/src/src/apis/DomainsApi.ts +7 -6
  16. package/src/src/apis/InboxApi.ts +78 -54
  17. package/src/src/apis/TemplatesApi.ts +10 -6
  18. package/src/src/apis/WaaSDeliveriesApi.ts +17 -12
  19. package/src/src/apis/WaaSEndpointsApi.ts +50 -30
  20. package/src/src/apis/WaaSEventTypesApi.ts +17 -12
  21. package/src/src/apis/index.ts +1 -0
  22. package/src/src/models/ApplicationSelf.ts +118 -0
  23. package/src/src/models/ApplicationSelfResponse.ts +88 -0
  24. package/src/src/models/AuthEmailTemplateTestRequest.ts +1 -1
  25. package/src/src/models/AuthMethods.ts +111 -0
  26. package/src/src/models/CloseWaaSEndpointCircuit200Response.ts +88 -0
  27. package/src/src/models/CloseWaaSEndpointCircuit200ResponseData.ts +76 -0
  28. package/src/src/models/GetEndUserAuthMethods200Response.ts +88 -0
  29. package/src/src/models/GetEndUserById200Response.ts +88 -0
  30. package/src/src/models/GetEndUserClaims200Response.ts +88 -0
  31. package/src/src/models/GetEndUserClaims200ResponseData.ts +65 -0
  32. package/src/src/models/GetSubscriberInboxPreferences200Response.ts +73 -0
  33. package/src/src/models/GetSubscriberInboxPreferences200ResponseData.ts +88 -0
  34. package/src/src/models/GetSubscriberInboxPreferences200ResponseDataCategoriesInner.ts +88 -0
  35. package/src/src/models/GetSubscriberInboxPreferences200ResponseDataCategoriesInnerCategory.ts +97 -0
  36. package/src/src/models/GetSubscriberInboxPreferences200ResponseDataGlobal.ts +73 -0
  37. package/src/src/models/GetSubscriberInboxPreferences200ResponseDataGlobalChannelsInner.ts +94 -0
  38. package/src/src/models/GetSubscriberNotification200Response.ts +73 -0
  39. package/src/src/models/GetSubscriberUnreadCount200Response.ts +73 -0
  40. package/src/src/models/GetWaaSDelivery200Response.ts +88 -0
  41. package/src/src/models/GetWaaSEndpointCircuit200Response.ts +88 -0
  42. package/src/src/models/GetWaaSEndpointCircuit200ResponseData.ts +123 -0
  43. package/src/src/models/GetWaaSEndpointMetrics200Response.ts +88 -0
  44. package/src/src/models/GetWaaSEndpointMetrics200ResponseData.ts +99 -0
  45. package/src/src/models/GetWaaSEndpointMetrics200ResponseDataHealth.ts +87 -0
  46. package/src/src/models/GetWaaSEndpointMetrics200ResponseDataWindowsValue.ts +126 -0
  47. package/src/src/models/InviteEndUser200Response.ts +88 -0
  48. package/src/src/models/InviteEndUser200ResponseData.ts +81 -0
  49. package/src/src/models/ListEndUsers200Response.ts +88 -0
  50. package/src/src/models/{ListWorkflowExecutions200ResponseMeta.ts → ListEndUsers200ResponseMeta.ts} +15 -15
  51. package/src/src/models/ListWorkflowExecutions200Response.ts +11 -11
  52. package/src/src/models/MarkAllSubscriberNotificationsRead200Response.ts +73 -0
  53. package/src/src/models/RotateWaaSEndpointSecret200Response.ts +88 -0
  54. package/src/src/models/RotateWaaSEndpointSecret200ResponseData.ts +66 -0
  55. package/src/src/models/SendTemplateTestEmail202Response.ts +90 -0
  56. package/src/src/models/SendTemplateTestEmail202ResponseData.ts +120 -0
  57. package/src/src/models/SendTemplateTestEmail202ResponseMeta.ts +66 -0
  58. package/src/src/models/SmsListResponse.ts +10 -10
  59. package/src/src/models/UpdateSubscriberPreferences200Response.ts +73 -0
  60. package/src/src/models/UpdateSubscriberPreferences200ResponseData.ts +81 -0
  61. package/src/src/models/UpdateSubscriberPreferences200ResponseDataPreferencesInner.ts +102 -0
  62. package/src/src/models/UpdateWaaSEndpoint200Response.ts +88 -0
  63. package/src/src/models/UpdateWaaSEventType200Response.ts +88 -0
  64. package/src/src/models/index.ts +39 -1
@@ -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
+
@@ -0,0 +1,99 @@
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 { GetWaaSEndpointMetrics200ResponseDataWindowsValue } from './GetWaaSEndpointMetrics200ResponseDataWindowsValue';
17
+ import {
18
+ GetWaaSEndpointMetrics200ResponseDataWindowsValueFromJSON,
19
+ GetWaaSEndpointMetrics200ResponseDataWindowsValueFromJSONTyped,
20
+ GetWaaSEndpointMetrics200ResponseDataWindowsValueToJSON,
21
+ GetWaaSEndpointMetrics200ResponseDataWindowsValueToJSONTyped,
22
+ } from './GetWaaSEndpointMetrics200ResponseDataWindowsValue';
23
+ import type { GetWaaSEndpointMetrics200ResponseDataHealth } from './GetWaaSEndpointMetrics200ResponseDataHealth';
24
+ import {
25
+ GetWaaSEndpointMetrics200ResponseDataHealthFromJSON,
26
+ GetWaaSEndpointMetrics200ResponseDataHealthFromJSONTyped,
27
+ GetWaaSEndpointMetrics200ResponseDataHealthToJSON,
28
+ GetWaaSEndpointMetrics200ResponseDataHealthToJSONTyped,
29
+ } from './GetWaaSEndpointMetrics200ResponseDataHealth';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface GetWaaSEndpointMetrics200ResponseData
35
+ */
36
+ export interface GetWaaSEndpointMetrics200ResponseData {
37
+ /**
38
+ *
39
+ * @type {string}
40
+ * @memberof GetWaaSEndpointMetrics200ResponseData
41
+ */
42
+ webhookId: string;
43
+ /**
44
+ *
45
+ * @type {GetWaaSEndpointMetrics200ResponseDataHealth}
46
+ * @memberof GetWaaSEndpointMetrics200ResponseData
47
+ */
48
+ health: GetWaaSEndpointMetrics200ResponseDataHealth;
49
+ /**
50
+ * Per-window delivery metrics (1h / 24h / 7d / 30d). Each window has the same shape.
51
+ * @type {{ [key: string]: GetWaaSEndpointMetrics200ResponseDataWindowsValue; }}
52
+ * @memberof GetWaaSEndpointMetrics200ResponseData
53
+ */
54
+ windows: { [key: string]: GetWaaSEndpointMetrics200ResponseDataWindowsValue; };
55
+ }
56
+
57
+ /**
58
+ * Check if a given object implements the GetWaaSEndpointMetrics200ResponseData interface.
59
+ */
60
+ export function instanceOfGetWaaSEndpointMetrics200ResponseData(value: object): value is GetWaaSEndpointMetrics200ResponseData {
61
+ if (!('webhookId' in value) || value['webhookId'] === undefined) return false;
62
+ if (!('health' in value) || value['health'] === undefined) return false;
63
+ if (!('windows' in value) || value['windows'] === undefined) return false;
64
+ return true;
65
+ }
66
+
67
+ export function GetWaaSEndpointMetrics200ResponseDataFromJSON(json: any): GetWaaSEndpointMetrics200ResponseData {
68
+ return GetWaaSEndpointMetrics200ResponseDataFromJSONTyped(json, false);
69
+ }
70
+
71
+ export function GetWaaSEndpointMetrics200ResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetWaaSEndpointMetrics200ResponseData {
72
+ if (json == null) {
73
+ return json;
74
+ }
75
+ return {
76
+
77
+ 'webhookId': json['webhook_id'],
78
+ 'health': GetWaaSEndpointMetrics200ResponseDataHealthFromJSON(json['health']),
79
+ 'windows': (mapValues(json['windows'], GetWaaSEndpointMetrics200ResponseDataWindowsValueFromJSON)),
80
+ };
81
+ }
82
+
83
+ export function GetWaaSEndpointMetrics200ResponseDataToJSON(json: any): GetWaaSEndpointMetrics200ResponseData {
84
+ return GetWaaSEndpointMetrics200ResponseDataToJSONTyped(json, false);
85
+ }
86
+
87
+ export function GetWaaSEndpointMetrics200ResponseDataToJSONTyped(value?: GetWaaSEndpointMetrics200ResponseData | null, ignoreDiscriminator: boolean = false): any {
88
+ if (value == null) {
89
+ return value;
90
+ }
91
+
92
+ return {
93
+
94
+ 'webhook_id': value['webhookId'],
95
+ 'health': GetWaaSEndpointMetrics200ResponseDataHealthToJSON(value['health']),
96
+ 'windows': (mapValues(value['windows'], GetWaaSEndpointMetrics200ResponseDataWindowsValueToJSON)),
97
+ };
98
+ }
99
+
@@ -0,0 +1,87 @@
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 GetWaaSEndpointMetrics200ResponseDataHealth
20
+ */
21
+ export interface GetWaaSEndpointMetrics200ResponseDataHealth {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof GetWaaSEndpointMetrics200ResponseDataHealth
26
+ */
27
+ score: number;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof GetWaaSEndpointMetrics200ResponseDataHealth
32
+ */
33
+ status: GetWaaSEndpointMetrics200ResponseDataHealthStatusEnum;
34
+ }
35
+
36
+
37
+ /**
38
+ * @export
39
+ */
40
+ export const GetWaaSEndpointMetrics200ResponseDataHealthStatusEnum = {
41
+ HEALTHY: 'healthy',
42
+ DEGRADED: 'degraded',
43
+ UNHEALTHY: 'unhealthy'
44
+ } as const;
45
+ export type GetWaaSEndpointMetrics200ResponseDataHealthStatusEnum = typeof GetWaaSEndpointMetrics200ResponseDataHealthStatusEnum[keyof typeof GetWaaSEndpointMetrics200ResponseDataHealthStatusEnum];
46
+
47
+
48
+ /**
49
+ * Check if a given object implements the GetWaaSEndpointMetrics200ResponseDataHealth interface.
50
+ */
51
+ export function instanceOfGetWaaSEndpointMetrics200ResponseDataHealth(value: object): value is GetWaaSEndpointMetrics200ResponseDataHealth {
52
+ if (!('score' in value) || value['score'] === undefined) return false;
53
+ if (!('status' in value) || value['status'] === undefined) return false;
54
+ return true;
55
+ }
56
+
57
+ export function GetWaaSEndpointMetrics200ResponseDataHealthFromJSON(json: any): GetWaaSEndpointMetrics200ResponseDataHealth {
58
+ return GetWaaSEndpointMetrics200ResponseDataHealthFromJSONTyped(json, false);
59
+ }
60
+
61
+ export function GetWaaSEndpointMetrics200ResponseDataHealthFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetWaaSEndpointMetrics200ResponseDataHealth {
62
+ if (json == null) {
63
+ return json;
64
+ }
65
+ return {
66
+
67
+ 'score': json['score'],
68
+ 'status': json['status'],
69
+ };
70
+ }
71
+
72
+ export function GetWaaSEndpointMetrics200ResponseDataHealthToJSON(json: any): GetWaaSEndpointMetrics200ResponseDataHealth {
73
+ return GetWaaSEndpointMetrics200ResponseDataHealthToJSONTyped(json, false);
74
+ }
75
+
76
+ export function GetWaaSEndpointMetrics200ResponseDataHealthToJSONTyped(value?: GetWaaSEndpointMetrics200ResponseDataHealth | null, ignoreDiscriminator: boolean = false): any {
77
+ if (value == null) {
78
+ return value;
79
+ }
80
+
81
+ return {
82
+
83
+ 'score': value['score'],
84
+ 'status': value['status'],
85
+ };
86
+ }
87
+