@zyphr-dev/node-sdk 0.1.26 → 0.1.28

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zyphr-dev/node-sdk",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "description": "Official Zyphr SDK for Node.js, React, and React Native",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -48,10 +48,10 @@
48
48
  "openapi"
49
49
  ],
50
50
  "license": "MIT",
51
- "repository": {
52
- "type": "git",
53
- "url": "https://github.com/arcraz/zyphr.git",
54
- "directory": "packages/sdk/node"
51
+ "homepage": "https://docs.zyphr.dev/sdks/node",
52
+ "bugs": {
53
+ "email": "support@zyphr.dev",
54
+ "url": "https://docs.zyphr.dev"
55
55
  },
56
56
  "engines": {
57
57
  "node": ">=18.0.0"
@@ -15,6 +15,7 @@ src/apis/AuthSessionsApi.ts
15
15
  src/apis/AuthUserProfileApi.ts
16
16
  src/apis/AuthWebAuthnApi.ts
17
17
  src/apis/DevicesApi.ts
18
+ src/apis/DomainsApi.ts
18
19
  src/apis/EmailsApi.ts
19
20
  src/apis/ExecutionsApi.ts
20
21
  src/apis/InboxApi.ts
@@ -34,6 +35,9 @@ src/apis/WaaSPortalApi.ts
34
35
  src/apis/WebhooksApi.ts
35
36
  src/apis/index.ts
36
37
  src/index.ts
38
+ src/models/AddDomain200Response.ts
39
+ src/models/AddDomain200ResponseMeta.ts
40
+ src/models/AddDomainRequest.ts
37
41
  src/models/AddTopicSubscribersRequest.ts
38
42
  src/models/ApiError.ts
39
43
  src/models/ApiErrorError.ts
@@ -100,6 +104,8 @@ src/models/CreateWaaSEndpointResponse.ts
100
104
  src/models/CreateWaaSEventType201Response.ts
101
105
  src/models/CreateWaaSEventTypeRequest.ts
102
106
  src/models/CreateWebhookRequest.ts
107
+ src/models/DeleteDomainResponse.ts
108
+ src/models/DeleteDomainResponseData.ts
103
109
  src/models/DeleteResult.ts
104
110
  src/models/DeleteResultData.ts
105
111
  src/models/Device.ts
@@ -110,6 +116,10 @@ src/models/DevicePushTopicListResponseMeta.ts
110
116
  src/models/DeviceResponse.ts
111
117
  src/models/DeviceStats.ts
112
118
  src/models/DeviceStatsResponse.ts
119
+ src/models/DnsRecord.ts
120
+ src/models/DomainListResponse.ts
121
+ src/models/DomainListResponseMeta.ts
122
+ src/models/DomainResponse.ts
113
123
  src/models/EmailAddress.ts
114
124
  src/models/EmailAttachment.ts
115
125
  src/models/EmailEvent.ts
@@ -134,6 +144,8 @@ src/models/GenerateSubscriberToken200Response.ts
134
144
  src/models/GenerateSubscriberToken200ResponseData.ts
135
145
  src/models/GenerateSubscriberTokenRequest.ts
136
146
  src/models/GenerateWaaSPortalToken201Response.ts
147
+ src/models/GetDomain200Response.ts
148
+ src/models/GetDomain200ResponseMeta.ts
137
149
  src/models/GetWaaSEndpoint200Response.ts
138
150
  src/models/GetWaaSUsage200Response.ts
139
151
  src/models/InAppNotification.ts
@@ -346,6 +358,10 @@ src/models/UserDevicesDeleteResponseData.ts
346
358
  src/models/ValidateResetTokenRequest.ts
347
359
  src/models/ValidateResetTokenResponse.ts
348
360
  src/models/ValidateResetTokenResponseData.ts
361
+ src/models/VerificationStatusResponse.ts
362
+ src/models/VerificationStatusResponseData.ts
363
+ src/models/VerifyDomainResponse.ts
364
+ src/models/VerifyDomainResponseData.ts
349
365
  src/models/VerifySmsConfigData.ts
350
366
  src/models/VerifySmsConfigResponse.ts
351
367
  src/models/WaaSApplication.ts
@@ -0,0 +1,405 @@
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 ## 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
+
16
+ import * as runtime from '../runtime';
17
+ import type {
18
+ AddDomain200Response,
19
+ AddDomainRequest,
20
+ ApiError,
21
+ DeleteDomainResponse,
22
+ DomainListResponse,
23
+ GetDomain200Response,
24
+ VerificationStatusResponse,
25
+ VerifyDomainResponse,
26
+ } from '../models/index';
27
+ import {
28
+ AddDomain200ResponseFromJSON,
29
+ AddDomain200ResponseToJSON,
30
+ AddDomainRequestFromJSON,
31
+ AddDomainRequestToJSON,
32
+ ApiErrorFromJSON,
33
+ ApiErrorToJSON,
34
+ DeleteDomainResponseFromJSON,
35
+ DeleteDomainResponseToJSON,
36
+ DomainListResponseFromJSON,
37
+ DomainListResponseToJSON,
38
+ GetDomain200ResponseFromJSON,
39
+ GetDomain200ResponseToJSON,
40
+ VerificationStatusResponseFromJSON,
41
+ VerificationStatusResponseToJSON,
42
+ VerifyDomainResponseFromJSON,
43
+ VerifyDomainResponseToJSON,
44
+ } from '../models/index';
45
+
46
+ export interface DomainsApiAddDomainOperationRequest {
47
+ addDomainRequest: AddDomainRequest;
48
+ }
49
+
50
+ export interface DomainsApiDeleteDomainRequest {
51
+ id: string;
52
+ }
53
+
54
+ export interface DomainsApiGetDomainRequest {
55
+ id: string;
56
+ }
57
+
58
+ export interface DomainsApiGetDomainVerificationStatusRequest {
59
+ id: string;
60
+ }
61
+
62
+ export interface DomainsApiVerifyDomainRequest {
63
+ id: string;
64
+ }
65
+
66
+ /**
67
+ * DomainsApi - interface
68
+ *
69
+ * @export
70
+ * @interface DomainsApiInterface
71
+ */
72
+ export interface DomainsApiInterface {
73
+ /**
74
+ * Register a new sending domain on the account. Returns the full set of DNS records that must be published before email can send from this domain. **Idempotent:** calling this with a domain already registered on the current project returns the existing domain (200) instead of erroring, so re-runs from IaC tooling are safe.
75
+ * @summary Add a sending domain
76
+ * @param {AddDomainRequest} addDomainRequest
77
+ * @param {*} [options] Override http request option.
78
+ * @throws {RequiredError}
79
+ * @memberof DomainsApiInterface
80
+ */
81
+ addDomainRaw(requestParameters: DomainsApiAddDomainOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AddDomain200Response>>;
82
+
83
+ /**
84
+ * Register a new sending domain on the account. Returns the full set of DNS records that must be published before email can send from this domain. **Idempotent:** calling this with a domain already registered on the current project returns the existing domain (200) instead of erroring, so re-runs from IaC tooling are safe.
85
+ * Add a sending domain
86
+ */
87
+ addDomain(addDomainRequest: AddDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AddDomain200Response>;
88
+
89
+ /**
90
+ * Remove a sending domain from the project. The domain is also detached from any SES identity that was provisioned for it. Returns 409 if the domain is still referenced by other resources (templates, scheduled sends, etc.) — those must be removed first.
91
+ * @summary Remove a sending domain
92
+ * @param {string} id
93
+ * @param {*} [options] Override http request option.
94
+ * @throws {RequiredError}
95
+ * @memberof DomainsApiInterface
96
+ */
97
+ deleteDomainRaw(requestParameters: DomainsApiDeleteDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteDomainResponse>>;
98
+
99
+ /**
100
+ * Remove a sending domain from the project. The domain is also detached from any SES identity that was provisioned for it. Returns 409 if the domain is still referenced by other resources (templates, scheduled sends, etc.) — those must be removed first.
101
+ * Remove a sending domain
102
+ */
103
+ deleteDomain(id: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteDomainResponse>;
104
+
105
+ /**
106
+ * Retrieve a single sending domain by ID, including DNS records and verification counters.
107
+ * @summary Get a sending domain
108
+ * @param {string} id
109
+ * @param {*} [options] Override http request option.
110
+ * @throws {RequiredError}
111
+ * @memberof DomainsApiInterface
112
+ */
113
+ getDomainRaw(requestParameters: DomainsApiGetDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetDomain200Response>>;
114
+
115
+ /**
116
+ * Retrieve a single sending domain by ID, including DNS records and verification counters.
117
+ * Get a sending domain
118
+ */
119
+ getDomain(id: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetDomain200Response>;
120
+
121
+ /**
122
+ * Returns the current verification status with per-record `verified` flags and aggregate counters. Useful when polling for terminal status from an AI agent (the recommended pattern is to subscribe to the `domain.verified` webhook event instead — see sc-5444).
123
+ * @summary Get domain verification status
124
+ * @param {string} id Domain ID
125
+ * @param {*} [options] Override http request option.
126
+ * @throws {RequiredError}
127
+ * @memberof DomainsApiInterface
128
+ */
129
+ getDomainVerificationStatusRaw(requestParameters: DomainsApiGetDomainVerificationStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VerificationStatusResponse>>;
130
+
131
+ /**
132
+ * Returns the current verification status with per-record `verified` flags and aggregate counters. Useful when polling for terminal status from an AI agent (the recommended pattern is to subscribe to the `domain.verified` webhook event instead — see sc-5444).
133
+ * Get domain verification status
134
+ */
135
+ getDomainVerificationStatus(id: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VerificationStatusResponse>;
136
+
137
+ /**
138
+ * List sending domains on the current project, with verification status and DNS records.
139
+ * @summary List sending domains
140
+ * @param {*} [options] Override http request option.
141
+ * @throws {RequiredError}
142
+ * @memberof DomainsApiInterface
143
+ */
144
+ listDomainsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DomainListResponse>>;
145
+
146
+ /**
147
+ * List sending domains on the current project, with verification status and DNS records.
148
+ * List sending domains
149
+ */
150
+ listDomains(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DomainListResponse>;
151
+
152
+ /**
153
+ * Queue an asynchronous DNS verification check. Returns immediately with a `job_id`. Poll `GET /v1/domains/{id}/verification-status` (or the higher-level `GET /v1/domains/{id}`) for the result, or subscribe to the `domain.verified` webhook event when sc-5444 ships. Returns 409 if a verification is already in progress for this domain (within the last 2 minutes).
154
+ * @summary Trigger domain verification
155
+ * @param {string} id
156
+ * @param {*} [options] Override http request option.
157
+ * @throws {RequiredError}
158
+ * @memberof DomainsApiInterface
159
+ */
160
+ verifyDomainRaw(requestParameters: DomainsApiVerifyDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VerifyDomainResponse>>;
161
+
162
+ /**
163
+ * Queue an asynchronous DNS verification check. Returns immediately with a `job_id`. Poll `GET /v1/domains/{id}/verification-status` (or the higher-level `GET /v1/domains/{id}`) for the result, or subscribe to the `domain.verified` webhook event when sc-5444 ships. Returns 409 if a verification is already in progress for this domain (within the last 2 minutes).
164
+ * Trigger domain verification
165
+ */
166
+ verifyDomain(id: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VerifyDomainResponse>;
167
+
168
+ }
169
+
170
+ /**
171
+ *
172
+ */
173
+ export class DomainsApi extends runtime.BaseAPI implements DomainsApiInterface {
174
+
175
+ /**
176
+ * Register a new sending domain on the account. Returns the full set of DNS records that must be published before email can send from this domain. **Idempotent:** calling this with a domain already registered on the current project returns the existing domain (200) instead of erroring, so re-runs from IaC tooling are safe.
177
+ * Add a sending domain
178
+ */
179
+ async addDomainRaw(requestParameters: DomainsApiAddDomainOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AddDomain200Response>> {
180
+ if (requestParameters['addDomainRequest'] == null) {
181
+ throw new runtime.RequiredError(
182
+ 'addDomainRequest',
183
+ 'Required parameter "addDomainRequest" was null or undefined when calling addDomain().'
184
+ );
185
+ }
186
+
187
+ const queryParameters: any = {};
188
+
189
+ const headerParameters: runtime.HTTPHeaders = {};
190
+
191
+ headerParameters['Content-Type'] = 'application/json';
192
+
193
+ if (this.configuration && this.configuration.apiKey) {
194
+ headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
195
+ }
196
+
197
+ const response = await this.request({
198
+ path: `/v1/domains`,
199
+ method: 'POST',
200
+ headers: headerParameters,
201
+ query: queryParameters,
202
+ body: AddDomainRequestToJSON(requestParameters['addDomainRequest']),
203
+ }, initOverrides);
204
+
205
+ return new runtime.JSONApiResponse(response, (jsonValue) => AddDomain200ResponseFromJSON(jsonValue));
206
+ }
207
+
208
+ /**
209
+ * Register a new sending domain on the account. Returns the full set of DNS records that must be published before email can send from this domain. **Idempotent:** calling this with a domain already registered on the current project returns the existing domain (200) instead of erroring, so re-runs from IaC tooling are safe.
210
+ * Add a sending domain
211
+ */
212
+ async addDomain(addDomainRequest: AddDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AddDomain200Response> {
213
+ const response = await this.addDomainRaw({ addDomainRequest: addDomainRequest }, initOverrides);
214
+ return await response.value();
215
+ }
216
+
217
+ /**
218
+ * Remove a sending domain from the project. The domain is also detached from any SES identity that was provisioned for it. Returns 409 if the domain is still referenced by other resources (templates, scheduled sends, etc.) — those must be removed first.
219
+ * Remove a sending domain
220
+ */
221
+ async deleteDomainRaw(requestParameters: DomainsApiDeleteDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteDomainResponse>> {
222
+ if (requestParameters['id'] == null) {
223
+ throw new runtime.RequiredError(
224
+ 'id',
225
+ 'Required parameter "id" was null or undefined when calling deleteDomain().'
226
+ );
227
+ }
228
+
229
+ const queryParameters: any = {};
230
+
231
+ const headerParameters: runtime.HTTPHeaders = {};
232
+
233
+ if (this.configuration && this.configuration.apiKey) {
234
+ headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
235
+ }
236
+
237
+ const response = await this.request({
238
+ path: `/v1/domains/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
239
+ method: 'DELETE',
240
+ headers: headerParameters,
241
+ query: queryParameters,
242
+ }, initOverrides);
243
+
244
+ return new runtime.JSONApiResponse(response, (jsonValue) => DeleteDomainResponseFromJSON(jsonValue));
245
+ }
246
+
247
+ /**
248
+ * Remove a sending domain from the project. The domain is also detached from any SES identity that was provisioned for it. Returns 409 if the domain is still referenced by other resources (templates, scheduled sends, etc.) — those must be removed first.
249
+ * Remove a sending domain
250
+ */
251
+ async deleteDomain(id: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteDomainResponse> {
252
+ const response = await this.deleteDomainRaw({ id: id }, initOverrides);
253
+ return await response.value();
254
+ }
255
+
256
+ /**
257
+ * Retrieve a single sending domain by ID, including DNS records and verification counters.
258
+ * Get a sending domain
259
+ */
260
+ async getDomainRaw(requestParameters: DomainsApiGetDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetDomain200Response>> {
261
+ if (requestParameters['id'] == null) {
262
+ throw new runtime.RequiredError(
263
+ 'id',
264
+ 'Required parameter "id" was null or undefined when calling getDomain().'
265
+ );
266
+ }
267
+
268
+ const queryParameters: any = {};
269
+
270
+ const headerParameters: runtime.HTTPHeaders = {};
271
+
272
+ if (this.configuration && this.configuration.apiKey) {
273
+ headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
274
+ }
275
+
276
+ const response = await this.request({
277
+ path: `/v1/domains/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
278
+ method: 'GET',
279
+ headers: headerParameters,
280
+ query: queryParameters,
281
+ }, initOverrides);
282
+
283
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetDomain200ResponseFromJSON(jsonValue));
284
+ }
285
+
286
+ /**
287
+ * Retrieve a single sending domain by ID, including DNS records and verification counters.
288
+ * Get a sending domain
289
+ */
290
+ async getDomain(id: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetDomain200Response> {
291
+ const response = await this.getDomainRaw({ id: id }, initOverrides);
292
+ return await response.value();
293
+ }
294
+
295
+ /**
296
+ * Returns the current verification status with per-record `verified` flags and aggregate counters. Useful when polling for terminal status from an AI agent (the recommended pattern is to subscribe to the `domain.verified` webhook event instead — see sc-5444).
297
+ * Get domain verification status
298
+ */
299
+ async getDomainVerificationStatusRaw(requestParameters: DomainsApiGetDomainVerificationStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VerificationStatusResponse>> {
300
+ if (requestParameters['id'] == null) {
301
+ throw new runtime.RequiredError(
302
+ 'id',
303
+ 'Required parameter "id" was null or undefined when calling getDomainVerificationStatus().'
304
+ );
305
+ }
306
+
307
+ const queryParameters: any = {};
308
+
309
+ const headerParameters: runtime.HTTPHeaders = {};
310
+
311
+ if (this.configuration && this.configuration.apiKey) {
312
+ headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
313
+ }
314
+
315
+ const response = await this.request({
316
+ path: `/v1/domains/{id}/verification-status`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
317
+ method: 'GET',
318
+ headers: headerParameters,
319
+ query: queryParameters,
320
+ }, initOverrides);
321
+
322
+ return new runtime.JSONApiResponse(response, (jsonValue) => VerificationStatusResponseFromJSON(jsonValue));
323
+ }
324
+
325
+ /**
326
+ * Returns the current verification status with per-record `verified` flags and aggregate counters. Useful when polling for terminal status from an AI agent (the recommended pattern is to subscribe to the `domain.verified` webhook event instead — see sc-5444).
327
+ * Get domain verification status
328
+ */
329
+ async getDomainVerificationStatus(id: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VerificationStatusResponse> {
330
+ const response = await this.getDomainVerificationStatusRaw({ id: id }, initOverrides);
331
+ return await response.value();
332
+ }
333
+
334
+ /**
335
+ * List sending domains on the current project, with verification status and DNS records.
336
+ * List sending domains
337
+ */
338
+ async listDomainsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DomainListResponse>> {
339
+ const queryParameters: any = {};
340
+
341
+ const headerParameters: runtime.HTTPHeaders = {};
342
+
343
+ if (this.configuration && this.configuration.apiKey) {
344
+ headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
345
+ }
346
+
347
+ const response = await this.request({
348
+ path: `/v1/domains`,
349
+ method: 'GET',
350
+ headers: headerParameters,
351
+ query: queryParameters,
352
+ }, initOverrides);
353
+
354
+ return new runtime.JSONApiResponse(response, (jsonValue) => DomainListResponseFromJSON(jsonValue));
355
+ }
356
+
357
+ /**
358
+ * List sending domains on the current project, with verification status and DNS records.
359
+ * List sending domains
360
+ */
361
+ async listDomains(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DomainListResponse> {
362
+ const response = await this.listDomainsRaw(initOverrides);
363
+ return await response.value();
364
+ }
365
+
366
+ /**
367
+ * Queue an asynchronous DNS verification check. Returns immediately with a `job_id`. Poll `GET /v1/domains/{id}/verification-status` (or the higher-level `GET /v1/domains/{id}`) for the result, or subscribe to the `domain.verified` webhook event when sc-5444 ships. Returns 409 if a verification is already in progress for this domain (within the last 2 minutes).
368
+ * Trigger domain verification
369
+ */
370
+ async verifyDomainRaw(requestParameters: DomainsApiVerifyDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VerifyDomainResponse>> {
371
+ if (requestParameters['id'] == null) {
372
+ throw new runtime.RequiredError(
373
+ 'id',
374
+ 'Required parameter "id" was null or undefined when calling verifyDomain().'
375
+ );
376
+ }
377
+
378
+ const queryParameters: any = {};
379
+
380
+ const headerParameters: runtime.HTTPHeaders = {};
381
+
382
+ if (this.configuration && this.configuration.apiKey) {
383
+ headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
384
+ }
385
+
386
+ const response = await this.request({
387
+ path: `/v1/domains/{id}/verify`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
388
+ method: 'POST',
389
+ headers: headerParameters,
390
+ query: queryParameters,
391
+ }, initOverrides);
392
+
393
+ return new runtime.JSONApiResponse(response, (jsonValue) => VerifyDomainResponseFromJSON(jsonValue));
394
+ }
395
+
396
+ /**
397
+ * Queue an asynchronous DNS verification check. Returns immediately with a `job_id`. Poll `GET /v1/domains/{id}/verification-status` (or the higher-level `GET /v1/domains/{id}`) for the result, or subscribe to the `domain.verified` webhook event when sc-5444 ships. Returns 409 if a verification is already in progress for this domain (within the last 2 minutes).
398
+ * Trigger domain verification
399
+ */
400
+ async verifyDomain(id: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VerifyDomainResponse> {
401
+ const response = await this.verifyDomainRaw({ id: id }, initOverrides);
402
+ return await response.value();
403
+ }
404
+
405
+ }
@@ -13,6 +13,7 @@ export * from './AuthSessionsApi';
13
13
  export * from './AuthUserProfileApi';
14
14
  export * from './AuthWebAuthnApi';
15
15
  export * from './DevicesApi';
16
+ export * from './DomainsApi';
16
17
  export * from './EmailsApi';
17
18
  export * from './ExecutionsApi';
18
19
  export * from './InboxApi';
@@ -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 ## 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 { DomainResponse } from './DomainResponse';
17
+ import {
18
+ DomainResponseFromJSON,
19
+ DomainResponseFromJSONTyped,
20
+ DomainResponseToJSON,
21
+ DomainResponseToJSONTyped,
22
+ } from './DomainResponse';
23
+ import type { AddDomain200ResponseMeta } from './AddDomain200ResponseMeta';
24
+ import {
25
+ AddDomain200ResponseMetaFromJSON,
26
+ AddDomain200ResponseMetaFromJSONTyped,
27
+ AddDomain200ResponseMetaToJSON,
28
+ AddDomain200ResponseMetaToJSONTyped,
29
+ } from './AddDomain200ResponseMeta';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface AddDomain200Response
35
+ */
36
+ export interface AddDomain200Response {
37
+ /**
38
+ *
39
+ * @type {DomainResponse}
40
+ * @memberof AddDomain200Response
41
+ */
42
+ data?: DomainResponse;
43
+ /**
44
+ *
45
+ * @type {AddDomain200ResponseMeta}
46
+ * @memberof AddDomain200Response
47
+ */
48
+ meta?: AddDomain200ResponseMeta;
49
+ }
50
+
51
+ /**
52
+ * Check if a given object implements the AddDomain200Response interface.
53
+ */
54
+ export function instanceOfAddDomain200Response(value: object): value is AddDomain200Response {
55
+ return true;
56
+ }
57
+
58
+ export function AddDomain200ResponseFromJSON(json: any): AddDomain200Response {
59
+ return AddDomain200ResponseFromJSONTyped(json, false);
60
+ }
61
+
62
+ export function AddDomain200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddDomain200Response {
63
+ if (json == null) {
64
+ return json;
65
+ }
66
+ return {
67
+
68
+ 'data': json['data'] == null ? undefined : DomainResponseFromJSON(json['data']),
69
+ 'meta': json['meta'] == null ? undefined : AddDomain200ResponseMetaFromJSON(json['meta']),
70
+ };
71
+ }
72
+
73
+ export function AddDomain200ResponseToJSON(json: any): AddDomain200Response {
74
+ return AddDomain200ResponseToJSONTyped(json, false);
75
+ }
76
+
77
+ export function AddDomain200ResponseToJSONTyped(value?: AddDomain200Response | null, ignoreDiscriminator: boolean = false): any {
78
+ if (value == null) {
79
+ return value;
80
+ }
81
+
82
+ return {
83
+
84
+ 'data': DomainResponseToJSON(value['data']),
85
+ 'meta': AddDomain200ResponseMetaToJSON(value['meta']),
86
+ };
87
+ }
88
+
@@ -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 ## 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 AddDomain200ResponseMeta
20
+ */
21
+ export interface AddDomain200ResponseMeta {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof AddDomain200ResponseMeta
26
+ */
27
+ requestId?: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof AddDomain200ResponseMeta
32
+ */
33
+ message?: string;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the AddDomain200ResponseMeta interface.
38
+ */
39
+ export function instanceOfAddDomain200ResponseMeta(value: object): value is AddDomain200ResponseMeta {
40
+ return true;
41
+ }
42
+
43
+ export function AddDomain200ResponseMetaFromJSON(json: any): AddDomain200ResponseMeta {
44
+ return AddDomain200ResponseMetaFromJSONTyped(json, false);
45
+ }
46
+
47
+ export function AddDomain200ResponseMetaFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddDomain200ResponseMeta {
48
+ if (json == null) {
49
+ return json;
50
+ }
51
+ return {
52
+
53
+ 'requestId': json['request_id'] == null ? undefined : json['request_id'],
54
+ 'message': json['message'] == null ? undefined : json['message'],
55
+ };
56
+ }
57
+
58
+ export function AddDomain200ResponseMetaToJSON(json: any): AddDomain200ResponseMeta {
59
+ return AddDomain200ResponseMetaToJSONTyped(json, false);
60
+ }
61
+
62
+ export function AddDomain200ResponseMetaToJSONTyped(value?: AddDomain200ResponseMeta | null, ignoreDiscriminator: boolean = false): any {
63
+ if (value == null) {
64
+ return value;
65
+ }
66
+
67
+ return {
68
+
69
+ 'request_id': value['requestId'],
70
+ 'message': value['message'],
71
+ };
72
+ }
73
+