@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,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
+
@@ -0,0 +1,126 @@
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 GetWaaSEndpointMetrics200ResponseDataWindowsValue
20
+ */
21
+ export interface GetWaaSEndpointMetrics200ResponseDataWindowsValue {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof GetWaaSEndpointMetrics200ResponseDataWindowsValue
26
+ */
27
+ window?: GetWaaSEndpointMetrics200ResponseDataWindowsValueWindowEnum;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof GetWaaSEndpointMetrics200ResponseDataWindowsValue
32
+ */
33
+ total?: number;
34
+ /**
35
+ *
36
+ * @type {number}
37
+ * @memberof GetWaaSEndpointMetrics200ResponseDataWindowsValue
38
+ */
39
+ successes?: number;
40
+ /**
41
+ *
42
+ * @type {number}
43
+ * @memberof GetWaaSEndpointMetrics200ResponseDataWindowsValue
44
+ */
45
+ failures?: number;
46
+ /**
47
+ *
48
+ * @type {number}
49
+ * @memberof GetWaaSEndpointMetrics200ResponseDataWindowsValue
50
+ */
51
+ successRate?: number;
52
+ /**
53
+ *
54
+ * @type {number}
55
+ * @memberof GetWaaSEndpointMetrics200ResponseDataWindowsValue
56
+ */
57
+ avgLatencyMs?: number;
58
+ /**
59
+ *
60
+ * @type {number}
61
+ * @memberof GetWaaSEndpointMetrics200ResponseDataWindowsValue
62
+ */
63
+ p95LatencyMs?: number;
64
+ }
65
+
66
+
67
+ /**
68
+ * @export
69
+ */
70
+ export const GetWaaSEndpointMetrics200ResponseDataWindowsValueWindowEnum = {
71
+ _1H: '1h',
72
+ _24H: '24h',
73
+ _7D: '7d',
74
+ _30D: '30d'
75
+ } as const;
76
+ export type GetWaaSEndpointMetrics200ResponseDataWindowsValueWindowEnum = typeof GetWaaSEndpointMetrics200ResponseDataWindowsValueWindowEnum[keyof typeof GetWaaSEndpointMetrics200ResponseDataWindowsValueWindowEnum];
77
+
78
+
79
+ /**
80
+ * Check if a given object implements the GetWaaSEndpointMetrics200ResponseDataWindowsValue interface.
81
+ */
82
+ export function instanceOfGetWaaSEndpointMetrics200ResponseDataWindowsValue(value: object): value is GetWaaSEndpointMetrics200ResponseDataWindowsValue {
83
+ return true;
84
+ }
85
+
86
+ export function GetWaaSEndpointMetrics200ResponseDataWindowsValueFromJSON(json: any): GetWaaSEndpointMetrics200ResponseDataWindowsValue {
87
+ return GetWaaSEndpointMetrics200ResponseDataWindowsValueFromJSONTyped(json, false);
88
+ }
89
+
90
+ export function GetWaaSEndpointMetrics200ResponseDataWindowsValueFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetWaaSEndpointMetrics200ResponseDataWindowsValue {
91
+ if (json == null) {
92
+ return json;
93
+ }
94
+ return {
95
+
96
+ 'window': json['window'] == null ? undefined : json['window'],
97
+ 'total': json['total'] == null ? undefined : json['total'],
98
+ 'successes': json['successes'] == null ? undefined : json['successes'],
99
+ 'failures': json['failures'] == null ? undefined : json['failures'],
100
+ 'successRate': json['success_rate'] == null ? undefined : json['success_rate'],
101
+ 'avgLatencyMs': json['avg_latency_ms'] == null ? undefined : json['avg_latency_ms'],
102
+ 'p95LatencyMs': json['p95_latency_ms'] == null ? undefined : json['p95_latency_ms'],
103
+ };
104
+ }
105
+
106
+ export function GetWaaSEndpointMetrics200ResponseDataWindowsValueToJSON(json: any): GetWaaSEndpointMetrics200ResponseDataWindowsValue {
107
+ return GetWaaSEndpointMetrics200ResponseDataWindowsValueToJSONTyped(json, false);
108
+ }
109
+
110
+ export function GetWaaSEndpointMetrics200ResponseDataWindowsValueToJSONTyped(value?: GetWaaSEndpointMetrics200ResponseDataWindowsValue | null, ignoreDiscriminator: boolean = false): any {
111
+ if (value == null) {
112
+ return value;
113
+ }
114
+
115
+ return {
116
+
117
+ 'window': value['window'],
118
+ 'total': value['total'],
119
+ 'successes': value['successes'],
120
+ 'failures': value['failures'],
121
+ 'success_rate': value['successRate'],
122
+ 'avg_latency_ms': value['avgLatencyMs'],
123
+ 'p95_latency_ms': value['p95LatencyMs'],
124
+ };
125
+ }
126
+
@@ -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 { InviteEndUser200ResponseData } from './InviteEndUser200ResponseData';
17
+ import {
18
+ InviteEndUser200ResponseDataFromJSON,
19
+ InviteEndUser200ResponseDataFromJSONTyped,
20
+ InviteEndUser200ResponseDataToJSON,
21
+ InviteEndUser200ResponseDataToJSONTyped,
22
+ } from './InviteEndUser200ResponseData';
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 InviteEndUser200Response
35
+ */
36
+ export interface InviteEndUser200Response {
37
+ /**
38
+ *
39
+ * @type {InviteEndUser200ResponseData}
40
+ * @memberof InviteEndUser200Response
41
+ */
42
+ data?: InviteEndUser200ResponseData;
43
+ /**
44
+ *
45
+ * @type {GetDomain200ResponseMeta}
46
+ * @memberof InviteEndUser200Response
47
+ */
48
+ meta?: GetDomain200ResponseMeta;
49
+ }
50
+
51
+ /**
52
+ * Check if a given object implements the InviteEndUser200Response interface.
53
+ */
54
+ export function instanceOfInviteEndUser200Response(value: object): value is InviteEndUser200Response {
55
+ return true;
56
+ }
57
+
58
+ export function InviteEndUser200ResponseFromJSON(json: any): InviteEndUser200Response {
59
+ return InviteEndUser200ResponseFromJSONTyped(json, false);
60
+ }
61
+
62
+ export function InviteEndUser200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): InviteEndUser200Response {
63
+ if (json == null) {
64
+ return json;
65
+ }
66
+ return {
67
+
68
+ 'data': json['data'] == null ? undefined : InviteEndUser200ResponseDataFromJSON(json['data']),
69
+ 'meta': json['meta'] == null ? undefined : GetDomain200ResponseMetaFromJSON(json['meta']),
70
+ };
71
+ }
72
+
73
+ export function InviteEndUser200ResponseToJSON(json: any): InviteEndUser200Response {
74
+ return InviteEndUser200ResponseToJSONTyped(json, false);
75
+ }
76
+
77
+ export function InviteEndUser200ResponseToJSONTyped(value?: InviteEndUser200Response | null, ignoreDiscriminator: boolean = false): any {
78
+ if (value == null) {
79
+ return value;
80
+ }
81
+
82
+ return {
83
+
84
+ 'data': InviteEndUser200ResponseDataToJSON(value['data']),
85
+ 'meta': GetDomain200ResponseMetaToJSON(value['meta']),
86
+ };
87
+ }
88
+
@@ -0,0 +1,81 @@
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 InviteEndUser200ResponseData
20
+ */
21
+ export interface InviteEndUser200ResponseData {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof InviteEndUser200ResponseData
26
+ */
27
+ userId?: string;
28
+ /**
29
+ * True when a new user was provisioned; false when an existing user was reused (idempotent on email).
30
+ * @type {boolean}
31
+ * @memberof InviteEndUser200ResponseData
32
+ */
33
+ created?: boolean;
34
+ /**
35
+ * True when a magic-link or password-reset email was successfully dispatched.
36
+ * @type {boolean}
37
+ * @memberof InviteEndUser200ResponseData
38
+ */
39
+ linkSent?: boolean;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the InviteEndUser200ResponseData interface.
44
+ */
45
+ export function instanceOfInviteEndUser200ResponseData(value: object): value is InviteEndUser200ResponseData {
46
+ return true;
47
+ }
48
+
49
+ export function InviteEndUser200ResponseDataFromJSON(json: any): InviteEndUser200ResponseData {
50
+ return InviteEndUser200ResponseDataFromJSONTyped(json, false);
51
+ }
52
+
53
+ export function InviteEndUser200ResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): InviteEndUser200ResponseData {
54
+ if (json == null) {
55
+ return json;
56
+ }
57
+ return {
58
+
59
+ 'userId': json['user_id'] == null ? undefined : json['user_id'],
60
+ 'created': json['created'] == null ? undefined : json['created'],
61
+ 'linkSent': json['link_sent'] == null ? undefined : json['link_sent'],
62
+ };
63
+ }
64
+
65
+ export function InviteEndUser200ResponseDataToJSON(json: any): InviteEndUser200ResponseData {
66
+ return InviteEndUser200ResponseDataToJSONTyped(json, false);
67
+ }
68
+
69
+ export function InviteEndUser200ResponseDataToJSONTyped(value?: InviteEndUser200ResponseData | null, ignoreDiscriminator: boolean = false): any {
70
+ if (value == null) {
71
+ return value;
72
+ }
73
+
74
+ return {
75
+
76
+ 'user_id': value['userId'],
77
+ 'created': value['created'],
78
+ 'link_sent': value['linkSent'],
79
+ };
80
+ }
81
+
@@ -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 { AuthUser } from './AuthUser';
17
+ import {
18
+ AuthUserFromJSON,
19
+ AuthUserFromJSONTyped,
20
+ AuthUserToJSON,
21
+ AuthUserToJSONTyped,
22
+ } from './AuthUser';
23
+ import type { ListEndUsers200ResponseMeta } from './ListEndUsers200ResponseMeta';
24
+ import {
25
+ ListEndUsers200ResponseMetaFromJSON,
26
+ ListEndUsers200ResponseMetaFromJSONTyped,
27
+ ListEndUsers200ResponseMetaToJSON,
28
+ ListEndUsers200ResponseMetaToJSONTyped,
29
+ } from './ListEndUsers200ResponseMeta';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface ListEndUsers200Response
35
+ */
36
+ export interface ListEndUsers200Response {
37
+ /**
38
+ *
39
+ * @type {Array<AuthUser>}
40
+ * @memberof ListEndUsers200Response
41
+ */
42
+ data?: Array<AuthUser>;
43
+ /**
44
+ *
45
+ * @type {ListEndUsers200ResponseMeta}
46
+ * @memberof ListEndUsers200Response
47
+ */
48
+ meta?: ListEndUsers200ResponseMeta;
49
+ }
50
+
51
+ /**
52
+ * Check if a given object implements the ListEndUsers200Response interface.
53
+ */
54
+ export function instanceOfListEndUsers200Response(value: object): value is ListEndUsers200Response {
55
+ return true;
56
+ }
57
+
58
+ export function ListEndUsers200ResponseFromJSON(json: any): ListEndUsers200Response {
59
+ return ListEndUsers200ResponseFromJSONTyped(json, false);
60
+ }
61
+
62
+ export function ListEndUsers200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListEndUsers200Response {
63
+ if (json == null) {
64
+ return json;
65
+ }
66
+ return {
67
+
68
+ 'data': json['data'] == null ? undefined : ((json['data'] as Array<any>).map(AuthUserFromJSON)),
69
+ 'meta': json['meta'] == null ? undefined : ListEndUsers200ResponseMetaFromJSON(json['meta']),
70
+ };
71
+ }
72
+
73
+ export function ListEndUsers200ResponseToJSON(json: any): ListEndUsers200Response {
74
+ return ListEndUsers200ResponseToJSONTyped(json, false);
75
+ }
76
+
77
+ export function ListEndUsers200ResponseToJSONTyped(value?: ListEndUsers200Response | null, ignoreDiscriminator: boolean = false): any {
78
+ if (value == null) {
79
+ return value;
80
+ }
81
+
82
+ return {
83
+
84
+ 'data': value['data'] == null ? undefined : ((value['data'] as Array<any>).map(AuthUserToJSON)),
85
+ 'meta': ListEndUsers200ResponseMetaToJSON(value['meta']),
86
+ };
87
+ }
88
+
@@ -16,53 +16,53 @@ import { mapValues } from '../runtime';
16
16
  /**
17
17
  *
18
18
  * @export
19
- * @interface ListWorkflowExecutions200ResponseMeta
19
+ * @interface ListEndUsers200ResponseMeta
20
20
  */
21
- export interface ListWorkflowExecutions200ResponseMeta {
21
+ export interface ListEndUsers200ResponseMeta {
22
22
  /**
23
23
  *
24
24
  * @type {string}
25
- * @memberof ListWorkflowExecutions200ResponseMeta
25
+ * @memberof ListEndUsers200ResponseMeta
26
26
  */
27
27
  requestId?: string;
28
28
  /**
29
29
  *
30
30
  * @type {number}
31
- * @memberof ListWorkflowExecutions200ResponseMeta
31
+ * @memberof ListEndUsers200ResponseMeta
32
32
  */
33
33
  page?: number;
34
34
  /**
35
35
  *
36
36
  * @type {number}
37
- * @memberof ListWorkflowExecutions200ResponseMeta
37
+ * @memberof ListEndUsers200ResponseMeta
38
38
  */
39
39
  perPage?: number;
40
40
  /**
41
41
  *
42
42
  * @type {number}
43
- * @memberof ListWorkflowExecutions200ResponseMeta
43
+ * @memberof ListEndUsers200ResponseMeta
44
44
  */
45
45
  total?: number;
46
46
  /**
47
47
  *
48
48
  * @type {number}
49
- * @memberof ListWorkflowExecutions200ResponseMeta
49
+ * @memberof ListEndUsers200ResponseMeta
50
50
  */
51
51
  totalPages?: number;
52
52
  }
53
53
 
54
54
  /**
55
- * Check if a given object implements the ListWorkflowExecutions200ResponseMeta interface.
55
+ * Check if a given object implements the ListEndUsers200ResponseMeta interface.
56
56
  */
57
- export function instanceOfListWorkflowExecutions200ResponseMeta(value: object): value is ListWorkflowExecutions200ResponseMeta {
57
+ export function instanceOfListEndUsers200ResponseMeta(value: object): value is ListEndUsers200ResponseMeta {
58
58
  return true;
59
59
  }
60
60
 
61
- export function ListWorkflowExecutions200ResponseMetaFromJSON(json: any): ListWorkflowExecutions200ResponseMeta {
62
- return ListWorkflowExecutions200ResponseMetaFromJSONTyped(json, false);
61
+ export function ListEndUsers200ResponseMetaFromJSON(json: any): ListEndUsers200ResponseMeta {
62
+ return ListEndUsers200ResponseMetaFromJSONTyped(json, false);
63
63
  }
64
64
 
65
- export function ListWorkflowExecutions200ResponseMetaFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListWorkflowExecutions200ResponseMeta {
65
+ export function ListEndUsers200ResponseMetaFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListEndUsers200ResponseMeta {
66
66
  if (json == null) {
67
67
  return json;
68
68
  }
@@ -76,11 +76,11 @@ export function ListWorkflowExecutions200ResponseMetaFromJSONTyped(json: any, ig
76
76
  };
77
77
  }
78
78
 
79
- export function ListWorkflowExecutions200ResponseMetaToJSON(json: any): ListWorkflowExecutions200ResponseMeta {
80
- return ListWorkflowExecutions200ResponseMetaToJSONTyped(json, false);
79
+ export function ListEndUsers200ResponseMetaToJSON(json: any): ListEndUsers200ResponseMeta {
80
+ return ListEndUsers200ResponseMetaToJSONTyped(json, false);
81
81
  }
82
82
 
83
- export function ListWorkflowExecutions200ResponseMetaToJSONTyped(value?: ListWorkflowExecutions200ResponseMeta | null, ignoreDiscriminator: boolean = false): any {
83
+ export function ListEndUsers200ResponseMetaToJSONTyped(value?: ListEndUsers200ResponseMeta | null, ignoreDiscriminator: boolean = false): any {
84
84
  if (value == null) {
85
85
  return value;
86
86
  }