diff --git a/.eslintrc.js b/.eslintrc.cjs similarity index 100% rename from .eslintrc.js rename to .eslintrc.cjs diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 55ce183b..8b928bc2 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: f50499c4-d106-4975-983f-ead3a386ec53 management: - docChecksum: 843588d509aa4de3a4d846ef57647cfc + docChecksum: 1eadec3f5478d02504091b0e2b5b2ee0 docVersion: "1.0" - speakeasyVersion: 1.308.1 - generationVersion: 2.342.6 - releaseVersion: 0.0.1-alpha.8 - configChecksum: 44795b95ebeff18a9bac44fee44a664c + speakeasyVersion: 1.322.3 + generationVersion: 2.354.2 + releaseVersion: 0.0.1-alpha.9 + configChecksum: 29fb899ef19d96629eaf20333f0647b0 repoURL: https://github.com/novuhq/novu-node.git installationURL: https://github.com/novuhq/novu-node published: true @@ -14,7 +14,7 @@ features: typescript: additionalDependencies: 0.1.0 constsAndDefaults: 0.1.5 - core: 3.9.14 + core: 3.10.2 deprecations: 2.81.1 examples: 2.81.4 flattening: 2.81.1 @@ -61,7 +61,7 @@ generatedFiles: - src/sdk/status.ts - src/sdk/workflows.ts - src/sdk/sdk.ts - - .eslintrc.js + - .eslintrc.cjs - .npmignore - RUNTIMES.md - jsr.json @@ -530,6 +530,7 @@ generatedFiles: - docs/models/operations/subscriberscontrollergetunseencountrequest.md - docs/models/operations/subscriberscontrollerupdatesubscriberonlineflagrequest.md - docs/models/operations/subscriberscontrollerlistsubscriberpreferencesrequest.md + - docs/models/operations/parameter.md - docs/models/operations/subscriberscontrollergetsubscriberpreferencebylevelrequest.md - docs/models/operations/subscriberscontrollerupdatesubscriberpreferencerequest.md - docs/models/operations/subscriberscontrollerupdatesubscriberglobalpreferencesrequest.md diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index d3e631a6..5526b198 100755 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -11,7 +11,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: false typescript: - version: 0.0.1-alpha.8 + version: 0.0.1-alpha.9 additionalDependencies: dependencies: {} devDependencies: {} @@ -36,3 +36,4 @@ typescript: packageName: '@novu/api' responseFormat: flat templateVersion: v2 + useIndexModules: true diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 79dc1d7c..b73e1b1a 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,20 +1,21 @@ -speakeasyVersion: 1.308.1 +speakeasyVersion: 1.322.3 sources: json-development: sourceNamespace: json-development - sourceRevisionDigest: sha256:1bc7354bf3d77f5041f4a62ff46949898a6e56bfebddd50406db841adbe08f6e - sourceBlobDigest: sha256:aef7e5b403d20e17858ce338f35a9e6bb056e3ea3e7a98c3def0d89ecfeb95b3 + sourceRevisionDigest: sha256:9aaa2cefb426a15cee5a49a925f699de098a471674151d8e4ff677c3c9ce0da3 + sourceBlobDigest: sha256:be824c6647996617fb6fd7ea6b234c66f101d67d28a79402f53258bbd957c404 tags: - latest + - main targets: my-first-target: source: json-development sourceNamespace: json-development - sourceRevisionDigest: sha256:1bc7354bf3d77f5041f4a62ff46949898a6e56bfebddd50406db841adbe08f6e - sourceBlobDigest: sha256:aef7e5b403d20e17858ce338f35a9e6bb056e3ea3e7a98c3def0d89ecfeb95b3 + sourceRevisionDigest: sha256:9aaa2cefb426a15cee5a49a925f699de098a471674151d8e4ff677c3c9ce0da3 + sourceBlobDigest: sha256:be824c6647996617fb6fd7ea6b234c66f101d67d28a79402f53258bbd957c404 codeSamplesNamespace: code-samples-typescript - codeSamplesRevisionDigest: sha256:8bcf1a1d27d468c4289986ffc8eb9789bc81a6d0f5abcac77ddd6d8f5b43b832 - outLocation: /Users/da/code/misc/novu-node + codeSamplesRevisionDigest: sha256:33324b9421a6105c75147afd9d70c354c7a6ad0f5e48327905d8171c613522a8 + outLocation: /github/workspace/repo workflow: workflowVersion: 1.0.0 speakeasyVersion: latest @@ -35,6 +36,6 @@ workflow: npm: token: $npm_token codeSamples: - output: sources/code-samples.json + output: sources/code-samples.yaml registry: location: registry.speakeasyapi.dev/novu/novu/code-samples-typescript diff --git a/README.md b/README.md index 3f26da82..559e6a51 100644 --- a/README.md +++ b/README.md @@ -15,10 +15,25 @@ npm add @novu/api ``` +### PNPM + +```bash +pnpm add @novu/api +``` + +### Bun + +```bash +bun add @novu/api +``` + ### Yarn ```bash -yarn add @novu/api +yarn add @novu/api zod + +# Note that Yarn does not install peer dependencies automatically. You will need +# to install zod as shown above. ``` @@ -35,7 +50,6 @@ For supported JavaScript runtimes, please consult [RUNTIMES.md](RUNTIMES.md). ```typescript import { Novu } from "@novu/api"; -import { TopicPayloadDtoType } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -49,7 +63,7 @@ async function run() { to: [ { topicKey: "topic_key", - type: TopicPayloadDtoType.Topic, + type: "Topic", }, ], }); @@ -292,8 +306,7 @@ Validation errors can also occur when either method arguments or data returned f ```typescript import { Novu } from "@novu/api"; -import { TopicPayloadDtoType } from "@novu/api/models/components"; -import * as errors from "@novu/api/models/errors"; +import { SDKValidationError } from "@novu/api/models/errors"; const novu = new Novu({ apiKey: "", @@ -309,13 +322,13 @@ async function run() { to: [ { topicKey: "topic_key", - type: TopicPayloadDtoType.Topic, + type: "Topic", }, ], }); } catch (err) { switch (true) { - case err instanceof errors.SDKValidationError: { + case err instanceof SDKValidationError: { // Validation errors can be pretty-printed console.error(err.pretty()); // Raw value may also be inspected @@ -351,7 +364,6 @@ You can override the default server globally by passing a server index to the `s ```typescript import { Novu } from "@novu/api"; -import { TopicPayloadDtoType } from "@novu/api/models/components"; const novu = new Novu({ serverIdx: 1, @@ -366,7 +378,7 @@ async function run() { to: [ { topicKey: "topic_key", - type: TopicPayloadDtoType.Topic, + type: "Topic", }, ], }); @@ -386,7 +398,6 @@ The default server can also be overridden globally by passing a URL to the `serv ```typescript import { Novu } from "@novu/api"; -import { TopicPayloadDtoType } from "@novu/api/models/components"; const novu = new Novu({ serverURL: "https://api.novu.co", @@ -401,7 +412,7 @@ async function run() { to: [ { topicKey: "topic_key", - type: TopicPayloadDtoType.Topic, + type: "Topic", }, ], }); @@ -478,7 +489,6 @@ This SDK supports the following security scheme globally: To authenticate with the API the `apiKey` parameter must be set when initializing the SDK client instance. For example: ```typescript import { Novu } from "@novu/api"; -import { TopicPayloadDtoType } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -492,7 +502,7 @@ async function run() { to: [ { topicKey: "topic_key", - type: TopicPayloadDtoType.Topic, + type: "Topic", }, ], }); @@ -514,7 +524,6 @@ Some of the endpoints in this SDK support retries. If you use the SDK without a To change the default retry strategy for a single API call, simply provide a retryConfig object to the call: ```typescript import { Novu } from "@novu/api"; -import { TopicPayloadDtoType } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -529,7 +538,7 @@ async function run() { to: [ { topicKey: "topic_key", - type: TopicPayloadDtoType.Topic, + type: "Topic", }, ], }, @@ -558,7 +567,6 @@ run(); If you'd like to override the default retry strategy for all operations that support retries, you can provide a retryConfig at SDK initialization: ```typescript import { Novu } from "@novu/api"; -import { TopicPayloadDtoType } from "@novu/api/models/components"; const novu = new Novu({ retryConfig: { @@ -582,7 +590,7 @@ async function run() { to: [ { topicKey: "topic_key", - type: TopicPayloadDtoType.Topic, + type: "Topic", }, ], }); diff --git a/RELEASES.md b/RELEASES.md index a2eb3c09..17770b01 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -18,4 +18,14 @@ Based on: ### Generated - [typescript v0.0.1-alpha.6] . ### Releases -- [NPM v0.0.1-alpha.6] https://www.npmjs.com/package/@novu/api/v/0.0.1-alpha.6 - . \ No newline at end of file +- [NPM v0.0.1-alpha.6] https://www.npmjs.com/package/@novu/api/v/0.0.1-alpha.6 - . + +## 2024-06-30 00:16:00 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.322.3 (2.354.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [typescript v0.0.1-alpha.9] . +### Releases +- [NPM v0.0.1-alpha.9] https://www.npmjs.com/package/@novu/api/v/0.0.1-alpha.9 - . \ No newline at end of file diff --git a/USAGE.md b/USAGE.md index 00132d0a..bc37b89a 100644 --- a/USAGE.md +++ b/USAGE.md @@ -3,7 +3,6 @@ ```typescript import { Novu } from "@novu/api"; -import { TopicPayloadDtoType } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -17,7 +16,7 @@ async function run() { to: [ { topicKey: "topic_key", - type: TopicPayloadDtoType.Topic, + type: "Topic", }, ], }); diff --git a/docs/models/components/actor.md b/docs/models/components/actor.md index 59ea410e..e235aeec 100644 --- a/docs/models/components/actor.md +++ b/docs/models/components/actor.md @@ -4,3 +4,18 @@ It is used to display the Avatar of the provided actor's subscriber id or actor If a new actor object is provided, we will create a new subscriber in our system + +## Supported Types + +### `string` + +```typescript +const value: string = /* values here */ +``` + +### `components.SubscriberPayloadDto` + +```typescript +const value: components.SubscriberPayloadDto = /* values here */ +``` + diff --git a/docs/models/components/content.md b/docs/models/components/content.md index ac6e55d1..81854917 100644 --- a/docs/models/components/content.md +++ b/docs/models/components/content.md @@ -1,2 +1,17 @@ # Content + +## Supported Types + +### `components.EmailBlock` + +```typescript +const value: components.EmailBlock = /* values here */ +``` + +### `string` + +```typescript +const value: string = /* values here */ +``` + diff --git a/docs/models/components/feedidentifier.md b/docs/models/components/feedidentifier.md index d9a2aad9..5bc7749f 100644 --- a/docs/models/components/feedidentifier.md +++ b/docs/models/components/feedidentifier.md @@ -2,3 +2,18 @@ Optional feed identifier or array of feed identifiers + +## Supported Types + +### `string` + +```typescript +const value: string = /* values here */ +``` + +### `string[]` + +```typescript +const value: string[] = /* values here */ +``` + diff --git a/docs/models/components/messageactionresulttype.md b/docs/models/components/messageactionresulttype.md index a4b27a02..785a8632 100644 --- a/docs/models/components/messageactionresulttype.md +++ b/docs/models/components/messageactionresulttype.md @@ -6,5 +6,4 @@ | Name | Value | | ----------- | ----------- | | `Primary` | primary | -| `Secondary` | secondary | -| `Clicked` | clicked | \ No newline at end of file +| `Secondary` | secondary | \ No newline at end of file diff --git a/docs/models/components/messagebuttontype.md b/docs/models/components/messagebuttontype.md index 8b182cfc..39499411 100644 --- a/docs/models/components/messagebuttontype.md +++ b/docs/models/components/messagebuttontype.md @@ -6,5 +6,4 @@ | Name | Value | | ----------- | ----------- | | `Primary` | primary | -| `Secondary` | secondary | -| `Clicked` | clicked | \ No newline at end of file +| `Secondary` | secondary | \ No newline at end of file diff --git a/docs/models/components/messageid.md b/docs/models/components/messageid.md index e94e998a..47077cb8 100644 --- a/docs/models/components/messageid.md +++ b/docs/models/components/messageid.md @@ -1,2 +1,17 @@ # MessageId + +## Supported Types + +### `string` + +```typescript +const value: string = /* values here */ +``` + +### `string[]` + +```typescript +const value: string[] = /* values here */ +``` + diff --git a/docs/models/components/metadata.md b/docs/models/components/metadata.md index 196c3fc1..5ea34778 100644 --- a/docs/models/components/metadata.md +++ b/docs/models/components/metadata.md @@ -1,2 +1,29 @@ # Metadata + +## Supported Types + +### `components.DigestRegularMetadata` + +```typescript +const value: components.DigestRegularMetadata = /* values here */ +``` + +### `components.DigestTimedMetadata` + +```typescript +const value: components.DigestTimedMetadata = /* values here */ +``` + +### `components.DelayRegularMetadata` + +```typescript +const value: components.DelayRegularMetadata = /* values here */ +``` + +### `components.DelayScheduledMetadata` + +```typescript +const value: components.DelayScheduledMetadata = /* values here */ +``` + diff --git a/docs/models/components/notificationstepvariantmetadata.md b/docs/models/components/notificationstepvariantmetadata.md index a96c684e..8ae69ea4 100644 --- a/docs/models/components/notificationstepvariantmetadata.md +++ b/docs/models/components/notificationstepvariantmetadata.md @@ -1,2 +1,29 @@ # NotificationStepVariantMetadata + +## Supported Types + +### `components.DigestRegularMetadata` + +```typescript +const value: components.DigestRegularMetadata = /* values here */ +``` + +### `components.DigestTimedMetadata` + +```typescript +const value: components.DigestTimedMetadata = /* values here */ +``` + +### `components.DelayRegularMetadata` + +```typescript +const value: components.DelayRegularMetadata = /* values here */ +``` + +### `components.DelayScheduledMetadata` + +```typescript +const value: components.DelayScheduledMetadata = /* values here */ +``` + diff --git a/docs/models/components/tenant.md b/docs/models/components/tenant.md index a7e1c166..b03dcbd7 100644 --- a/docs/models/components/tenant.md +++ b/docs/models/components/tenant.md @@ -4,3 +4,18 @@ It is used to specify a tenant context during trigger event. Existing tenants will be updated with the provided details. + +## Supported Types + +### `string` + +```typescript +const value: string = /* values here */ +``` + +### `components.TenantPayloadDto` + +```typescript +const value: components.TenantPayloadDto = /* values here */ +``` + diff --git a/docs/models/components/to.md b/docs/models/components/to.md index dfd2fd65..3bee95d8 100644 --- a/docs/models/components/to.md +++ b/docs/models/components/to.md @@ -1,2 +1,23 @@ # To + +## Supported Types + +### `components.SubscriberPayloadDto` + +```typescript +const value: components.SubscriberPayloadDto = /* values here */ +``` + +### `string` + +```typescript +const value: string = /* values here */ +``` + +### `components.TopicPayloadDto` + +```typescript +const value: components.TopicPayloadDto = /* values here */ +``` + diff --git a/docs/models/components/triggereventtoallrequestdtoactor.md b/docs/models/components/triggereventtoallrequestdtoactor.md index 303d4f62..c4d2f867 100644 --- a/docs/models/components/triggereventtoallrequestdtoactor.md +++ b/docs/models/components/triggereventtoallrequestdtoactor.md @@ -4,3 +4,18 @@ It is used to display the Avatar of the provided actor's subscriber id or actor If a new actor object is provided, we will create a new subscriber in our system + +## Supported Types + +### `string` + +```typescript +const value: string = /* values here */ +``` + +### `components.SubscriberPayloadDto` + +```typescript +const value: components.SubscriberPayloadDto = /* values here */ +``` + diff --git a/docs/models/components/triggereventtoallrequestdtotenant.md b/docs/models/components/triggereventtoallrequestdtotenant.md index 22fe8d89..b34db26f 100644 --- a/docs/models/components/triggereventtoallrequestdtotenant.md +++ b/docs/models/components/triggereventtoallrequestdtotenant.md @@ -4,3 +4,18 @@ It is used to specify a tenant context during trigger event. If a new tenant object is provided, we will create a new tenant. + +## Supported Types + +### `string` + +```typescript +const value: string = /* values here */ +``` + +### `components.TenantPayloadDto` + +```typescript +const value: components.TenantPayloadDto = /* values here */ +``` + diff --git a/docs/models/operations/parameter.md b/docs/models/operations/parameter.md new file mode 100644 index 00000000..b74e3eb8 --- /dev/null +++ b/docs/models/operations/parameter.md @@ -0,0 +1,11 @@ +# Parameter + +the preferences level to be retrieved( Subscriber / Topic) + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Subscriber` | Subscriber | +| `Topic` | Topic | \ No newline at end of file diff --git a/docs/models/operations/subscriberscontrollergetsubscriberpreferencebylevelrequest.md b/docs/models/operations/subscriberscontrollergetsubscriberpreferencebylevelrequest.md index 50164487..e5643a99 100644 --- a/docs/models/operations/subscriberscontrollergetsubscriberpreferencebylevelrequest.md +++ b/docs/models/operations/subscriberscontrollergetsubscriberpreferencebylevelrequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `parameter` | *string* | :heavy_check_mark: | N/A | -| `subscriberId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| `parameter` | [operations.Parameter](../../models/operations/parameter.md) | :heavy_check_mark: | the preferences level to be retrieved( Subscriber / Topic) | +| `subscriberId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/sdks/credentials/README.md b/docs/sdks/credentials/README.md index b56f0d68..3f7e981f 100644 --- a/docs/sdks/credentials/README.md +++ b/docs/sdks/credentials/README.md @@ -16,7 +16,6 @@ Subscriber credentials associated to the delivery methods such as slack and push ```typescript import { Novu } from "@novu/api"; -import { UpdateSubscriberChannelRequestDtoProviderId } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -27,7 +26,7 @@ async function run() { credentials: { webhookUrl: "", }, - providerId: UpdateSubscriberChannelRequestDtoProviderId.Zulip, + providerId: "zulip", }); // Handle the result @@ -107,7 +106,6 @@ Subscriber credentials associated to the delivery methods such as slack and push ```typescript import { Novu } from "@novu/api"; -import { UpdateSubscriberChannelRequestDtoProviderId } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -118,7 +116,7 @@ async function run() { credentials: { webhookUrl: "", }, - providerId: UpdateSubscriberChannelRequestDtoProviderId.Pushpad, + providerId: "pushpad", }); // Handle the result diff --git a/docs/sdks/events/README.md b/docs/sdks/events/README.md index 12476d0b..a46efbe2 100644 --- a/docs/sdks/events/README.md +++ b/docs/sdks/events/README.md @@ -115,7 +115,6 @@ run(); ```typescript import { Novu } from "@novu/api"; -import { TopicPayloadDtoType } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -131,7 +130,7 @@ async function run() { to: [ { topicKey: "topic_key", - type: TopicPayloadDtoType.Topic, + type: "Topic", }, ], }, diff --git a/docs/sdks/integrations/README.md b/docs/sdks/integrations/README.md index 50e47e95..f5aaa464 100644 --- a/docs/sdks/integrations/README.md +++ b/docs/sdks/integrations/README.md @@ -23,7 +23,6 @@ Create an integration for the current environment the user is based on the API k ```typescript import { Novu } from "@novu/api"; -import { Channel } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -31,7 +30,7 @@ const novu = new Novu({ async function run() { const result = await novu.integrations.create({ - channel: Channel.Sms, + channel: "sms", providerId: "", }); diff --git a/docs/sdks/messages/README.md b/docs/sdks/messages/README.md index ab0dc390..e3228975 100644 --- a/docs/sdks/messages/README.md +++ b/docs/sdks/messages/README.md @@ -62,14 +62,13 @@ Deletes messages entity from the Novu platform using TransactionId of message ```typescript import { Novu } from "@novu/api"; -import { Channel } from "@novu/api/models/operations"; const novu = new Novu({ apiKey: "", }); async function run() { - await novu.messages.deleteByTransactionId("", Channel.Push); + await novu.messages.deleteByTransactionId("", "push"); } diff --git a/docs/sdks/notifications/README.md b/docs/sdks/notifications/README.md index 59350c07..99e51a79 100644 --- a/docs/sdks/notifications/README.md +++ b/docs/sdks/notifications/README.md @@ -14,7 +14,6 @@ Get notifications ```typescript import { Novu } from "@novu/api"; -import { Channels } from "@novu/api/models/operations"; const novu = new Novu({ apiKey: "", @@ -23,7 +22,7 @@ const novu = new Novu({ async function run() { const result = await novu.notifications.list({ channels: [ - Channels.Chat, + "chat", ], templates: [ "", diff --git a/docs/sdks/novu/README.md b/docs/sdks/novu/README.md index d860f592..c70e6ac0 100644 --- a/docs/sdks/novu/README.md +++ b/docs/sdks/novu/README.md @@ -23,7 +23,6 @@ Novu Documentation ```typescript import { Novu } from "@novu/api"; -import { TopicPayloadDtoType } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -37,7 +36,7 @@ async function run() { to: [ { topicKey: "topic_key", - type: TopicPayloadDtoType.Topic, + type: "Topic", }, ], }); diff --git a/docs/sdks/novumessages/README.md b/docs/sdks/novumessages/README.md index 69024b43..37dfbc83 100644 --- a/docs/sdks/novumessages/README.md +++ b/docs/sdks/novumessages/README.md @@ -15,7 +15,6 @@ Marks all the subscriber messages as read, unread, seen or unseen. Optionally yo ```typescript import { Novu } from "@novu/api"; -import { MarkAs } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -23,7 +22,7 @@ const novu = new Novu({ async function run() { const result = await novu.subscribers.messages.markAll("", { - markAs: MarkAs.Seen, + markAs: "seen", }); // Handle the result @@ -61,7 +60,6 @@ Mark a subscriber messages as seen, read, unseen or unread ```typescript import { Novu } from "@novu/api"; -import { MessageMarkAsRequestDtoMarkAs } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -69,7 +67,7 @@ const novu = new Novu({ async function run() { const result = await novu.subscribers.messages.markAllAs("", { - markAs: MessageMarkAsRequestDtoMarkAs.Seen, + markAs: "seen", messageId: "", }); @@ -108,7 +106,6 @@ Mark message action as seen ```typescript import { Novu } from "@novu/api"; -import { MarkMessageActionAsSeenDtoStatus } from "@novu/api/models/components"; const novu = new Novu({ apiKey: "", @@ -120,7 +117,7 @@ async function run() { type: "", subscriberId: "", markMessageActionAsSeenDto: { - status: MarkMessageActionAsSeenDtoStatus.Done, + status: "done", }, }); diff --git a/docs/sdks/preferences/README.md b/docs/sdks/preferences/README.md index 7a7574e4..a2b7a2e1 100644 --- a/docs/sdks/preferences/README.md +++ b/docs/sdks/preferences/README.md @@ -64,7 +64,7 @@ const novu = new Novu({ }); async function run() { - const result = await novu.subscribers.preferences.retrieveByLevel("", ""); + const result = await novu.subscribers.preferences.retrieveByLevel("Topic", ""); // Handle the result console.log(result) @@ -77,7 +77,7 @@ run(); | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `parameter` | *string* | :heavy_check_mark: | N/A | +| `parameter` | [operations.Parameter](../../models/operations/parameter.md) | :heavy_check_mark: | the preferences level to be retrieved( Subscriber / Topic) | | `subscriberId` | *string* | :heavy_check_mark: | N/A | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | diff --git a/jsr.json b/jsr.json index 95fb95fe..f238bd2f 100644 --- a/jsr.json +++ b/jsr.json @@ -2,7 +2,7 @@ { "name": "@novu/api", - "version": "0.0.1-alpha.8", + "version": "0.0.1-alpha.9", "exports": { ".": "./src/index.ts", "./models/errors": "./src/models/errors/index.ts", diff --git a/package-lock.json b/package-lock.json index 4339f54b..41d505bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@novu/api", - "version": "0.0.1-alpha.8", + "version": "0.0.1-alpha.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@novu/api", - "version": "0.0.1-alpha.8", + "version": "0.0.1-alpha.9", "dependencies": { "jsonpath": "^1.1.1" }, diff --git a/package.json b/package.json index 09570bb8..d04a5297 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@novu/api", - "version": "0.0.1-alpha.8", + "version": "0.0.1-alpha.9", "author": "Novu", "main": "./index.js", "sideEffects": false, diff --git a/sources/code-samples.yaml b/sources/code-samples.yaml new file mode 100644 index 00000000..d3043820 --- /dev/null +++ b/sources/code-samples.yaml @@ -0,0 +1,1763 @@ +overlay: 1.0.0 +info: + title: CodeSamples overlay for typescript target + version: 0.0.0 +actions: + - target: $["paths"]["/v1/layouts"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "LayoutsController_listLayouts" + "source": "import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n apiKey: \"\",\n});\n\nasync function run() {\n await novu.layouts.list({});\n\n \n}\n\nrun();" + - target: $["paths"]["/v1/subscribers/{subscriberId}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_removeSubscriber" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.delete(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/changes"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "ChangesController_getChanges" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.changes.retrieve({ + promoted: "false", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/execution-details"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "ExecutionDetailsController_getExecutionDetailsForNotification" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.executionDetails.retrieve("", ""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/layouts/{layoutId}/default"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "LayoutsController_setDefaultLayout" + "source": "import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n apiKey: \"\",\n});\n\nasync function run() {\n await novu.layouts.setAsDefault(\"\");\n\n \n}\n\nrun();" + - target: $["paths"]["/v1/subscribers/{subscriberId}/messages/mark-all"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_markAllUnreadAsRead" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.messages.markAll("", { + markAs: "seen", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/online-status"]["patch"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_updateSubscriberOnlineFlag" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.properties.updateOnlineFlag("", { + isOnline: false, + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/preferences"]["patch"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_updateSubscriberGlobalPreferences" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.preferences.updateGlobal("", {}); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/preferences/{parameter}"]["patch"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_updateSubscriberPreference" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.preferences.update({ + subscriberId: "", + parameter: "", + updateSubscriberPreferenceRequestDto: {}, + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/workflows/{workflowId}"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "WorkflowController_getWorkflowById" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflows.retrieve(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/changes/count"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "ChangesController_getChangesCount" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.changes.count(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/integrations/{integrationId}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "IntegrationsController_removeIntegration" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.integrations.delete(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/notification-groups/{id}"]["patch"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "NotificationGroupsController_updateNotificationGroup" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflowGroups.update("", { + name: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_listSubscribers" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.list(7685.78, 10); + + for await (const page of result) { + // handle page + } + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/credentials"]["patch"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_modifySubscriberChannel" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.credentials.append("", { + credentials: { + webhookUrl: "", + }, + providerId: "zulip", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/tenants"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TenantController_listTenants" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.tenants.list(7685.78, 10); + + for await (const page of result) { + // handle page + } + } + + run(); + - target: $["paths"]["/v1/tenants/{identifier}"]["patch"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TenantController_updateTenant" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.tenants.update("", {}); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/workflows/{workflowId}"]["put"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "WorkflowController_updateWorkflowById" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflows.update("", { + name: "", + notificationGroupId: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/environments/api-keys/regenerate"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "EnvironmentsController_regenerateOrganizationApiKeys" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.environments.apiKeys.regenerate(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/notification-groups/{id}"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "NotificationGroupsController_getNotificationGroup" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflowGroups.retrieve(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/layouts/{layoutId}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "LayoutsController_deleteLayout" + "source": "import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n apiKey: \"\",\n});\n\nasync function run() {\n await novu.layouts.delete(\"\");\n\n \n}\n\nrun();" + - target: $["paths"]["/v1/messages/{messageId}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "MessagesController_deleteMessage" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.messages.delete(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/notifications/stats"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "NotificationsController_getActivityStats" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.notifications.stats.retrieve(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/environments"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "EnvironmentsController_listMyEnvironments" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.environments.list(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/integrations/{integrationId}/set-primary"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "IntegrationsController_setIntegrationAsPrimary" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.integrations.setAsPrimary(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/credentials/{providerId}/oauth"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_chatAccessOauth" + "source": "import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n apiKey: \"\",\n});\n\nasync function run() {\n await novu.subscribers.authentication.chatAccessOauth({\n subscriberId: \"\",\n providerId: \"\",\n hmacHash: \"\",\n environmentId: \"\",\n });\n\n \n}\n\nrun();" + - target: $["paths"]["/v1/subscribers/{subscriberId}/preferences/{parameter}"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_getSubscriberPreferenceByLevel" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.preferences.retrieveByLevel("Topic", ""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/tenants"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TenantController_createTenant" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.tenants.create({ + identifier: "", + name: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/topics/{topicKey}/subscribers/{externalSubscriberId}"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TopicsController_getTopicSubscriber" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.topics.subscribers.retrieve("", ""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/feeds/{feedId}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "FeedsController_deleteFeedById" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.feeds.delete(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/notifications/{notificationId}"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "NotificationsController_getNotification" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.notifications.retrieve(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/workflows/{workflowId}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "WorkflowController_deleteWorkflowById" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflows.delete(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/workflows/{workflowId}/status"]["put"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "WorkflowController_updateActiveStatus" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflows.status.update("", { + active: false, + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/messages/transaction/{transactionId}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "MessagesController_deleteMessagesByTransactionId" + "source": "import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n apiKey: \"\",\n});\n\nasync function run() {\n await novu.messages.deleteByTransactionId(\"\", \"push\");\n\n \n}\n\nrun();" + - target: $["paths"]["/v1/notification-groups"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "NotificationGroupsController_listNotificationGroups" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflowGroups.list(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/organizations/branding"]["put"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "OrganizationController_updateBrandingDetails" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.organizations.branding.update({ + color: "fuchsia", + contentBackground: "", + fontColor: "", + logo: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_getSubscriber" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.retrieve(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type}"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_markActionAsSeen" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.messages.updateAsSeen({ + messageId: "", + type: "", + subscriberId: "", + markMessageActionAsSeenDto: { + status: "done", + }, + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/tenants/{identifier}"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TenantController_getTenantById" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.tenants.retrieve(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/topics/{topicKey}"]["patch"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TopicsController_renameTopic" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.topics.rename("", { + name: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/integrations"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "IntegrationsController_createIntegration" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.integrations.create({ + channel: "sms", + providerId: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/organizations"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "OrganizationController_listOrganizations" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.organizations.list(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/organizations"]["patch"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "OrganizationController_rename" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.organizations.rename({ + name: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_createSubscriber" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.create({ + subscriberId: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/preferences"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_listSubscriberPreferences" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.preferences.list(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/topics"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TopicsController_listTopics" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.topics.list({}); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/environments/me"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "EnvironmentsController_getCurrentEnvironment" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.environments.retrieve(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/notifications/graph/stats"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "NotificationsController_getActivityGraphStats" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.notifications.stats.graph(4018.61); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/workflows"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "WorkflowController_listWorkflows" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflows.list({}); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/workflows/variables"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "WorkflowController_getWorkflowVariables" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflows.variables.retrieve(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/events/trigger/{transactionId}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "EventsController_cancel" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.events.cancel(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/notification-groups"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "NotificationGroupsController_createNotificationGroup" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflowGroups.create({ + name: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/environments/api-keys"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "EnvironmentsController_listOrganizationApiKeys" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.environments.apiKeys.list(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/integrations"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "IntegrationsController_listIntegrations" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.integrations.list(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/messages"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "MessagesController_getMessages" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.messages.retrieve({}); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/topics/{topicKey}/subscribers/removal"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TopicsController_removeSubscribers" + "source": "import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n apiKey: \"\",\n});\n\nasync function run() {\n await novu.topics.subscribers.delete(\"\", {\n subscribers: [\n \"\",\n ],\n });\n\n \n}\n\nrun();" + - target: $["paths"]["/v1/events/trigger"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "EventsController_trigger" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.trigger({ + name: "workflow_identifier", + overrides: {}, + payload: {}, + to: [ + { + topicKey: "topic_key", + type: "Topic", + }, + ], + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/changes/{changeId}/apply"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "ChangesController_applyDiff" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.changes.apply(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/tenants/{identifier}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TenantController_removeTenant" + "source": "import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n apiKey: \"\",\n});\n\nasync function run() {\n await novu.tenants.delete(\"\");\n\n \n}\n\nrun();" + - target: $["paths"]["/v1/workflows"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "WorkflowController_create" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflows.create({ + name: "", + notificationGroupId: "", + steps: [ + {}, + ], + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/organizations/me"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "OrganizationController_getSelfOrganizationData" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.organizations.retrieve(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/notifications/unseen"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_getUnseenCount" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.notifications.unseenCount({ + seen: false, + subscriberId: "", + limit: 2166.35, + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/credentials"]["put"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_updateSubscriberChannel" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.credentials.update("", { + credentials: { + webhookUrl: "", + }, + providerId: "pushpad", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/credentials/{providerId}/oauth/callback"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_chatOauthCallback" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.authentication.chatAccessOauthCallBack({ + subscriberId: "", + providerId: "", + code: "", + hmacHash: "", + environmentId: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/integrations/{integrationId}"]["put"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "IntegrationsController_updateIntegrationById" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.integrations.update("", {}); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/bulk"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_bulkCreateSubscribers" + "source": "import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n apiKey: \"\",\n});\n\nasync function run() {\n await novu.subscribers.createBulk({\n subscribers: [\n {\n subscriberId: \"\",\n },\n ],\n });\n\n \n}\n\nrun();" + - target: $["paths"]["/v1/layouts"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "LayoutsController_PropertyDescriptor" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.layouts.create(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/organizations/members"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "OrganizationController_listOrganizationMembers" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.organizations.members.list(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/organizations/members/{memberId}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "OrganizationController_remove" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.organizations.members.delete(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/events/trigger/bulk"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "EventsController_triggerBulk" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.events.triggerBulk({ + events: [ + { + name: "workflow_identifier", + overrides: {}, + payload: {}, + to: [ + { + topicKey: "topic_key", + type: "Topic", + }, + ], + }, + ], + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/feeds"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "FeedsController_createFeed" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.feeds.create({ + name: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/layouts/{layoutId}"]["patch"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "LayoutsController_updateLayout" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.layouts.update("", { + identifier: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/credentials/{providerId}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_deleteSubscriberCredentials" + "source": "import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n apiKey: \"\",\n});\n\nasync function run() {\n await novu.subscribers.credentials.delete(\"\", \"\");\n\n \n}\n\nrun();" + - target: $["paths"]["/v1/subscribers/{subscriberId}/notifications/feed"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_getNotificationsFeed" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.notifications.retrieve({ + subscriberId: "", + payload: "btoa(JSON.stringify({ foo: 123 })) results in base64 encoded string like eyJmb28iOjEyM30=", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/events/trigger/broadcast"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "EventsController_broadcastEventToAll" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.events.triggerBroadcast({ + name: "", + overrides: {}, + payload: {}, + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/integrations/active"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "IntegrationsController_getActiveIntegrations" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.integrations.listActive(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/layouts/{layoutId}"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "LayoutsController_getLayout" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.layouts.retrieve(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}/messages/mark-as"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_markMessagesAs" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.messages.markAllAs("", { + markAs: "seen", + messageId: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/topics"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TopicsController_createTopic" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.topics.create({ + key: "", + name: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/topics/{topicKey}/subscribers"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TopicsController_addSubscribers" + "source": "import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n apiKey: \"\",\n});\n\nasync function run() {\n await novu.topics.subscribers.assign(\"\", {\n subscribers: [\n \"\",\n ],\n });\n\n \n}\n\nrun();" + - target: $["paths"]["/v1/feeds"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "FeedsController_getFeeds" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.feeds.retrieve(); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/integrations/webhook/provider/{providerOrIntegrationId}/status"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "IntegrationsController_getWebhookSupportStatus" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.integrations.webhooks.retrieve(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/notifications"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "NotificationsController_listNotifications" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.notifications.list({ + channels: [ + "chat", + ], + templates: [ + "", + ], + emails: [ + "", + ], + search: "", + subscriberIds: [ + "", + ], + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/organizations"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "OrganizationController_createOrganization" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.organizations.create({ + name: "", + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/subscribers/{subscriberId}"]["put"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "SubscribersController_updateSubscriber" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.subscribers.update("", {}); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/topics/{topicKey}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TopicsController_deleteTopic" + "source": "import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n apiKey: \"\",\n});\n\nasync function run() {\n await novu.topics.delete(\"\");\n\n \n}\n\nrun();" + - target: $["paths"]["/v1/topics/{topicKey}"]["get"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "TopicsController_getTopic" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.topics.retrieve(""); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/changes/bulk/apply"]["post"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "ChangesController_bulkApplyDiff" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.changes.applyBulk({ + changeIds: [ + "", + ], + }); + + // Handle the result + console.log(result) + } + + run(); + - target: $["paths"]["/v1/notification-groups/{id}"]["delete"] + update: + "x-codeSamples": + - "lang": "typescript" + "label": "NotificationGroupsController_deleteNotificationGroup" + "source": |- + import { Novu } from "@novu/api"; + + const novu = new Novu({ + apiKey: "", + }); + + async function run() { + const result = await novu.workflowGroups.delete(""); + + // Handle the result + console.log(result) + } + + run(); diff --git a/sources/json-development.json b/sources/json-development.json index 1d8fa8fe..7abb4167 100644 --- a/sources/json-development.json +++ b/sources/json-development.json @@ -1 +1,7065 @@ -{"openapi": "3.0.0", "paths": {"/v1/organizations": {"post": {"operationId": "OrganizationController_createOrganization", "summary": "Create an organization", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateOrganizationDto"}}}}, "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Organizations"], "security": [{"api-key": []}]}, "get": {"operationId": "OrganizationController_listOrganizations", "summary": "Fetch all organizations", "parameters": [], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/OrganizationResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Organizations"], "security": [{"api-key": []}]}, "patch": {"operationId": "OrganizationController_rename", "x-speakeasy-name-override": "rename", "summary": "Rename organization name", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RenameOrganizationDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RenameOrganizationDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Organizations"], "security": [{"api-key": []}]}}, "/v1/organizations/me": {"get": {"operationId": "OrganizationController_getSelfOrganizationData", "summary": "Fetch current organization details", "parameters": [], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Organizations"], "security": [{"api-key": []}]}}, "/v1/organizations/members/{memberId}": {"delete": {"operationId": "OrganizationController_remove", "x-speakeasy-group": "Organizations.Members", "summary": "Remove a member from organization using memberId", "parameters": [{"name": "memberId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MemberResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Organizations"], "security": [{"api-key": []}]}}, "/v1/organizations/members": {"get": {"operationId": "OrganizationController_listOrganizationMembers", "x-speakeasy-group": "Organizations.Members", "summary": "Fetch all members of current organizations", "parameters": [], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/MemberResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Organizations"], "security": [{"api-key": []}]}}, "/v1/organizations/branding": {"put": {"operationId": "OrganizationController_updateBrandingDetails", "x-speakeasy-group": "Organizations.Branding", "summary": "Update organization branding details", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateBrandingDetailsDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OrganizationBrandingResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Organizations"], "security": [{"api-key": []}]}}, "/v1/environments/me": {"get": {"operationId": "EnvironmentsController_getCurrentEnvironment", "summary": "Get current environment", "parameters": [], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EnvironmentResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Environments"], "security": [{"api-key": []}]}}, "/v1/environments": {"get": {"operationId": "EnvironmentsController_listMyEnvironments", "summary": "Get environments", "parameters": [], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/EnvironmentResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Environments"], "security": [{"api-key": []}]}}, "/v1/environments/api-keys": {"get": {"operationId": "EnvironmentsController_listOrganizationApiKeys", "x-speakeasy-group": "Environments.ApiKeys", "summary": "Get api keys", "parameters": [], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ApiKey"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Environments"], "security": [{"api-key": []}]}}, "/v1/environments/api-keys/regenerate": {"post": {"operationId": "EnvironmentsController_regenerateOrganizationApiKeys", "x-speakeasy-name-override": "regenerate", "x-speakeasy-group": "Environments.ApiKeys", "summary": "Regenerate api keys", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ApiKey"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Environments"], "security": [{"api-key": []}]}}, "/v1/execution-details": {"get": {"operationId": "ExecutionDetailsController_getExecutionDetailsForNotification", "summary": "Get execution details", "parameters": [{"name": "notificationId", "required": true, "in": "query", "schema": {"type": "string"}}, {"name": "subscriberId", "required": true, "in": "query", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ExecutionDetailsResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Execution Details"], "security": [{"api-key": []}]}}, "/v1/workflows": {"get": {"operationId": "WorkflowController_listWorkflows", "summary": "Get workflows", "description": "Workflows were previously named notification templates", "parameters": [{"name": "page", "required": false, "in": "query", "schema": {"type": "number"}}, {"name": "limit", "required": false, "in": "query", "schema": {"maximum": 100, "default": 10, "type": "number"}}, {"name": "query", "required": false, "in": "query", "description": "A query string to filter the results. It allows filtering based on either the name or trigger identifier of the workflow items.", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/WorkflowsResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflows"], "security": [{"api-key": []}]}, "post": {"operationId": "WorkflowController_create", "summary": "Create workflow", "description": "Workflow was previously named notification template", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateWorkflowRequestDto"}}}}, "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/WorkflowResponse"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflows"], "security": [{"api-key": []}]}}, "/v1/workflows/{workflowId}": {"put": {"operationId": "WorkflowController_updateWorkflowById", "summary": "Update workflow", "description": "Workflow was previously named notification template", "parameters": [{"name": "workflowId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateWorkflowRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/WorkflowResponse"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflows"], "security": [{"api-key": []}]}, "delete": {"operationId": "WorkflowController_deleteWorkflowById", "summary": "Delete workflow", "description": "Workflow was previously named notification template", "parameters": [{"name": "workflowId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DataBooleanDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflows"], "security": [{"api-key": []}]}, "get": {"operationId": "WorkflowController_getWorkflowById", "summary": "Get workflow", "description": "Workflow was previously named notification template", "parameters": [{"name": "workflowId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/WorkflowResponse"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflows"], "security": [{"api-key": []}]}}, "/v1/workflows/variables": {"get": {"operationId": "WorkflowController_getWorkflowVariables", "x-speakeasy-group": "Workflows.Variables", "summary": "Get available variables", "description": "Get the variables that can be used in the workflow", "parameters": [], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VariablesResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflows"], "security": [{"api-key": []}]}}, "/v1/workflows/{workflowId}/status": {"put": {"operationId": "WorkflowController_updateActiveStatus", "x-speakeasy-group": "Workflows.Status", "summary": "Update workflow status", "description": "Workflow was previously named notification template", "parameters": [{"name": "workflowId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ChangeWorkflowStatusRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/WorkflowResponse"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflows"], "security": [{"api-key": []}]}}, "/v1/events/trigger": {"post": {"operationId": "EventsController_trigger", "x-speakeasy-group": "", "x-speakeasy-usage-example": {"title": "Trigger Notification Event"}, "x-speakeasy-name-override": "trigger", "summary": "Trigger event", "description": "\n Trigger event is the main (and only) way to send notifications to subscribers. \n The trigger identifier is used to match the particular workflow associated with it. \n Additional information can be passed according the body interface below.\n ", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TriggerEventRequestDto"}}}}, "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TriggerEventResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Events"], "security": [{"api-key": []}]}}, "/v1/events/trigger/bulk": {"post": {"operationId": "EventsController_triggerBulk", "x-speakeasy-name-override": "triggerBulk", "summary": "Bulk trigger event", "description": "\n Using this endpoint you can trigger multiple events at once, to avoid multiple calls to the API.\n The bulk API is limited to 100 events per request.\n ", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BulkTriggerEventDto"}}}}, "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/TriggerEventResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Events"], "security": [{"api-key": []}]}}, "/v1/events/trigger/broadcast": {"post": {"operationId": "EventsController_broadcastEventToAll", "x-speakeasy-name-override": "triggerBroadcast", "summary": "Broadcast event to all", "description": "Trigger a broadcast event to all existing subscribers, could be used to send announcements, etc.\n In the future could be used to trigger events to a subset of subscribers based on defined filters.", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TriggerEventToAllRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TriggerEventResponseDto"}}}}, "201": {"description": "", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TriggerEventResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Events"], "security": [{"api-key": []}]}}, "/v1/events/trigger/{transactionId}": {"delete": {"operationId": "EventsController_cancel", "x-speakeasy-name-override": "cancel", "summary": "Cancel triggered event", "description": "\n Using a previously generated transactionId during the event trigger,\n will cancel any active or pending workflows. This is useful to cancel active digests, delays etc...\n ", "parameters": [{"name": "transactionId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DataBooleanDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Events"], "security": [{"api-key": []}]}}, "/v1/notifications": {"get": {"operationId": "NotificationsController_listNotifications", "summary": "Get notifications", "parameters": [{"name": "channels", "required": true, "in": "query", "schema": {"type": "array", "items": {"type": "string", "enum": ["in_app", "email", "sms", "chat", "push"]}}}, {"name": "templates", "required": true, "in": "query", "schema": {"type": "array", "items": {"type": "string"}}}, {"name": "emails", "required": true, "in": "query", "schema": {"type": "array", "items": {"type": "string"}}}, {"name": "search", "required": true, "in": "query", "deprecated": true, "schema": {"type": "string"}}, {"name": "subscriberIds", "required": true, "in": "query", "schema": {"type": "array", "items": {"type": "string"}}}, {"name": "page", "required": false, "in": "query", "schema": {"default": 0, "type": "number"}}, {"name": "transactionId", "required": false, "in": "query", "schema": {"type": "string"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActivitiesResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Notifications"], "security": [{"api-key": []}]}}, "/v1/notifications/stats": {"get": {"operationId": "NotificationsController_getActivityStats", "x-speakeasy-group": "Notifications.Stats", "summary": "Get notification statistics", "parameters": [], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActivityStatsResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Notifications"], "security": [{"api-key": []}]}}, "/v1/notifications/graph/stats": {"get": {"operationId": "NotificationsController_getActivityGraphStats", "x-speakeasy-name-override": "graph", "x-speakeasy-group": "Notifications.Stats", "summary": "Get notification graph statistics", "parameters": [{"name": "days", "required": false, "in": "query", "schema": {"type": "number"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ActivityGraphStatesResponse"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Notifications"], "security": [{"api-key": []}]}}, "/v1/notifications/{notificationId}": {"get": {"operationId": "NotificationsController_getNotification", "summary": "Get notification", "parameters": [{"name": "notificationId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActivityNotificationResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Notifications"], "security": [{"api-key": []}]}}, "/v1/notification-groups": {"post": {"operationId": "NotificationGroupsController_createNotificationGroup", "summary": "Create workflow group", "description": "workflow group was previously named notification group", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateNotificationGroupRequestDto"}}}}, "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NotificationGroupResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflow groups"], "security": [{"api-key": []}]}, "get": {"operationId": "NotificationGroupsController_listNotificationGroups", "summary": "Get workflow groups", "description": "workflow group was previously named notification group", "parameters": [], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/NotificationGroupResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflow groups"], "security": [{"api-key": []}]}}, "/v1/notification-groups/{id}": {"get": {"operationId": "NotificationGroupsController_getNotificationGroup", "summary": "Get workflow group", "description": "workflow group was previously named notification group", "parameters": [{"name": "id", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NotificationGroupResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflow groups"], "security": [{"api-key": []}]}, "patch": {"operationId": "NotificationGroupsController_updateNotificationGroup", "summary": "Update workflow group", "description": "workflow group was previously named notification group", "parameters": [{"name": "id", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateNotificationGroupRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NotificationGroupResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflow groups"], "security": [{"api-key": []}]}, "delete": {"operationId": "NotificationGroupsController_deleteNotificationGroup", "summary": "Delete workflow group", "description": "workflow group was previously named notification group", "parameters": [{"name": "id", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DeleteNotificationGroupResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Workflow groups"], "security": [{"api-key": []}]}}, "/v1/integrations": {"get": {"operationId": "IntegrationsController_listIntegrations", "summary": "Get integrations", "description": "Return all the integrations the user has created for that organization. Review v.0.17.0 changelog for a breaking change", "parameters": [], "responses": {"200": {"description": "The list of integrations belonging to the organization that are successfully returned.", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/IntegrationResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Integrations"], "security": [{"api-key": []}]}, "post": {"operationId": "IntegrationsController_createIntegration", "summary": "Create integration", "description": "Create an integration for the current environment the user is based on the API key provided", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateIntegrationRequestDto"}}}}, "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IntegrationResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Integrations"], "security": [{"api-key": []}]}}, "/v1/integrations/active": {"get": {"operationId": "IntegrationsController_getActiveIntegrations", "x-speakeasy-name-override": "listActive", "summary": "Get active integrations", "description": "Return all the active integrations the user has created for that organization. Review v.0.17.0 changelog for a breaking change", "parameters": [], "responses": {"200": {"description": "The list of active integrations belonging to the organization that are successfully returned.", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/IntegrationResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Integrations"], "security": [{"api-key": []}]}}, "/v1/integrations/webhook/provider/{providerOrIntegrationId}/status": {"get": {"operationId": "IntegrationsController_getWebhookSupportStatus", "x-speakeasy-group": "Integrations.Webhooks", "summary": "Get webhook support status for provider", "description": "Return the status of the webhook for this provider, if it is supported or if it is not based on a boolean value", "parameters": [{"name": "providerOrIntegrationId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "The status of the webhook for the provider requested", "content": {"application/json": {"schema": {"type": "boolean"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Integrations"], "security": [{"api-key": []}]}}, "/v1/integrations/{integrationId}": {"put": {"operationId": "IntegrationsController_updateIntegrationById", "summary": "Update integration", "parameters": [{"name": "integrationId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateIntegrationRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IntegrationResponseDto"}}}}, "404": {"description": "The integration with the integrationId provided does not exist in the database."}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Integrations"], "security": [{"api-key": []}]}, "delete": {"operationId": "IntegrationsController_removeIntegration", "summary": "Delete integration", "parameters": [{"name": "integrationId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/IntegrationResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Integrations"], "security": [{"api-key": []}]}}, "/v1/integrations/{integrationId}/set-primary": {"post": {"operationId": "IntegrationsController_setIntegrationAsPrimary", "x-speakeasy-name-override": "setAsPrimary", "summary": "Set integration as primary", "parameters": [{"name": "integrationId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IntegrationResponseDto"}}}}, "201": {"description": "", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IntegrationResponseDto"}}}}, "404": {"description": "The integration with the integrationId provided does not exist in the database."}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Integrations"], "security": [{"api-key": []}]}}, "/v1/changes": {"get": {"operationId": "ChangesController_getChanges", "summary": "Get changes", "parameters": [{"name": "page", "required": false, "in": "query", "schema": {"type": "number"}}, {"name": "limit", "required": false, "in": "query", "schema": {"maximum": 100, "default": 10, "type": "number"}}, {"name": "promoted", "required": true, "in": "query", "schema": {"default": "false", "type": "string"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ChangesResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Changes"], "security": [{"api-key": []}]}}, "/v1/changes/count": {"get": {"operationId": "ChangesController_getChangesCount", "x-speakeasy-name-override": "count", "summary": "Get changes count", "parameters": [], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DataNumberDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Changes"], "security": [{"api-key": []}]}}, "/v1/changes/bulk/apply": {"post": {"operationId": "ChangesController_bulkApplyDiff", "x-speakeasy-name-override": "applyBulk", "summary": "Apply changes", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BulkApplyChangeDto"}}}}, "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ChangeResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Changes"], "security": [{"api-key": []}]}}, "/v1/changes/{changeId}/apply": {"post": {"operationId": "ChangesController_applyDiff", "x-speakeasy-name-override": "apply", "summary": "Apply change", "parameters": [{"name": "changeId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ChangeResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Changes"], "security": [{"api-key": []}]}}, "/v1/subscribers": {"get": {"operationId": "SubscribersController_listSubscribers", "x-speakeasy-pagination": {"type": "offsetLimit", "inputs": [{"name": "page", "in": "parameters", "type": "page"}, {"name": "limit", "in": "parameters", "type": "limit"}], "outputs": {"results": "$.data.resultArray"}}, "summary": "Get subscribers", "description": "Returns a list of subscribers, could paginated using the `page` and `limit` query parameter", "parameters": [{"name": "page", "required": false, "in": "query", "schema": {"type": "number"}}, {"name": "limit", "required": false, "in": "query", "schema": {"maximum": 100, "default": 10, "type": "number"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/PaginatedResponseDto"}, {"properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/SubscriberResponseDto"}}}}]}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}, "post": {"operationId": "SubscribersController_createSubscriber", "summary": "Create subscriber", "description": "Creates a subscriber entity, in the Novu platform. The subscriber will be later used to receive notifications, and access notification feeds. Communication credentials such as email, phone number, and 3 rd party credentials i.e slack tokens could be later associated to this entity.", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateSubscriberRequestDto"}}}}, "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriberResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}": {"get": {"operationId": "SubscribersController_getSubscriber", "summary": "Get subscriber", "description": "Get subscriber by your internal id used to identify the subscriber", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriberResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}, "put": {"operationId": "SubscribersController_updateSubscriber", "summary": "Update subscriber", "description": "Used to update the subscriber entity with new information", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateSubscriberRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriberResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}, "delete": {"operationId": "SubscribersController_removeSubscriber", "summary": "Delete subscriber", "description": "Deletes a subscriber entity from the Novu platform", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DeleteSubscriberResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/bulk": {"post": {"operationId": "SubscribersController_bulkCreateSubscribers", "x-speakeasy-name-override": "createBulk", "summary": "Bulk create subscribers", "description": "\n Using this endpoint you can create multiple subscribers at once, to avoid multiple calls to the API.\n The bulk API is limited to 500 subscribers per request.\n ", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BulkSubscriberCreateDto"}}}}, "responses": {"201": {"description": ""}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/credentials": {"put": {"operationId": "SubscribersController_updateSubscriberChannel", "x-speakeasy-group": "Subscribers.Credentials", "summary": "Update subscriber credentials", "description": "Subscriber credentials associated to the delivery methods such as slack and push tokens.", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateSubscriberChannelRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriberResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}, "patch": {"operationId": "SubscribersController_modifySubscriberChannel", "x-speakeasy-name-override": "append", "x-speakeasy-group": "Subscribers.Credentials", "summary": "Modify subscriber credentials", "description": "Subscriber credentials associated to the delivery methods such as slack and push tokens.\n This endpoint appends provided credentials and deviceTokens to the existing ones.", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateSubscriberChannelRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriberResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/credentials/{providerId}": {"delete": {"operationId": "SubscribersController_deleteSubscriberCredentials", "x-speakeasy-group": "Subscribers.Credentials", "summary": "Delete subscriber credentials by providerId", "description": "Delete subscriber credentials such as slack and expo tokens.", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "providerId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"204": {"description": ""}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/online-status": {"patch": {"operationId": "SubscribersController_updateSubscriberOnlineFlag", "x-speakeasy-name-override": "updateOnlineFlag", "x-speakeasy-group": "Subscribers.properties", "summary": "Update subscriber online status", "description": "Used to update the subscriber isOnline flag.", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateSubscriberOnlineFlagRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriberResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/preferences": {"get": {"operationId": "SubscribersController_listSubscriberPreferences", "x-speakeasy-group": "Subscribers.Preferences", "summary": "Get subscriber preferences", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/UpdateSubscriberPreferenceResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}, "patch": {"operationId": "SubscribersController_updateSubscriberGlobalPreferences", "x-speakeasy-name-override": "updateGlobal", "x-speakeasy-group": "Subscribers.Preferences", "summary": "Update subscriber global preferences", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateSubscriberGlobalPreferencesRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateSubscriberPreferenceResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/preferences/{parameter}": {"get": {"operationId": "SubscribersController_getSubscriberPreferenceByLevel", "x-speakeasy-name-override": "retrieveByLevel", "x-speakeasy-group": "Subscribers.Preferences", "summary": "Get subscriber preferences by level", "parameters": [{"name": "parameter", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/GetSubscriberPreferencesResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}, "patch": {"operationId": "SubscribersController_updateSubscriberPreference", "x-speakeasy-group": "Subscribers.Preferences", "summary": "Update subscriber preference", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "parameter", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateSubscriberPreferenceRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateSubscriberPreferenceResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/notifications/feed": {"get": {"operationId": "SubscribersController_getNotificationsFeed", "x-speakeasy-group": "Subscribers.Notifications", "summary": "Get in-app notification feed for a particular subscriber", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "page", "required": false, "in": "query", "schema": {"type": "number"}}, {"name": "limit", "required": false, "in": "query", "schema": {"maximum": 100, "default": 10, "type": "number"}}, {"name": "read", "required": false, "in": "query", "schema": {"type": "boolean"}}, {"name": "seen", "required": false, "in": "query", "schema": {"type": "boolean"}}, {"name": "payload", "required": false, "in": "query", "description": "Base64 encoded string of the partial payload JSON object", "example": "btoa(JSON.stringify({ foo: 123 })) results in base64 encoded string like eyJmb28iOjEyM30=", "schema": {"type": "string"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/PaginatedResponseDto"}, {"properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/FeedResponseDto"}}}}]}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/notifications/unseen": {"get": {"operationId": "SubscribersController_getUnseenCount", "x-speakeasy-name-override": "unseenCount", "x-speakeasy-group": "Subscribers.Notifications", "summary": "Get the unseen in-app notifications count for subscribers feed", "parameters": [{"name": "seen", "required": true, "in": "query", "schema": {"type": "boolean"}}, {"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "limit", "required": true, "in": "query", "schema": {"type": "number"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UnseenCountResponse"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/messages/mark-as": {"post": {"operationId": "SubscribersController_markMessagesAs", "x-speakeasy-name-override": "markAllAs", "x-speakeasy-group": "Subscribers.Messages", "summary": "Mark a subscriber messages as seen, read, unseen or unread", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MessageMarkAsRequestDto"}}}}, "responses": {"201": {"description": "", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/MessageEntity"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/messages/mark-all": {"post": {"operationId": "SubscribersController_markAllUnreadAsRead", "x-speakeasy-name-override": "markAll", "x-speakeasy-group": "Subscribers.Messages", "summary": "Marks all the subscriber messages as read, unread, seen or unseen. Optionally you can pass feed id (or array) to mark messages of a particular feed.", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MarkAllMessageAsRequestDto"}}}}, "responses": {"201": {"description": "", "content": {"application/json": {"schema": {"type": "number"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type}": {"post": {"operationId": "SubscribersController_markActionAsSeen", "x-speakeasy-name-override": "updateAsSeen", "x-speakeasy-group": "Subscribers.Messages", "summary": "Mark message action as seen", "parameters": [{"name": "messageId", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "type", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MarkMessageActionAsSeenDto"}}}}, "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MessageResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/credentials/{providerId}/oauth/callback": {"get": {"operationId": "SubscribersController_chatOauthCallback", "x-speakeasy-name-override": "chatAccessOauthCallBack", "x-speakeasy-group": "Subscribers.Authentication", "summary": "Handle providers oauth redirect", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "providerId", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "code", "required": true, "in": "query", "schema": {"type": "string"}}, {"name": "hmacHash", "required": true, "in": "query", "schema": {"type": "string"}}, {"name": "environmentId", "required": true, "in": "query", "schema": {"type": "string"}}, {"name": "integrationIdentifier", "required": false, "in": "query", "schema": {"type": "string"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"type": "object"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/subscribers/{subscriberId}/credentials/{providerId}/oauth": {"get": {"operationId": "SubscribersController_chatAccessOauth", "x-speakeasy-name-override": "chatAccessOauth", "x-speakeasy-group": "Subscribers.Authentication", "summary": "Handle chat oauth", "parameters": [{"name": "subscriberId", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "providerId", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "hmacHash", "required": true, "in": "query", "schema": {"type": "string"}}, {"name": "environmentId", "required": true, "in": "query", "schema": {"type": "string"}}, {"name": "integrationIdentifier", "required": false, "in": "query", "schema": {"type": "string"}}], "responses": {"200": {"description": ""}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Subscribers"], "security": [{"api-key": []}]}}, "/v1/feeds": {"post": {"operationId": "FeedsController_createFeed", "summary": "Create feed", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateFeedRequestDto"}}}}, "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/FeedResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Feeds"], "security": [{"api-key": []}]}, "get": {"operationId": "FeedsController_getFeeds", "summary": "Get feeds", "parameters": [], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/FeedResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Feeds"], "security": [{"api-key": []}]}}, "/v1/feeds/{feedId}": {"delete": {"operationId": "FeedsController_deleteFeedById", "summary": "Delete feed", "parameters": [{"name": "feedId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/FeedResponseDto"}}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Feeds"], "security": [{"api-key": []}]}}, "/v1/layouts": {"post": {"operationId": "LayoutsController_PropertyDescriptor", "x-speakeasy-name-override": "create", "summary": "Layout creation", "description": "Create a layout", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateLayoutResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Layouts"], "security": [{"api-key": []}]}, "get": {"operationId": "LayoutsController_listLayouts", "summary": "Filter layouts", "description": "Returns a list of layouts that can be paginated using the `page` query parameter and filtered by the environment where it is executed from the organization the user belongs to.", "parameters": [{"name": "page", "required": false, "in": "query", "description": "Number of page for pagination", "schema": {"minimum": 0, "type": "number"}}, {"name": "pageSize", "required": false, "in": "query", "description": "Size of page for pagination", "schema": {"minimum": 0, "type": "number"}}, {"name": "sortBy", "required": false, "in": "query", "description": "Sort field. Currently only supported `createdAt`", "schema": {"type": "string"}}, {"name": "orderBy", "required": false, "in": "query", "description": "Direction of the sorting query param", "schema": {"enum": ["ASC", "DESC"], "type": "string"}}], "responses": {"200": {"description": "The list of layouts that match the criteria of the query params are successfully returned."}, "400": {"description": "Page size can not be larger than the page size limit."}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Layouts"], "security": [{"api-key": []}]}}, "/v1/layouts/{layoutId}": {"get": {"operationId": "LayoutsController_getLayout", "summary": "Get layout", "description": "Get a layout by its ID", "parameters": [{"name": "layoutId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetLayoutResponseDto"}}}}, "404": {"description": "The layout with the layoutId provided does not exist in the database."}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Layouts"], "security": [{"api-key": []}]}, "delete": {"operationId": "LayoutsController_deleteLayout", "summary": "Delete layout", "description": "Execute a soft delete of a layout given a certain ID.", "parameters": [{"name": "layoutId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"204": {"description": "The layout has been deleted correctly"}, "404": {"description": "The layout with the layoutId provided does not exist in the database so it can not be deleted."}, "409": {"description": "Either you are trying to delete a layout that is being used or a layout that is the default in the environment.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Layouts"], "security": [{"api-key": []}]}, "patch": {"operationId": "LayoutsController_updateLayout", "summary": "Update a layout", "description": "Update the name, content and variables of a layout. Also change it to be default or no.", "parameters": [{"name": "layoutId", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateLayoutRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateLayoutResponseDto"}}}}, "400": {"description": "The payload provided or the URL param are not right."}, "404": {"description": "The layout with the layoutId provided does not exist in the database so it can not be updated."}, "409": {"description": "One default layout is needed. If you are trying to turn a default layout as not default, you should turn a different layout as default first and automatically it will be done by the system.", "content": {"application/json": {"schema": {"example": "One default layout is required"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Layouts"], "security": [{"api-key": []}]}}, "/v1/layouts/{layoutId}/default": {"post": {"operationId": "LayoutsController_setDefaultLayout", "x-speakeasy-name-override": "setAsDefault", "summary": "Set default layout", "description": "Sets the default layout for the environment and updates to non default to the existing default layout (if any).", "parameters": [{"name": "layoutId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"204": {"description": "The selected layout has been set as the default for the environment."}, "404": {"description": "The layout with the layoutId provided does not exist in the database so it can not be set as the default for the environment."}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Layouts"], "security": [{"api-key": []}]}}, "/v1/messages": {"get": {"operationId": "MessagesController_getMessages", "summary": "Get messages", "description": "Returns a list of messages, could paginate using the `page` query parameter", "parameters": [{"name": "channel", "required": false, "in": "query", "schema": {"enum": ["in_app", "email", "sms", "chat", "push"], "type": "string"}}, {"name": "subscriberId", "required": false, "in": "query", "schema": {"type": "string"}}, {"name": "transactionId", "required": false, "in": "query", "schema": {"type": "array", "items": {"type": "string"}}}, {"name": "page", "required": false, "in": "query", "schema": {"default": 0, "type": "number"}}, {"name": "limit", "required": false, "in": "query", "schema": {"default": 10, "type": "number"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActivitiesResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Messages"], "security": [{"api-key": []}]}}, "/v1/messages/{messageId}": {"delete": {"operationId": "MessagesController_deleteMessage", "summary": "Delete message", "description": "Deletes a message entity from the Novu platform", "parameters": [{"name": "messageId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DeleteMessageResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Messages"], "security": [{"api-key": []}]}}, "/v1/messages/transaction/{transactionId}": {"delete": {"operationId": "MessagesController_deleteMessagesByTransactionId", "x-speakeasy-name-override": "deleteByTransactionId", "summary": "Delete messages by transactionId", "description": "Deletes messages entity from the Novu platform using TransactionId of message", "parameters": [{"name": "channel", "required": false, "in": "query", "description": "The channel of the message to be deleted", "schema": {"enum": ["in_app", "email", "sms", "chat", "push"], "type": "string"}}, {"name": "transactionId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"204": {"description": ""}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Messages"], "security": [{"api-key": []}]}}, "/v1/topics": {"post": {"operationId": "TopicsController_createTopic", "summary": "Topic creation", "description": "Create a topic", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateTopicRequestDto"}}}}, "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateTopicResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Topics"], "security": [{"api-key": []}]}, "get": {"operationId": "TopicsController_listTopics", "summary": "Filter topics", "description": "Returns a list of topics that can be paginated using the `page` query parameter and filtered by the topic key with the `key` query parameter", "parameters": [{"name": "page", "required": false, "in": "query", "description": "Number of page for the pagination", "schema": {"minimum": 0, "default": 0, "type": "number"}}, {"name": "pageSize", "required": false, "in": "query", "description": "Size of page for the pagination", "schema": {"minimum": 0, "default": 10, "type": "number"}}, {"name": "key", "required": false, "in": "query", "description": "Topic key", "schema": {"type": "string"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/FilterTopicsResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Topics"], "security": [{"api-key": []}]}}, "/v1/topics/{topicKey}/subscribers": {"post": {"operationId": "TopicsController_addSubscribers", "x-speakeasy-name-override": "assign", "x-speakeasy-group": "Topics.Subscribers", "summary": "Subscribers addition", "description": "Add subscribers to a topic by key", "parameters": [{"name": "topicKey", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddSubscribersRequestDto"}}}}, "responses": {"200": {"description": ""}, "204": {"description": ""}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Topics"], "security": [{"api-key": []}]}}, "/v1/topics/{topicKey}/subscribers/{externalSubscriberId}": {"get": {"operationId": "TopicsController_getTopicSubscriber", "x-speakeasy-group": "Topics.Subscribers", "summary": "Check topic subscriber", "description": "Check if a subscriber belongs to a certain topic", "parameters": [{"name": "topicKey", "required": true, "in": "path", "schema": {"type": "string"}}, {"name": "externalSubscriberId", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TopicSubscriberDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Topics"], "security": [{"api-key": []}]}}, "/v1/topics/{topicKey}/subscribers/removal": {"post": {"operationId": "TopicsController_removeSubscribers", "x-speakeasy-group": "Topics.Subscribers", "summary": "Subscribers removal", "description": "Remove subscribers from a topic", "parameters": [{"name": "topicKey", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RemoveSubscribersRequestDto"}}}}, "responses": {"204": {"description": ""}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Topics"], "security": [{"api-key": []}]}}, "/v1/topics/{topicKey}": {"delete": {"operationId": "TopicsController_deleteTopic", "summary": "Delete topic", "description": "Delete a topic by its topic key if it has no subscribers", "parameters": [{"name": "topicKey", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"204": {"description": "The topic has been deleted correctly"}, "404": {"description": "The topic with the key provided does not exist in the database so it can not be deleted."}, "409": {"description": "The topic you are trying to delete has subscribers assigned to it. Delete the subscribers before deleting the topic.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Topics"], "security": [{"api-key": []}]}, "get": {"operationId": "TopicsController_getTopic", "summary": "Get topic", "description": "Get a topic by its topic key", "parameters": [{"name": "topicKey", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetTopicResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Topics"], "security": [{"api-key": []}]}, "patch": {"operationId": "TopicsController_renameTopic", "x-speakeasy-name-override": "rename", "summary": "Rename a topic", "description": "Rename a topic by providing a new name", "parameters": [{"name": "topicKey", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RenameTopicRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RenameTopicResponseDto"}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Topics"], "security": [{"api-key": []}]}}, "/v1/tenants": {"get": {"operationId": "TenantController_listTenants", "x-speakeasy-pagination": {"type": "offsetLimit", "inputs": [{"name": "page", "in": "parameters", "type": "page"}, {"name": "limit", "in": "parameters", "type": "limit"}], "outputs": {"results": "$.data.resultArray"}}, "summary": "Get tenants", "description": "Returns a list of tenants, could paginated using the `page` and `limit` query parameter", "parameters": [{"name": "page", "required": false, "in": "query", "schema": {"type": "number"}}, {"name": "limit", "required": false, "in": "query", "schema": {"maximum": 100, "default": 10, "type": "number"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/PaginatedResponseDto"}, {"properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/GetTenantResponseDto"}}}}]}}}}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Tenants"], "security": [{"api-key": []}]}, "post": {"operationId": "TenantController_createTenant", "summary": "Create tenant", "description": "Create tenant under the current environment", "parameters": [], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateTenantRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateTenantResponseDto"}}}}, "201": {"description": "", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateTenantResponseDto"}}}}, "409": {"description": "A tenant with the same identifier is already exist.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Tenants"], "security": [{"api-key": []}]}}, "/v1/tenants/{identifier}": {"get": {"operationId": "TenantController_getTenantById", "summary": "Get tenant", "description": "Get tenant by your internal id used to identify the tenant", "parameters": [{"name": "identifier", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetTenantResponseDto"}}}}, "404": {"description": "The tenant with the identifier provided does not exist in the database."}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Tenants"], "security": [{"api-key": []}]}, "patch": {"operationId": "TenantController_updateTenant", "summary": "Update tenant", "description": "Update tenant by your internal id used to identify the tenant", "parameters": [{"name": "identifier", "required": true, "in": "path", "schema": {"type": "string"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateTenantRequestDto"}}}}, "responses": {"200": {"description": "Ok", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateTenantResponseDto"}}}}, "404": {"description": "The tenant with the identifier provided does not exist in the database."}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Tenants"], "security": [{"api-key": []}]}, "delete": {"operationId": "TenantController_removeTenant", "summary": "Delete tenant", "description": "Deletes a tenant entity from the Novu platform", "parameters": [{"name": "identifier", "required": true, "in": "path", "schema": {"type": "string"}}], "responses": {"204": {"description": "The tenant has been deleted correctly"}, "404": {"description": "The tenant with the identifier provided does not exist in the database so it can not be deleted."}, "409": {"description": "The request could not be completed due to a conflict with the current state of the target resource.", "content": {"application/json": {"schema": {"type": "string", "example": "Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second"}}}}, "429": {"description": "The client has sent too many requests in a given amount of time. ", "content": {"application/json": {"schema": {"type": "string", "example": "API rate limit exceeded"}}}}, "503": {"description": "The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.", "content": {"application/json": {"schema": {"type": "string", "example": "Please wait some time, then try again."}}}}}, "tags": ["Tenants"], "security": [{"api-key": []}]}}, "/v1/auth/google": {}, "/v1/auth/google/callback": {}, "/v1/echo/status": {}, "/v1/echo/preview/{workflowId}/{stepId}": {}, "/v1/echo/sync": {}, "/v1/echo/diff": {}, "/v1/echo/inputs/{workflowId}/{stepId}": {}, "/v1/translations/groups/{identifier}/locales/{locale}": {}, "/v1/translations/groups/{identifier}": {}, "/v1/translations/language": {}, "/v1/translations/groups": {}, "/v1/translations/locales": {}, "/v1/translations/groups/preview/locales": {}}, "info": {"title": "Novu API", "description": "Novu REST API. Please see https://docs.novu.co/api-reference for more details.", "version": "1.0", "contact": {"name": "Novu Support", "url": "https://discord.gg/novu", "email": "support@novu.co"}, "termsOfService": "https://novu.co/terms", "license": {"name": "MIT", "url": "https://opensource.org/license/mit"}}, "tags": [{"name": "Events", "description": "Events represent a change in state of a subscriber. They are used to trigger workflows, and enable you to send notifications to subscribers based on their actions.", "externalDocs": {"url": "https://docs.novu.co/workflows"}}, {"name": "Subscribers", "description": "A subscriber in Novu represents someone who should receive a message. A subscriber’s profile information contains important attributes about the subscriber that will be used in messages (name, email). The subscriber object can contain other key-value pairs that can be used to further personalize your messages.", "externalDocs": {"url": "https://docs.novu.co/subscribers/subscribers"}}, {"name": "Topics", "description": "Topics are a way to group subscribers together so that they can be notified of events at once. A topic is identified by a custom key. This can be helpful for things like sending out marketing emails or notifying users of new features. Topics can also be used to send notifications to the subscribers who have been grouped together based on their interests, location, activities and much more.", "externalDocs": {"url": "https://docs.novu.co/subscribers/topics"}}, {"name": "Notification", "description": "A notification conveys information from source to recipient, triggered by a workflow acting as a message blueprint. Notifications can be individual or bundled as digest for user-friendliness.", "externalDocs": {"url": "https://docs.novu.co/getting-started/introduction"}}, {"name": "Integrations", "description": "With the help of the Integration Store, you can easily integrate your favorite delivery provider. During the runtime of the API, the Integrations Store is responsible for storing the configurations of all the providers.", "externalDocs": {"url": "https://docs.novu.co/channels-and-providers/integration-store"}}, {"name": "Layouts", "description": "Novu allows the creation of layouts - a specific HTML design or structure to wrap content of email notifications. Layouts can be manipulated and assigned to new or existing workflows within the Novu platform, allowing users to create, manage, and assign these layouts to workflows, so they can be reused to structure the appearance of notifications sent through the platform.", "externalDocs": {"url": "https://docs.novu.co/content-creation-design/layouts"}}, {"name": "Workflows", "description": "All notifications are sent via a workflow. Each workflow acts as a container for the logic and blueprint that are associated with a type of notification in your system.", "externalDocs": {"url": "https://docs.novu.co/workflows"}}, {"name": "Notification Templates", "description": "Deprecated. Use Workflows (/workflows) instead, which provide the same functionality under a new name."}, {"name": "Workflow groups", "description": "Workflow groups are used to organize workflows into logical groups."}, {"name": "Changes", "description": "Changes represent a change in state of an environment. They are analagous to a pending pull request in git, enabling you to test changes before they are applied to your environment and atomically apply them when you are ready.", "externalDocs": {"url": "https://docs.novu.co/platform/environments#promoting-pending-changes-to-production"}}, {"name": "Environments", "description": "Novu uses the concept of environments to ensure logical separation of your data and configuration. This means that subscribers, and preferences created in one environment are never accessible to another.", "externalDocs": {"url": "https://docs.novu.co/platform/environments"}}, {"name": "Inbound Parse", "description": "Inbound Webhook is a feature that allows processing of incoming emails for a domain or subdomain. The feature parses the contents of the email and POSTs the information to a specified URL in a multipart/form-data format.", "externalDocs": {"url": "https://docs.novu.co/platform/inbound-parse-webhook"}}, {"name": "Feeds", "description": "Novu provides a notification activity feed that monitors every outgoing message associated with its relevant metadata. This can be used to monitor activity and discover potential issues with a specific provider or a channel type.", "externalDocs": {"url": "https://docs.novu.co/activity-feed"}}, {"name": "Tenants", "description": "A tenant represents a group of users. As a developer, when your apps have organizations, they are referred to as tenants. Tenants in Novu provides the ability to tailor specific notification experiences to users of different groups or organizations.", "externalDocs": {"url": "https://docs.novu.co/tenants"}}, {"name": "Messages", "description": "A message in Novu represents a notification delivered to a recipient on a particular channel. Messages contain information about the request that triggered its delivery, a view of the data sent to the recipient, and a timeline of its lifecycle events. Learn more about messages.", "externalDocs": {"url": "https://docs.novu.co/workflows/messages"}}, {"name": "Organizations", "description": "An organization serves as a separate entity within your Novu account. Each organization you create has its own separate integration store, workflows, subscribers, and API keys. This separation of resources allows you to manage multi-tenant environments and separate domains within a single account.", "externalDocs": {"url": "https://docs.novu.co/platform/organizations"}}, {"name": "Execution Details", "description": "Execution details are used to track the execution of a workflow. They provided detailed information on the execution of a workflow, including the status of each step, the input and output of each step, and the overall status of the execution.", "externalDocs": {"url": "https://docs.novu.co/activity-feed"}}, {"name": "Translations", "description": "Translations are used to localize your messages for different languages and regions. Novu provides a way to create and manage translations for your messages. You can create translations for your messages in different languages and regions, and assign them to your subscribers based on their preferences.", "externalDocs": {"url": "https://docs.novu.co/content-creation-design/translations"}}], "servers": [{"url": "https://api.novu.co"}, {"url": "https://eu.api.novu.co"}], "components": {"securitySchemes": {"api-key": {"type": "apiKey", "in": "header", "name": "Authorization", "description": "API key authentication. Allowed headers-- \"Authorization: ApiKey \"."}}, "schemas": {"DataWrapperDto": {"type": "object", "properties": {"data": {"type": "object"}}, "required": ["data"]}, "OrganizationBrandingResponseDto": {"type": "object", "properties": {"direction": {"enum": ["ltr", "trl"], "type": "string"}, "logo": {"type": "string"}, "color": {"type": "string"}, "fontColor": {"type": "string"}, "contentBackground": {"type": "string"}, "fontFamily": {"type": "string"}}, "required": ["logo", "color", "fontColor", "contentBackground"]}, "IPartnerConfigurationResponseDto": {"type": "object", "properties": {"projectIds": {"type": "array", "items": {"type": "string"}}, "accessToken": {"type": "string"}, "configurationId": {"type": "string"}, "teamId": {"type": "string"}, "partnerType": {"type": "string", "enum": ["vercel"], "description": "Partner Type Enum"}}, "required": ["accessToken", "configurationId", "partnerType"]}, "OrganizationResponseDto": {"type": "object", "properties": {"name": {"type": "string"}, "logo": {"type": "string"}, "branding": {"$ref": "#/components/schemas/OrganizationBrandingResponseDto"}, "partnerConfigurations": {"type": "array", "items": {"$ref": "#/components/schemas/IPartnerConfigurationResponseDto"}}}, "required": ["name", "branding"]}, "CreateOrganizationDto": {"type": "object", "properties": {"name": {"type": "string"}, "logo": {"type": "string"}, "jobTitle": {"enum": ["engineer", "engineering_manager", "architect", "product_manager", "designer", "cxo_founder", "marketing_manager", "other"], "type": "string"}, "domain": {"type": "string"}, "productUseCases": {"type": "object"}}, "required": ["name"]}, "MemberUserDto": {"type": "object", "properties": {"_id": {"type": "string"}, "firstName": {"type": "string"}, "lastName": {"type": "string"}, "email": {"type": "string"}}, "required": ["_id", "firstName", "lastName", "email"]}, "MemberInviteDTO": {"type": "object", "properties": {"email": {"type": "string"}, "token": {"type": "string"}, "invitationDate": {"format": "date-time", "type": "string"}, "answerDate": {"format": "date-time", "type": "string"}, "_inviterId": {"type": "string"}}, "required": ["email", "token", "invitationDate", "_inviterId"]}, "MemberResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_userId": {"type": "string"}, "user": {"$ref": "#/components/schemas/MemberUserDto"}, "roles": {"enum": ["admin", "member"], "type": "string"}, "invite": {"$ref": "#/components/schemas/MemberInviteDTO"}, "memberStatus": {"enum": ["new", "active", "invited"], "type": "string"}, "_organizationId": {"type": "string"}}, "required": ["_id", "_userId", "_organizationId"]}, "UpdateBrandingDetailsDto": {"type": "object", "properties": {"logo": {"type": "string"}, "color": {"type": "string"}, "fontColor": {"type": "string"}, "contentBackground": {"type": "string"}, "fontFamily": {"type": "string"}}, "required": ["logo", "color", "fontColor", "contentBackground"]}, "RenameOrganizationDto": {"type": "object", "properties": {"name": {"type": "string"}}, "required": ["name"]}, "EnvironmentResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "name": {"type": "string"}, "_organizationId": {"type": "string"}, "identifier": {"type": "string"}, "apiKeys": {"type": "array", "items": {"type": "object"}}, "_parentId": {"type": "string"}}, "required": ["name", "_organizationId", "identifier", "_parentId"]}, "ApiKey": {"type": "object", "properties": {"key": {"type": "string"}, "_userId": {"type": "string"}}, "required": ["key", "_userId"]}, "ExecutionDetailsResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_organizationId": {"type": "string"}, "_jobId": {"type": "string"}, "_environmentId": {"type": "string"}, "_notificationId": {"type": "string"}, "_notificationTemplateId": {"type": "string"}, "_subscriberId": {"type": "string"}, "_messageId": {"type": "string"}, "providerId": {"type": "string"}, "transactionId": {"type": "string"}, "channel": {"type": "string", "enum": ["in_app", "email", "sms", "chat", "push", "digest", "trigger", "delay", "custom"]}, "detail": {"type": "string"}, "source": {"type": "string", "enum": ["Credentials", "Internal", "Payload", "Webhook"]}, "status": {"type": "string", "enum": ["Success", "Warning", "Failed", "Pending", "Queued", "ReadConfirmation"]}, "isTest": {"type": "boolean"}, "isRetry": {"type": "boolean"}, "createdAt": {"type": "string"}}, "required": ["_organizationId", "_jobId", "_environmentId", "_notificationId", "_notificationTemplateId", "_subscriberId", "transactionId", "channel", "detail", "source", "status", "isTest", "isRetry"]}, "NotificationGroup": {"type": "object", "properties": {"_id": {"type": "string"}, "name": {"type": "string"}, "_environmentId": {"type": "string"}, "_organizationId": {"type": "string"}, "_parentId": {"type": "string"}}, "required": ["name", "_environmentId", "_organizationId"]}, "PreferenceChannels": {"type": "object", "properties": {"email": {"type": "boolean"}, "sms": {"type": "boolean"}, "in_app": {"type": "boolean"}, "chat": {"type": "boolean"}, "push": {"type": "boolean"}}}, "DigestRegularMetadata": {"type": "object", "properties": {"amount": {"type": "number"}, "unit": {"type": "string", "enum": ["seconds", "minutes", "hours", "days", "weeks", "months"]}, "digestKey": {"type": "string"}, "type": {"type": "string", "enum": ["regular", "backoff"]}, "backoff": {"type": "boolean"}, "backoffAmount": {"type": "number"}, "backoffUnit": {"type": "string", "enum": ["seconds", "minutes", "hours", "days", "weeks", "months"]}, "updateMode": {"type": "boolean"}}, "required": ["type"]}, "TimedConfig": {"type": "object", "properties": {"atTime": {"type": "string"}, "weekDays": {"type": "array", "items": {"type": "string", "enum": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]}}, "monthDays": {"type": "array", "items": {"type": "string"}}, "ordinal": {"type": "string", "enum": ["1", "2", "3", "4", "5", "last"]}, "ordinalValue": {"type": "string", "enum": ["day", "weekday", "weekend", "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]}, "monthlyType": {"type": "string", "enum": ["each", "on"]}}}, "DigestTimedMetadata": {"type": "object", "properties": {"amount": {"type": "number"}, "unit": {"type": "string", "enum": ["seconds", "minutes", "hours", "days", "weeks", "months"]}, "digestKey": {"type": "string"}, "type": {"type": "string", "enum": ["timed"]}, "timed": {"$ref": "#/components/schemas/TimedConfig"}}, "required": ["type"]}, "DelayRegularMetadata": {"type": "object", "properties": {"amount": {"type": "number"}, "unit": {"type": "string", "enum": ["seconds", "minutes", "hours", "days", "weeks", "months"]}, "type": {"type": "string", "enum": ["regular"]}}, "required": ["type"]}, "DelayScheduledMetadata": {"type": "object", "properties": {"type": {"type": "string", "enum": ["scheduled"]}, "delayPath": {"type": "string"}}, "required": ["type", "delayPath"]}, "MessageTemplate": {"type": "object", "properties": {}}, "FieldFilterPart": {"type": "object", "properties": {"field": {"type": "string"}, "value": {"type": "string"}, "operator": {"type": "string", "enum": ["LARGER", "SMALLER", "LARGER_EQUAL", "SMALLER_EQUAL", "EQUAL", "NOT_EQUAL", "ALL_IN", "ANY_IN", "NOT_IN", "BETWEEN", "NOT_BETWEEN", "LIKE", "NOT_LIKE", "IN"]}, "on": {"type": "string", "enum": ["subscriber", "payload"]}}, "required": ["field", "value", "operator", "on"]}, "StepFilter": {"type": "object", "properties": {"isNegated": {"type": "boolean"}, "type": {"type": "string", "enum": ["BOOLEAN", "TEXT", "DATE", "NUMBER", "STATEMENT", "LIST", "MULTI_LIST", "GROUP"]}, "value": {"type": "string", "enum": ["AND", "OR"]}, "children": {"type": "array", "items": {"$ref": "#/components/schemas/FieldFilterPart"}}}, "required": ["isNegated", "type", "value", "children"]}, "NotificationStepVariant": {"type": "object", "properties": {"_id": {"type": "string"}, "uuid": {"type": "string"}, "name": {"type": "string"}, "_templateId": {"type": "string"}, "active": {"type": "boolean"}, "shouldStopOnFail": {"type": "boolean"}, "template": {"$ref": "#/components/schemas/MessageTemplate"}, "filters": {"type": "array", "items": {"$ref": "#/components/schemas/StepFilter"}}, "_parentId": {"type": "object"}, "metadata": {"oneOf": [{"$ref": "#/components/schemas/DigestRegularMetadata"}, {"$ref": "#/components/schemas/DigestTimedMetadata"}, {"$ref": "#/components/schemas/DelayRegularMetadata"}, {"$ref": "#/components/schemas/DelayScheduledMetadata"}]}, "replyCallback": {"type": "object"}}}, "NotificationStep": {"type": "object", "properties": {"_id": {"type": "string"}, "uuid": {"type": "string"}, "name": {"type": "string"}, "_templateId": {"type": "string"}, "active": {"type": "boolean"}, "shouldStopOnFail": {"type": "boolean"}, "template": {"$ref": "#/components/schemas/MessageTemplate"}, "filters": {"type": "array", "items": {"$ref": "#/components/schemas/StepFilter"}}, "_parentId": {"type": "object"}, "metadata": {"oneOf": [{"$ref": "#/components/schemas/DigestRegularMetadata"}, {"$ref": "#/components/schemas/DigestTimedMetadata"}, {"$ref": "#/components/schemas/DelayRegularMetadata"}, {"$ref": "#/components/schemas/DelayScheduledMetadata"}]}, "replyCallback": {"type": "object"}, "variants": {"$ref": "#/components/schemas/NotificationStepVariant"}}}, "NotificationTriggerVariable": {"type": "object", "properties": {"name": {"type": "string"}}, "required": ["name"]}, "NotificationTrigger": {"type": "object", "properties": {"type": {"type": "string", "enum": ["event"]}, "identifier": {"type": "string"}, "variables": {"type": "array", "items": {"$ref": "#/components/schemas/NotificationTriggerVariable"}}, "subscriberVariables": {"type": "array", "items": {"$ref": "#/components/schemas/NotificationTriggerVariable"}}}, "required": ["type", "identifier", "variables"]}, "WorkflowResponse": {"type": "object", "properties": {"_id": {"type": "string"}, "name": {"type": "string"}, "description": {"type": "string"}, "active": {"type": "boolean"}, "draft": {"type": "boolean"}, "preferenceSettings": {"$ref": "#/components/schemas/PreferenceChannels"}, "critical": {"type": "boolean"}, "tags": {"type": "array", "items": {"type": "string"}}, "steps": {"type": "array", "items": {"$ref": "#/components/schemas/NotificationStep"}}, "_organizationId": {"type": "string"}, "_creatorId": {"type": "string"}, "_environmentId": {"type": "string"}, "triggers": {"type": "array", "items": {"$ref": "#/components/schemas/NotificationTrigger"}}, "_notificationGroupId": {"type": "string"}, "_parentId": {"type": "string"}, "deleted": {"type": "boolean"}, "deletedAt": {"type": "string"}, "deletedBy": {"type": "string"}, "notificationGroup": {"$ref": "#/components/schemas/NotificationGroup"}, "data": {"type": "object"}, "workflowIntegrationStatus": {"type": "object"}}, "required": ["name", "description", "active", "draft", "preferenceSettings", "critical", "tags", "steps", "_organizationId", "_creatorId", "_environmentId", "triggers", "_notificationGroupId", "deleted", "deletedAt", "deletedBy"]}, "WorkflowsResponseDto": {"type": "object", "properties": {"totalCount": {"type": "number"}, "data": {"type": "array", "items": {"$ref": "#/components/schemas/WorkflowResponse"}}, "pageSize": {"type": "number"}, "page": {"type": "number"}}, "required": ["totalCount", "data", "pageSize", "page"]}, "UpdateWorkflowRequestDto": {"type": "object", "properties": {"name": {"type": "string"}, "tags": {"type": "array", "items": {"type": "string"}}, "description": {"type": "string", "maxLength": 300}, "identifier": {"type": "string"}, "steps": {"type": "array", "items": {"$ref": "#/components/schemas/NotificationStep"}}, "notificationGroupId": {"type": "string"}, "critical": {"type": "boolean"}, "preferenceSettings": {"$ref": "#/components/schemas/PreferenceChannels"}, "data": {"type": "object"}}, "required": ["name", "notificationGroupId"]}, "DataBooleanDto": {"type": "object", "properties": {"data": {"type": "boolean"}}, "required": ["data"]}, "VariablesResponseDto": {"type": "object", "properties": {"translations": {"type": "object"}, "system": {"type": "object"}}, "required": ["translations", "system"]}, "CreateWorkflowRequestDto": {"type": "object", "properties": {"name": {"type": "string"}, "notificationGroupId": {"type": "string"}, "notificationGroup": {"type": "object"}, "tags": {"type": "array", "items": {"type": "string"}}, "description": {"type": "string", "maxLength": 1000}, "steps": {"type": "array", "items": {"$ref": "#/components/schemas/NotificationStep"}}, "active": {"type": "boolean"}, "draft": {"type": "boolean", "deprecated": true}, "critical": {"type": "boolean"}, "preferenceSettings": {"$ref": "#/components/schemas/PreferenceChannels"}, "blueprintId": {"type": "string"}, "data": {"type": "object"}}, "required": ["name", "notificationGroupId", "steps"]}, "ChangeWorkflowStatusRequestDto": {"type": "object", "properties": {"active": {"type": "boolean"}}, "required": ["active"]}, "TriggerEventResponseDto": {"type": "object", "properties": {"acknowledged": {"type": "boolean", "description": "If trigger was acknowledged or not"}, "status": {"enum": ["error", "trigger_not_active", "no_workflow_active_steps_defined", "no_workflow_steps_defined", "processed", "subscriber_id_missing", "no_tenant_found"], "type": "string", "description": "Status for trigger"}, "error": {"description": "In case of an error, this field will contain the error message", "type": "array", "items": {"type": "string"}}, "transactionId": {"type": "string", "description": "Transaction id for trigger"}}, "required": ["acknowledged", "status"]}, "TopicPayloadDto": {"type": "object", "properties": {"topicKey": {"type": "string", "example": "topic_key"}, "type": {"enum": ["Subscriber", "Topic"], "type": "string", "example": "Topic"}}, "required": ["topicKey", "type"]}, "TenantPayloadDto": {"type": "object", "properties": {"identifier": {"type": "string"}, "name": {"type": "string"}, "data": {"type": "object"}}}, "ChannelCredentialsDto": {"type": "object", "properties": {"webhookUrl": {"type": "string"}, "deviceTokens": {"type": "array", "items": {"type": "string"}}}}, "SubscriberChannelDto": {"type": "object", "properties": {"integrationIdentifier": {"type": "string"}, "providerId": {"type": "object"}, "credentials": {"$ref": "#/components/schemas/ChannelCredentialsDto"}}, "required": ["providerId", "credentials"]}, "SubscriberPayloadDto": {"type": "object", "properties": {"subscriberId": {"type": "string", "description": "The internal identifier you used to create this subscriber, usually correlates to the id the user in your systems"}, "email": {"type": "string"}, "firstName": {"type": "string"}, "lastName": {"type": "string"}, "phone": {"type": "string"}, "avatar": {"type": "string", "description": "An http url to the profile image of your subscriber"}, "locale": {"type": "string"}, "data": {"type": "object"}, "channels": {"type": "array", "items": {"$ref": "#/components/schemas/SubscriberChannelDto"}}}, "required": ["subscriberId"]}, "TriggerEventRequestDto": {"type": "object", "properties": {"name": {"type": "string", "description": "The trigger identifier of the workflow you wish to send. This identifier can be found on the workflow page.", "example": "workflow_identifier"}, "payload": {"type": "object", "description": "The payload object is used to pass additional custom information that could be used to render the workflow, or perform routing rules based on it. \n This data will also be available when fetching the notifications feed from the API to display certain parts of the UI.", "example": {"comment_id": "string", "post": {"text": "string"}}}, "overrides": {"type": "object", "description": "This could be used to override provider specific configurations", "example": {"fcm": {"data": {"key": "value"}}}}, "to": {"type": "array", "description": "The recipients list of people who will receive the notification.", "items": {"oneOf": [{"$ref": "#/components/schemas/SubscriberPayloadDto"}, {"type": "string", "description": "Unique identifier of a subscriber in your systems", "example": "SUBSCRIBER_ID"}, {"$ref": "#/components/schemas/TopicPayloadDto"}]}}, "transactionId": {"type": "string", "description": "A unique identifier for this transaction, we will generated a UUID if not provided."}, "actor": {"description": "It is used to display the Avatar of the provided actor's subscriber id or actor object.\n If a new actor object is provided, we will create a new subscriber in our system\n ", "oneOf": [{"type": "string", "description": "Unique identifier of a subscriber in your systems"}, {"$ref": "#/components/schemas/SubscriberPayloadDto"}]}, "tenant": {"description": "It is used to specify a tenant context during trigger event.\n Existing tenants will be updated with the provided details.\n ", "oneOf": [{"type": "string", "description": "Unique identifier of a tenant in your system"}, {"$ref": "#/components/schemas/TenantPayloadDto"}]}}, "required": ["name", "to"]}, "BulkTriggerEventDto": {"type": "object", "properties": {"events": {"type": "array", "items": {"$ref": "#/components/schemas/TriggerEventRequestDto"}}}, "required": ["events"]}, "TriggerEventToAllRequestDto": {"type": "object", "properties": {"name": {"type": "string", "description": "The trigger identifier associated for the template you wish to send. This identifier can be found on the template page."}, "payload": {"type": "object", "description": "The payload object is used to pass additional custom information that could be used to render the template, or perform routing rules based on it. \n This data will also be available when fetching the notifications feed from the API to display certain parts of the UI.", "example": {"comment_id": "string", "post": {"text": "string"}}}, "overrides": {"type": "object", "description": "This could be used to override provider specific configurations", "example": {"fcm": {"data": {"key": "value"}}}}, "transactionId": {"type": "string", "description": "A unique identifier for this transaction, we will generated a UUID if not provided."}, "actor": {"description": "It is used to display the Avatar of the provided actor's subscriber id or actor object.\n If a new actor object is provided, we will create a new subscriber in our system\n ", "oneOf": [{"type": "string", "description": "Unique identifier of a subscriber in your systems"}, {"$ref": "#/components/schemas/SubscriberPayloadDto"}]}, "tenant": {"description": "It is used to specify a tenant context during trigger event.\n If a new tenant object is provided, we will create a new tenant.\n ", "oneOf": [{"type": "string", "description": "Unique identifier of a tenant in your system"}, {"$ref": "#/components/schemas/TenantPayloadDto"}]}}, "required": ["name", "payload"]}, "ActivityNotificationSubscriberResponseDto": {"type": "object", "properties": {"firstName": {"type": "string"}, "_id": {"type": "string"}, "lastName": {"type": "string"}, "email": {"type": "string"}, "phone": {"type": "string"}}, "required": ["_id"]}, "ActivityNotificationTemplateResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "name": {"type": "string"}, "triggers": {"type": "array", "items": {"$ref": "#/components/schemas/NotificationTrigger"}}}, "required": ["name", "triggers"]}, "ActivityNotificationExecutionDetailResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_jobId": {"type": "string"}, "status": {"enum": ["Success", "Warning", "Failed", "Pending", "Queued", "ReadConfirmation"], "type": "string"}, "detail": {"type": "string"}, "isRetry": {"type": "boolean"}, "isTest": {"type": "boolean"}, "providerId": {"type": "object"}, "raw": {"type": "string"}, "source": {"enum": ["Credentials", "Internal", "Payload", "Webhook"], "type": "string"}}, "required": ["_id", "_jobId", "status", "detail", "isRetry", "isTest", "providerId", "source"]}, "MessageTemplateDto": {"type": "object", "properties": {}}, "ActivityNotificationStepResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "active": {"type": "boolean"}, "filters": {"$ref": "#/components/schemas/StepFilter"}, "template": {"$ref": "#/components/schemas/MessageTemplateDto"}}, "required": ["_id", "active", "filters"]}, "ActivityNotificationJobResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "type": {"type": "string"}, "digest": {"type": "object"}, "executionDetails": {"type": "array", "items": {"$ref": "#/components/schemas/ActivityNotificationExecutionDetailResponseDto"}}, "step": {"$ref": "#/components/schemas/ActivityNotificationStepResponseDto"}, "payload": {"type": "object"}, "providerId": {"type": "object"}, "status": {"type": "string"}}, "required": ["_id", "type", "executionDetails", "step", "providerId", "status"]}, "ActivityNotificationResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_environmentId": {"type": "string"}, "_organizationId": {"type": "string"}, "transactionId": {"type": "string"}, "createdAt": {"type": "string"}, "channels": {"type": "string", "items": {"type": "string", "enum": ["in_app", "email", "sms", "chat", "push", "digest", "trigger", "delay", "custom"]}, "enum": ["in_app", "email", "sms", "chat", "push", "digest", "trigger", "delay", "custom"]}, "subscriber": {"$ref": "#/components/schemas/ActivityNotificationSubscriberResponseDto"}, "template": {"$ref": "#/components/schemas/ActivityNotificationTemplateResponseDto"}, "jobs": {"type": "array", "items": {"$ref": "#/components/schemas/ActivityNotificationJobResponseDto"}}}, "required": ["_environmentId", "_organizationId", "transactionId"]}, "ActivitiesResponseDto": {"type": "object", "properties": {"hasMore": {"type": "boolean"}, "data": {"type": "array", "items": {"$ref": "#/components/schemas/ActivityNotificationResponseDto"}}, "pageSize": {"type": "number"}, "page": {"type": "number"}}, "required": ["hasMore", "data", "pageSize", "page"]}, "ActivityStatsResponseDto": {"type": "object", "properties": {"weeklySent": {"type": "number"}, "monthlySent": {"type": "number"}}, "required": ["weeklySent", "monthlySent"]}, "ActivityGraphStatesResponse": {"type": "object", "properties": {"_id": {"type": "string"}, "count": {"type": "number"}, "templates": {"type": "array", "items": {"type": "string"}}, "channels": {"type": "array", "items": {"type": "string", "enum": ["in_app", "email", "sms", "chat", "push"]}}}, "required": ["_id", "count", "templates", "channels"]}, "NotificationGroupResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "name": {"type": "string"}, "_environmentId": {"type": "string"}, "_organizationId": {"type": "string"}, "_parentId": {"type": "string"}}, "required": ["name", "_environmentId", "_organizationId"]}, "CreateNotificationGroupRequestDto": {"type": "object", "properties": {"name": {"type": "string"}}, "required": ["name"]}, "DeleteNotificationGroupResponseDto": {"type": "object", "properties": {"acknowledged": {"type": "boolean", "description": "A boolean stating the success of the action"}, "status": {"type": "string", "description": "The status enum for the performed action", "enum": ["deleted"]}}, "required": ["acknowledged", "status"]}, "CredentialsDto": {"type": "object", "properties": {"apiKey": {"type": "string"}, "user": {"type": "string"}, "secretKey": {"type": "string"}, "domain": {"type": "string"}, "password": {"type": "string"}, "host": {"type": "string"}, "port": {"type": "string"}, "secure": {"type": "boolean"}, "region": {"type": "string"}, "accountSid": {"type": "string"}, "messageProfileId": {"type": "string"}, "token": {"type": "string"}, "from": {"type": "string"}, "senderName": {"type": "string"}, "projectName": {"type": "string"}, "applicationId": {"type": "string"}, "clientId": {"type": "string"}, "requireTls": {"type": "boolean"}, "ignoreTls": {"type": "boolean"}, "tlsOptions": {"type": "object"}, "baseUrl": {"type": "string"}, "webhookUrl": {"type": "string"}, "redirectUrl": {"type": "string"}, "hmac": {"type": "boolean"}, "serviceAccount": {"type": "string"}, "ipPoolName": {"type": "string"}, "apiKeyRequestHeader": {"type": "string"}, "secretKeyRequestHeader": {"type": "string"}, "idPath": {"type": "string"}, "datePath": {"type": "string"}, "apiToken": {"type": "string"}, "authenticateByToken": {"type": "boolean"}, "authenticationTokenKey": {"type": "string"}, "instanceId": {"type": "string"}, "alertUid": {"type": "string"}, "title": {"type": "string"}, "imageUrl": {"type": "string"}, "state": {"type": "string"}, "externalLink": {"type": "string"}, "channelId": {"type": "string"}, "phoneNumberIdentification": {"type": "string"}}}, "IntegrationResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_environmentId": {"type": "string"}, "_organizationId": {"type": "string"}, "name": {"type": "string"}, "identifier": {"type": "string"}, "providerId": {"type": "string"}, "channel": {"enum": ["in_app", "email", "sms", "chat", "push"], "type": "string"}, "credentials": {"$ref": "#/components/schemas/CredentialsDto"}, "active": {"type": "boolean"}, "deleted": {"type": "boolean"}, "deletedAt": {"type": "string"}, "deletedBy": {"type": "string"}, "primary": {"type": "boolean"}, "conditions": {"type": "array", "items": {"$ref": "#/components/schemas/StepFilter"}}}, "required": ["_environmentId", "_organizationId", "name", "identifier", "providerId", "channel", "credentials", "active", "deleted", "deletedAt", "deletedBy", "primary"]}, "CreateIntegrationRequestDto": {"type": "object", "properties": {"name": {"type": "string"}, "identifier": {"type": "string"}, "_environmentId": {"type": "string"}, "providerId": {"type": "string"}, "channel": {"enum": ["in_app", "email", "sms", "chat", "push"], "type": "string"}, "credentials": {"$ref": "#/components/schemas/CredentialsDto"}, "active": {"type": "boolean", "description": "If the integration is active the validation on the credentials field will run"}, "check": {"type": "boolean"}, "conditions": {"type": "array", "items": {"$ref": "#/components/schemas/StepFilter"}}}, "required": ["providerId", "channel"]}, "UpdateIntegrationRequestDto": {"type": "object", "properties": {"name": {"type": "string"}, "identifier": {"type": "string"}, "_environmentId": {"type": "string"}, "active": {"type": "boolean", "description": "If the integration is active the validation on the credentials field will run"}, "credentials": {"$ref": "#/components/schemas/CredentialsDto"}, "check": {"type": "boolean"}, "conditions": {"type": "array", "items": {"$ref": "#/components/schemas/StepFilter"}}}}, "ChangeResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_creatorId": {"type": "string"}, "_environmentId": {"type": "string"}, "_organizationId": {"type": "string"}, "_entityId": {"type": "string"}, "enabled": {"type": "boolean"}, "type": {"enum": ["Feed", "MessageTemplate", "Layout", "DefaultLayout", "NotificationTemplate", "NotificationGroup", "TranslationGroup", "Translation"], "type": "string"}, "change": {"type": "object"}, "createdAt": {"type": "string"}, "_parentId": {"type": "string"}}, "required": ["_creatorId", "_environmentId", "_organizationId", "_entityId", "enabled", "type", "change", "createdAt"]}, "ChangesResponseDto": {"type": "object", "properties": {"totalCount": {"type": "number"}, "data": {"type": "array", "items": {"$ref": "#/components/schemas/ChangeResponseDto"}}, "pageSize": {"type": "number"}, "page": {"type": "number"}}, "required": ["totalCount", "data", "pageSize", "page"]}, "DataNumberDto": {"type": "object", "properties": {"data": {"type": "number"}}, "required": ["data"]}, "BulkApplyChangeDto": {"type": "object", "properties": {"changeIds": {"type": "array", "items": {"type": "string"}}}, "required": ["changeIds"]}, "PaginatedResponseDto": {"type": "object", "properties": {"page": {"type": "number", "description": "The current page of the paginated response"}, "hasMore": {"type": "boolean", "description": "Does the list have more items to fetch"}, "pageSize": {"type": "number", "description": "Number of items on each page"}, "data": {"description": "The list of items matching the query", "type": "array", "items": {"type": "object"}}}, "required": ["page", "hasMore", "pageSize", "data"]}, "ChannelCredentials": {"type": "object", "properties": {"webhookUrl": {"type": "string", "description": "Webhook url used by chat app integrations. The webhook should be obtained from the chat app provider."}, "channel": {"type": "string", "description": "Channel specification for Mattermost chat notifications"}, "deviceTokens": {"description": "Contains an array of the subscriber device tokens for a given provider. Used on Push integrations", "type": "array", "items": {"type": "string"}}, "alertUid": {"type": "string", "description": "alert_uid for grafana on-call webhook payload"}, "title": {"type": "string", "description": "title to be used with grafana on call webhook"}, "imageUrl": {"type": "string", "description": "image_url property fo grafana on call webhook"}, "state": {"type": "string", "description": "state property fo grafana on call webhook"}, "externalUrl": {"type": "string", "description": "link_to_upstream_details property fo grafana on call webhook"}}, "required": ["webhookUrl"]}, "ChannelSettings": {"type": "object", "properties": {"providerId": {"type": "string", "enum": ["slack", "discord", "msteams", "mattermost", "ryver", "zulip", "grafana-on-call", "getstream", "rocket-chat", "whatsapp-business", "fcm", "apns", "expo", "one-signal", "pushpad", "push-webhook", "pusher-beams"], "description": "The provider identifier for the credentials"}, "integrationIdentifier": {"type": "string", "description": "The integration identifier"}, "credentials": {"description": "Credentials payload for the specified provider", "allOf": [{"$ref": "#/components/schemas/ChannelCredentials"}]}, "_integrationId": {"type": "string", "description": "Id of the integration that is used for this channel"}}, "required": ["providerId", "credentials", "_integrationId"]}, "SubscriberResponseDto": {"type": "object", "properties": {"_id": {"type": "string", "description": "The internal id novu generated for your subscriber, this is not the subscriberId matching your query. See `subscriberId` for that"}, "firstName": {"type": "string"}, "lastName": {"type": "string"}, "email": {"type": "string"}, "phone": {"type": "string"}, "avatar": {"type": "string"}, "locale": {"type": "string"}, "subscriberId": {"type": "string", "description": "The internal identifier you used to create this subscriber, usually correlates to the id the user in your systems"}, "channels": {"description": "Channels settings for subscriber", "type": "array", "items": {"$ref": "#/components/schemas/ChannelSettings"}}, "isOnline": {"type": "boolean"}, "lastOnlineAt": {"type": "string"}, "_organizationId": {"type": "string"}, "_environmentId": {"type": "string"}, "deleted": {"type": "boolean"}, "createdAt": {"type": "string"}, "updatedAt": {"type": "string"}, "__v": {"type": "number"}}, "required": ["subscriberId", "_organizationId", "_environmentId", "deleted", "createdAt", "updatedAt"]}, "CreateSubscriberRequestDto": {"type": "object", "properties": {"subscriberId": {"type": "string", "description": "The internal identifier you used to create this subscriber, usually correlates to the id the user in your systems"}, "email": {"type": "string"}, "firstName": {"type": "string"}, "lastName": {"type": "string"}, "phone": {"type": "string"}, "avatar": {"type": "string", "description": "An http url to the profile image of your subscriber"}, "locale": {"type": "string"}, "data": {"type": "object"}, "channels": {"type": "array", "items": {"$ref": "#/components/schemas/SubscriberChannelDto"}}}, "required": ["subscriberId"]}, "BulkSubscriberCreateDto": {"type": "object", "properties": {"subscribers": {"type": "array", "items": {"$ref": "#/components/schemas/CreateSubscriberRequestDto"}}}, "required": ["subscribers"]}, "UpdateSubscriberRequestDto": {"type": "object", "properties": {"email": {"type": "string"}, "firstName": {"type": "string"}, "lastName": {"type": "string"}, "phone": {"type": "string"}, "avatar": {"type": "string"}, "locale": {"type": "string"}, "data": {"type": "object"}}}, "UpdateSubscriberChannelRequestDto": {"type": "object", "properties": {"providerId": {"type": "string", "enum": ["slack", "discord", "msteams", "mattermost", "ryver", "zulip", "grafana-on-call", "getstream", "rocket-chat", "whatsapp-business", "fcm", "apns", "expo", "one-signal", "pushpad", "push-webhook", "pusher-beams"], "description": "The provider identifier for the credentials"}, "integrationIdentifier": {"type": "string", "description": "The integration identifier"}, "credentials": {"description": "Credentials payload for the specified provider", "allOf": [{"$ref": "#/components/schemas/ChannelCredentials"}]}}, "required": ["providerId", "credentials"]}, "UpdateSubscriberOnlineFlagRequestDto": {"type": "object", "properties": {"isOnline": {"type": "boolean"}}, "required": ["isOnline"]}, "DeleteSubscriberResponseDto": {"type": "object", "properties": {"acknowledged": {"type": "boolean", "description": "A boolean stating the success of the action"}, "status": {"type": "string", "description": "The status enum for the performed action", "enum": ["deleted"]}}, "required": ["acknowledged", "status"]}, "TemplateResponse": {"type": "object", "properties": {"_id": {"type": "string", "description": "Unique identifier of the workflow"}, "name": {"type": "string", "description": "Name of the workflow"}, "critical": {"type": "boolean", "description": "Critical templates will always be delivered to the end user and should be hidden from the subscriber preferences screen"}, "triggers": {"description": "Triggers are the events that will trigger the workflow.", "type": "array", "items": {"type": "string"}}}, "required": ["_id", "name", "critical", "triggers"]}, "Preference": {"type": "object", "properties": {"enabled": {"type": "boolean", "description": "Sets if the workflow is fully enabled for all channels or not for the subscriber."}, "channels": {"description": "Subscriber preferences for the different channels regarding this workflow", "allOf": [{"$ref": "#/components/schemas/PreferenceChannels"}]}}, "required": ["enabled", "channels"]}, "UpdateSubscriberPreferenceResponseDto": {"type": "object", "properties": {"template": {"description": "The workflow information and if it is critical or not", "allOf": [{"$ref": "#/components/schemas/TemplateResponse"}]}, "preference": {"description": "The preferences of the subscriber regarding the related workflow", "allOf": [{"$ref": "#/components/schemas/Preference"}]}}, "required": ["template", "preference"]}, "GetSubscriberPreferencesResponseDto": {"type": "object", "properties": {"template": {"description": "The workflow information and if it is critical or not", "allOf": [{"$ref": "#/components/schemas/TemplateResponse"}]}, "preference": {"description": "The preferences of the subscriber regarding the related workflow", "allOf": [{"$ref": "#/components/schemas/Preference"}]}}, "required": ["preference"]}, "ChannelPreference": {"type": "object", "properties": {"type": {"type": "string", "enum": ["in_app", "email", "sms", "chat", "push"], "description": "The type of channel that is enabled or not"}, "enabled": {"type": "boolean", "description": "If channel is enabled or not"}}, "required": ["type", "enabled"]}, "UpdateSubscriberPreferenceRequestDto": {"type": "object", "properties": {"channel": {"description": "The subscriber preferences for every ChannelTypeEnum for the workflow assigned.", "allOf": [{"$ref": "#/components/schemas/ChannelPreference"}]}, "enabled": {"type": "boolean", "description": "Sets if the workflow is fully enabled for all channels or not for the subscriber."}}}, "UpdateSubscriberGlobalPreferencesRequestDto": {"type": "object", "properties": {"enabled": {"type": "boolean", "description": "Enable or disable the subscriber global preferences."}, "preferences": {"description": "The subscriber global preferences for every ChannelTypeEnum.", "type": "array", "items": {"$ref": "#/components/schemas/ChannelPreference"}}}}, "EmailBlockStyles": {"type": "object", "properties": {"textAlign": {"enum": ["left", "right", "center"], "type": "string"}}}, "EmailBlock": {"type": "object", "properties": {"type": {"enum": ["text", "button"], "type": "string"}, "content": {"type": "string"}, "url": {"type": "string"}, "styles": {"$ref": "#/components/schemas/EmailBlockStyles"}}, "required": ["type", "content"]}, "MessageCTAData": {"type": "object", "properties": {"url": {"type": "string"}}}, "MessageButton": {"type": "object", "properties": {"type": {"enum": ["primary", "secondary", "clicked"], "type": "string"}, "content": {"type": "string"}, "resultContent": {"type": "string"}}, "required": ["type", "content"]}, "MessageActionResult": {"type": "object", "properties": {"payload": {"type": "object"}, "type": {"enum": ["primary", "secondary", "clicked"], "type": "string"}}}, "MessageAction": {"type": "object", "properties": {"status": {"enum": ["pending", "done"], "type": "string"}, "buttons": {"type": "array", "items": {"$ref": "#/components/schemas/MessageButton"}}, "result": {"$ref": "#/components/schemas/MessageActionResult"}}}, "MessageCTA": {"type": "object", "properties": {"type": {"type": "string", "enum": ["redirect"]}, "data": {"$ref": "#/components/schemas/MessageCTAData"}, "action": {"$ref": "#/components/schemas/MessageAction"}}, "required": ["data"]}, "Actor": {"type": "object", "properties": {"data": {"type": "string", "nullable": true}, "type": {"enum": ["none", "user", "system_icon", "system_custom"], "type": "string"}}, "required": ["data", "type"]}, "NotificationDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_templateId": {"type": "string"}, "_environmentId": {"type": "string"}, "_messageTemplateId": {"type": "string"}, "_organizationId": {"type": "string"}, "_notificationId": {"type": "string"}, "_subscriberId": {"type": "string"}, "_feedId": {"type": "string"}, "_jobId": {"type": "string"}, "createdAt": {"type": "string"}, "updatedAt": {"type": "string"}, "expireAt": {"type": "string"}, "actor": {"$ref": "#/components/schemas/Actor"}, "subscriber": {"$ref": "#/components/schemas/SubscriberResponseDto"}, "transactionId": {"type": "string"}, "templateIdentifier": {"type": "string"}, "providerId": {"type": "string"}, "content": {"type": "string"}, "subject": {"type": "string"}, "channel": {"enum": ["in_app", "email", "sms", "chat", "push"], "type": "string"}, "read": {"type": "boolean"}, "seen": {"type": "boolean"}, "deleted": {"type": "boolean"}, "deviceTokens": {"type": "array", "items": {"type": "string"}}, "cta": {"$ref": "#/components/schemas/MessageCTA"}, "status": {"type": "string", "enum": ["sent", "error", "warning"]}, "payload": {"type": "object", "description": "The payload that was used to send the notification trigger"}, "overrides": {"type": "object", "description": "Provider specific overrides used when triggering the notification"}}, "required": ["_templateId", "_environmentId", "_messageTemplateId", "_organizationId", "_notificationId", "_subscriberId", "_feedId", "_jobId", "transactionId", "content", "channel", "read", "seen", "deleted", "cta", "status", "payload", "overrides"]}, "FeedResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "name": {"type": "string"}, "identifier": {"type": "string"}, "_environmentId": {"type": "string"}, "_organizationId": {"type": "string"}}, "required": ["name", "identifier", "_environmentId", "_organizationId"]}, "UnseenCountResponse": {"type": "object", "properties": {"count": {"type": "number"}}, "required": ["count"]}, "MessageMarkAsRequestDto": {"type": "object", "properties": {"messageId": {"oneOf": [{"type": "string"}, {"type": "array", "items": {"type": "string"}}]}, "markAs": {"enum": ["read", "seen", "unread", "unseen"], "type": "string"}}, "required": ["messageId", "markAs"]}, "MessageEntity": {"type": "object", "properties": {}}, "MarkAllMessageAsRequestDto": {"type": "object", "properties": {"feedIdentifier": {"oneOf": [{"type": "string"}, {"type": "array", "items": {"type": "string"}}], "description": "Optional feed identifier or array of feed identifiers"}, "markAs": {"enum": ["read", "seen", "unread", "unseen"], "type": "string", "description": "Mark all subscriber messages as read, unread, seen or unseen"}}, "required": ["markAs"]}, "MessageResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_templateId": {"type": "string"}, "_environmentId": {"type": "string"}, "_messageTemplateId": {"type": "string"}, "_organizationId": {"type": "string"}, "_notificationId": {"type": "string"}, "_subscriberId": {"type": "string"}, "subscriber": {"$ref": "#/components/schemas/SubscriberResponseDto"}, "template": {"$ref": "#/components/schemas/WorkflowResponse"}, "templateIdentifier": {"type": "string"}, "createdAt": {"type": "string"}, "lastSeenDate": {"type": "string"}, "lastReadDate": {"type": "string"}, "content": {"oneOf": [{"$ref": "#/components/schemas/EmailBlock"}, {"type": "string"}]}, "transactionId": {"type": "string"}, "subject": {"type": "string"}, "channel": {"enum": ["in_app", "email", "sms", "chat", "push"], "type": "string"}, "read": {"type": "boolean"}, "seen": {"type": "boolean"}, "email": {"type": "string"}, "phone": {"type": "string"}, "directWebhookUrl": {"type": "string"}, "providerId": {"type": "string"}, "deviceTokens": {"type": "array", "items": {"type": "string"}}, "title": {"type": "string"}, "cta": {"$ref": "#/components/schemas/MessageCTA"}, "_feedId": {"type": "string", "nullable": true}, "status": {"type": "string", "enum": ["sent", "error", "warning"]}, "errorId": {"type": "string"}, "errorText": {"type": "string"}, "payload": {"type": "object", "description": "The payload that was used to send the notification trigger"}, "overrides": {"type": "object", "description": "Provider specific overrides used when triggering the notification"}}, "required": ["_templateId", "_environmentId", "_messageTemplateId", "_organizationId", "_notificationId", "_subscriberId", "createdAt", "content", "transactionId", "channel", "read", "seen", "cta", "status", "errorId", "errorText", "payload", "overrides"]}, "MarkMessageActionAsSeenDto": {"type": "object", "properties": {"status": {"enum": ["pending", "done"], "type": "string", "description": "Message action status"}, "payload": {"type": "object", "description": "Message action payload"}}, "required": ["status"]}, "CreateFeedRequestDto": {"type": "object", "properties": {"name": {"type": "string"}}, "required": ["name"]}, "CreateLayoutResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}}, "required": ["_id"]}, "GetLayoutResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_organizationId": {"type": "string"}, "_environmentId": {"type": "string"}, "_creatorId": {"type": "string"}, "name": {"type": "string"}, "identifier": {"type": "string"}, "description": {"type": "string"}, "channel": {"enum": ["in_app", "email", "sms", "chat", "push"], "type": "string"}, "content": {"type": "string"}, "contentType": {"type": "string"}, "variables": {"type": "array", "items": {"type": "object"}}, "isDefault": {"type": "boolean"}, "isDeleted": {"type": "boolean"}, "createdAt": {"type": "string"}, "updatedAt": {"type": "string"}, "_parentId": {"type": "string"}}, "required": ["_organizationId", "_environmentId", "_creatorId", "name", "identifier", "channel", "content", "contentType", "isDefault", "isDeleted"]}, "UpdateLayoutResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_organizationId": {"type": "string"}, "_environmentId": {"type": "string"}, "_creatorId": {"type": "string"}, "name": {"type": "string"}, "identifier": {"type": "string"}, "description": {"type": "string"}, "channel": {"enum": ["in_app", "email", "sms", "chat", "push"], "type": "string"}, "content": {"type": "string"}, "contentType": {"type": "string"}, "variables": {"type": "array", "items": {"type": "object"}}, "isDefault": {"type": "boolean"}, "isDeleted": {"type": "boolean"}, "createdAt": {"type": "string"}, "updatedAt": {"type": "string"}, "_parentId": {"type": "string"}}, "required": ["_organizationId", "_environmentId", "_creatorId", "name", "identifier", "channel", "content", "contentType", "isDefault", "isDeleted"]}, "UpdateLayoutRequestDto": {"type": "object", "properties": {"name": {"type": "string", "description": "User defined custom name and provided by the user that will name the Layout updated."}, "identifier": {"type": "string", "description": "User defined custom key that will be a unique identifier for the Layout updated."}, "description": {"type": "string", "description": "User defined description of the layout"}, "content": {"type": "string", "description": "User defined content for the layout."}, "variables": {"description": "User defined variables to render in the layout placeholders.", "type": "array", "items": {"type": "object"}}, "isDefault": {"type": "boolean", "description": "Variable that defines if the layout is chosen as default when creating a layout."}}, "required": ["identifier"]}, "DeleteMessageResponseDto": {"type": "object", "properties": {"acknowledged": {"type": "boolean", "description": "A boolean stating the success of the action"}, "status": {"type": "string", "description": "The status enum for the performed action", "enum": ["deleted"]}}, "required": ["acknowledged", "status"]}, "CreateTopicResponseDto": {"type": "object", "properties": {}}, "CreateTopicRequestDto": {"type": "object", "properties": {"key": {"type": "string", "description": "User defined custom key and provided by the user that will be an unique identifier for the Topic created."}, "name": {"type": "string", "description": "User defined custom name and provided by the user that will name the Topic created."}}, "required": ["key", "name"]}, "AddSubscribersRequestDto": {"type": "object", "properties": {"subscribers": {"description": "List of subscriber identifiers that will be associated to the topic", "type": "array", "items": {"type": "string"}}}, "required": ["subscribers"]}, "TopicSubscriberDto": {"type": "object", "properties": {"_organizationId": {"type": "string"}, "_environmentId": {"type": "string"}, "_subscriberId": {"type": "string"}, "_topicId": {"type": "string"}, "topicKey": {"type": "string"}, "externalSubscriberId": {"type": "string"}}, "required": ["_organizationId", "_environmentId", "_subscriberId", "_topicId", "topicKey", "externalSubscriberId"]}, "RemoveSubscribersRequestDto": {"type": "object", "properties": {"subscribers": {"description": "List of subscriber identifiers that will be removed to the topic", "type": "array", "items": {"type": "string"}}}, "required": ["subscribers"]}, "TopicDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_organizationId": {"type": "string"}, "_environmentId": {"type": "string"}, "key": {"type": "string"}, "name": {"type": "string"}, "subscribers": {"type": "array", "items": {"type": "string"}}}, "required": ["_organizationId", "_environmentId", "key", "name", "subscribers"]}, "FilterTopicsResponseDto": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/TopicDto"}}, "page": {"type": "number"}, "pageSize": {"type": "number"}, "totalCount": {"type": "number"}}, "required": ["data", "page", "pageSize", "totalCount"]}, "GetTopicResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_organizationId": {"type": "string"}, "_environmentId": {"type": "string"}, "key": {"type": "string"}, "name": {"type": "string"}, "subscribers": {"type": "array", "items": {"type": "string"}}}, "required": ["_organizationId", "_environmentId", "key", "name", "subscribers"]}, "RenameTopicResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "_organizationId": {"type": "string"}, "_environmentId": {"type": "string"}, "key": {"type": "string"}, "name": {"type": "string"}, "subscribers": {"type": "array", "items": {"type": "string"}}}, "required": ["_organizationId", "_environmentId", "key", "name", "subscribers"]}, "RenameTopicRequestDto": {"type": "object", "properties": {"name": {"type": "string", "description": "User defined custom name and provided by the user to rename the topic."}}, "required": ["name"]}, "GetTenantResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "identifier": {"type": "string"}, "name": {"type": "string"}, "data": {"type": "object"}, "_environmentId": {"type": "string"}, "createdAt": {"type": "string"}, "updatedAt": {"type": "string"}}, "required": ["_id", "identifier", "_environmentId", "createdAt", "updatedAt"]}, "CreateTenantResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "identifier": {"type": "string"}, "name": {"type": "string"}, "data": {"type": "object"}, "_environmentId": {"type": "string"}, "createdAt": {"type": "string"}, "updatedAt": {"type": "string"}}, "required": ["_id", "identifier", "_environmentId", "createdAt", "updatedAt"]}, "CreateTenantRequestDto": {"type": "object", "properties": {"identifier": {"type": "string"}, "name": {"type": "string"}, "data": {"type": "object"}}, "required": ["identifier", "name"]}, "UpdateTenantResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "identifier": {"type": "string"}, "name": {"type": "string"}, "data": {"type": "object"}, "_environmentId": {"type": "string"}, "createdAt": {"type": "string"}, "updatedAt": {"type": "string"}}, "required": ["_id", "identifier", "_environmentId", "createdAt", "updatedAt"]}, "UpdateTenantRequestDto": {"type": "object", "properties": {"identifier": {"type": "string"}, "name": {"type": "string"}, "data": {"type": "object"}}}, "CreateBridgeRequestDto": {"type": "object", "properties": {}}, "TranslationResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "createdAt": {"type": "string"}, "updatedAt": {"type": "string"}, "_environmentId": {"type": "string"}, "_organizationId": {"type": "string"}, "_groupId": {"type": "string"}, "isoLanguage": {"type": "string"}, "translations": {"type": "string"}, "fileName": {"type": "string"}}, "required": ["_id", "createdAt", "updatedAt", "_environmentId", "_organizationId", "_groupId", "isoLanguage", "translations", "fileName"]}, "UpdateDefaultLocaleRequestDto": {"type": "object", "properties": {}}, "TranslationGroupResponseDto": {"type": "object", "properties": {"_id": {"type": "string"}, "name": {"type": "string"}, "identifier": {"type": "string"}, "createdAt": {"type": "string"}, "updatedAt": {"type": "string"}, "_environmentId": {"type": "string"}, "_organizationId": {"type": "string"}}, "required": ["_id", "name", "identifier", "createdAt", "updatedAt", "_environmentId", "_organizationId"]}, "TranslationGroupsResponseDto": {"type": "object", "properties": {"totalCount": {"type": "number"}, "data": {"type": "array", "items": {"type": "string"}}, "pageSize": {"type": "number"}, "page": {"type": "number"}}, "required": ["totalCount", "data", "pageSize", "page"]}, "EditTranslationRequestDto": {"type": "object", "properties": {"fileName": {"type": "string"}, "translation": {"type": "string"}}}}, "headers": {"Content-Type": {"required": true, "description": "The MIME type of the response body.", "schema": {"type": "string"}, "example": "application/json"}, "RateLimit-Limit": {"required": false, "description": "The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.", "schema": {"type": "string"}, "example": "100"}, "RateLimit-Remaining": {"required": false, "description": "The number of requests remaining until the next window.", "schema": {"type": "string"}, "example": "93"}, "RateLimit-Reset": {"required": false, "description": "The remaining seconds until a request of the same cost will be refreshed.", "schema": {"type": "string"}, "example": "8"}, "RateLimit-Policy": {"required": false, "description": "The rate limit policy that was used to evaluate the request.", "schema": {"type": "string"}, "example": "100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""}, "Retry-After": {"required": false, "description": "The number of seconds after which the client may retry the request that was previously rejected.", "schema": {"type": "string"}, "example": "8"}, "Idempotency-Key": {"required": false, "description": "The idempotency key used to evaluate the request.", "schema": {"type": "string"}, "example": "8"}, "Idempotency-Replay": {"required": false, "description": "Whether the request was a replay of a previous request.", "schema": {"type": "string"}, "example": "true"}, "Link": {"required": false, "description": "A link to the documentation.", "schema": {"type": "string"}, "example": "https://docs.novu.co/"}}}, "externalDocs": {"description": "Novu Documentation", "url": "https://docs.novu.co"}, "x-speakeasy-name-override": [{"operationId": "^.*get.*", "methodNameOverride": "retrieve"}, {"operationId": "^.*retrieve.*", "methodNameOverride": "retrieve"}, {"operationId": "^.*create.*", "methodNameOverride": "create"}, {"operationId": "^.*update.*", "methodNameOverride": "update"}, {"operationId": "^.*list.*", "methodNameOverride": "list"}, {"operationId": "^.*delete.*", "methodNameOverride": "delete"}, {"operationId": "^.*remove.*", "methodNameOverride": "delete"}], "x-speakeasy-retries": {"strategy": "backoff", "backoff": {"initialInterval": 500, "maxInterval": 30000, "maxElapsedTime": 3600000, "exponent": 1.5}, "statusCodes": ["408", "409", "429", "5XX"], "retryConnectionErrors": true}} +components: + headers: + Content-Type: + description: The MIME type of the response body. + example: application/json + required: true + schema: + type: string + Idempotency-Key: + description: The idempotency key used to evaluate the request. + example: "8" + required: false + schema: + type: string + Idempotency-Replay: + description: Whether the request was a replay of a previous request. + example: "true" + required: false + schema: + type: string + Link: + description: A link to the documentation. + example: https://docs.novu.co/ + required: false + schema: + type: string + RateLimit-Limit: + description: The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled. + example: "100" + required: false + schema: + type: string + RateLimit-Policy: + description: The rate limit policy that was used to evaluate the request. + example: 100;w=1;burst=110;comment="token bucket";category="trigger";cost="single" + required: false + schema: + type: string + RateLimit-Remaining: + description: The number of requests remaining until the next window. + example: "93" + required: false + schema: + type: string + RateLimit-Reset: + description: The remaining seconds until a request of the same cost will be refreshed. + example: "8" + required: false + schema: + type: string + Retry-After: + description: The number of seconds after which the client may retry the request that was previously rejected. + example: "8" + required: false + schema: + type: string + schemas: + ActivitiesResponseDto: + properties: + data: + items: + $ref: '#/components/schemas/ActivityNotificationResponseDto' + type: array + hasMore: + type: boolean + page: + type: number + pageSize: + type: number + required: + - hasMore + - data + - pageSize + - page + type: object + ActivityGraphStatesResponse: + properties: + _id: + type: string + channels: + items: + enum: + - in_app + - email + - sms + - chat + - push + type: string + type: array + count: + type: number + templates: + items: + type: string + type: array + required: + - _id + - count + - templates + - channels + type: object + ActivityNotificationExecutionDetailResponseDto: + properties: + _id: + type: string + _jobId: + type: string + detail: + type: string + isRetry: + type: boolean + isTest: + type: boolean + providerId: + type: object + raw: + type: string + source: + enum: + - Credentials + - Internal + - Payload + - Webhook + type: string + status: + enum: + - Success + - Warning + - Failed + - Pending + - Queued + - ReadConfirmation + type: string + required: + - _id + - _jobId + - status + - detail + - isRetry + - isTest + - providerId + - source + type: object + ActivityNotificationJobResponseDto: + properties: + _id: + type: string + digest: + type: object + executionDetails: + items: + $ref: '#/components/schemas/ActivityNotificationExecutionDetailResponseDto' + type: array + payload: + type: object + providerId: + type: object + status: + type: string + step: + $ref: '#/components/schemas/ActivityNotificationStepResponseDto' + type: + type: string + required: + - _id + - type + - executionDetails + - step + - providerId + - status + type: object + ActivityNotificationResponseDto: + properties: + _environmentId: + type: string + _id: + type: string + _organizationId: + type: string + channels: + enum: + - in_app + - email + - sms + - chat + - push + - digest + - trigger + - delay + - custom + items: + enum: + - in_app + - email + - sms + - chat + - push + - digest + - trigger + - delay + - custom + type: string + type: string + createdAt: + type: string + jobs: + items: + $ref: '#/components/schemas/ActivityNotificationJobResponseDto' + type: array + subscriber: + $ref: '#/components/schemas/ActivityNotificationSubscriberResponseDto' + template: + $ref: '#/components/schemas/ActivityNotificationTemplateResponseDto' + transactionId: + type: string + required: + - _environmentId + - _organizationId + - transactionId + type: object + ActivityNotificationStepResponseDto: + properties: + _id: + type: string + active: + type: boolean + filters: + $ref: '#/components/schemas/StepFilter' + template: + $ref: '#/components/schemas/MessageTemplateDto' + required: + - _id + - active + - filters + type: object + ActivityNotificationSubscriberResponseDto: + properties: + _id: + type: string + email: + type: string + firstName: + type: string + lastName: + type: string + phone: + type: string + required: + - _id + type: object + ActivityNotificationTemplateResponseDto: + properties: + _id: + type: string + name: + type: string + triggers: + items: + $ref: '#/components/schemas/NotificationTrigger' + type: array + required: + - name + - triggers + type: object + ActivityStatsResponseDto: + properties: + monthlySent: + type: number + weeklySent: + type: number + required: + - weeklySent + - monthlySent + type: object + Actor: + properties: + data: + nullable: true + type: string + type: + enum: + - none + - user + - system_icon + - system_custom + type: string + required: + - data + - type + type: object + AddSubscribersRequestDto: + properties: + subscribers: + description: List of subscriber identifiers that will be associated to the topic + items: + type: string + type: array + required: + - subscribers + type: object + ApiKey: + properties: + _userId: + type: string + key: + type: string + required: + - key + - _userId + type: object + BulkApplyChangeDto: + properties: + changeIds: + items: + type: string + type: array + required: + - changeIds + type: object + BulkSubscriberCreateDto: + properties: + subscribers: + items: + $ref: '#/components/schemas/CreateSubscriberRequestDto' + type: array + required: + - subscribers + type: object + BulkTriggerEventDto: + properties: + events: + items: + $ref: '#/components/schemas/TriggerEventRequestDto' + type: array + required: + - events + type: object + ChangeResponseDto: + properties: + _creatorId: + type: string + _entityId: + type: string + _environmentId: + type: string + _id: + type: string + _organizationId: + type: string + _parentId: + type: string + change: + type: object + createdAt: + type: string + enabled: + type: boolean + type: + enum: + - Feed + - MessageTemplate + - Layout + - DefaultLayout + - NotificationTemplate + - NotificationGroup + - TranslationGroup + - Translation + type: string + required: + - _creatorId + - _environmentId + - _organizationId + - _entityId + - enabled + - type + - change + - createdAt + type: object + ChangeWorkflowStatusRequestDto: + properties: + active: + type: boolean + required: + - active + type: object + ChangesResponseDto: + properties: + data: + items: + $ref: '#/components/schemas/ChangeResponseDto' + type: array + page: + type: number + pageSize: + type: number + totalCount: + type: number + required: + - totalCount + - data + - pageSize + - page + type: object + ChannelCredentials: + properties: + alertUid: + description: alert_uid for grafana on-call webhook payload + type: string + channel: + description: Channel specification for Mattermost chat notifications + type: string + deviceTokens: + description: Contains an array of the subscriber device tokens for a given provider. Used on Push integrations + items: + type: string + type: array + externalUrl: + description: link_to_upstream_details property fo grafana on call webhook + type: string + imageUrl: + description: image_url property fo grafana on call webhook + type: string + state: + description: state property fo grafana on call webhook + type: string + title: + description: title to be used with grafana on call webhook + type: string + webhookUrl: + description: Webhook url used by chat app integrations. The webhook should be obtained from the chat app provider. + type: string + required: + - webhookUrl + type: object + ChannelCredentialsDto: + properties: + deviceTokens: + items: + type: string + type: array + webhookUrl: + type: string + type: object + ChannelPreference: + properties: + enabled: + description: If channel is enabled or not + type: boolean + type: + description: The type of channel that is enabled or not + enum: + - in_app + - email + - sms + - chat + - push + type: string + required: + - type + - enabled + type: object + ChannelSettings: + properties: + _integrationId: + description: Id of the integration that is used for this channel + type: string + credentials: + allOf: + - $ref: '#/components/schemas/ChannelCredentials' + description: Credentials payload for the specified provider + integrationIdentifier: + description: The integration identifier + type: string + providerId: + description: The provider identifier for the credentials + enum: + - slack + - discord + - msteams + - mattermost + - ryver + - zulip + - grafana-on-call + - getstream + - rocket-chat + - whatsapp-business + - fcm + - apns + - expo + - one-signal + - pushpad + - push-webhook + - pusher-beams + type: string + required: + - providerId + - credentials + - _integrationId + type: object + CreateFeedRequestDto: + properties: + name: + type: string + required: + - name + type: object + CreateIntegrationRequestDto: + properties: + _environmentId: + type: string + active: + description: If the integration is active the validation on the credentials field will run + type: boolean + channel: + enum: + - in_app + - email + - sms + - chat + - push + type: string + check: + type: boolean + conditions: + items: + $ref: '#/components/schemas/StepFilter' + type: array + credentials: + $ref: '#/components/schemas/CredentialsDto' + identifier: + type: string + name: + type: string + providerId: + type: string + required: + - providerId + - channel + type: object + CreateLayoutResponseDto: + properties: + _id: + type: string + required: + - _id + type: object + CreateNotificationGroupRequestDto: + properties: + name: + type: string + required: + - name + type: object + CreateOrganizationDto: + properties: + domain: + type: string + jobTitle: + enum: + - engineer + - engineering_manager + - architect + - product_manager + - designer + - cxo_founder + - marketing_manager + - other + type: string + logo: + type: string + name: + type: string + productUseCases: + type: object + required: + - name + type: object + CreateSubscriberRequestDto: + properties: + avatar: + description: An http url to the profile image of your subscriber + type: string + channels: + items: + $ref: '#/components/schemas/SubscriberChannelDto' + type: array + data: + type: object + email: + type: string + firstName: + type: string + lastName: + type: string + locale: + type: string + phone: + type: string + subscriberId: + description: The internal identifier you used to create this subscriber, usually correlates to the id the user in your systems + type: string + required: + - subscriberId + type: object + CreateTenantRequestDto: + properties: + data: + type: object + identifier: + type: string + name: + type: string + required: + - identifier + - name + type: object + CreateTenantResponseDto: + properties: + _environmentId: + type: string + _id: + type: string + createdAt: + type: string + data: + type: object + identifier: + type: string + name: + type: string + updatedAt: + type: string + required: + - _id + - identifier + - _environmentId + - createdAt + - updatedAt + type: object + CreateTopicRequestDto: + properties: + key: + description: User defined custom key and provided by the user that will be an unique identifier for the Topic created. + type: string + name: + description: User defined custom name and provided by the user that will name the Topic created. + type: string + required: + - key + - name + type: object + CreateTopicResponseDto: + properties: {} + type: object + CreateWorkflowRequestDto: + properties: + active: + type: boolean + blueprintId: + type: string + critical: + type: boolean + data: + type: object + description: + maxLength: 1000 + type: string + draft: + deprecated: true + type: boolean + name: + type: string + notificationGroup: + type: object + notificationGroupId: + type: string + preferenceSettings: + $ref: '#/components/schemas/PreferenceChannels' + steps: + items: + $ref: '#/components/schemas/NotificationStep' + type: array + tags: + items: + type: string + type: array + required: + - name + - notificationGroupId + - steps + type: object + CredentialsDto: + properties: + accountSid: + type: string + alertUid: + type: string + apiKey: + type: string + apiKeyRequestHeader: + type: string + apiToken: + type: string + applicationId: + type: string + authenticateByToken: + type: boolean + authenticationTokenKey: + type: string + baseUrl: + type: string + channelId: + type: string + clientId: + type: string + datePath: + type: string + domain: + type: string + externalLink: + type: string + from: + type: string + hmac: + type: boolean + host: + type: string + idPath: + type: string + ignoreTls: + type: boolean + imageUrl: + type: string + instanceId: + type: string + ipPoolName: + type: string + messageProfileId: + type: string + password: + type: string + phoneNumberIdentification: + type: string + port: + type: string + projectName: + type: string + redirectUrl: + type: string + region: + type: string + requireTls: + type: boolean + secretKey: + type: string + secretKeyRequestHeader: + type: string + secure: + type: boolean + senderName: + type: string + serviceAccount: + type: string + state: + type: string + title: + type: string + tlsOptions: + type: object + token: + type: string + user: + type: string + webhookUrl: + type: string + type: object + DataBooleanDto: + properties: + data: + type: boolean + required: + - data + type: object + DataNumberDto: + properties: + data: + type: number + required: + - data + type: object + DataWrapperDto: + properties: + data: + type: object + required: + - data + type: object + DelayRegularMetadata: + properties: + amount: + type: number + type: + enum: + - regular + type: string + unit: + enum: + - seconds + - minutes + - hours + - days + - weeks + - months + type: string + required: + - type + type: object + DelayScheduledMetadata: + properties: + delayPath: + type: string + type: + enum: + - scheduled + type: string + required: + - type + - delayPath + type: object + DeleteMessageResponseDto: + properties: + acknowledged: + description: A boolean stating the success of the action + type: boolean + status: + description: The status enum for the performed action + enum: + - deleted + type: string + required: + - acknowledged + - status + type: object + DeleteNotificationGroupResponseDto: + properties: + acknowledged: + description: A boolean stating the success of the action + type: boolean + status: + description: The status enum for the performed action + enum: + - deleted + type: string + required: + - acknowledged + - status + type: object + DeleteSubscriberResponseDto: + properties: + acknowledged: + description: A boolean stating the success of the action + type: boolean + status: + description: The status enum for the performed action + enum: + - deleted + type: string + required: + - acknowledged + - status + type: object + DigestRegularMetadata: + properties: + amount: + type: number + backoff: + type: boolean + backoffAmount: + type: number + backoffUnit: + enum: + - seconds + - minutes + - hours + - days + - weeks + - months + type: string + digestKey: + type: string + type: + enum: + - regular + - backoff + type: string + unit: + enum: + - seconds + - minutes + - hours + - days + - weeks + - months + type: string + updateMode: + type: boolean + required: + - type + type: object + DigestTimedMetadata: + properties: + amount: + type: number + digestKey: + type: string + timed: + $ref: '#/components/schemas/TimedConfig' + type: + enum: + - timed + type: string + unit: + enum: + - seconds + - minutes + - hours + - days + - weeks + - months + type: string + required: + - type + type: object + EmailBlock: + properties: + content: + type: string + styles: + $ref: '#/components/schemas/EmailBlockStyles' + type: + enum: + - text + - button + type: string + url: + type: string + required: + - type + - content + type: object + EmailBlockStyles: + properties: + textAlign: + enum: + - left + - right + - center + type: string + type: object + EnvironmentResponseDto: + properties: + _id: + type: string + _organizationId: + type: string + _parentId: + type: string + apiKeys: + items: + type: object + type: array + identifier: + type: string + name: + type: string + required: + - name + - _organizationId + - identifier + - _parentId + type: object + ExecutionDetailsResponseDto: + properties: + _environmentId: + type: string + _id: + type: string + _jobId: + type: string + _messageId: + type: string + _notificationId: + type: string + _notificationTemplateId: + type: string + _organizationId: + type: string + _subscriberId: + type: string + channel: + enum: + - in_app + - email + - sms + - chat + - push + - digest + - trigger + - delay + - custom + type: string + createdAt: + type: string + detail: + type: string + isRetry: + type: boolean + isTest: + type: boolean + providerId: + type: string + source: + enum: + - Credentials + - Internal + - Payload + - Webhook + type: string + status: + enum: + - Success + - Warning + - Failed + - Pending + - Queued + - ReadConfirmation + type: string + transactionId: + type: string + required: + - _organizationId + - _jobId + - _environmentId + - _notificationId + - _notificationTemplateId + - _subscriberId + - transactionId + - channel + - detail + - source + - status + - isTest + - isRetry + type: object + FeedResponseDto: + properties: + _environmentId: + type: string + _id: + type: string + _organizationId: + type: string + identifier: + type: string + name: + type: string + required: + - name + - identifier + - _environmentId + - _organizationId + type: object + FieldFilterPart: + properties: + field: + type: string + "on": + enum: + - subscriber + - payload + type: string + operator: + enum: + - LARGER + - SMALLER + - LARGER_EQUAL + - SMALLER_EQUAL + - EQUAL + - NOT_EQUAL + - ALL_IN + - ANY_IN + - NOT_IN + - BETWEEN + - NOT_BETWEEN + - LIKE + - NOT_LIKE + - IN + type: string + value: + type: string + required: + - field + - value + - operator + - "on" + type: object + FilterTopicsResponseDto: + properties: + data: + items: + $ref: '#/components/schemas/TopicDto' + type: array + page: + type: number + pageSize: + type: number + totalCount: + type: number + required: + - data + - page + - pageSize + - totalCount + type: object + GetLayoutResponseDto: + properties: + _creatorId: + type: string + _environmentId: + type: string + _id: + type: string + _organizationId: + type: string + _parentId: + type: string + channel: + enum: + - in_app + - email + - sms + - chat + - push + type: string + content: + type: string + contentType: + type: string + createdAt: + type: string + description: + type: string + identifier: + type: string + isDefault: + type: boolean + isDeleted: + type: boolean + name: + type: string + updatedAt: + type: string + variables: + items: + type: object + type: array + required: + - _organizationId + - _environmentId + - _creatorId + - name + - identifier + - channel + - content + - contentType + - isDefault + - isDeleted + type: object + GetSubscriberPreferencesResponseDto: + properties: + preference: + allOf: + - $ref: '#/components/schemas/Preference' + description: The preferences of the subscriber regarding the related workflow + template: + allOf: + - $ref: '#/components/schemas/TemplateResponse' + description: The workflow information and if it is critical or not + required: + - preference + type: object + GetTenantResponseDto: + properties: + _environmentId: + type: string + _id: + type: string + createdAt: + type: string + data: + type: object + identifier: + type: string + name: + type: string + updatedAt: + type: string + required: + - _id + - identifier + - _environmentId + - createdAt + - updatedAt + type: object + GetTopicResponseDto: + properties: + _environmentId: + type: string + _id: + type: string + _organizationId: + type: string + key: + type: string + name: + type: string + subscribers: + items: + type: string + type: array + required: + - _organizationId + - _environmentId + - key + - name + - subscribers + type: object + IPartnerConfigurationResponseDto: + properties: + accessToken: + type: string + configurationId: + type: string + partnerType: + description: Partner Type Enum + enum: + - vercel + type: string + projectIds: + items: + type: string + type: array + teamId: + type: string + required: + - accessToken + - configurationId + - partnerType + type: object + IntegrationResponseDto: + properties: + _environmentId: + type: string + _id: + type: string + _organizationId: + type: string + active: + type: boolean + channel: + enum: + - in_app + - email + - sms + - chat + - push + type: string + conditions: + items: + $ref: '#/components/schemas/StepFilter' + type: array + credentials: + $ref: '#/components/schemas/CredentialsDto' + deleted: + type: boolean + deletedAt: + type: string + deletedBy: + type: string + identifier: + type: string + name: + type: string + primary: + type: boolean + providerId: + type: string + required: + - _environmentId + - _organizationId + - name + - identifier + - providerId + - channel + - credentials + - active + - deleted + - deletedAt + - deletedBy + - primary + type: object + MarkAllMessageAsRequestDto: + properties: + feedIdentifier: + description: Optional feed identifier or array of feed identifiers + oneOf: + - type: string + - items: + type: string + type: array + markAs: + description: Mark all subscriber messages as read, unread, seen or unseen + enum: + - read + - seen + - unread + - unseen + type: string + required: + - markAs + type: object + MarkMessageActionAsSeenDto: + properties: + payload: + description: Message action payload + type: object + status: + description: Message action status + enum: + - pending + - done + type: string + required: + - status + type: object + MemberInviteDTO: + properties: + _inviterId: + type: string + answerDate: + format: date-time + type: string + email: + type: string + invitationDate: + format: date-time + type: string + token: + type: string + required: + - email + - token + - invitationDate + - _inviterId + type: object + MemberResponseDto: + properties: + _id: + type: string + _organizationId: + type: string + _userId: + type: string + invite: + $ref: '#/components/schemas/MemberInviteDTO' + memberStatus: + enum: + - new + - active + - invited + type: string + roles: + enum: + - admin + - member + type: string + user: + $ref: '#/components/schemas/MemberUserDto' + required: + - _id + - _userId + - _organizationId + type: object + MemberUserDto: + properties: + _id: + type: string + email: + type: string + firstName: + type: string + lastName: + type: string + required: + - _id + - firstName + - lastName + - email + type: object + MessageAction: + properties: + buttons: + items: + $ref: '#/components/schemas/MessageButton' + type: array + result: + $ref: '#/components/schemas/MessageActionResult' + status: + enum: + - pending + - done + type: string + type: object + MessageActionResult: + properties: + payload: + type: object + type: + enum: + - primary + - secondary + type: string + type: object + MessageButton: + properties: + content: + type: string + resultContent: + type: string + type: + enum: + - primary + - secondary + type: string + required: + - type + - content + type: object + MessageCTA: + properties: + action: + $ref: '#/components/schemas/MessageAction' + data: + $ref: '#/components/schemas/MessageCTAData' + type: + enum: + - redirect + type: string + required: + - data + type: object + MessageCTAData: + properties: + url: + type: string + type: object + MessageEntity: + properties: {} + type: object + MessageMarkAsRequestDto: + properties: + markAs: + enum: + - read + - seen + - unread + - unseen + type: string + messageId: + oneOf: + - type: string + - items: + type: string + type: array + required: + - messageId + - markAs + type: object + MessageResponseDto: + properties: + _environmentId: + type: string + _feedId: + nullable: true + type: string + _id: + type: string + _messageTemplateId: + type: string + _notificationId: + type: string + _organizationId: + type: string + _subscriberId: + type: string + _templateId: + type: string + channel: + enum: + - in_app + - email + - sms + - chat + - push + type: string + content: + oneOf: + - $ref: '#/components/schemas/EmailBlock' + - type: string + createdAt: + type: string + cta: + $ref: '#/components/schemas/MessageCTA' + deviceTokens: + items: + type: string + type: array + directWebhookUrl: + type: string + email: + type: string + errorId: + type: string + errorText: + type: string + lastReadDate: + type: string + lastSeenDate: + type: string + overrides: + description: Provider specific overrides used when triggering the notification + type: object + payload: + description: The payload that was used to send the notification trigger + type: object + phone: + type: string + providerId: + type: string + read: + type: boolean + seen: + type: boolean + status: + enum: + - sent + - error + - warning + type: string + subject: + type: string + subscriber: + $ref: '#/components/schemas/SubscriberResponseDto' + template: + $ref: '#/components/schemas/WorkflowResponse' + templateIdentifier: + type: string + title: + type: string + transactionId: + type: string + required: + - _templateId + - _environmentId + - _messageTemplateId + - _organizationId + - _notificationId + - _subscriberId + - createdAt + - content + - transactionId + - channel + - read + - seen + - cta + - status + - errorId + - errorText + - payload + - overrides + type: object + MessageTemplate: + properties: {} + type: object + MessageTemplateDto: + properties: {} + type: object + NotificationDto: + properties: + _environmentId: + type: string + _feedId: + type: string + _id: + type: string + _jobId: + type: string + _messageTemplateId: + type: string + _notificationId: + type: string + _organizationId: + type: string + _subscriberId: + type: string + _templateId: + type: string + actor: + $ref: '#/components/schemas/Actor' + channel: + enum: + - in_app + - email + - sms + - chat + - push + type: string + content: + type: string + createdAt: + type: string + cta: + $ref: '#/components/schemas/MessageCTA' + deleted: + type: boolean + deviceTokens: + items: + type: string + type: array + expireAt: + type: string + overrides: + description: Provider specific overrides used when triggering the notification + type: object + payload: + description: The payload that was used to send the notification trigger + type: object + providerId: + type: string + read: + type: boolean + seen: + type: boolean + status: + enum: + - sent + - error + - warning + type: string + subject: + type: string + subscriber: + $ref: '#/components/schemas/SubscriberResponseDto' + templateIdentifier: + type: string + transactionId: + type: string + updatedAt: + type: string + required: + - _templateId + - _environmentId + - _messageTemplateId + - _organizationId + - _notificationId + - _subscriberId + - _feedId + - _jobId + - transactionId + - content + - channel + - read + - seen + - deleted + - cta + - status + - payload + - overrides + type: object + NotificationGroup: + properties: + _environmentId: + type: string + _id: + type: string + _organizationId: + type: string + _parentId: + type: string + name: + type: string + required: + - name + - _environmentId + - _organizationId + type: object + NotificationGroupResponseDto: + properties: + _environmentId: + type: string + _id: + type: string + _organizationId: + type: string + _parentId: + type: string + name: + type: string + required: + - name + - _environmentId + - _organizationId + type: object + NotificationStep: + properties: + _id: + type: string + _parentId: + type: object + _templateId: + type: string + active: + type: boolean + filters: + items: + $ref: '#/components/schemas/StepFilter' + type: array + metadata: + oneOf: + - $ref: '#/components/schemas/DigestRegularMetadata' + - $ref: '#/components/schemas/DigestTimedMetadata' + - $ref: '#/components/schemas/DelayRegularMetadata' + - $ref: '#/components/schemas/DelayScheduledMetadata' + name: + type: string + replyCallback: + type: object + shouldStopOnFail: + type: boolean + template: + $ref: '#/components/schemas/MessageTemplate' + uuid: + type: string + variants: + $ref: '#/components/schemas/NotificationStepVariant' + type: object + NotificationStepVariant: + properties: + _id: + type: string + _parentId: + type: object + _templateId: + type: string + active: + type: boolean + filters: + items: + $ref: '#/components/schemas/StepFilter' + type: array + metadata: + oneOf: + - $ref: '#/components/schemas/DigestRegularMetadata' + - $ref: '#/components/schemas/DigestTimedMetadata' + - $ref: '#/components/schemas/DelayRegularMetadata' + - $ref: '#/components/schemas/DelayScheduledMetadata' + name: + type: string + replyCallback: + type: object + shouldStopOnFail: + type: boolean + template: + $ref: '#/components/schemas/MessageTemplate' + uuid: + type: string + type: object + NotificationTrigger: + properties: + identifier: + type: string + subscriberVariables: + items: + $ref: '#/components/schemas/NotificationTriggerVariable' + type: array + type: + enum: + - event + type: string + variables: + items: + $ref: '#/components/schemas/NotificationTriggerVariable' + type: array + required: + - type + - identifier + - variables + type: object + NotificationTriggerVariable: + properties: + name: + type: string + required: + - name + type: object + OrganizationBrandingResponseDto: + properties: + color: + type: string + contentBackground: + type: string + direction: + enum: + - ltr + - trl + type: string + fontColor: + type: string + fontFamily: + type: string + logo: + type: string + required: + - logo + - color + - fontColor + - contentBackground + type: object + OrganizationResponseDto: + properties: + branding: + $ref: '#/components/schemas/OrganizationBrandingResponseDto' + logo: + type: string + name: + type: string + partnerConfigurations: + items: + $ref: '#/components/schemas/IPartnerConfigurationResponseDto' + type: array + required: + - name + - branding + type: object + PaginatedResponseDto: + properties: + data: + description: The list of items matching the query + items: + type: object + type: array + hasMore: + description: Does the list have more items to fetch + type: boolean + page: + description: The current page of the paginated response + type: number + pageSize: + description: Number of items on each page + type: number + required: + - page + - hasMore + - pageSize + - data + type: object + Preference: + properties: + channels: + allOf: + - $ref: '#/components/schemas/PreferenceChannels' + description: Subscriber preferences for the different channels regarding this workflow + enabled: + description: Sets if the workflow is fully enabled for all channels or not for the subscriber. + type: boolean + required: + - enabled + - channels + type: object + PreferenceChannels: + properties: + chat: + type: boolean + email: + type: boolean + in_app: + type: boolean + push: + type: boolean + sms: + type: boolean + type: object + RemoveSubscribersRequestDto: + properties: + subscribers: + description: List of subscriber identifiers that will be removed to the topic + items: + type: string + type: array + required: + - subscribers + type: object + RenameOrganizationDto: + properties: + name: + type: string + required: + - name + type: object + RenameTopicRequestDto: + properties: + name: + description: User defined custom name and provided by the user to rename the topic. + type: string + required: + - name + type: object + RenameTopicResponseDto: + properties: + _environmentId: + type: string + _id: + type: string + _organizationId: + type: string + key: + type: string + name: + type: string + subscribers: + items: + type: string + type: array + required: + - _organizationId + - _environmentId + - key + - name + - subscribers + type: object + StepFilter: + properties: + children: + items: + $ref: '#/components/schemas/FieldFilterPart' + type: array + isNegated: + type: boolean + type: + enum: + - BOOLEAN + - TEXT + - DATE + - NUMBER + - STATEMENT + - LIST + - MULTI_LIST + - GROUP + type: string + value: + enum: + - AND + - OR + type: string + required: + - isNegated + - type + - value + - children + type: object + SubscriberChannelDto: + properties: + credentials: + $ref: '#/components/schemas/ChannelCredentialsDto' + integrationIdentifier: + type: string + providerId: + type: object + required: + - providerId + - credentials + type: object + SubscriberPayloadDto: + properties: + avatar: + description: An http url to the profile image of your subscriber + type: string + channels: + items: + $ref: '#/components/schemas/SubscriberChannelDto' + type: array + data: + type: object + email: + type: string + firstName: + type: string + lastName: + type: string + locale: + type: string + phone: + type: string + subscriberId: + description: The internal identifier you used to create this subscriber, usually correlates to the id the user in your systems + type: string + required: + - subscriberId + type: object + SubscriberResponseDto: + properties: + __v: + type: number + _environmentId: + type: string + _id: + description: The internal id novu generated for your subscriber, this is not the subscriberId matching your query. See `subscriberId` for that + type: string + _organizationId: + type: string + avatar: + type: string + channels: + description: Channels settings for subscriber + items: + $ref: '#/components/schemas/ChannelSettings' + type: array + createdAt: + type: string + deleted: + type: boolean + email: + type: string + firstName: + type: string + isOnline: + type: boolean + lastName: + type: string + lastOnlineAt: + type: string + locale: + type: string + phone: + type: string + subscriberId: + description: The internal identifier you used to create this subscriber, usually correlates to the id the user in your systems + type: string + updatedAt: + type: string + required: + - subscriberId + - _organizationId + - _environmentId + - deleted + - createdAt + - updatedAt + type: object + TemplateResponse: + properties: + _id: + description: Unique identifier of the workflow + type: string + critical: + description: Critical templates will always be delivered to the end user and should be hidden from the subscriber preferences screen + type: boolean + name: + description: Name of the workflow + type: string + triggers: + description: Triggers are the events that will trigger the workflow. + items: + type: string + type: array + required: + - _id + - name + - critical + - triggers + type: object + TenantPayloadDto: + properties: + data: + type: object + identifier: + type: string + name: + type: string + type: object + TimedConfig: + properties: + atTime: + type: string + monthDays: + items: + type: string + type: array + monthlyType: + enum: + - each + - "on" + type: string + ordinal: + enum: + - "1" + - "2" + - "3" + - "4" + - "5" + - last + type: string + ordinalValue: + enum: + - day + - weekday + - weekend + - sunday + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + type: string + weekDays: + items: + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + type: string + type: array + type: object + TopicDto: + properties: + _environmentId: + type: string + _id: + type: string + _organizationId: + type: string + key: + type: string + name: + type: string + subscribers: + items: + type: string + type: array + required: + - _organizationId + - _environmentId + - key + - name + - subscribers + type: object + TopicPayloadDto: + properties: + topicKey: + example: topic_key + type: string + type: + enum: + - Subscriber + - Topic + example: Topic + type: string + required: + - topicKey + - type + type: object + TopicSubscriberDto: + properties: + _environmentId: + type: string + _organizationId: + type: string + _subscriberId: + type: string + _topicId: + type: string + externalSubscriberId: + type: string + topicKey: + type: string + required: + - _organizationId + - _environmentId + - _subscriberId + - _topicId + - topicKey + - externalSubscriberId + type: object + TriggerEventRequestDto: + properties: + actor: + description: "It is used to display the Avatar of the provided actor's subscriber id or actor object.\n If a new actor object is provided, we will create a new subscriber in our system\n " + oneOf: + - description: Unique identifier of a subscriber in your systems + type: string + - $ref: '#/components/schemas/SubscriberPayloadDto' + name: + description: The trigger identifier of the workflow you wish to send. This identifier can be found on the workflow page. + example: workflow_identifier + type: string + overrides: + description: This could be used to override provider specific configurations + example: + fcm: + data: + key: value + type: object + payload: + description: "The payload object is used to pass additional custom information that could be used to render the workflow, or perform routing rules based on it. \n This data will also be available when fetching the notifications feed from the API to display certain parts of the UI." + example: + comment_id: string + post: + text: string + type: object + tenant: + description: "It is used to specify a tenant context during trigger event.\n Existing tenants will be updated with the provided details.\n " + oneOf: + - description: Unique identifier of a tenant in your system + type: string + - $ref: '#/components/schemas/TenantPayloadDto' + to: + description: The recipients list of people who will receive the notification. + items: + oneOf: + - $ref: '#/components/schemas/SubscriberPayloadDto' + - description: Unique identifier of a subscriber in your systems + example: SUBSCRIBER_ID + type: string + - $ref: '#/components/schemas/TopicPayloadDto' + type: array + transactionId: + description: A unique identifier for this transaction, we will generated a UUID if not provided. + type: string + required: + - name + - to + type: object + TriggerEventResponseDto: + properties: + acknowledged: + description: If trigger was acknowledged or not + type: boolean + error: + description: In case of an error, this field will contain the error message + items: + type: string + type: array + status: + description: Status for trigger + enum: + - error + - trigger_not_active + - no_workflow_active_steps_defined + - no_workflow_steps_defined + - processed + - subscriber_id_missing + - no_tenant_found + type: string + transactionId: + description: Transaction id for trigger + type: string + required: + - acknowledged + - status + type: object + TriggerEventToAllRequestDto: + properties: + actor: + description: "It is used to display the Avatar of the provided actor's subscriber id or actor object.\n If a new actor object is provided, we will create a new subscriber in our system\n " + oneOf: + - description: Unique identifier of a subscriber in your systems + type: string + - $ref: '#/components/schemas/SubscriberPayloadDto' + name: + description: The trigger identifier associated for the template you wish to send. This identifier can be found on the template page. + type: string + overrides: + description: This could be used to override provider specific configurations + example: + fcm: + data: + key: value + type: object + payload: + description: "The payload object is used to pass additional custom information that could be used to render the template, or perform routing rules based on it. \n This data will also be available when fetching the notifications feed from the API to display certain parts of the UI." + example: + comment_id: string + post: + text: string + type: object + tenant: + description: "It is used to specify a tenant context during trigger event.\n If a new tenant object is provided, we will create a new tenant.\n " + oneOf: + - description: Unique identifier of a tenant in your system + type: string + - $ref: '#/components/schemas/TenantPayloadDto' + transactionId: + description: A unique identifier for this transaction, we will generated a UUID if not provided. + type: string + required: + - name + - payload + type: object + UnseenCountResponse: + properties: + count: + type: number + required: + - count + type: object + UpdateBrandingDetailsDto: + properties: + color: + type: string + contentBackground: + type: string + fontColor: + type: string + fontFamily: + type: string + logo: + type: string + required: + - logo + - color + - fontColor + - contentBackground + type: object + UpdateIntegrationRequestDto: + properties: + _environmentId: + type: string + active: + description: If the integration is active the validation on the credentials field will run + type: boolean + check: + type: boolean + conditions: + items: + $ref: '#/components/schemas/StepFilter' + type: array + credentials: + $ref: '#/components/schemas/CredentialsDto' + identifier: + type: string + name: + type: string + type: object + UpdateLayoutRequestDto: + properties: + content: + description: User defined content for the layout. + type: string + description: + description: User defined description of the layout + type: string + identifier: + description: User defined custom key that will be a unique identifier for the Layout updated. + type: string + isDefault: + description: Variable that defines if the layout is chosen as default when creating a layout. + type: boolean + name: + description: User defined custom name and provided by the user that will name the Layout updated. + type: string + variables: + description: User defined variables to render in the layout placeholders. + items: + type: object + type: array + required: + - identifier + type: object + UpdateLayoutResponseDto: + properties: + _creatorId: + type: string + _environmentId: + type: string + _id: + type: string + _organizationId: + type: string + _parentId: + type: string + channel: + enum: + - in_app + - email + - sms + - chat + - push + type: string + content: + type: string + contentType: + type: string + createdAt: + type: string + description: + type: string + identifier: + type: string + isDefault: + type: boolean + isDeleted: + type: boolean + name: + type: string + updatedAt: + type: string + variables: + items: + type: object + type: array + required: + - _organizationId + - _environmentId + - _creatorId + - name + - identifier + - channel + - content + - contentType + - isDefault + - isDeleted + type: object + UpdateSubscriberChannelRequestDto: + properties: + credentials: + allOf: + - $ref: '#/components/schemas/ChannelCredentials' + description: Credentials payload for the specified provider + integrationIdentifier: + description: The integration identifier + type: string + providerId: + description: The provider identifier for the credentials + enum: + - slack + - discord + - msteams + - mattermost + - ryver + - zulip + - grafana-on-call + - getstream + - rocket-chat + - whatsapp-business + - fcm + - apns + - expo + - one-signal + - pushpad + - push-webhook + - pusher-beams + type: string + required: + - providerId + - credentials + type: object + UpdateSubscriberGlobalPreferencesRequestDto: + properties: + enabled: + description: Enable or disable the subscriber global preferences. + type: boolean + preferences: + description: The subscriber global preferences for every ChannelTypeEnum. + items: + $ref: '#/components/schemas/ChannelPreference' + type: array + type: object + UpdateSubscriberOnlineFlagRequestDto: + properties: + isOnline: + type: boolean + required: + - isOnline + type: object + UpdateSubscriberPreferenceRequestDto: + properties: + channel: + allOf: + - $ref: '#/components/schemas/ChannelPreference' + description: The subscriber preferences for every ChannelTypeEnum for the workflow assigned. + enabled: + description: Sets if the workflow is fully enabled for all channels or not for the subscriber. + type: boolean + type: object + UpdateSubscriberPreferenceResponseDto: + properties: + preference: + allOf: + - $ref: '#/components/schemas/Preference' + description: The preferences of the subscriber regarding the related workflow + template: + allOf: + - $ref: '#/components/schemas/TemplateResponse' + description: The workflow information and if it is critical or not + required: + - template + - preference + type: object + UpdateSubscriberRequestDto: + properties: + avatar: + type: string + data: + type: object + email: + type: string + firstName: + type: string + lastName: + type: string + locale: + type: string + phone: + type: string + type: object + UpdateTenantRequestDto: + properties: + data: + type: object + identifier: + type: string + name: + type: string + type: object + UpdateTenantResponseDto: + properties: + _environmentId: + type: string + _id: + type: string + createdAt: + type: string + data: + type: object + identifier: + type: string + name: + type: string + updatedAt: + type: string + required: + - _id + - identifier + - _environmentId + - createdAt + - updatedAt + type: object + UpdateWorkflowRequestDto: + properties: + critical: + type: boolean + data: + type: object + description: + maxLength: 300 + type: string + identifier: + type: string + name: + type: string + notificationGroupId: + type: string + preferenceSettings: + $ref: '#/components/schemas/PreferenceChannels' + steps: + items: + $ref: '#/components/schemas/NotificationStep' + type: array + tags: + items: + type: string + type: array + required: + - name + - notificationGroupId + type: object + VariablesResponseDto: + properties: + system: + type: object + translations: + type: object + required: + - translations + - system + type: object + WorkflowResponse: + properties: + _creatorId: + type: string + _environmentId: + type: string + _id: + type: string + _notificationGroupId: + type: string + _organizationId: + type: string + _parentId: + type: string + active: + type: boolean + critical: + type: boolean + data: + type: object + deleted: + type: boolean + deletedAt: + type: string + deletedBy: + type: string + description: + type: string + draft: + type: boolean + name: + type: string + notificationGroup: + $ref: '#/components/schemas/NotificationGroup' + preferenceSettings: + $ref: '#/components/schemas/PreferenceChannels' + steps: + items: + $ref: '#/components/schemas/NotificationStep' + type: array + tags: + items: + type: string + type: array + triggers: + items: + $ref: '#/components/schemas/NotificationTrigger' + type: array + workflowIntegrationStatus: + type: object + required: + - name + - description + - active + - draft + - preferenceSettings + - critical + - tags + - steps + - _organizationId + - _creatorId + - _environmentId + - triggers + - _notificationGroupId + - deleted + - deletedAt + - deletedBy + type: object + WorkflowsResponseDto: + properties: + data: + items: + $ref: '#/components/schemas/WorkflowResponse' + type: array + page: + type: number + pageSize: + type: number + totalCount: + type: number + required: + - totalCount + - data + - pageSize + - page + type: object + securitySchemes: + api-key: + description: 'API key authentication. Allowed headers-- "Authorization: ApiKey ".' + in: header + name: Authorization + type: apiKey +externalDocs: + description: Novu Documentation + url: https://docs.novu.co +info: + contact: + email: support@novu.co + name: Novu Support + url: https://discord.gg/novu + description: Novu REST API. Please see https://docs.novu.co/api-reference for more details. + license: + name: MIT + url: https://opensource.org/license/mit + termsOfService: https://novu.co/terms + title: Novu API + version: "1.0" +openapi: 3.0.0 +paths: + /v1/auth/google: {} + /v1/auth/google/callback: {} + /v1/changes: + get: + operationId: ChangesController_getChanges + parameters: + - in: query + name: page + required: false + schema: + type: number + - in: query + name: limit + required: false + schema: + default: 10 + maximum: 100 + type: number + - in: query + name: promoted + required: true + schema: + default: "false" + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ChangesResponseDto' + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get changes + tags: + - Changes + /v1/changes/{changeId}/apply: + post: + operationId: ChangesController_applyDiff + parameters: + - in: path + name: changeId + required: true + schema: + type: string + responses: + "201": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ChangeResponseDto' + type: array + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Apply change + tags: + - Changes + x-speakeasy-name-override: apply + /v1/changes/bulk/apply: + post: + operationId: ChangesController_bulkApplyDiff + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BulkApplyChangeDto' + required: true + responses: + "201": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ChangeResponseDto' + type: array + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Apply changes + tags: + - Changes + x-speakeasy-name-override: applyBulk + /v1/changes/count: + get: + operationId: ChangesController_getChangesCount + parameters: [] + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/DataNumberDto' + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get changes count + tags: + - Changes + x-speakeasy-name-override: count + /v1/environments: + get: + operationId: EnvironmentsController_listMyEnvironments + parameters: [] + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/EnvironmentResponseDto' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get environments + tags: + - Environments + /v1/environments/api-keys: + get: + operationId: EnvironmentsController_listOrganizationApiKeys + parameters: [] + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ApiKey' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get api keys + tags: + - Environments + x-speakeasy-group: Environments.ApiKeys + /v1/environments/api-keys/regenerate: + post: + operationId: EnvironmentsController_regenerateOrganizationApiKeys + parameters: [] + responses: + "201": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ApiKey' + type: array + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Regenerate api keys + tags: + - Environments + x-speakeasy-group: Environments.ApiKeys + x-speakeasy-name-override: regenerate + /v1/environments/me: + get: + operationId: EnvironmentsController_getCurrentEnvironment + parameters: [] + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/EnvironmentResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get current environment + tags: + - Environments + /v1/events/trigger: + post: + description: "\n Trigger event is the main (and only) way to send notifications to subscribers. \n The trigger identifier is used to match the particular workflow associated with it. \n Additional information can be passed according the body interface below.\n " + operationId: EventsController_trigger + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerEventRequestDto' + required: true + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerEventResponseDto' + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Trigger event + tags: + - Events + x-speakeasy-group: "" + x-speakeasy-name-override: trigger + x-speakeasy-usage-example: + title: Trigger Notification Event + /v1/events/trigger/{transactionId}: + delete: + description: "\n Using a previously generated transactionId during the event trigger,\n will cancel any active or pending workflows. This is useful to cancel active digests, delays etc...\n " + operationId: EventsController_cancel + parameters: + - in: path + name: transactionId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/DataBooleanDto' + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Cancel triggered event + tags: + - Events + x-speakeasy-name-override: cancel + /v1/events/trigger/broadcast: + post: + description: |- + Trigger a broadcast event to all existing subscribers, could be used to send announcements, etc. + In the future could be used to trigger events to a subset of subscribers based on defined filters. + operationId: EventsController_broadcastEventToAll + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerEventToAllRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerEventResponseDto' + description: Ok + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerEventResponseDto' + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Broadcast event to all + tags: + - Events + x-speakeasy-name-override: triggerBroadcast + /v1/events/trigger/bulk: + post: + description: "\n Using this endpoint you can trigger multiple events at once, to avoid multiple calls to the API.\n The bulk API is limited to 100 events per request.\n " + operationId: EventsController_triggerBulk + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BulkTriggerEventDto' + required: true + responses: + "201": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/TriggerEventResponseDto' + type: array + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Bulk trigger event + tags: + - Events + x-speakeasy-name-override: triggerBulk + /v1/execution-details: + get: + operationId: ExecutionDetailsController_getExecutionDetailsForNotification + parameters: + - in: query + name: notificationId + required: true + schema: + type: string + - in: query + name: subscriberId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ExecutionDetailsResponseDto' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get execution details + tags: + - Execution Details + /v1/feeds: + get: + operationId: FeedsController_getFeeds + parameters: [] + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/FeedResponseDto' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get feeds + tags: + - Feeds + post: + operationId: FeedsController_createFeed + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFeedRequestDto' + required: true + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/FeedResponseDto' + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Create feed + tags: + - Feeds + /v1/feeds/{feedId}: + delete: + operationId: FeedsController_deleteFeedById + parameters: + - in: path + name: feedId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/FeedResponseDto' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Delete feed + tags: + - Feeds + /v1/integrations: + get: + description: Return all the integrations the user has created for that organization. Review v.0.17.0 changelog for a breaking change + operationId: IntegrationsController_listIntegrations + parameters: [] + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/IntegrationResponseDto' + type: array + description: The list of integrations belonging to the organization that are successfully returned. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get integrations + tags: + - Integrations + post: + description: Create an integration for the current environment the user is based on the API key provided + operationId: IntegrationsController_createIntegration + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateIntegrationRequestDto' + required: true + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponseDto' + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Create integration + tags: + - Integrations + /v1/integrations/{integrationId}: + delete: + operationId: IntegrationsController_removeIntegration + parameters: + - in: path + name: integrationId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/IntegrationResponseDto' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Delete integration + tags: + - Integrations + put: + operationId: IntegrationsController_updateIntegrationById + parameters: + - in: path + name: integrationId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateIntegrationRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponseDto' + description: Ok + "404": + description: The integration with the integrationId provided does not exist in the database. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update integration + tags: + - Integrations + /v1/integrations/{integrationId}/set-primary: + post: + operationId: IntegrationsController_setIntegrationAsPrimary + parameters: + - in: path + name: integrationId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponseDto' + description: Ok + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponseDto' + description: "" + "404": + description: The integration with the integrationId provided does not exist in the database. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Set integration as primary + tags: + - Integrations + x-speakeasy-name-override: setAsPrimary + /v1/integrations/active: + get: + description: Return all the active integrations the user has created for that organization. Review v.0.17.0 changelog for a breaking change + operationId: IntegrationsController_getActiveIntegrations + parameters: [] + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/IntegrationResponseDto' + type: array + description: The list of active integrations belonging to the organization that are successfully returned. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get active integrations + tags: + - Integrations + x-speakeasy-name-override: listActive + /v1/integrations/webhook/provider/{providerOrIntegrationId}/status: + get: + description: Return the status of the webhook for this provider, if it is supported or if it is not based on a boolean value + operationId: IntegrationsController_getWebhookSupportStatus + parameters: + - in: path + name: providerOrIntegrationId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + type: boolean + description: The status of the webhook for the provider requested + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get webhook support status for provider + tags: + - Integrations + x-speakeasy-group: Integrations.Webhooks + /v1/layouts: + get: + description: Returns a list of layouts that can be paginated using the `page` query parameter and filtered by the environment where it is executed from the organization the user belongs to. + operationId: LayoutsController_listLayouts + parameters: + - description: Number of page for pagination + in: query + name: page + required: false + schema: + minimum: 0 + type: number + - description: Size of page for pagination + in: query + name: pageSize + required: false + schema: + minimum: 0 + type: number + - description: Sort field. Currently only supported `createdAt` + in: query + name: sortBy + required: false + schema: + type: string + - description: Direction of the sorting query param + in: query + name: orderBy + required: false + schema: + enum: + - ASC + - DESC + type: string + responses: + "200": + description: The list of layouts that match the criteria of the query params are successfully returned. + "400": + description: Page size can not be larger than the page size limit. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Filter layouts + tags: + - Layouts + post: + description: Create a layout + operationId: LayoutsController_PropertyDescriptor + parameters: [] + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLayoutResponseDto' + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Layout creation + tags: + - Layouts + x-speakeasy-name-override: create + /v1/layouts/{layoutId}: + delete: + description: Execute a soft delete of a layout given a certain ID. + operationId: LayoutsController_deleteLayout + parameters: + - in: path + name: layoutId + required: true + schema: + type: string + responses: + "204": + description: The layout has been deleted correctly + "404": + description: The layout with the layoutId provided does not exist in the database so it can not be deleted. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: Either you are trying to delete a layout that is being used or a layout that is the default in the environment. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Delete layout + tags: + - Layouts + get: + description: Get a layout by its ID + operationId: LayoutsController_getLayout + parameters: + - in: path + name: layoutId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/GetLayoutResponseDto' + description: Ok + "404": + description: The layout with the layoutId provided does not exist in the database. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get layout + tags: + - Layouts + patch: + description: Update the name, content and variables of a layout. Also change it to be default or no. + operationId: LayoutsController_updateLayout + parameters: + - in: path + name: layoutId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateLayoutRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateLayoutResponseDto' + description: Ok + "400": + description: The payload provided or the URL param are not right. + "404": + description: The layout with the layoutId provided does not exist in the database so it can not be updated. + "409": + content: + application/json: + schema: + example: One default layout is required + description: One default layout is needed. If you are trying to turn a default layout as not default, you should turn a different layout as default first and automatically it will be done by the system. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update a layout + tags: + - Layouts + /v1/layouts/{layoutId}/default: + post: + description: Sets the default layout for the environment and updates to non default to the existing default layout (if any). + operationId: LayoutsController_setDefaultLayout + parameters: + - in: path + name: layoutId + required: true + schema: + type: string + responses: + "204": + description: The selected layout has been set as the default for the environment. + "404": + description: The layout with the layoutId provided does not exist in the database so it can not be set as the default for the environment. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Set default layout + tags: + - Layouts + x-speakeasy-name-override: setAsDefault + /v1/messages: + get: + description: Returns a list of messages, could paginate using the `page` query parameter + operationId: MessagesController_getMessages + parameters: + - in: query + name: channel + required: false + schema: + enum: + - in_app + - email + - sms + - chat + - push + type: string + - in: query + name: subscriberId + required: false + schema: + type: string + - in: query + name: transactionId + required: false + schema: + items: + type: string + type: array + - in: query + name: page + required: false + schema: + default: 0 + type: number + - in: query + name: limit + required: false + schema: + default: 10 + type: number + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesResponseDto' + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get messages + tags: + - Messages + /v1/messages/{messageId}: + delete: + description: Deletes a message entity from the Novu platform + operationId: MessagesController_deleteMessage + parameters: + - in: path + name: messageId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteMessageResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Delete message + tags: + - Messages + /v1/messages/transaction/{transactionId}: + delete: + description: Deletes messages entity from the Novu platform using TransactionId of message + operationId: MessagesController_deleteMessagesByTransactionId + parameters: + - description: The channel of the message to be deleted + in: query + name: channel + required: false + schema: + enum: + - in_app + - email + - sms + - chat + - push + type: string + - in: path + name: transactionId + required: true + schema: + type: string + responses: + "204": + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Delete messages by transactionId + tags: + - Messages + x-speakeasy-name-override: deleteByTransactionId + /v1/notification-groups: + get: + description: workflow group was previously named notification group + operationId: NotificationGroupsController_listNotificationGroups + parameters: [] + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NotificationGroupResponseDto' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get workflow groups + tags: + - Workflow groups + post: + description: workflow group was previously named notification group + operationId: NotificationGroupsController_createNotificationGroup + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateNotificationGroupRequestDto' + required: true + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationGroupResponseDto' + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Create workflow group + tags: + - Workflow groups + /v1/notification-groups/{id}: + delete: + description: workflow group was previously named notification group + operationId: NotificationGroupsController_deleteNotificationGroup + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteNotificationGroupResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Delete workflow group + tags: + - Workflow groups + get: + description: workflow group was previously named notification group + operationId: NotificationGroupsController_getNotificationGroup + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationGroupResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get workflow group + tags: + - Workflow groups + patch: + description: workflow group was previously named notification group + operationId: NotificationGroupsController_updateNotificationGroup + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateNotificationGroupRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationGroupResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update workflow group + tags: + - Workflow groups + /v1/notifications: + get: + operationId: NotificationsController_listNotifications + parameters: + - in: query + name: channels + required: true + schema: + items: + enum: + - in_app + - email + - sms + - chat + - push + type: string + type: array + - in: query + name: templates + required: true + schema: + items: + type: string + type: array + - in: query + name: emails + required: true + schema: + items: + type: string + type: array + - deprecated: true + in: query + name: search + required: true + schema: + type: string + - in: query + name: subscriberIds + required: true + schema: + items: + type: string + type: array + - in: query + name: page + required: false + schema: + default: 0 + type: number + - in: query + name: transactionId + required: false + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesResponseDto' + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get notifications + tags: + - Notifications + /v1/notifications/{notificationId}: + get: + operationId: NotificationsController_getNotification + parameters: + - in: path + name: notificationId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityNotificationResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get notification + tags: + - Notifications + /v1/notifications/graph/stats: + get: + operationId: NotificationsController_getActivityGraphStats + parameters: + - in: query + name: days + required: false + schema: + type: number + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ActivityGraphStatesResponse' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get notification graph statistics + tags: + - Notifications + x-speakeasy-group: Notifications.Stats + x-speakeasy-name-override: graph + /v1/notifications/stats: + get: + operationId: NotificationsController_getActivityStats + parameters: [] + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityStatsResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get notification statistics + tags: + - Notifications + x-speakeasy-group: Notifications.Stats + /v1/organizations: + get: + operationId: OrganizationController_listOrganizations + parameters: [] + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/OrganizationResponseDto' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Fetch all organizations + tags: + - Organizations + patch: + operationId: OrganizationController_rename + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RenameOrganizationDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/RenameOrganizationDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Rename organization name + tags: + - Organizations + x-speakeasy-name-override: rename + post: + operationId: OrganizationController_createOrganization + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateOrganizationDto' + required: true + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationResponseDto' + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Create an organization + tags: + - Organizations + /v1/organizations/branding: + put: + operationId: OrganizationController_updateBrandingDetails + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateBrandingDetailsDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationBrandingResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update organization branding details + tags: + - Organizations + x-speakeasy-group: Organizations.Branding + /v1/organizations/me: + get: + operationId: OrganizationController_getSelfOrganizationData + parameters: [] + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Fetch current organization details + tags: + - Organizations + /v1/organizations/members: + get: + operationId: OrganizationController_listOrganizationMembers + parameters: [] + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/MemberResponseDto' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Fetch all members of current organizations + tags: + - Organizations + x-speakeasy-group: Organizations.Members + /v1/organizations/members/{memberId}: + delete: + operationId: OrganizationController_remove + parameters: + - in: path + name: memberId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/MemberResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Remove a member from organization using memberId + tags: + - Organizations + x-speakeasy-group: Organizations.Members + /v1/subscribers: + get: + description: Returns a list of subscribers, could paginated using the `page` and `limit` query parameter + operationId: SubscribersController_listSubscribers + parameters: + - in: query + name: page + required: false + schema: + type: number + - in: query + name: limit + required: false + schema: + default: 10 + maximum: 100 + type: number + responses: + "200": + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/PaginatedResponseDto' + - properties: + data: + items: + $ref: '#/components/schemas/SubscriberResponseDto' + type: array + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get subscribers + tags: + - Subscribers + x-speakeasy-pagination: + inputs: + - in: parameters + name: page + type: page + - in: parameters + name: limit + type: limit + outputs: + results: $.data.resultArray + type: offsetLimit + post: + description: Creates a subscriber entity, in the Novu platform. The subscriber will be later used to receive notifications, and access notification feeds. Communication credentials such as email, phone number, and 3 rd party credentials i.e slack tokens could be later associated to this entity. + operationId: SubscribersController_createSubscriber + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateSubscriberRequestDto' + required: true + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriberResponseDto' + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Create subscriber + tags: + - Subscribers + /v1/subscribers/{subscriberId}: + delete: + description: Deletes a subscriber entity from the Novu platform + operationId: SubscribersController_removeSubscriber + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteSubscriberResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Delete subscriber + tags: + - Subscribers + get: + description: Get subscriber by your internal id used to identify the subscriber + operationId: SubscribersController_getSubscriber + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriberResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get subscriber + tags: + - Subscribers + put: + description: Used to update the subscriber entity with new information + operationId: SubscribersController_updateSubscriber + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSubscriberRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriberResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update subscriber + tags: + - Subscribers + /v1/subscribers/{subscriberId}/credentials: + patch: + description: |- + Subscriber credentials associated to the delivery methods such as slack and push tokens. + This endpoint appends provided credentials and deviceTokens to the existing ones. + operationId: SubscribersController_modifySubscriberChannel + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSubscriberChannelRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriberResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Modify subscriber credentials + tags: + - Subscribers + x-speakeasy-group: Subscribers.Credentials + x-speakeasy-name-override: append + put: + description: Subscriber credentials associated to the delivery methods such as slack and push tokens. + operationId: SubscribersController_updateSubscriberChannel + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSubscriberChannelRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriberResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update subscriber credentials + tags: + - Subscribers + x-speakeasy-group: Subscribers.Credentials + /v1/subscribers/{subscriberId}/credentials/{providerId}: + delete: + description: Delete subscriber credentials such as slack and expo tokens. + operationId: SubscribersController_deleteSubscriberCredentials + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + - in: path + name: providerId + required: true + schema: + type: string + responses: + "204": + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Delete subscriber credentials by providerId + tags: + - Subscribers + x-speakeasy-group: Subscribers.Credentials + /v1/subscribers/{subscriberId}/credentials/{providerId}/oauth: + get: + operationId: SubscribersController_chatAccessOauth + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + - in: path + name: providerId + required: true + schema: + type: string + - in: query + name: hmacHash + required: true + schema: + type: string + - in: query + name: environmentId + required: true + schema: + type: string + - in: query + name: integrationIdentifier + required: false + schema: + type: string + responses: + "200": + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Handle chat oauth + tags: + - Subscribers + x-speakeasy-group: Subscribers.Authentication + x-speakeasy-name-override: chatAccessOauth + /v1/subscribers/{subscriberId}/credentials/{providerId}/oauth/callback: + get: + operationId: SubscribersController_chatOauthCallback + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + - in: path + name: providerId + required: true + schema: + type: string + - in: query + name: code + required: true + schema: + type: string + - in: query + name: hmacHash + required: true + schema: + type: string + - in: query + name: environmentId + required: true + schema: + type: string + - in: query + name: integrationIdentifier + required: false + schema: + type: string + responses: + "200": + content: + application/json: + schema: + type: object + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Handle providers oauth redirect + tags: + - Subscribers + x-speakeasy-group: Subscribers.Authentication + x-speakeasy-name-override: chatAccessOauthCallBack + /v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type}: + post: + operationId: SubscribersController_markActionAsSeen + parameters: + - in: path + name: messageId + required: true + schema: + type: string + - in: path + name: type + required: true + schema: + type: string + - in: path + name: subscriberId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MarkMessageActionAsSeenDto' + required: true + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/MessageResponseDto' + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Mark message action as seen + tags: + - Subscribers + x-speakeasy-group: Subscribers.Messages + x-speakeasy-name-override: updateAsSeen + /v1/subscribers/{subscriberId}/messages/mark-all: + post: + operationId: SubscribersController_markAllUnreadAsRead + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MarkAllMessageAsRequestDto' + required: true + responses: + "201": + content: + application/json: + schema: + type: number + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Marks all the subscriber messages as read, unread, seen or unseen. Optionally you can pass feed id (or array) to mark messages of a particular feed. + tags: + - Subscribers + x-speakeasy-group: Subscribers.Messages + x-speakeasy-name-override: markAll + /v1/subscribers/{subscriberId}/messages/mark-as: + post: + operationId: SubscribersController_markMessagesAs + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MessageMarkAsRequestDto' + required: true + responses: + "201": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/MessageEntity' + type: array + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Mark a subscriber messages as seen, read, unseen or unread + tags: + - Subscribers + x-speakeasy-group: Subscribers.Messages + x-speakeasy-name-override: markAllAs + /v1/subscribers/{subscriberId}/notifications/feed: + get: + operationId: SubscribersController_getNotificationsFeed + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + - in: query + name: page + required: false + schema: + type: number + - in: query + name: limit + required: false + schema: + default: 10 + maximum: 100 + type: number + - in: query + name: read + required: false + schema: + type: boolean + - in: query + name: seen + required: false + schema: + type: boolean + - description: Base64 encoded string of the partial payload JSON object + example: 'btoa(JSON.stringify({ foo: 123 })) results in base64 encoded string like eyJmb28iOjEyM30=' + in: query + name: payload + required: false + schema: + type: string + responses: + "200": + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/PaginatedResponseDto' + - properties: + data: + items: + $ref: '#/components/schemas/FeedResponseDto' + type: array + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get in-app notification feed for a particular subscriber + tags: + - Subscribers + x-speakeasy-group: Subscribers.Notifications + /v1/subscribers/{subscriberId}/notifications/unseen: + get: + operationId: SubscribersController_getUnseenCount + parameters: + - in: query + name: seen + required: true + schema: + type: boolean + - in: path + name: subscriberId + required: true + schema: + type: string + - in: query + name: limit + required: true + schema: + type: number + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/UnseenCountResponse' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get the unseen in-app notifications count for subscribers feed + tags: + - Subscribers + x-speakeasy-group: Subscribers.Notifications + x-speakeasy-name-override: unseenCount + /v1/subscribers/{subscriberId}/online-status: + patch: + description: Used to update the subscriber isOnline flag. + operationId: SubscribersController_updateSubscriberOnlineFlag + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSubscriberOnlineFlagRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriberResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update subscriber online status + tags: + - Subscribers + x-speakeasy-group: Subscribers.properties + x-speakeasy-name-override: updateOnlineFlag + /v1/subscribers/{subscriberId}/preferences: + get: + operationId: SubscribersController_listSubscriberPreferences + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/UpdateSubscriberPreferenceResponseDto' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get subscriber preferences + tags: + - Subscribers + x-speakeasy-group: Subscribers.Preferences + patch: + operationId: SubscribersController_updateSubscriberGlobalPreferences + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSubscriberGlobalPreferencesRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSubscriberPreferenceResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update subscriber global preferences + tags: + - Subscribers + x-speakeasy-group: Subscribers.Preferences + x-speakeasy-name-override: updateGlobal + /v1/subscribers/{subscriberId}/preferences/{parameter}: + get: + operationId: SubscribersController_getSubscriberPreferenceByLevel + parameters: + - description: 'the preferences level to be retrieved( Subscriber / Topic) ' + in: path + name: parameter + required: true + schema: + enum: + - Subscriber + - Topic + type: string + - in: path + name: subscriberId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/GetSubscriberPreferencesResponseDto' + type: array + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get subscriber preferences by level + tags: + - Subscribers + x-speakeasy-group: Subscribers.Preferences + x-speakeasy-name-override: retrieveByLevel + patch: + operationId: SubscribersController_updateSubscriberPreference + parameters: + - in: path + name: subscriberId + required: true + schema: + type: string + - in: path + name: parameter + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSubscriberPreferenceRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSubscriberPreferenceResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update subscriber preference + tags: + - Subscribers + x-speakeasy-group: Subscribers.Preferences + /v1/subscribers/bulk: + post: + description: "\n Using this endpoint you can create multiple subscribers at once, to avoid multiple calls to the API.\n The bulk API is limited to 500 subscribers per request.\n " + operationId: SubscribersController_bulkCreateSubscribers + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BulkSubscriberCreateDto' + required: true + responses: + "201": + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Bulk create subscribers + tags: + - Subscribers + x-speakeasy-name-override: createBulk + /v1/tenants: + get: + description: Returns a list of tenants, could paginated using the `page` and `limit` query parameter + operationId: TenantController_listTenants + parameters: + - in: query + name: page + required: false + schema: + type: number + - in: query + name: limit + required: false + schema: + default: 10 + maximum: 100 + type: number + responses: + "200": + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/PaginatedResponseDto' + - properties: + data: + items: + $ref: '#/components/schemas/GetTenantResponseDto' + type: array + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get tenants + tags: + - Tenants + x-speakeasy-pagination: + inputs: + - in: parameters + name: page + type: page + - in: parameters + name: limit + type: limit + outputs: + results: $.data.resultArray + type: offsetLimit + post: + description: Create tenant under the current environment + operationId: TenantController_createTenant + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTenantRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTenantResponseDto' + description: Ok + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTenantResponseDto' + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: A tenant with the same identifier is already exist. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Create tenant + tags: + - Tenants + /v1/tenants/{identifier}: + delete: + description: Deletes a tenant entity from the Novu platform + operationId: TenantController_removeTenant + parameters: + - in: path + name: identifier + required: true + schema: + type: string + responses: + "204": + description: The tenant has been deleted correctly + "404": + description: The tenant with the identifier provided does not exist in the database so it can not be deleted. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Delete tenant + tags: + - Tenants + get: + description: Get tenant by your internal id used to identify the tenant + operationId: TenantController_getTenantById + parameters: + - in: path + name: identifier + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/GetTenantResponseDto' + description: Ok + "404": + description: The tenant with the identifier provided does not exist in the database. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get tenant + tags: + - Tenants + patch: + description: Update tenant by your internal id used to identify the tenant + operationId: TenantController_updateTenant + parameters: + - in: path + name: identifier + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateTenantRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateTenantResponseDto' + description: Ok + "404": + description: The tenant with the identifier provided does not exist in the database. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update tenant + tags: + - Tenants + /v1/topics: + get: + description: Returns a list of topics that can be paginated using the `page` query parameter and filtered by the topic key with the `key` query parameter + operationId: TopicsController_listTopics + parameters: + - description: Number of page for the pagination + in: query + name: page + required: false + schema: + default: 0 + minimum: 0 + type: number + - description: Size of page for the pagination + in: query + name: pageSize + required: false + schema: + default: 10 + minimum: 0 + type: number + - description: Topic key + in: query + name: key + required: false + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/FilterTopicsResponseDto' + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Filter topics + tags: + - Topics + post: + description: Create a topic + operationId: TopicsController_createTopic + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestDto' + required: true + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicResponseDto' + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Topic creation + tags: + - Topics + /v1/topics/{topicKey}: + delete: + description: Delete a topic by its topic key if it has no subscribers + operationId: TopicsController_deleteTopic + parameters: + - in: path + name: topicKey + required: true + schema: + type: string + responses: + "204": + description: The topic has been deleted correctly + "404": + description: The topic with the key provided does not exist in the database so it can not be deleted. + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The topic you are trying to delete has subscribers assigned to it. Delete the subscribers before deleting the topic. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Delete topic + tags: + - Topics + get: + description: Get a topic by its topic key + operationId: TopicsController_getTopic + parameters: + - in: path + name: topicKey + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/GetTopicResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get topic + tags: + - Topics + patch: + description: Rename a topic by providing a new name + operationId: TopicsController_renameTopic + parameters: + - in: path + name: topicKey + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RenameTopicRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/RenameTopicResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Rename a topic + tags: + - Topics + x-speakeasy-name-override: rename + /v1/topics/{topicKey}/subscribers: + post: + description: Add subscribers to a topic by key + operationId: TopicsController_addSubscribers + parameters: + - in: path + name: topicKey + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddSubscribersRequestDto' + required: true + responses: + "200": + description: "" + "204": + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Subscribers addition + tags: + - Topics + x-speakeasy-group: Topics.Subscribers + x-speakeasy-name-override: assign + /v1/topics/{topicKey}/subscribers/{externalSubscriberId}: + get: + description: Check if a subscriber belongs to a certain topic + operationId: TopicsController_getTopicSubscriber + parameters: + - in: path + name: topicKey + required: true + schema: + type: string + - in: path + name: externalSubscriberId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/TopicSubscriberDto' + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Check topic subscriber + tags: + - Topics + x-speakeasy-group: Topics.Subscribers + /v1/topics/{topicKey}/subscribers/removal: + post: + description: Remove subscribers from a topic + operationId: TopicsController_removeSubscribers + parameters: + - in: path + name: topicKey + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveSubscribersRequestDto' + required: true + responses: + "204": + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Subscribers removal + tags: + - Topics + x-speakeasy-group: Topics.Subscribers + /v1/workflows: + get: + description: Workflows were previously named notification templates + operationId: WorkflowController_listWorkflows + parameters: + - in: query + name: page + required: false + schema: + type: number + - in: query + name: limit + required: false + schema: + default: 10 + maximum: 100 + type: number + - description: A query string to filter the results. It allows filtering based on either the name or trigger identifier of the workflow items. + in: query + name: query + required: false + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowsResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get workflows + tags: + - Workflows + post: + description: Workflow was previously named notification template + operationId: WorkflowController_create + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateWorkflowRequestDto' + required: true + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowResponse' + description: Created + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Create workflow + tags: + - Workflows + /v1/workflows/{workflowId}: + delete: + description: Workflow was previously named notification template + operationId: WorkflowController_deleteWorkflowById + parameters: + - in: path + name: workflowId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/DataBooleanDto' + description: "" + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Delete workflow + tags: + - Workflows + get: + description: Workflow was previously named notification template + operationId: WorkflowController_getWorkflowById + parameters: + - in: path + name: workflowId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowResponse' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get workflow + tags: + - Workflows + put: + description: Workflow was previously named notification template + operationId: WorkflowController_updateWorkflowById + parameters: + - in: path + name: workflowId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateWorkflowRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowResponse' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update workflow + tags: + - Workflows + /v1/workflows/{workflowId}/status: + put: + description: Workflow was previously named notification template + operationId: WorkflowController_updateActiveStatus + parameters: + - in: path + name: workflowId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChangeWorkflowStatusRequestDto' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowResponse' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Update workflow status + tags: + - Workflows + x-speakeasy-group: Workflows.Status + /v1/workflows/variables: + get: + description: Get the variables that can be used in the workflow + operationId: WorkflowController_getWorkflowVariables + parameters: [] + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/VariablesResponseDto' + description: Ok + "409": + content: + application/json: + schema: + example: Request with key 3909d656-d4fe-4e80-ba86-90d3861afcd7 is currently being processed. Please retry after 1 second + type: string + description: The request could not be completed due to a conflict with the current state of the target resource. + "429": + content: + application/json: + schema: + example: API rate limit exceeded + type: string + description: 'The client has sent too many requests in a given amount of time. ' + "503": + content: + application/json: + schema: + example: Please wait some time, then try again. + type: string + description: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. + security: + - api-key: [] + summary: Get available variables + tags: + - Workflows + x-speakeasy-group: Workflows.Variables +servers: + - url: https://api.novu.co + - url: https://eu.api.novu.co +tags: + - description: Events represent a change in state of a subscriber. They are used to trigger workflows, and enable you to send notifications to subscribers based on their actions. + externalDocs: + url: https://docs.novu.co/workflows + name: Events + - description: A subscriber in Novu represents someone who should receive a message. A subscriber’s profile information contains important attributes about the subscriber that will be used in messages (name, email). The subscriber object can contain other key-value pairs that can be used to further personalize your messages. + externalDocs: + url: https://docs.novu.co/subscribers/subscribers + name: Subscribers + - description: Topics are a way to group subscribers together so that they can be notified of events at once. A topic is identified by a custom key. This can be helpful for things like sending out marketing emails or notifying users of new features. Topics can also be used to send notifications to the subscribers who have been grouped together based on their interests, location, activities and much more. + externalDocs: + url: https://docs.novu.co/subscribers/topics + name: Topics + - description: A notification conveys information from source to recipient, triggered by a workflow acting as a message blueprint. Notifications can be individual or bundled as digest for user-friendliness. + externalDocs: + url: https://docs.novu.co/getting-started/introduction + name: Notification + - description: With the help of the Integration Store, you can easily integrate your favorite delivery provider. During the runtime of the API, the Integrations Store is responsible for storing the configurations of all the providers. + externalDocs: + url: https://docs.novu.co/channels-and-providers/integration-store + name: Integrations + - description: Novu allows the creation of layouts - a specific HTML design or structure to wrap content of email notifications. Layouts can be manipulated and assigned to new or existing workflows within the Novu platform, allowing users to create, manage, and assign these layouts to workflows, so they can be reused to structure the appearance of notifications sent through the platform. + externalDocs: + url: https://docs.novu.co/content-creation-design/layouts + name: Layouts + - description: All notifications are sent via a workflow. Each workflow acts as a container for the logic and blueprint that are associated with a type of notification in your system. + externalDocs: + url: https://docs.novu.co/workflows + name: Workflows + - description: Deprecated. Use Workflows (/workflows) instead, which provide the same functionality under a new name. + name: Notification Templates + - description: Workflow groups are used to organize workflows into logical groups. + name: Workflow groups + - description: Changes represent a change in state of an environment. They are analagous to a pending pull request in git, enabling you to test changes before they are applied to your environment and atomically apply them when you are ready. + externalDocs: + url: https://docs.novu.co/platform/environments#promoting-pending-changes-to-production + name: Changes + - description: Novu uses the concept of environments to ensure logical separation of your data and configuration. This means that subscribers, and preferences created in one environment are never accessible to another. + externalDocs: + url: https://docs.novu.co/platform/environments + name: Environments + - description: Inbound Webhook is a feature that allows processing of incoming emails for a domain or subdomain. The feature parses the contents of the email and POSTs the information to a specified URL in a multipart/form-data format. + externalDocs: + url: https://docs.novu.co/platform/inbound-parse-webhook + name: Inbound Parse + - description: Novu provides a notification activity feed that monitors every outgoing message associated with its relevant metadata. This can be used to monitor activity and discover potential issues with a specific provider or a channel type. + externalDocs: + url: https://docs.novu.co/activity-feed + name: Feeds + - description: A tenant represents a group of users. As a developer, when your apps have organizations, they are referred to as tenants. Tenants in Novu provides the ability to tailor specific notification experiences to users of different groups or organizations. + externalDocs: + url: https://docs.novu.co/tenants + name: Tenants + - description: A message in Novu represents a notification delivered to a recipient on a particular channel. Messages contain information about the request that triggered its delivery, a view of the data sent to the recipient, and a timeline of its lifecycle events. Learn more about messages. + externalDocs: + url: https://docs.novu.co/workflows/messages + name: Messages + - description: An organization serves as a separate entity within your Novu account. Each organization you create has its own separate integration store, workflows, subscribers, and API keys. This separation of resources allows you to manage multi-tenant environments and separate domains within a single account. + externalDocs: + url: https://docs.novu.co/platform/organizations + name: Organizations + - description: Execution details are used to track the execution of a workflow. They provided detailed information on the execution of a workflow, including the status of each step, the input and output of each step, and the overall status of the execution. + externalDocs: + url: https://docs.novu.co/activity-feed + name: Execution Details + - description: Translations are used to localize your messages for different languages and regions. Novu provides a way to create and manage translations for your messages. You can create translations for your messages in different languages and regions, and assign them to your subscribers based on their preferences. + externalDocs: + url: https://docs.novu.co/content-creation-design/translations + name: Translations +x-speakeasy-name-override: + - methodNameOverride: retrieve + operationId: ^.*get.* + - methodNameOverride: retrieve + operationId: ^.*retrieve.* + - methodNameOverride: create + operationId: ^.*create.* + - methodNameOverride: update + operationId: ^.*update.* + - methodNameOverride: list + operationId: ^.*list.* + - methodNameOverride: delete + operationId: ^.*delete.* + - methodNameOverride: delete + operationId: ^.*remove.* +x-speakeasy-retries: + backoff: + exponent: 1.5 + initialInterval: 500 + maxElapsedTime: 3600000 + maxInterval: 30000 + retryConnectionErrors: true + statusCodes: + - "408" + - "409" + - "429" + - 5XX + strategy: backoff diff --git a/src/hooks/hooks.ts b/src/hooks/hooks.ts index 8a3db0da..6a1e31e0 100644 --- a/src/hooks/hooks.ts +++ b/src/hooks/hooks.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { RequestInput } from "../lib/http"; +import { RequestInput } from "../lib/http.js"; import { AfterErrorContext, AfterErrorHook, @@ -15,9 +15,9 @@ import { Hooks, SDKInitHook, SDKInitOptions, -} from "./types"; +} from "./types.js"; -import { initHooks } from "./registration"; +import { initHooks } from "./registration.js"; export class SDKHooks implements Hooks { sdkInitHooks: SDKInitHook[] = []; diff --git a/src/hooks/index.ts b/src/hooks/index.ts index 3df03930..d5fdd742 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -2,5 +2,5 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -export * from "./types"; -export * from "./hooks"; +export * from "./types.js"; +export * from "./hooks.js"; diff --git a/src/hooks/types.ts b/src/hooks/types.ts index a5b367a8..dd23b024 100644 --- a/src/hooks/types.ts +++ b/src/hooks/types.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { HTTPClient, RequestInput } from "../lib/http"; +import { HTTPClient, RequestInput } from "../lib/http.js"; export type HookContext = { operationID: string; diff --git a/src/index.ts b/src/index.ts index 32044eba..8bc6ae3e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,5 +2,5 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -export * from "./sdk"; -export * from "./lib/config"; +export * from "./sdk/sdk.js"; +export * from "./lib/config.js"; diff --git a/src/lib/config.ts b/src/lib/config.ts index eddaba15..7988d12c 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -2,9 +2,9 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { HTTPClient } from "./http"; -import { RetryConfig } from "./retries"; -import { Params, pathToFunc } from "./url"; +import { HTTPClient } from "./http.js"; +import { RetryConfig } from "./retries.js"; +import { Params, pathToFunc } from "./url.js"; /** * Contains the list of servers available to the SDK @@ -49,7 +49,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null { export const SDK_METADATA = { language: "typescript", openapiDocVersion: "1.0", - sdkVersion: "0.0.1-alpha.8", - genVersion: "2.342.6", - userAgent: "speakeasy-sdk/typescript 0.0.1-alpha.8 2.342.6 1.0 @novu/api", + sdkVersion: "0.0.1-alpha.9", + genVersion: "2.354.2", + userAgent: "speakeasy-sdk/typescript 0.0.1-alpha.9 2.354.2 1.0 @novu/api", } as const; diff --git a/src/lib/encodings.ts b/src/lib/encodings.ts index c28d8944..49f536b6 100644 --- a/src/lib/encodings.ts +++ b/src/lib/encodings.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { bytesToBase64 } from "./base64"; -import { isPlainObject } from "./is-plain-object"; +import { bytesToBase64 } from "./base64.js"; +import { isPlainObject } from "./is-plain-object.js"; export class EncodingError extends Error { constructor(message: string) { diff --git a/src/lib/http.ts b/src/lib/http.ts index f28175dc..7c5107ad 100644 --- a/src/lib/http.ts +++ b/src/lib/http.ts @@ -3,9 +3,9 @@ */ import { never as znever } from "zod"; -import { parse } from "./schemas"; -import { isPlainObject } from "./is-plain-object"; -import * as errors from "../models/errors"; +import { parse } from "./schemas.js"; +import { isPlainObject } from "./is-plain-object.js"; +import { SDKError } from "../models/errors/sdkerror.js"; export type Fetcher = (input: RequestInfo | URL, init?: RequestInit) => Promise; @@ -406,7 +406,7 @@ export class ResponseMatcher { } if (pred == null) { const responseBody = await response.text(); - throw new errors.SDKError( + throw new SDKError( "Unexpected API response status or content-type", response, responseBody @@ -446,11 +446,7 @@ export class ResponseMatcher { const resultKey = pred.key || options?.resultKey; let data: unknown; if (pred.fail) { - throw new errors.SDKError( - "API error occurred", - response, - typeof raw === "string" ? raw : "" - ); + throw new SDKError("API error occurred", response, typeof raw === "string" ? raw : ""); } else if (pred.err) { data = { ...options?.extraFields, diff --git a/src/lib/schemas.ts b/src/lib/schemas.ts index 3e8270b9..94b05354 100644 --- a/src/lib/schemas.ts +++ b/src/lib/schemas.ts @@ -3,7 +3,7 @@ */ import { output, ZodEffects, ZodError, ZodObject, ZodRawShape, ZodTypeAny } from "zod"; -import { SDKValidationError } from "../models/errors/sdkvalidationerror"; +import { SDKValidationError } from "../models/errors/sdkvalidationerror.js"; /** * Utility function that executes some code which may throw a ZodError. It diff --git a/src/lib/sdks.ts b/src/lib/sdks.ts index 9ec697e7..b6f45cfc 100644 --- a/src/lib/sdks.ts +++ b/src/lib/sdks.ts @@ -2,12 +2,13 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ResponseMatcher, HTTPClient, matchStatusCode } from "./http"; -import { SecurityState, resolveSecurity, resolveGlobalSecurity } from "./security"; -import { pathToFunc } from "./url"; -import { encodeForm } from "./encodings"; -import { stringToBase64 } from "./base64"; -import { SDKHooks, HookContext } from "../hooks"; +import { ResponseMatcher, HTTPClient, matchStatusCode } from "./http.js"; +import { SecurityState, resolveSecurity, resolveGlobalSecurity } from "./security.js"; +import { pathToFunc } from "./url.js"; +import { encodeForm } from "./encodings.js"; +import { stringToBase64 } from "./base64.js"; +import { SDKHooks } from "../hooks/hooks.js"; +import { HookContext } from "../hooks/types.js"; export type RequestOptions = { fetchOptions?: Omit; diff --git a/src/lib/security.ts b/src/lib/security.ts index cf10afd8..f357a925 100644 --- a/src/lib/security.ts +++ b/src/lib/security.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import * as components from "../models/components"; +import * as components from "../models/components/index.js"; export enum SecurityErrorCode { Incomplete = "incomplete", diff --git a/src/models/components/activitiesresponsedto.ts b/src/models/components/activitiesresponsedto.ts index b290fb4c..40d68597 100644 --- a/src/models/components/activitiesresponsedto.ts +++ b/src/models/components/activitiesresponsedto.ts @@ -5,7 +5,7 @@ import { ActivityNotificationResponseDto, ActivityNotificationResponseDto$, -} from "./activitynotificationresponsedto"; +} from "./activitynotificationresponsedto.js"; import * as z from "zod"; export type ActivitiesResponseDto = { diff --git a/src/models/components/activitygraphstatesresponse.ts b/src/models/components/activitygraphstatesresponse.ts index 08ff7d5a..b3c3198a 100644 --- a/src/models/components/activitygraphstatesresponse.ts +++ b/src/models/components/activitygraphstatesresponse.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const Channels = { @@ -24,8 +24,8 @@ export type ActivityGraphStatesResponse = { /** @internal */ export namespace Channels$ { - export const inboundSchema = z.nativeEnum(Channels); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Channels); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/activitynotificationexecutiondetailresponsedto.ts b/src/models/components/activitynotificationexecutiondetailresponsedto.ts index aff8754c..c2f5c74b 100644 --- a/src/models/components/activitynotificationexecutiondetailresponsedto.ts +++ b/src/models/components/activitynotificationexecutiondetailresponsedto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export type ProviderId = {}; @@ -49,14 +49,14 @@ export namespace ProviderId$ { /** @internal */ export namespace Source$ { - export const inboundSchema = z.nativeEnum(Source); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Source); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ export namespace Status$ { - export const inboundSchema = z.nativeEnum(Status); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Status); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/activitynotificationjobresponsedto.ts b/src/models/components/activitynotificationjobresponsedto.ts index 9189f86d..fb5e319e 100644 --- a/src/models/components/activitynotificationjobresponsedto.ts +++ b/src/models/components/activitynotificationjobresponsedto.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import { ActivityNotificationExecutionDetailResponseDto, ActivityNotificationExecutionDetailResponseDto$, -} from "./activitynotificationexecutiondetailresponsedto"; +} from "./activitynotificationexecutiondetailresponsedto.js"; import { ActivityNotificationStepResponseDto, ActivityNotificationStepResponseDto$, -} from "./activitynotificationstepresponsedto"; +} from "./activitynotificationstepresponsedto.js"; import * as z from "zod"; export type Digest = {}; diff --git a/src/models/components/activitynotificationresponsedto.ts b/src/models/components/activitynotificationresponsedto.ts index 79f8b4e4..044cee76 100644 --- a/src/models/components/activitynotificationresponsedto.ts +++ b/src/models/components/activitynotificationresponsedto.ts @@ -2,20 +2,20 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; import { ActivityNotificationJobResponseDto, ActivityNotificationJobResponseDto$, -} from "./activitynotificationjobresponsedto"; +} from "./activitynotificationjobresponsedto.js"; import { ActivityNotificationSubscriberResponseDto, ActivityNotificationSubscriberResponseDto$, -} from "./activitynotificationsubscriberresponsedto"; +} from "./activitynotificationsubscriberresponsedto.js"; import { ActivityNotificationTemplateResponseDto, ActivityNotificationTemplateResponseDto$, -} from "./activitynotificationtemplateresponsedto"; +} from "./activitynotificationtemplateresponsedto.js"; import * as z from "zod"; export const ActivityNotificationResponseDtoChannels = { @@ -47,8 +47,10 @@ export type ActivityNotificationResponseDto = { /** @internal */ export namespace ActivityNotificationResponseDtoChannels$ { - export const inboundSchema = z.nativeEnum(ActivityNotificationResponseDtoChannels); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(ActivityNotificationResponseDtoChannels); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ diff --git a/src/models/components/activitynotificationstepresponsedto.ts b/src/models/components/activitynotificationstepresponsedto.ts index e5fc6f82..ff12ec69 100644 --- a/src/models/components/activitynotificationstepresponsedto.ts +++ b/src/models/components/activitynotificationstepresponsedto.ts @@ -2,9 +2,9 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { MessageTemplateDto, MessageTemplateDto$ } from "./messagetemplatedto"; -import { StepFilter, StepFilter$ } from "./stepfilter"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { MessageTemplateDto, MessageTemplateDto$ } from "./messagetemplatedto.js"; +import { StepFilter, StepFilter$ } from "./stepfilter.js"; import * as z from "zod"; export type ActivityNotificationStepResponseDto = { diff --git a/src/models/components/activitynotificationsubscriberresponsedto.ts b/src/models/components/activitynotificationsubscriberresponsedto.ts index d02667e6..d1064dad 100644 --- a/src/models/components/activitynotificationsubscriberresponsedto.ts +++ b/src/models/components/activitynotificationsubscriberresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type ActivityNotificationSubscriberResponseDto = { diff --git a/src/models/components/activitynotificationtemplateresponsedto.ts b/src/models/components/activitynotificationtemplateresponsedto.ts index 33ec2c61..81e786b7 100644 --- a/src/models/components/activitynotificationtemplateresponsedto.ts +++ b/src/models/components/activitynotificationtemplateresponsedto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { NotificationTrigger, NotificationTrigger$ } from "./notificationtrigger"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { NotificationTrigger, NotificationTrigger$ } from "./notificationtrigger.js"; import * as z from "zod"; export type ActivityNotificationTemplateResponseDto = { diff --git a/src/models/components/apikey.ts b/src/models/components/apikey.ts index b65897f6..ab0a5325 100644 --- a/src/models/components/apikey.ts +++ b/src/models/components/apikey.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type ApiKey = { diff --git a/src/models/components/bulksubscribercreatedto.ts b/src/models/components/bulksubscribercreatedto.ts index d7742f84..35b6a699 100644 --- a/src/models/components/bulksubscribercreatedto.ts +++ b/src/models/components/bulksubscribercreatedto.ts @@ -5,7 +5,7 @@ import { CreateSubscriberRequestDto, CreateSubscriberRequestDto$, -} from "./createsubscriberrequestdto"; +} from "./createsubscriberrequestdto.js"; import * as z from "zod"; export type BulkSubscriberCreateDto = { diff --git a/src/models/components/bulktriggereventdto.ts b/src/models/components/bulktriggereventdto.ts index 4c0f839f..f9bce7e6 100644 --- a/src/models/components/bulktriggereventdto.ts +++ b/src/models/components/bulktriggereventdto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { TriggerEventRequestDto, TriggerEventRequestDto$ } from "./triggereventrequestdto"; +import { TriggerEventRequestDto, TriggerEventRequestDto$ } from "./triggereventrequestdto.js"; import * as z from "zod"; export type BulkTriggerEventDto = { diff --git a/src/models/components/changeresponsedto.ts b/src/models/components/changeresponsedto.ts index f6d379d9..25182713 100644 --- a/src/models/components/changeresponsedto.ts +++ b/src/models/components/changeresponsedto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export type Change = {}; @@ -44,8 +44,8 @@ export namespace Change$ { /** @internal */ export namespace Type$ { - export const inboundSchema = z.nativeEnum(Type); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Type); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/changesresponsedto.ts b/src/models/components/changesresponsedto.ts index 8bf58575..38fbd3db 100644 --- a/src/models/components/changesresponsedto.ts +++ b/src/models/components/changesresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ChangeResponseDto, ChangeResponseDto$ } from "./changeresponsedto"; +import { ChangeResponseDto, ChangeResponseDto$ } from "./changeresponsedto.js"; import * as z from "zod"; export type ChangesResponseDto = { diff --git a/src/models/components/channelpreference.ts b/src/models/components/channelpreference.ts index 5f2dd23a..b3a7fc60 100644 --- a/src/models/components/channelpreference.ts +++ b/src/models/components/channelpreference.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; /** @@ -33,8 +33,9 @@ export type ChannelPreference = { /** @internal */ export namespace ChannelPreferenceType$ { - export const inboundSchema = z.nativeEnum(ChannelPreferenceType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(ChannelPreferenceType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/channelsettings.ts b/src/models/components/channelsettings.ts index f7517ec7..372efece 100644 --- a/src/models/components/channelsettings.ts +++ b/src/models/components/channelsettings.ts @@ -2,9 +2,9 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; -import { ChannelCredentials, ChannelCredentials$ } from "./channelcredentials"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; +import { ChannelCredentials, ChannelCredentials$ } from "./channelcredentials.js"; import * as z from "zod"; /** @@ -55,8 +55,9 @@ export type ChannelSettings = { /** @internal */ export namespace ChannelSettingsProviderId$ { - export const inboundSchema = z.nativeEnum(ChannelSettingsProviderId); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(ChannelSettingsProviderId); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/createintegrationrequestdto.ts b/src/models/components/createintegrationrequestdto.ts index 30b3f430..246b3c2b 100644 --- a/src/models/components/createintegrationrequestdto.ts +++ b/src/models/components/createintegrationrequestdto.ts @@ -2,10 +2,10 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; -import { CredentialsDto, CredentialsDto$ } from "./credentialsdto"; -import { StepFilter, StepFilter$ } from "./stepfilter"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; +import { CredentialsDto, CredentialsDto$ } from "./credentialsdto.js"; +import { StepFilter, StepFilter$ } from "./stepfilter.js"; import * as z from "zod"; export const Channel = { @@ -34,8 +34,8 @@ export type CreateIntegrationRequestDto = { /** @internal */ export namespace Channel$ { - export const inboundSchema = z.nativeEnum(Channel); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Channel); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/createlayoutresponsedto.ts b/src/models/components/createlayoutresponsedto.ts index 6edb08ec..66d78d09 100644 --- a/src/models/components/createlayoutresponsedto.ts +++ b/src/models/components/createlayoutresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type CreateLayoutResponseDto = { diff --git a/src/models/components/createorganizationdto.ts b/src/models/components/createorganizationdto.ts index 3d47c42f..ce9b4499 100644 --- a/src/models/components/createorganizationdto.ts +++ b/src/models/components/createorganizationdto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const JobTitle = { @@ -29,8 +29,8 @@ export type CreateOrganizationDto = { /** @internal */ export namespace JobTitle$ { - export const inboundSchema = z.nativeEnum(JobTitle); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(JobTitle); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/createsubscriberrequestdto.ts b/src/models/components/createsubscriberrequestdto.ts index c2fa5430..fee23f7c 100644 --- a/src/models/components/createsubscriberrequestdto.ts +++ b/src/models/components/createsubscriberrequestdto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SubscriberChannelDto, SubscriberChannelDto$ } from "./subscriberchanneldto"; +import { SubscriberChannelDto, SubscriberChannelDto$ } from "./subscriberchanneldto.js"; import * as z from "zod"; export type Data = {}; diff --git a/src/models/components/createtenantresponsedto.ts b/src/models/components/createtenantresponsedto.ts index 0e9fd9ec..6902ea65 100644 --- a/src/models/components/createtenantresponsedto.ts +++ b/src/models/components/createtenantresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type CreateTenantResponseDtoData = {}; diff --git a/src/models/components/createworkflowrequestdto.ts b/src/models/components/createworkflowrequestdto.ts index 4b612716..45b30d5a 100644 --- a/src/models/components/createworkflowrequestdto.ts +++ b/src/models/components/createworkflowrequestdto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { NotificationStep, NotificationStep$ } from "./notificationstep"; -import { PreferenceChannels, PreferenceChannels$ } from "./preferencechannels"; +import { NotificationStep, NotificationStep$ } from "./notificationstep.js"; +import { PreferenceChannels, PreferenceChannels$ } from "./preferencechannels.js"; import * as z from "zod"; export type CreateWorkflowRequestDtoData = {}; diff --git a/src/models/components/delayregularmetadata.ts b/src/models/components/delayregularmetadata.ts index 2b355d9d..ebf6e4ca 100644 --- a/src/models/components/delayregularmetadata.ts +++ b/src/models/components/delayregularmetadata.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const DelayRegularMetadataType = { @@ -28,14 +28,15 @@ export type DelayRegularMetadata = { /** @internal */ export namespace DelayRegularMetadataType$ { - export const inboundSchema = z.nativeEnum(DelayRegularMetadataType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(DelayRegularMetadataType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ export namespace Unit$ { - export const inboundSchema = z.nativeEnum(Unit); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Unit); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/delayscheduledmetadata.ts b/src/models/components/delayscheduledmetadata.ts index a31beb38..01cfd9ac 100644 --- a/src/models/components/delayscheduledmetadata.ts +++ b/src/models/components/delayscheduledmetadata.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const DelayScheduledMetadataType = { @@ -17,8 +17,10 @@ export type DelayScheduledMetadata = { /** @internal */ export namespace DelayScheduledMetadataType$ { - export const inboundSchema = z.nativeEnum(DelayScheduledMetadataType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum( + DelayScheduledMetadataType + ); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/deletemessageresponsedto.ts b/src/models/components/deletemessageresponsedto.ts index 703b0caf..4c1b672b 100644 --- a/src/models/components/deletemessageresponsedto.ts +++ b/src/models/components/deletemessageresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; /** @@ -29,8 +29,10 @@ export type DeleteMessageResponseDto = { /** @internal */ export namespace DeleteMessageResponseDtoStatus$ { - export const inboundSchema = z.nativeEnum(DeleteMessageResponseDtoStatus); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(DeleteMessageResponseDtoStatus); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ diff --git a/src/models/components/deletenotificationgroupresponsedto.ts b/src/models/components/deletenotificationgroupresponsedto.ts index ca662331..b6991086 100644 --- a/src/models/components/deletenotificationgroupresponsedto.ts +++ b/src/models/components/deletenotificationgroupresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; /** @@ -31,8 +31,10 @@ export type DeleteNotificationGroupResponseDto = { /** @internal */ export namespace DeleteNotificationGroupResponseDtoStatus$ { - export const inboundSchema = z.nativeEnum(DeleteNotificationGroupResponseDtoStatus); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(DeleteNotificationGroupResponseDtoStatus); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ diff --git a/src/models/components/deletesubscriberresponsedto.ts b/src/models/components/deletesubscriberresponsedto.ts index ab7c4d10..8b9bd5cc 100644 --- a/src/models/components/deletesubscriberresponsedto.ts +++ b/src/models/components/deletesubscriberresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; /** @@ -31,8 +31,10 @@ export type DeleteSubscriberResponseDto = { /** @internal */ export namespace DeleteSubscriberResponseDtoStatus$ { - export const inboundSchema = z.nativeEnum(DeleteSubscriberResponseDtoStatus); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(DeleteSubscriberResponseDtoStatus); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ diff --git a/src/models/components/digestregularmetadata.ts b/src/models/components/digestregularmetadata.ts index dcd78f50..3d0d492f 100644 --- a/src/models/components/digestregularmetadata.ts +++ b/src/models/components/digestregularmetadata.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const BackoffUnit = { @@ -44,20 +44,22 @@ export type DigestRegularMetadata = { /** @internal */ export namespace BackoffUnit$ { - export const inboundSchema = z.nativeEnum(BackoffUnit); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(BackoffUnit); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ export namespace DigestRegularMetadataType$ { - export const inboundSchema = z.nativeEnum(DigestRegularMetadataType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(DigestRegularMetadataType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ export namespace DigestRegularMetadataUnit$ { - export const inboundSchema = z.nativeEnum(DigestRegularMetadataUnit); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(DigestRegularMetadataUnit); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/digesttimedmetadata.ts b/src/models/components/digesttimedmetadata.ts index 436414fa..1b10ce75 100644 --- a/src/models/components/digesttimedmetadata.ts +++ b/src/models/components/digesttimedmetadata.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; -import { TimedConfig, TimedConfig$ } from "./timedconfig"; +import { ClosedEnum } from "../../types/enums.js"; +import { TimedConfig, TimedConfig$ } from "./timedconfig.js"; import * as z from "zod"; export const DigestTimedMetadataType = { @@ -31,14 +31,16 @@ export type DigestTimedMetadata = { /** @internal */ export namespace DigestTimedMetadataType$ { - export const inboundSchema = z.nativeEnum(DigestTimedMetadataType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(DigestTimedMetadataType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ export namespace DigestTimedMetadataUnit$ { - export const inboundSchema = z.nativeEnum(DigestTimedMetadataUnit); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(DigestTimedMetadataUnit); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/emailblock.ts b/src/models/components/emailblock.ts index 5fd0b642..e47a7d83 100644 --- a/src/models/components/emailblock.ts +++ b/src/models/components/emailblock.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; -import { EmailBlockStyles, EmailBlockStyles$ } from "./emailblockstyles"; +import { ClosedEnum } from "../../types/enums.js"; +import { EmailBlockStyles, EmailBlockStyles$ } from "./emailblockstyles.js"; import * as z from "zod"; export const EmailBlockType = { @@ -21,8 +21,9 @@ export type EmailBlock = { /** @internal */ export namespace EmailBlockType$ { - export const inboundSchema = z.nativeEnum(EmailBlockType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(EmailBlockType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/emailblockstyles.ts b/src/models/components/emailblockstyles.ts index 9b2bc9d5..80beb217 100644 --- a/src/models/components/emailblockstyles.ts +++ b/src/models/components/emailblockstyles.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const TextAlign = { @@ -18,8 +18,8 @@ export type EmailBlockStyles = { /** @internal */ export namespace TextAlign$ { - export const inboundSchema = z.nativeEnum(TextAlign); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(TextAlign); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/environmentresponsedto.ts b/src/models/components/environmentresponsedto.ts index c4e9fb2f..0e88f6f7 100644 --- a/src/models/components/environmentresponsedto.ts +++ b/src/models/components/environmentresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type ApiKeys = {}; diff --git a/src/models/components/executiondetailsresponsedto.ts b/src/models/components/executiondetailsresponsedto.ts index 51b22b98..8530adbb 100644 --- a/src/models/components/executiondetailsresponsedto.ts +++ b/src/models/components/executiondetailsresponsedto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const ExecutionDetailsResponseDtoChannel = { @@ -65,20 +65,26 @@ export type ExecutionDetailsResponseDto = { /** @internal */ export namespace ExecutionDetailsResponseDtoChannel$ { - export const inboundSchema = z.nativeEnum(ExecutionDetailsResponseDtoChannel); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(ExecutionDetailsResponseDtoChannel); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ export namespace ExecutionDetailsResponseDtoSource$ { - export const inboundSchema = z.nativeEnum(ExecutionDetailsResponseDtoSource); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(ExecutionDetailsResponseDtoSource); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ export namespace ExecutionDetailsResponseDtoStatus$ { - export const inboundSchema = z.nativeEnum(ExecutionDetailsResponseDtoStatus); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(ExecutionDetailsResponseDtoStatus); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ diff --git a/src/models/components/feedresponsedto.ts b/src/models/components/feedresponsedto.ts index 64ae8721..6b712fd3 100644 --- a/src/models/components/feedresponsedto.ts +++ b/src/models/components/feedresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type FeedResponseDto = { diff --git a/src/models/components/fieldfilterpart.ts b/src/models/components/fieldfilterpart.ts index 53e8cc67..6a72c63d 100644 --- a/src/models/components/fieldfilterpart.ts +++ b/src/models/components/fieldfilterpart.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const On = { @@ -38,14 +38,14 @@ export type FieldFilterPart = { /** @internal */ export namespace On$ { - export const inboundSchema = z.nativeEnum(On); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(On); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ export namespace Operator$ { - export const inboundSchema = z.nativeEnum(Operator); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Operator); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/filtertopicsresponsedto.ts b/src/models/components/filtertopicsresponsedto.ts index 009d1d58..0b5a4844 100644 --- a/src/models/components/filtertopicsresponsedto.ts +++ b/src/models/components/filtertopicsresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { TopicDto, TopicDto$ } from "./topicdto"; +import { TopicDto, TopicDto$ } from "./topicdto.js"; import * as z from "zod"; export type FilterTopicsResponseDto = { diff --git a/src/models/components/getlayoutresponsedto.ts b/src/models/components/getlayoutresponsedto.ts index 558d251e..a8361e13 100644 --- a/src/models/components/getlayoutresponsedto.ts +++ b/src/models/components/getlayoutresponsedto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const GetLayoutResponseDtoChannel = { @@ -38,8 +38,11 @@ export type GetLayoutResponseDto = { /** @internal */ export namespace GetLayoutResponseDtoChannel$ { - export const inboundSchema = z.nativeEnum(GetLayoutResponseDtoChannel); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum( + GetLayoutResponseDtoChannel + ); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ diff --git a/src/models/components/getsubscriberpreferencesresponsedto.ts b/src/models/components/getsubscriberpreferencesresponsedto.ts index fd0faa25..b482d26e 100644 --- a/src/models/components/getsubscriberpreferencesresponsedto.ts +++ b/src/models/components/getsubscriberpreferencesresponsedto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { Preference, Preference$ } from "./preference"; -import { TemplateResponse, TemplateResponse$ } from "./templateresponse"; +import { Preference, Preference$ } from "./preference.js"; +import { TemplateResponse, TemplateResponse$ } from "./templateresponse.js"; import * as z from "zod"; export type GetSubscriberPreferencesResponseDto = { diff --git a/src/models/components/gettenantresponsedto.ts b/src/models/components/gettenantresponsedto.ts index 10ad2684..45d97488 100644 --- a/src/models/components/gettenantresponsedto.ts +++ b/src/models/components/gettenantresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type GetTenantResponseDtoData = {}; diff --git a/src/models/components/gettopicresponsedto.ts b/src/models/components/gettopicresponsedto.ts index dbbb2be3..c199731a 100644 --- a/src/models/components/gettopicresponsedto.ts +++ b/src/models/components/gettopicresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type GetTopicResponseDto = { diff --git a/src/models/components/index.ts b/src/models/components/index.ts index ccc71450..d665bb5e 100644 --- a/src/models/components/index.ts +++ b/src/models/components/index.ts @@ -2,118 +2,118 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -export * from "./activitiesresponsedto"; -export * from "./activitygraphstatesresponse"; -export * from "./activitynotificationexecutiondetailresponsedto"; -export * from "./activitynotificationjobresponsedto"; -export * from "./activitynotificationresponsedto"; -export * from "./activitynotificationstepresponsedto"; -export * from "./activitynotificationsubscriberresponsedto"; -export * from "./activitynotificationtemplateresponsedto"; -export * from "./activitystatsresponsedto"; -export * from "./addsubscribersrequestdto"; -export * from "./apikey"; -export * from "./bulkapplychangedto"; -export * from "./bulksubscribercreatedto"; -export * from "./bulktriggereventdto"; -export * from "./changeresponsedto"; -export * from "./changesresponsedto"; -export * from "./changeworkflowstatusrequestdto"; -export * from "./channelcredentials"; -export * from "./channelcredentialsdto"; -export * from "./channelpreference"; -export * from "./channelsettings"; -export * from "./createfeedrequestdto"; -export * from "./createintegrationrequestdto"; -export * from "./createlayoutresponsedto"; -export * from "./createnotificationgrouprequestdto"; -export * from "./createorganizationdto"; -export * from "./createsubscriberrequestdto"; -export * from "./createtenantrequestdto"; -export * from "./createtenantresponsedto"; -export * from "./createtopicrequestdto"; -export * from "./createtopicresponsedto"; -export * from "./createworkflowrequestdto"; -export * from "./credentialsdto"; -export * from "./databooleandto"; -export * from "./datanumberdto"; -export * from "./delayregularmetadata"; -export * from "./delayscheduledmetadata"; -export * from "./deletemessageresponsedto"; -export * from "./deletenotificationgroupresponsedto"; -export * from "./deletesubscriberresponsedto"; -export * from "./digestregularmetadata"; -export * from "./digesttimedmetadata"; -export * from "./emailblock"; -export * from "./emailblockstyles"; -export * from "./environmentresponsedto"; -export * from "./executiondetailsresponsedto"; -export * from "./feedresponsedto"; -export * from "./fieldfilterpart"; -export * from "./filtertopicsresponsedto"; -export * from "./getlayoutresponsedto"; -export * from "./getsubscriberpreferencesresponsedto"; -export * from "./gettenantresponsedto"; -export * from "./gettopicresponsedto"; -export * from "./integrationresponsedto"; -export * from "./ipartnerconfigurationresponsedto"; -export * from "./markallmessageasrequestdto"; -export * from "./markmessageactionasseendto"; -export * from "./memberinvitedto"; -export * from "./memberresponsedto"; -export * from "./memberuserdto"; -export * from "./messageaction"; -export * from "./messageactionresult"; -export * from "./messagebutton"; -export * from "./messagecta"; -export * from "./messagectadata"; -export * from "./messageentity"; -export * from "./messagemarkasrequestdto"; -export * from "./messageresponsedto"; -export * from "./messagetemplate"; -export * from "./messagetemplatedto"; -export * from "./notificationgroup"; -export * from "./notificationgroupresponsedto"; -export * from "./notificationstep"; -export * from "./notificationstepvariant"; -export * from "./notificationtrigger"; -export * from "./notificationtriggervariable"; -export * from "./organizationbrandingresponsedto"; -export * from "./organizationresponsedto"; -export * from "./preference"; -export * from "./preferencechannels"; -export * from "./removesubscribersrequestdto"; -export * from "./renameorganizationdto"; -export * from "./renametopicrequestdto"; -export * from "./renametopicresponsedto"; -export * from "./security"; -export * from "./stepfilter"; -export * from "./subscriberchanneldto"; -export * from "./subscriberpayloaddto"; -export * from "./subscriberresponsedto"; -export * from "./templateresponse"; -export * from "./tenantpayloaddto"; -export * from "./timedconfig"; -export * from "./topicdto"; -export * from "./topicpayloaddto"; -export * from "./topicsubscriberdto"; -export * from "./triggereventrequestdto"; -export * from "./triggereventresponsedto"; -export * from "./triggereventtoallrequestdto"; -export * from "./unseencountresponse"; -export * from "./updatebrandingdetailsdto"; -export * from "./updateintegrationrequestdto"; -export * from "./updatelayoutrequestdto"; -export * from "./updatelayoutresponsedto"; -export * from "./updatesubscriberchannelrequestdto"; -export * from "./updatesubscriberglobalpreferencesrequestdto"; -export * from "./updatesubscriberonlineflagrequestdto"; -export * from "./updatesubscriberpreferencerequestdto"; -export * from "./updatesubscriberpreferenceresponsedto"; -export * from "./updatesubscriberrequestdto"; -export * from "./updatetenantrequestdto"; -export * from "./updatetenantresponsedto"; -export * from "./updateworkflowrequestdto"; -export * from "./variablesresponsedto"; -export * from "./workflowresponse"; -export * from "./workflowsresponsedto"; +export * from "./activitiesresponsedto.js"; +export * from "./activitygraphstatesresponse.js"; +export * from "./activitynotificationexecutiondetailresponsedto.js"; +export * from "./activitynotificationjobresponsedto.js"; +export * from "./activitynotificationresponsedto.js"; +export * from "./activitynotificationstepresponsedto.js"; +export * from "./activitynotificationsubscriberresponsedto.js"; +export * from "./activitynotificationtemplateresponsedto.js"; +export * from "./activitystatsresponsedto.js"; +export * from "./addsubscribersrequestdto.js"; +export * from "./apikey.js"; +export * from "./bulkapplychangedto.js"; +export * from "./bulksubscribercreatedto.js"; +export * from "./bulktriggereventdto.js"; +export * from "./changeresponsedto.js"; +export * from "./changesresponsedto.js"; +export * from "./changeworkflowstatusrequestdto.js"; +export * from "./channelcredentials.js"; +export * from "./channelcredentialsdto.js"; +export * from "./channelpreference.js"; +export * from "./channelsettings.js"; +export * from "./createfeedrequestdto.js"; +export * from "./createintegrationrequestdto.js"; +export * from "./createlayoutresponsedto.js"; +export * from "./createnotificationgrouprequestdto.js"; +export * from "./createorganizationdto.js"; +export * from "./createsubscriberrequestdto.js"; +export * from "./createtenantrequestdto.js"; +export * from "./createtenantresponsedto.js"; +export * from "./createtopicrequestdto.js"; +export * from "./createtopicresponsedto.js"; +export * from "./createworkflowrequestdto.js"; +export * from "./credentialsdto.js"; +export * from "./databooleandto.js"; +export * from "./datanumberdto.js"; +export * from "./delayregularmetadata.js"; +export * from "./delayscheduledmetadata.js"; +export * from "./deletemessageresponsedto.js"; +export * from "./deletenotificationgroupresponsedto.js"; +export * from "./deletesubscriberresponsedto.js"; +export * from "./digestregularmetadata.js"; +export * from "./digesttimedmetadata.js"; +export * from "./emailblock.js"; +export * from "./emailblockstyles.js"; +export * from "./environmentresponsedto.js"; +export * from "./executiondetailsresponsedto.js"; +export * from "./feedresponsedto.js"; +export * from "./fieldfilterpart.js"; +export * from "./filtertopicsresponsedto.js"; +export * from "./getlayoutresponsedto.js"; +export * from "./getsubscriberpreferencesresponsedto.js"; +export * from "./gettenantresponsedto.js"; +export * from "./gettopicresponsedto.js"; +export * from "./integrationresponsedto.js"; +export * from "./ipartnerconfigurationresponsedto.js"; +export * from "./markallmessageasrequestdto.js"; +export * from "./markmessageactionasseendto.js"; +export * from "./memberinvitedto.js"; +export * from "./memberresponsedto.js"; +export * from "./memberuserdto.js"; +export * from "./messageaction.js"; +export * from "./messageactionresult.js"; +export * from "./messagebutton.js"; +export * from "./messagecta.js"; +export * from "./messagectadata.js"; +export * from "./messageentity.js"; +export * from "./messagemarkasrequestdto.js"; +export * from "./messageresponsedto.js"; +export * from "./messagetemplate.js"; +export * from "./messagetemplatedto.js"; +export * from "./notificationgroup.js"; +export * from "./notificationgroupresponsedto.js"; +export * from "./notificationstep.js"; +export * from "./notificationstepvariant.js"; +export * from "./notificationtrigger.js"; +export * from "./notificationtriggervariable.js"; +export * from "./organizationbrandingresponsedto.js"; +export * from "./organizationresponsedto.js"; +export * from "./preference.js"; +export * from "./preferencechannels.js"; +export * from "./removesubscribersrequestdto.js"; +export * from "./renameorganizationdto.js"; +export * from "./renametopicrequestdto.js"; +export * from "./renametopicresponsedto.js"; +export * from "./security.js"; +export * from "./stepfilter.js"; +export * from "./subscriberchanneldto.js"; +export * from "./subscriberpayloaddto.js"; +export * from "./subscriberresponsedto.js"; +export * from "./templateresponse.js"; +export * from "./tenantpayloaddto.js"; +export * from "./timedconfig.js"; +export * from "./topicdto.js"; +export * from "./topicpayloaddto.js"; +export * from "./topicsubscriberdto.js"; +export * from "./triggereventrequestdto.js"; +export * from "./triggereventresponsedto.js"; +export * from "./triggereventtoallrequestdto.js"; +export * from "./unseencountresponse.js"; +export * from "./updatebrandingdetailsdto.js"; +export * from "./updateintegrationrequestdto.js"; +export * from "./updatelayoutrequestdto.js"; +export * from "./updatelayoutresponsedto.js"; +export * from "./updatesubscriberchannelrequestdto.js"; +export * from "./updatesubscriberglobalpreferencesrequestdto.js"; +export * from "./updatesubscriberonlineflagrequestdto.js"; +export * from "./updatesubscriberpreferencerequestdto.js"; +export * from "./updatesubscriberpreferenceresponsedto.js"; +export * from "./updatesubscriberrequestdto.js"; +export * from "./updatetenantrequestdto.js"; +export * from "./updatetenantresponsedto.js"; +export * from "./updateworkflowrequestdto.js"; +export * from "./variablesresponsedto.js"; +export * from "./workflowresponse.js"; +export * from "./workflowsresponsedto.js"; diff --git a/src/models/components/integrationresponsedto.ts b/src/models/components/integrationresponsedto.ts index a0d7dbc6..5aa3c9a3 100644 --- a/src/models/components/integrationresponsedto.ts +++ b/src/models/components/integrationresponsedto.ts @@ -2,10 +2,10 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; -import { CredentialsDto, CredentialsDto$ } from "./credentialsdto"; -import { StepFilter, StepFilter$ } from "./stepfilter"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; +import { CredentialsDto, CredentialsDto$ } from "./credentialsdto.js"; +import { StepFilter, StepFilter$ } from "./stepfilter.js"; import * as z from "zod"; export const IntegrationResponseDtoChannel = { @@ -36,8 +36,10 @@ export type IntegrationResponseDto = { /** @internal */ export namespace IntegrationResponseDtoChannel$ { - export const inboundSchema = z.nativeEnum(IntegrationResponseDtoChannel); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(IntegrationResponseDtoChannel); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ diff --git a/src/models/components/ipartnerconfigurationresponsedto.ts b/src/models/components/ipartnerconfigurationresponsedto.ts index 26509bef..76d2b95b 100644 --- a/src/models/components/ipartnerconfigurationresponsedto.ts +++ b/src/models/components/ipartnerconfigurationresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; /** @@ -29,8 +29,8 @@ export type IPartnerConfigurationResponseDto = { /** @internal */ export namespace PartnerType$ { - export const inboundSchema = z.nativeEnum(PartnerType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(PartnerType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/markallmessageasrequestdto.ts b/src/models/components/markallmessageasrequestdto.ts index 022ec7fa..164b08cc 100644 --- a/src/models/components/markallmessageasrequestdto.ts +++ b/src/models/components/markallmessageasrequestdto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; /** @@ -51,8 +51,8 @@ export namespace FeedIdentifier$ { /** @internal */ export namespace MarkAs$ { - export const inboundSchema = z.nativeEnum(MarkAs); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(MarkAs); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/markmessageactionasseendto.ts b/src/models/components/markmessageactionasseendto.ts index 3c6cac4e..a8dd9be3 100644 --- a/src/models/components/markmessageactionasseendto.ts +++ b/src/models/components/markmessageactionasseendto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; /** @@ -52,8 +52,10 @@ export namespace MarkMessageActionAsSeenDtoPayload$ { /** @internal */ export namespace MarkMessageActionAsSeenDtoStatus$ { - export const inboundSchema = z.nativeEnum(MarkMessageActionAsSeenDtoStatus); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(MarkMessageActionAsSeenDtoStatus); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ diff --git a/src/models/components/memberinvitedto.ts b/src/models/components/memberinvitedto.ts index 612721ce..08dfc734 100644 --- a/src/models/components/memberinvitedto.ts +++ b/src/models/components/memberinvitedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type MemberInviteDTO = { diff --git a/src/models/components/memberresponsedto.ts b/src/models/components/memberresponsedto.ts index 863cbe96..e34c7cad 100644 --- a/src/models/components/memberresponsedto.ts +++ b/src/models/components/memberresponsedto.ts @@ -2,10 +2,10 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; -import { MemberInviteDTO, MemberInviteDTO$ } from "./memberinvitedto"; -import { MemberUserDto, MemberUserDto$ } from "./memberuserdto"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; +import { MemberInviteDTO, MemberInviteDTO$ } from "./memberinvitedto.js"; +import { MemberUserDto, MemberUserDto$ } from "./memberuserdto.js"; import * as z from "zod"; export const MemberStatus = { @@ -33,14 +33,14 @@ export type MemberResponseDto = { /** @internal */ export namespace MemberStatus$ { - export const inboundSchema = z.nativeEnum(MemberStatus); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(MemberStatus); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ export namespace Roles$ { - export const inboundSchema = z.nativeEnum(Roles); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Roles); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/memberuserdto.ts b/src/models/components/memberuserdto.ts index 2c9cb64c..0d3f5c07 100644 --- a/src/models/components/memberuserdto.ts +++ b/src/models/components/memberuserdto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type MemberUserDto = { diff --git a/src/models/components/messageaction.ts b/src/models/components/messageaction.ts index 86472355..ef18198a 100644 --- a/src/models/components/messageaction.ts +++ b/src/models/components/messageaction.ts @@ -2,9 +2,9 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; -import { MessageActionResult, MessageActionResult$ } from "./messageactionresult"; -import { MessageButton, MessageButton$ } from "./messagebutton"; +import { ClosedEnum } from "../../types/enums.js"; +import { MessageActionResult, MessageActionResult$ } from "./messageactionresult.js"; +import { MessageButton, MessageButton$ } from "./messagebutton.js"; import * as z from "zod"; export const MessageActionStatus = { @@ -21,8 +21,9 @@ export type MessageAction = { /** @internal */ export namespace MessageActionStatus$ { - export const inboundSchema = z.nativeEnum(MessageActionStatus); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(MessageActionStatus); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/messageactionresult.ts b/src/models/components/messageactionresult.ts index 2f7b2919..e950fb97 100644 --- a/src/models/components/messageactionresult.ts +++ b/src/models/components/messageactionresult.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export type MessageActionResultPayload = {}; @@ -10,7 +10,6 @@ export type MessageActionResultPayload = {}; export const MessageActionResultType = { Primary: "primary", Secondary: "secondary", - Clicked: "clicked", } as const; export type MessageActionResultType = ClosedEnum; @@ -32,8 +31,9 @@ export namespace MessageActionResultPayload$ { /** @internal */ export namespace MessageActionResultType$ { - export const inboundSchema = z.nativeEnum(MessageActionResultType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(MessageActionResultType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/messagebutton.ts b/src/models/components/messagebutton.ts index 54b32e94..5971e05c 100644 --- a/src/models/components/messagebutton.ts +++ b/src/models/components/messagebutton.ts @@ -2,13 +2,12 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const MessageButtonType = { Primary: "primary", Secondary: "secondary", - Clicked: "clicked", } as const; export type MessageButtonType = ClosedEnum; @@ -20,8 +19,9 @@ export type MessageButton = { /** @internal */ export namespace MessageButtonType$ { - export const inboundSchema = z.nativeEnum(MessageButtonType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(MessageButtonType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/messagecta.ts b/src/models/components/messagecta.ts index 4a1c7727..88a0cfe6 100644 --- a/src/models/components/messagecta.ts +++ b/src/models/components/messagecta.ts @@ -2,9 +2,9 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; -import { MessageAction, MessageAction$ } from "./messageaction"; -import { MessageCTAData, MessageCTAData$ } from "./messagectadata"; +import { ClosedEnum } from "../../types/enums.js"; +import { MessageAction, MessageAction$ } from "./messageaction.js"; +import { MessageCTAData, MessageCTAData$ } from "./messagectadata.js"; import * as z from "zod"; export const MessageCTAType = { @@ -20,8 +20,9 @@ export type MessageCTA = { /** @internal */ export namespace MessageCTAType$ { - export const inboundSchema = z.nativeEnum(MessageCTAType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(MessageCTAType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/messagemarkasrequestdto.ts b/src/models/components/messagemarkasrequestdto.ts index 853a6369..4ee0202c 100644 --- a/src/models/components/messagemarkasrequestdto.ts +++ b/src/models/components/messagemarkasrequestdto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const MessageMarkAsRequestDtoMarkAs = { @@ -22,8 +22,10 @@ export type MessageMarkAsRequestDto = { /** @internal */ export namespace MessageMarkAsRequestDtoMarkAs$ { - export const inboundSchema = z.nativeEnum(MessageMarkAsRequestDtoMarkAs); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(MessageMarkAsRequestDtoMarkAs); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ diff --git a/src/models/components/messageresponsedto.ts b/src/models/components/messageresponsedto.ts index eae66583..cb9c1226 100644 --- a/src/models/components/messageresponsedto.ts +++ b/src/models/components/messageresponsedto.ts @@ -2,12 +2,12 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; -import { EmailBlock, EmailBlock$ } from "./emailblock"; -import { MessageCTA, MessageCTA$ } from "./messagecta"; -import { SubscriberResponseDto, SubscriberResponseDto$ } from "./subscriberresponsedto"; -import { WorkflowResponse, WorkflowResponse$ } from "./workflowresponse"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; +import { EmailBlock, EmailBlock$ } from "./emailblock.js"; +import { MessageCTA, MessageCTA$ } from "./messagecta.js"; +import { SubscriberResponseDto, SubscriberResponseDto$ } from "./subscriberresponsedto.js"; +import { WorkflowResponse, WorkflowResponse$ } from "./workflowresponse.js"; import * as z from "zod"; export const MessageResponseDtoChannel = { @@ -81,8 +81,9 @@ export type MessageResponseDto = { /** @internal */ export namespace MessageResponseDtoChannel$ { - export const inboundSchema = z.nativeEnum(MessageResponseDtoChannel); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(MessageResponseDtoChannel); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ @@ -121,8 +122,9 @@ export namespace MessageResponseDtoPayload$ { /** @internal */ export namespace MessageResponseDtoStatus$ { - export const inboundSchema = z.nativeEnum(MessageResponseDtoStatus); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(MessageResponseDtoStatus); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/notificationgroup.ts b/src/models/components/notificationgroup.ts index da9163a6..340832f7 100644 --- a/src/models/components/notificationgroup.ts +++ b/src/models/components/notificationgroup.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type NotificationGroup = { diff --git a/src/models/components/notificationgroupresponsedto.ts b/src/models/components/notificationgroupresponsedto.ts index a700b26a..c964a8de 100644 --- a/src/models/components/notificationgroupresponsedto.ts +++ b/src/models/components/notificationgroupresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type NotificationGroupResponseDto = { diff --git a/src/models/components/notificationstep.ts b/src/models/components/notificationstep.ts index d774bf8f..dabae958 100644 --- a/src/models/components/notificationstep.ts +++ b/src/models/components/notificationstep.ts @@ -2,14 +2,14 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { DelayRegularMetadata, DelayRegularMetadata$ } from "./delayregularmetadata"; -import { DelayScheduledMetadata, DelayScheduledMetadata$ } from "./delayscheduledmetadata"; -import { DigestRegularMetadata, DigestRegularMetadata$ } from "./digestregularmetadata"; -import { DigestTimedMetadata, DigestTimedMetadata$ } from "./digesttimedmetadata"; -import { MessageTemplate, MessageTemplate$ } from "./messagetemplate"; -import { NotificationStepVariant, NotificationStepVariant$ } from "./notificationstepvariant"; -import { StepFilter, StepFilter$ } from "./stepfilter"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { DelayRegularMetadata, DelayRegularMetadata$ } from "./delayregularmetadata.js"; +import { DelayScheduledMetadata, DelayScheduledMetadata$ } from "./delayscheduledmetadata.js"; +import { DigestRegularMetadata, DigestRegularMetadata$ } from "./digestregularmetadata.js"; +import { DigestTimedMetadata, DigestTimedMetadata$ } from "./digesttimedmetadata.js"; +import { MessageTemplate, MessageTemplate$ } from "./messagetemplate.js"; +import { NotificationStepVariant, NotificationStepVariant$ } from "./notificationstepvariant.js"; +import { StepFilter, StepFilter$ } from "./stepfilter.js"; import * as z from "zod"; export type ParentId = {}; diff --git a/src/models/components/notificationstepvariant.ts b/src/models/components/notificationstepvariant.ts index 337d6869..2108eb00 100644 --- a/src/models/components/notificationstepvariant.ts +++ b/src/models/components/notificationstepvariant.ts @@ -2,13 +2,13 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { DelayRegularMetadata, DelayRegularMetadata$ } from "./delayregularmetadata"; -import { DelayScheduledMetadata, DelayScheduledMetadata$ } from "./delayscheduledmetadata"; -import { DigestRegularMetadata, DigestRegularMetadata$ } from "./digestregularmetadata"; -import { DigestTimedMetadata, DigestTimedMetadata$ } from "./digesttimedmetadata"; -import { MessageTemplate, MessageTemplate$ } from "./messagetemplate"; -import { StepFilter, StepFilter$ } from "./stepfilter"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { DelayRegularMetadata, DelayRegularMetadata$ } from "./delayregularmetadata.js"; +import { DelayScheduledMetadata, DelayScheduledMetadata$ } from "./delayscheduledmetadata.js"; +import { DigestRegularMetadata, DigestRegularMetadata$ } from "./digestregularmetadata.js"; +import { DigestTimedMetadata, DigestTimedMetadata$ } from "./digesttimedmetadata.js"; +import { MessageTemplate, MessageTemplate$ } from "./messagetemplate.js"; +import { StepFilter, StepFilter$ } from "./stepfilter.js"; import * as z from "zod"; export type NotificationStepVariantParentId = {}; diff --git a/src/models/components/notificationtrigger.ts b/src/models/components/notificationtrigger.ts index c47b1a73..864a37b0 100644 --- a/src/models/components/notificationtrigger.ts +++ b/src/models/components/notificationtrigger.ts @@ -2,11 +2,11 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import { NotificationTriggerVariable, NotificationTriggerVariable$, -} from "./notificationtriggervariable"; +} from "./notificationtriggervariable.js"; import * as z from "zod"; export const NotificationTriggerType = { @@ -23,8 +23,9 @@ export type NotificationTrigger = { /** @internal */ export namespace NotificationTriggerType$ { - export const inboundSchema = z.nativeEnum(NotificationTriggerType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(NotificationTriggerType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/organizationbrandingresponsedto.ts b/src/models/components/organizationbrandingresponsedto.ts index 8851ed03..6b13b473 100644 --- a/src/models/components/organizationbrandingresponsedto.ts +++ b/src/models/components/organizationbrandingresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const Direction = { @@ -22,8 +22,8 @@ export type OrganizationBrandingResponseDto = { /** @internal */ export namespace Direction$ { - export const inboundSchema = z.nativeEnum(Direction); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Direction); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/organizationresponsedto.ts b/src/models/components/organizationresponsedto.ts index 6aa2d562..9eae2b1f 100644 --- a/src/models/components/organizationresponsedto.ts +++ b/src/models/components/organizationresponsedto.ts @@ -5,11 +5,11 @@ import { IPartnerConfigurationResponseDto, IPartnerConfigurationResponseDto$, -} from "./ipartnerconfigurationresponsedto"; +} from "./ipartnerconfigurationresponsedto.js"; import { OrganizationBrandingResponseDto, OrganizationBrandingResponseDto$, -} from "./organizationbrandingresponsedto"; +} from "./organizationbrandingresponsedto.js"; import * as z from "zod"; export type OrganizationResponseDto = { diff --git a/src/models/components/preference.ts b/src/models/components/preference.ts index f419d702..ebe9970b 100644 --- a/src/models/components/preference.ts +++ b/src/models/components/preference.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { PreferenceChannels, PreferenceChannels$ } from "./preferencechannels"; +import { PreferenceChannels, PreferenceChannels$ } from "./preferencechannels.js"; import * as z from "zod"; export type Preference = { diff --git a/src/models/components/preferencechannels.ts b/src/models/components/preferencechannels.ts index abe9c12a..00c3c09d 100644 --- a/src/models/components/preferencechannels.ts +++ b/src/models/components/preferencechannels.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type PreferenceChannels = { diff --git a/src/models/components/renametopicresponsedto.ts b/src/models/components/renametopicresponsedto.ts index 5d064c7b..63b0227a 100644 --- a/src/models/components/renametopicresponsedto.ts +++ b/src/models/components/renametopicresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type RenameTopicResponseDto = { diff --git a/src/models/components/security.ts b/src/models/components/security.ts index 12e58c3f..7b98e384 100644 --- a/src/models/components/security.ts +++ b/src/models/components/security.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type Security = { diff --git a/src/models/components/stepfilter.ts b/src/models/components/stepfilter.ts index cd2ac687..a541bcb7 100644 --- a/src/models/components/stepfilter.ts +++ b/src/models/components/stepfilter.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; -import { FieldFilterPart, FieldFilterPart$ } from "./fieldfilterpart"; +import { ClosedEnum } from "../../types/enums.js"; +import { FieldFilterPart, FieldFilterPart$ } from "./fieldfilterpart.js"; import * as z from "zod"; export const StepFilterType = { @@ -33,14 +33,15 @@ export type StepFilter = { /** @internal */ export namespace StepFilterType$ { - export const inboundSchema = z.nativeEnum(StepFilterType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(StepFilterType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ export namespace Value$ { - export const inboundSchema = z.nativeEnum(Value); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Value); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/subscriberchanneldto.ts b/src/models/components/subscriberchanneldto.ts index 28f0bbce..3bffa525 100644 --- a/src/models/components/subscriberchanneldto.ts +++ b/src/models/components/subscriberchanneldto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ChannelCredentialsDto, ChannelCredentialsDto$ } from "./channelcredentialsdto"; +import { ChannelCredentialsDto, ChannelCredentialsDto$ } from "./channelcredentialsdto.js"; import * as z from "zod"; export type SubscriberChannelDtoProviderId = {}; diff --git a/src/models/components/subscriberpayloaddto.ts b/src/models/components/subscriberpayloaddto.ts index bb814d55..83e25356 100644 --- a/src/models/components/subscriberpayloaddto.ts +++ b/src/models/components/subscriberpayloaddto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SubscriberChannelDto, SubscriberChannelDto$ } from "./subscriberchanneldto"; +import { SubscriberChannelDto, SubscriberChannelDto$ } from "./subscriberchanneldto.js"; import * as z from "zod"; export type SubscriberPayloadDtoData = {}; diff --git a/src/models/components/subscriberresponsedto.ts b/src/models/components/subscriberresponsedto.ts index 97ab5432..a003e400 100644 --- a/src/models/components/subscriberresponsedto.ts +++ b/src/models/components/subscriberresponsedto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ChannelSettings, ChannelSettings$ } from "./channelsettings"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ChannelSettings, ChannelSettings$ } from "./channelsettings.js"; import * as z from "zod"; export type SubscriberResponseDto = { diff --git a/src/models/components/templateresponse.ts b/src/models/components/templateresponse.ts index 40ae1e30..c317dffd 100644 --- a/src/models/components/templateresponse.ts +++ b/src/models/components/templateresponse.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type TemplateResponse = { diff --git a/src/models/components/timedconfig.ts b/src/models/components/timedconfig.ts index 55df116e..13abc33e 100644 --- a/src/models/components/timedconfig.ts +++ b/src/models/components/timedconfig.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const MonthlyType = { @@ -57,26 +57,26 @@ export type TimedConfig = { /** @internal */ export namespace MonthlyType$ { - export const inboundSchema = z.nativeEnum(MonthlyType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(MonthlyType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ export namespace Ordinal$ { - export const inboundSchema = z.nativeEnum(Ordinal); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Ordinal); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ export namespace OrdinalValue$ { - export const inboundSchema = z.nativeEnum(OrdinalValue); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(OrdinalValue); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ export namespace WeekDays$ { - export const inboundSchema = z.nativeEnum(WeekDays); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(WeekDays); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/topicdto.ts b/src/models/components/topicdto.ts index d7163072..08022ca9 100644 --- a/src/models/components/topicdto.ts +++ b/src/models/components/topicdto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type TopicDto = { diff --git a/src/models/components/topicpayloaddto.ts b/src/models/components/topicpayloaddto.ts index e0cbb5a8..ee4af330 100644 --- a/src/models/components/topicpayloaddto.ts +++ b/src/models/components/topicpayloaddto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const TopicPayloadDtoType = { @@ -18,8 +18,9 @@ export type TopicPayloadDto = { /** @internal */ export namespace TopicPayloadDtoType$ { - export const inboundSchema = z.nativeEnum(TopicPayloadDtoType); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(TopicPayloadDtoType); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/components/topicsubscriberdto.ts b/src/models/components/topicsubscriberdto.ts index e13bf021..e690ad6c 100644 --- a/src/models/components/topicsubscriberdto.ts +++ b/src/models/components/topicsubscriberdto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type TopicSubscriberDto = { diff --git a/src/models/components/triggereventrequestdto.ts b/src/models/components/triggereventrequestdto.ts index 1ecba9ed..d7e299ec 100644 --- a/src/models/components/triggereventrequestdto.ts +++ b/src/models/components/triggereventrequestdto.ts @@ -2,9 +2,9 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SubscriberPayloadDto, SubscriberPayloadDto$ } from "./subscriberpayloaddto"; -import { TenantPayloadDto, TenantPayloadDto$ } from "./tenantpayloaddto"; -import { TopicPayloadDto, TopicPayloadDto$ } from "./topicpayloaddto"; +import { SubscriberPayloadDto, SubscriberPayloadDto$ } from "./subscriberpayloaddto.js"; +import { TenantPayloadDto, TenantPayloadDto$ } from "./tenantpayloaddto.js"; +import { TopicPayloadDto, TopicPayloadDto$ } from "./topicpayloaddto.js"; import * as z from "zod"; /** diff --git a/src/models/components/triggereventresponsedto.ts b/src/models/components/triggereventresponsedto.ts index 0b672f47..6fa7892e 100644 --- a/src/models/components/triggereventresponsedto.ts +++ b/src/models/components/triggereventresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; /** @@ -43,8 +43,10 @@ export type TriggerEventResponseDto = { /** @internal */ export namespace TriggerEventResponseDtoStatus$ { - export const inboundSchema = z.nativeEnum(TriggerEventResponseDtoStatus); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(TriggerEventResponseDtoStatus); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ diff --git a/src/models/components/triggereventtoallrequestdto.ts b/src/models/components/triggereventtoallrequestdto.ts index 4ef23da3..2d47bf02 100644 --- a/src/models/components/triggereventtoallrequestdto.ts +++ b/src/models/components/triggereventtoallrequestdto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SubscriberPayloadDto, SubscriberPayloadDto$ } from "./subscriberpayloaddto"; -import { TenantPayloadDto, TenantPayloadDto$ } from "./tenantpayloaddto"; +import { SubscriberPayloadDto, SubscriberPayloadDto$ } from "./subscriberpayloaddto.js"; +import { TenantPayloadDto, TenantPayloadDto$ } from "./tenantpayloaddto.js"; import * as z from "zod"; /** diff --git a/src/models/components/updateintegrationrequestdto.ts b/src/models/components/updateintegrationrequestdto.ts index 45214f20..65b932ab 100644 --- a/src/models/components/updateintegrationrequestdto.ts +++ b/src/models/components/updateintegrationrequestdto.ts @@ -2,9 +2,9 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { CredentialsDto, CredentialsDto$ } from "./credentialsdto"; -import { StepFilter, StepFilter$ } from "./stepfilter"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { CredentialsDto, CredentialsDto$ } from "./credentialsdto.js"; +import { StepFilter, StepFilter$ } from "./stepfilter.js"; import * as z from "zod"; export type UpdateIntegrationRequestDto = { diff --git a/src/models/components/updatelayoutresponsedto.ts b/src/models/components/updatelayoutresponsedto.ts index 618129eb..65c4bbbb 100644 --- a/src/models/components/updatelayoutresponsedto.ts +++ b/src/models/components/updatelayoutresponsedto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { ClosedEnum } from "../../types"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const UpdateLayoutResponseDtoChannel = { @@ -38,8 +38,10 @@ export type UpdateLayoutResponseDto = { /** @internal */ export namespace UpdateLayoutResponseDtoChannel$ { - export const inboundSchema = z.nativeEnum(UpdateLayoutResponseDtoChannel); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(UpdateLayoutResponseDtoChannel); + export const outboundSchema: z.ZodNativeEnum = + inboundSchema; } /** @internal */ diff --git a/src/models/components/updatesubscriberchannelrequestdto.ts b/src/models/components/updatesubscriberchannelrequestdto.ts index 3780104a..709053ba 100644 --- a/src/models/components/updatesubscriberchannelrequestdto.ts +++ b/src/models/components/updatesubscriberchannelrequestdto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; -import { ChannelCredentials, ChannelCredentials$ } from "./channelcredentials"; +import { ClosedEnum } from "../../types/enums.js"; +import { ChannelCredentials, ChannelCredentials$ } from "./channelcredentials.js"; import * as z from "zod"; /** @@ -52,8 +52,12 @@ export type UpdateSubscriberChannelRequestDto = { /** @internal */ export namespace UpdateSubscriberChannelRequestDtoProviderId$ { - export const inboundSchema = z.nativeEnum(UpdateSubscriberChannelRequestDtoProviderId); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum< + typeof UpdateSubscriberChannelRequestDtoProviderId + > = z.nativeEnum(UpdateSubscriberChannelRequestDtoProviderId); + export const outboundSchema: z.ZodNativeEnum< + typeof UpdateSubscriberChannelRequestDtoProviderId + > = inboundSchema; } /** @internal */ diff --git a/src/models/components/updatesubscriberglobalpreferencesrequestdto.ts b/src/models/components/updatesubscriberglobalpreferencesrequestdto.ts index 563a13d5..0969c859 100644 --- a/src/models/components/updatesubscriberglobalpreferencesrequestdto.ts +++ b/src/models/components/updatesubscriberglobalpreferencesrequestdto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ChannelPreference, ChannelPreference$ } from "./channelpreference"; +import { ChannelPreference, ChannelPreference$ } from "./channelpreference.js"; import * as z from "zod"; export type UpdateSubscriberGlobalPreferencesRequestDto = { diff --git a/src/models/components/updatesubscriberpreferencerequestdto.ts b/src/models/components/updatesubscriberpreferencerequestdto.ts index 01572dd5..9ba6edbf 100644 --- a/src/models/components/updatesubscriberpreferencerequestdto.ts +++ b/src/models/components/updatesubscriberpreferencerequestdto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ChannelPreference, ChannelPreference$ } from "./channelpreference"; +import { ChannelPreference, ChannelPreference$ } from "./channelpreference.js"; import * as z from "zod"; export type UpdateSubscriberPreferenceRequestDto = { diff --git a/src/models/components/updatesubscriberpreferenceresponsedto.ts b/src/models/components/updatesubscriberpreferenceresponsedto.ts index 447d3562..c904d780 100644 --- a/src/models/components/updatesubscriberpreferenceresponsedto.ts +++ b/src/models/components/updatesubscriberpreferenceresponsedto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { Preference, Preference$ } from "./preference"; -import { TemplateResponse, TemplateResponse$ } from "./templateresponse"; +import { Preference, Preference$ } from "./preference.js"; +import { TemplateResponse, TemplateResponse$ } from "./templateresponse.js"; import * as z from "zod"; export type UpdateSubscriberPreferenceResponseDto = { diff --git a/src/models/components/updatetenantresponsedto.ts b/src/models/components/updatetenantresponsedto.ts index 22ece4a6..e049ba17 100644 --- a/src/models/components/updatetenantresponsedto.ts +++ b/src/models/components/updatetenantresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; +import { remap as remap$ } from "../../lib/primitives.js"; import * as z from "zod"; export type UpdateTenantResponseDtoData = {}; diff --git a/src/models/components/updateworkflowrequestdto.ts b/src/models/components/updateworkflowrequestdto.ts index a3cbc0f0..ec132324 100644 --- a/src/models/components/updateworkflowrequestdto.ts +++ b/src/models/components/updateworkflowrequestdto.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { NotificationStep, NotificationStep$ } from "./notificationstep"; -import { PreferenceChannels, PreferenceChannels$ } from "./preferencechannels"; +import { NotificationStep, NotificationStep$ } from "./notificationstep.js"; +import { PreferenceChannels, PreferenceChannels$ } from "./preferencechannels.js"; import * as z from "zod"; export type UpdateWorkflowRequestDtoData = {}; diff --git a/src/models/components/workflowresponse.ts b/src/models/components/workflowresponse.ts index 0591d796..d96887ca 100644 --- a/src/models/components/workflowresponse.ts +++ b/src/models/components/workflowresponse.ts @@ -2,11 +2,11 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import { NotificationGroup, NotificationGroup$ } from "./notificationgroup"; -import { NotificationStep, NotificationStep$ } from "./notificationstep"; -import { NotificationTrigger, NotificationTrigger$ } from "./notificationtrigger"; -import { PreferenceChannels, PreferenceChannels$ } from "./preferencechannels"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { NotificationGroup, NotificationGroup$ } from "./notificationgroup.js"; +import { NotificationStep, NotificationStep$ } from "./notificationstep.js"; +import { NotificationTrigger, NotificationTrigger$ } from "./notificationtrigger.js"; +import { PreferenceChannels, PreferenceChannels$ } from "./preferencechannels.js"; import * as z from "zod"; export type WorkflowResponseData = {}; diff --git a/src/models/components/workflowsresponsedto.ts b/src/models/components/workflowsresponsedto.ts index 67f213d9..2b8c0f17 100644 --- a/src/models/components/workflowsresponsedto.ts +++ b/src/models/components/workflowsresponsedto.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { WorkflowResponse, WorkflowResponse$ } from "./workflowresponse"; +import { WorkflowResponse, WorkflowResponse$ } from "./workflowresponse.js"; import * as z from "zod"; export type WorkflowsResponseDto = { diff --git a/src/models/errors/index.ts b/src/models/errors/index.ts index 87f62af9..629f225c 100644 --- a/src/models/errors/index.ts +++ b/src/models/errors/index.ts @@ -2,5 +2,5 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -export * from "./sdkerror"; -export * from "./sdkvalidationerror"; +export * from "./sdkerror.js"; +export * from "./sdkvalidationerror.js"; diff --git a/src/models/operations/index.ts b/src/models/operations/index.ts index 9f3761af..8adf0591 100644 --- a/src/models/operations/index.ts +++ b/src/models/operations/index.ts @@ -2,62 +2,62 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -export * from "./changescontrollerapplydiff"; -export * from "./changescontrollergetchanges"; -export * from "./eventscontrollercancel"; -export * from "./executiondetailscontrollergetexecutiondetailsfornotification"; -export * from "./feedscontrollerdeletefeedbyid"; -export * from "./integrationscontrollergetwebhooksupportstatus"; -export * from "./integrationscontrollerremoveintegration"; -export * from "./integrationscontrollersetintegrationasprimary"; -export * from "./integrationscontrollerupdateintegrationbyid"; -export * from "./layoutscontrollerdeletelayout"; -export * from "./layoutscontrollergetlayout"; -export * from "./layoutscontrollerlistlayouts"; -export * from "./layoutscontrollersetdefaultlayout"; -export * from "./layoutscontrollerupdatelayout"; -export * from "./messagescontrollerdeletemessage"; -export * from "./messagescontrollerdeletemessagesbytransactionid"; -export * from "./messagescontrollergetmessages"; -export * from "./notificationgroupscontrollerdeletenotificationgroup"; -export * from "./notificationgroupscontrollergetnotificationgroup"; -export * from "./notificationgroupscontrollerupdatenotificationgroup"; -export * from "./notificationscontrollergetactivitygraphstats"; -export * from "./notificationscontrollergetnotification"; -export * from "./notificationscontrollerlistnotifications"; -export * from "./organizationcontrollerremove"; -export * from "./subscriberscontrollerchataccessoauth"; -export * from "./subscriberscontrollerchatoauthcallback"; -export * from "./subscriberscontrollerdeletesubscribercredentials"; -export * from "./subscriberscontrollergetnotificationsfeed"; -export * from "./subscriberscontrollergetsubscriber"; -export * from "./subscriberscontrollergetsubscriberpreferencebylevel"; -export * from "./subscriberscontrollergetunseencount"; -export * from "./subscriberscontrollerlistsubscriberpreferences"; -export * from "./subscriberscontrollerlistsubscribers"; -export * from "./subscriberscontrollermarkactionasseen"; -export * from "./subscriberscontrollermarkallunreadasread"; -export * from "./subscriberscontrollermarkmessagesas"; -export * from "./subscriberscontrollermodifysubscriberchannel"; -export * from "./subscriberscontrollerremovesubscriber"; -export * from "./subscriberscontrollerupdatesubscriber"; -export * from "./subscriberscontrollerupdatesubscriberchannel"; -export * from "./subscriberscontrollerupdatesubscriberglobalpreferences"; -export * from "./subscriberscontrollerupdatesubscriberonlineflag"; -export * from "./subscriberscontrollerupdatesubscriberpreference"; -export * from "./tenantcontrollergettenantbyid"; -export * from "./tenantcontrollerlisttenants"; -export * from "./tenantcontrollerremovetenant"; -export * from "./tenantcontrollerupdatetenant"; -export * from "./topicscontrolleraddsubscribers"; -export * from "./topicscontrollerdeletetopic"; -export * from "./topicscontrollergettopic"; -export * from "./topicscontrollergettopicsubscriber"; -export * from "./topicscontrollerlisttopics"; -export * from "./topicscontrollerremovesubscribers"; -export * from "./topicscontrollerrenametopic"; -export * from "./workflowcontrollerdeleteworkflowbyid"; -export * from "./workflowcontrollergetworkflowbyid"; -export * from "./workflowcontrollerlistworkflows"; -export * from "./workflowcontrollerupdateactivestatus"; -export * from "./workflowcontrollerupdateworkflowbyid"; +export * from "./changescontrollerapplydiff.js"; +export * from "./changescontrollergetchanges.js"; +export * from "./eventscontrollercancel.js"; +export * from "./executiondetailscontrollergetexecutiondetailsfornotification.js"; +export * from "./feedscontrollerdeletefeedbyid.js"; +export * from "./integrationscontrollergetwebhooksupportstatus.js"; +export * from "./integrationscontrollerremoveintegration.js"; +export * from "./integrationscontrollersetintegrationasprimary.js"; +export * from "./integrationscontrollerupdateintegrationbyid.js"; +export * from "./layoutscontrollerdeletelayout.js"; +export * from "./layoutscontrollergetlayout.js"; +export * from "./layoutscontrollerlistlayouts.js"; +export * from "./layoutscontrollersetdefaultlayout.js"; +export * from "./layoutscontrollerupdatelayout.js"; +export * from "./messagescontrollerdeletemessage.js"; +export * from "./messagescontrollerdeletemessagesbytransactionid.js"; +export * from "./messagescontrollergetmessages.js"; +export * from "./notificationgroupscontrollerdeletenotificationgroup.js"; +export * from "./notificationgroupscontrollergetnotificationgroup.js"; +export * from "./notificationgroupscontrollerupdatenotificationgroup.js"; +export * from "./notificationscontrollergetactivitygraphstats.js"; +export * from "./notificationscontrollergetnotification.js"; +export * from "./notificationscontrollerlistnotifications.js"; +export * from "./organizationcontrollerremove.js"; +export * from "./subscriberscontrollerchataccessoauth.js"; +export * from "./subscriberscontrollerchatoauthcallback.js"; +export * from "./subscriberscontrollerdeletesubscribercredentials.js"; +export * from "./subscriberscontrollergetnotificationsfeed.js"; +export * from "./subscriberscontrollergetsubscriber.js"; +export * from "./subscriberscontrollergetsubscriberpreferencebylevel.js"; +export * from "./subscriberscontrollergetunseencount.js"; +export * from "./subscriberscontrollerlistsubscriberpreferences.js"; +export * from "./subscriberscontrollerlistsubscribers.js"; +export * from "./subscriberscontrollermarkactionasseen.js"; +export * from "./subscriberscontrollermarkallunreadasread.js"; +export * from "./subscriberscontrollermarkmessagesas.js"; +export * from "./subscriberscontrollermodifysubscriberchannel.js"; +export * from "./subscriberscontrollerremovesubscriber.js"; +export * from "./subscriberscontrollerupdatesubscriber.js"; +export * from "./subscriberscontrollerupdatesubscriberchannel.js"; +export * from "./subscriberscontrollerupdatesubscriberglobalpreferences.js"; +export * from "./subscriberscontrollerupdatesubscriberonlineflag.js"; +export * from "./subscriberscontrollerupdatesubscriberpreference.js"; +export * from "./tenantcontrollergettenantbyid.js"; +export * from "./tenantcontrollerlisttenants.js"; +export * from "./tenantcontrollerremovetenant.js"; +export * from "./tenantcontrollerupdatetenant.js"; +export * from "./topicscontrolleraddsubscribers.js"; +export * from "./topicscontrollerdeletetopic.js"; +export * from "./topicscontrollergettopic.js"; +export * from "./topicscontrollergettopicsubscriber.js"; +export * from "./topicscontrollerlisttopics.js"; +export * from "./topicscontrollerremovesubscribers.js"; +export * from "./topicscontrollerrenametopic.js"; +export * from "./workflowcontrollerdeleteworkflowbyid.js"; +export * from "./workflowcontrollergetworkflowbyid.js"; +export * from "./workflowcontrollerlistworkflows.js"; +export * from "./workflowcontrollerupdateactivestatus.js"; +export * from "./workflowcontrollerupdateworkflowbyid.js"; diff --git a/src/models/operations/integrationscontrollerupdateintegrationbyid.ts b/src/models/operations/integrationscontrollerupdateintegrationbyid.ts index c8dc5901..cf154415 100644 --- a/src/models/operations/integrationscontrollerupdateintegrationbyid.ts +++ b/src/models/operations/integrationscontrollerupdateintegrationbyid.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type IntegrationsControllerUpdateIntegrationByIdRequest = { diff --git a/src/models/operations/layoutscontrollerlistlayouts.ts b/src/models/operations/layoutscontrollerlistlayouts.ts index 737bac24..484da442 100644 --- a/src/models/operations/layoutscontrollerlistlayouts.ts +++ b/src/models/operations/layoutscontrollerlistlayouts.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; /** @@ -38,8 +38,8 @@ export type LayoutsControllerListLayoutsRequest = { /** @internal */ export namespace OrderBy$ { - export const inboundSchema = z.nativeEnum(OrderBy); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(OrderBy); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/operations/layoutscontrollerupdatelayout.ts b/src/models/operations/layoutscontrollerupdatelayout.ts index fa824356..2810d35d 100644 --- a/src/models/operations/layoutscontrollerupdatelayout.ts +++ b/src/models/operations/layoutscontrollerupdatelayout.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type LayoutsControllerUpdateLayoutRequest = { diff --git a/src/models/operations/messagescontrollerdeletemessagesbytransactionid.ts b/src/models/operations/messagescontrollerdeletemessagesbytransactionid.ts index 41cc4cb6..2a4c351b 100644 --- a/src/models/operations/messagescontrollerdeletemessagesbytransactionid.ts +++ b/src/models/operations/messagescontrollerdeletemessagesbytransactionid.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; /** @@ -30,8 +30,8 @@ export type MessagesControllerDeleteMessagesByTransactionIdRequest = { /** @internal */ export namespace Channel$ { - export const inboundSchema = z.nativeEnum(Channel); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Channel); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/operations/messagescontrollergetmessages.ts b/src/models/operations/messagescontrollergetmessages.ts index 9c560bfb..7f0fbae7 100644 --- a/src/models/operations/messagescontrollergetmessages.ts +++ b/src/models/operations/messagescontrollergetmessages.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const QueryParamChannel = { @@ -24,8 +24,9 @@ export type MessagesControllerGetMessagesRequest = { /** @internal */ export namespace QueryParamChannel$ { - export const inboundSchema = z.nativeEnum(QueryParamChannel); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = + z.nativeEnum(QueryParamChannel); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/operations/notificationgroupscontrollerupdatenotificationgroup.ts b/src/models/operations/notificationgroupscontrollerupdatenotificationgroup.ts index 4a0d69c5..3b8f3f61 100644 --- a/src/models/operations/notificationgroupscontrollerupdatenotificationgroup.ts +++ b/src/models/operations/notificationgroupscontrollerupdatenotificationgroup.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type NotificationGroupsControllerUpdateNotificationGroupRequest = { diff --git a/src/models/operations/notificationscontrollerlistnotifications.ts b/src/models/operations/notificationscontrollerlistnotifications.ts index 8c00841d..b85bfc25 100644 --- a/src/models/operations/notificationscontrollerlistnotifications.ts +++ b/src/models/operations/notificationscontrollerlistnotifications.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { ClosedEnum } from "../../types"; +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const Channels = { @@ -29,8 +29,8 @@ export type NotificationsControllerListNotificationsRequest = { /** @internal */ export namespace Channels$ { - export const inboundSchema = z.nativeEnum(Channels); - export const outboundSchema = inboundSchema; + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Channels); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; } /** @internal */ diff --git a/src/models/operations/subscriberscontrollergetnotificationsfeed.ts b/src/models/operations/subscriberscontrollergetnotificationsfeed.ts index ceebb1b6..b4831613 100644 --- a/src/models/operations/subscriberscontrollergetnotificationsfeed.ts +++ b/src/models/operations/subscriberscontrollergetnotificationsfeed.ts @@ -2,7 +2,7 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import * as components from "../components"; +import * as components from "../components/index.js"; import * as z from "zod"; export type SubscribersControllerGetNotificationsFeedRequest = { diff --git a/src/models/operations/subscriberscontrollergetsubscriberpreferencebylevel.ts b/src/models/operations/subscriberscontrollergetsubscriberpreferencebylevel.ts index 110e4da7..d5201dd8 100644 --- a/src/models/operations/subscriberscontrollergetsubscriberpreferencebylevel.ts +++ b/src/models/operations/subscriberscontrollergetsubscriberpreferencebylevel.ts @@ -2,13 +2,35 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ +import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; +/** + * the preferences level to be retrieved( Subscriber / Topic) + */ +export const Parameter = { + Subscriber: "Subscriber", + Topic: "Topic", +} as const; +/** + * the preferences level to be retrieved( Subscriber / Topic) + */ +export type Parameter = ClosedEnum; + export type SubscribersControllerGetSubscriberPreferenceByLevelRequest = { - parameter: string; + /** + * the preferences level to be retrieved( Subscriber / Topic) + */ + parameter: Parameter; subscriberId: string; }; +/** @internal */ +export namespace Parameter$ { + export const inboundSchema: z.ZodNativeEnum = z.nativeEnum(Parameter); + export const outboundSchema: z.ZodNativeEnum = inboundSchema; +} + /** @internal */ export namespace SubscribersControllerGetSubscriberPreferenceByLevelRequest$ { export const inboundSchema: z.ZodType< @@ -16,7 +38,7 @@ export namespace SubscribersControllerGetSubscriberPreferenceByLevelRequest$ { z.ZodTypeDef, unknown > = z.object({ - parameter: z.string(), + parameter: Parameter$.inboundSchema, subscriberId: z.string(), }); @@ -30,7 +52,7 @@ export namespace SubscribersControllerGetSubscriberPreferenceByLevelRequest$ { z.ZodTypeDef, SubscribersControllerGetSubscriberPreferenceByLevelRequest > = z.object({ - parameter: z.string(), + parameter: Parameter$.outboundSchema, subscriberId: z.string(), }); } diff --git a/src/models/operations/subscriberscontrollerlistsubscribers.ts b/src/models/operations/subscriberscontrollerlistsubscribers.ts index 5ce13f29..50c16ac2 100644 --- a/src/models/operations/subscriberscontrollerlistsubscribers.ts +++ b/src/models/operations/subscriberscontrollerlistsubscribers.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type SubscribersControllerListSubscribersRequest = { diff --git a/src/models/operations/subscriberscontrollermarkactionasseen.ts b/src/models/operations/subscriberscontrollermarkactionasseen.ts index e4dd6f13..43b80b62 100644 --- a/src/models/operations/subscriberscontrollermarkactionasseen.ts +++ b/src/models/operations/subscriberscontrollermarkactionasseen.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type SubscribersControllerMarkActionAsSeenRequest = { diff --git a/src/models/operations/subscriberscontrollermarkallunreadasread.ts b/src/models/operations/subscriberscontrollermarkallunreadasread.ts index 5047a075..cce39abc 100644 --- a/src/models/operations/subscriberscontrollermarkallunreadasread.ts +++ b/src/models/operations/subscriberscontrollermarkallunreadasread.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type SubscribersControllerMarkAllUnreadAsReadRequest = { diff --git a/src/models/operations/subscriberscontrollermarkmessagesas.ts b/src/models/operations/subscriberscontrollermarkmessagesas.ts index 0ea98b4d..1b37793d 100644 --- a/src/models/operations/subscriberscontrollermarkmessagesas.ts +++ b/src/models/operations/subscriberscontrollermarkmessagesas.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type SubscribersControllerMarkMessagesAsRequest = { diff --git a/src/models/operations/subscriberscontrollermodifysubscriberchannel.ts b/src/models/operations/subscriberscontrollermodifysubscriberchannel.ts index cd0ce420..877d06e1 100644 --- a/src/models/operations/subscriberscontrollermodifysubscriberchannel.ts +++ b/src/models/operations/subscriberscontrollermodifysubscriberchannel.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type SubscribersControllerModifySubscriberChannelRequest = { diff --git a/src/models/operations/subscriberscontrollerupdatesubscriber.ts b/src/models/operations/subscriberscontrollerupdatesubscriber.ts index d3dfd837..f3963479 100644 --- a/src/models/operations/subscriberscontrollerupdatesubscriber.ts +++ b/src/models/operations/subscriberscontrollerupdatesubscriber.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type SubscribersControllerUpdateSubscriberRequest = { diff --git a/src/models/operations/subscriberscontrollerupdatesubscriberchannel.ts b/src/models/operations/subscriberscontrollerupdatesubscriberchannel.ts index 5cd85525..886f633a 100644 --- a/src/models/operations/subscriberscontrollerupdatesubscriberchannel.ts +++ b/src/models/operations/subscriberscontrollerupdatesubscriberchannel.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type SubscribersControllerUpdateSubscriberChannelRequest = { diff --git a/src/models/operations/subscriberscontrollerupdatesubscriberglobalpreferences.ts b/src/models/operations/subscriberscontrollerupdatesubscriberglobalpreferences.ts index 4e61838a..26202875 100644 --- a/src/models/operations/subscriberscontrollerupdatesubscriberglobalpreferences.ts +++ b/src/models/operations/subscriberscontrollerupdatesubscriberglobalpreferences.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type SubscribersControllerUpdateSubscriberGlobalPreferencesRequest = { diff --git a/src/models/operations/subscriberscontrollerupdatesubscriberonlineflag.ts b/src/models/operations/subscriberscontrollerupdatesubscriberonlineflag.ts index b9ba3dec..a5e70d1c 100644 --- a/src/models/operations/subscriberscontrollerupdatesubscriberonlineflag.ts +++ b/src/models/operations/subscriberscontrollerupdatesubscriberonlineflag.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type SubscribersControllerUpdateSubscriberOnlineFlagRequest = { diff --git a/src/models/operations/subscriberscontrollerupdatesubscriberpreference.ts b/src/models/operations/subscriberscontrollerupdatesubscriberpreference.ts index d0bedf24..85f71fd7 100644 --- a/src/models/operations/subscriberscontrollerupdatesubscriberpreference.ts +++ b/src/models/operations/subscriberscontrollerupdatesubscriberpreference.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type SubscribersControllerUpdateSubscriberPreferenceRequest = { diff --git a/src/models/operations/tenantcontrollerlisttenants.ts b/src/models/operations/tenantcontrollerlisttenants.ts index e313f906..da420e6e 100644 --- a/src/models/operations/tenantcontrollerlisttenants.ts +++ b/src/models/operations/tenantcontrollerlisttenants.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type TenantControllerListTenantsRequest = { diff --git a/src/models/operations/tenantcontrollerupdatetenant.ts b/src/models/operations/tenantcontrollerupdatetenant.ts index c0197abd..1218b736 100644 --- a/src/models/operations/tenantcontrollerupdatetenant.ts +++ b/src/models/operations/tenantcontrollerupdatetenant.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type TenantControllerUpdateTenantRequest = { diff --git a/src/models/operations/topicscontrolleraddsubscribers.ts b/src/models/operations/topicscontrolleraddsubscribers.ts index ee4cee65..6fca8f40 100644 --- a/src/models/operations/topicscontrolleraddsubscribers.ts +++ b/src/models/operations/topicscontrolleraddsubscribers.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type TopicsControllerAddSubscribersRequest = { diff --git a/src/models/operations/topicscontrollerremovesubscribers.ts b/src/models/operations/topicscontrollerremovesubscribers.ts index 545811c6..eb2f3877 100644 --- a/src/models/operations/topicscontrollerremovesubscribers.ts +++ b/src/models/operations/topicscontrollerremovesubscribers.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type TopicsControllerRemoveSubscribersRequest = { diff --git a/src/models/operations/topicscontrollerrenametopic.ts b/src/models/operations/topicscontrollerrenametopic.ts index 2f01e339..a3f6047f 100644 --- a/src/models/operations/topicscontrollerrenametopic.ts +++ b/src/models/operations/topicscontrollerrenametopic.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type TopicsControllerRenameTopicRequest = { diff --git a/src/models/operations/workflowcontrollerupdateactivestatus.ts b/src/models/operations/workflowcontrollerupdateactivestatus.ts index 967859de..4bbbc429 100644 --- a/src/models/operations/workflowcontrollerupdateactivestatus.ts +++ b/src/models/operations/workflowcontrollerupdateactivestatus.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type WorkflowControllerUpdateActiveStatusRequest = { diff --git a/src/models/operations/workflowcontrollerupdateworkflowbyid.ts b/src/models/operations/workflowcontrollerupdateworkflowbyid.ts index b7a1b896..92d528cb 100644 --- a/src/models/operations/workflowcontrollerupdateworkflowbyid.ts +++ b/src/models/operations/workflowcontrollerupdateworkflowbyid.ts @@ -2,8 +2,8 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { remap as remap$ } from "../../lib/primitives"; -import * as components from "../components"; +import { remap as remap$ } from "../../lib/primitives.js"; +import * as components from "../components/index.js"; import * as z from "zod"; export type WorkflowControllerUpdateWorkflowByIdRequest = { diff --git a/src/sdk/apikeys.ts b/src/sdk/apikeys.ts index b37235db..be3742b7 100644 --- a/src/sdk/apikeys.ts +++ b/src/sdk/apikeys.ts @@ -2,12 +2,12 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; import * as z from "zod"; export class ApiKeys extends ClientSDK { diff --git a/src/sdk/authentication.ts b/src/sdk/authentication.ts index 27a0cb3c..7da29036 100644 --- a/src/sdk/authentication.ts +++ b/src/sdk/authentication.ts @@ -2,17 +2,17 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; import { encodeFormQuery as encodeFormQuery$, encodeSimple as encodeSimple$, -} from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as operations from "../models/operations"; +} from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class Authentication extends ClientSDK { diff --git a/src/sdk/branding.ts b/src/sdk/branding.ts index 62fb4acd..78bb49c1 100644 --- a/src/sdk/branding.ts +++ b/src/sdk/branding.ts @@ -2,14 +2,14 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; export class Branding extends ClientSDK { private readonly options$: SDKOptions & { hooks?: SDKHooks }; diff --git a/src/sdk/changes.ts b/src/sdk/changes.ts index 949088ce..f9246a8f 100644 --- a/src/sdk/changes.ts +++ b/src/sdk/changes.ts @@ -2,19 +2,19 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; import { encodeFormQuery as encodeFormQuery$, encodeJSON as encodeJSON$, encodeSimple as encodeSimple$, -} from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +} from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class Changes extends ClientSDK { diff --git a/src/sdk/credentials.ts b/src/sdk/credentials.ts index 528a3c61..cfd737fe 100644 --- a/src/sdk/credentials.ts +++ b/src/sdk/credentials.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class Credentials extends ClientSDK { diff --git a/src/sdk/environments.ts b/src/sdk/environments.ts index aa4606f4..18d52610 100644 --- a/src/sdk/environments.ts +++ b/src/sdk/environments.ts @@ -2,13 +2,13 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import { ApiKeys } from "./apikeys"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import { ApiKeys } from "./apikeys.js"; import * as z from "zod"; export class Environments extends ClientSDK { diff --git a/src/sdk/events.ts b/src/sdk/events.ts index 49627332..ce82f629 100644 --- a/src/sdk/events.ts +++ b/src/sdk/events.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class Events extends ClientSDK { diff --git a/src/sdk/executiondetails.ts b/src/sdk/executiondetails.ts index 51623e4a..52efe8aa 100644 --- a/src/sdk/executiondetails.ts +++ b/src/sdk/executiondetails.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeFormQuery as encodeFormQuery$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeFormQuery as encodeFormQuery$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class ExecutionDetails extends ClientSDK { diff --git a/src/sdk/feeds.ts b/src/sdk/feeds.ts index 2439e4c9..ea08b864 100644 --- a/src/sdk/feeds.ts +++ b/src/sdk/feeds.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class Feeds extends ClientSDK { diff --git a/src/sdk/index.ts b/src/sdk/index.ts index 31303148..34a84fc2 100644 --- a/src/sdk/index.ts +++ b/src/sdk/index.ts @@ -2,4 +2,4 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -export * from "./sdk"; +export * from "./sdk.js"; diff --git a/src/sdk/integrations.ts b/src/sdk/integrations.ts index c5f1b7f0..d26a9dae 100644 --- a/src/sdk/integrations.ts +++ b/src/sdk/integrations.ts @@ -2,16 +2,16 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; -import { Webhooks } from "./webhooks"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; +import { Webhooks } from "./webhooks.js"; import * as z from "zod"; export class Integrations extends ClientSDK { diff --git a/src/sdk/layouts.ts b/src/sdk/layouts.ts index f04eb73f..a0b1d495 100644 --- a/src/sdk/layouts.ts +++ b/src/sdk/layouts.ts @@ -2,19 +2,19 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; import { encodeFormQuery as encodeFormQuery$, encodeJSON as encodeJSON$, encodeSimple as encodeSimple$, -} from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +} from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class Layouts extends ClientSDK { diff --git a/src/sdk/members.ts b/src/sdk/members.ts index 19e4b79e..855b9dd3 100644 --- a/src/sdk/members.ts +++ b/src/sdk/members.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class Members extends ClientSDK { diff --git a/src/sdk/messages.ts b/src/sdk/messages.ts index 0efd9dfe..140e3528 100644 --- a/src/sdk/messages.ts +++ b/src/sdk/messages.ts @@ -2,18 +2,18 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; import { encodeFormQuery as encodeFormQuery$, encodeSimple as encodeSimple$, -} from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +} from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class Messages extends ClientSDK { diff --git a/src/sdk/notifications.ts b/src/sdk/notifications.ts index 1d5227b7..27c315c1 100644 --- a/src/sdk/notifications.ts +++ b/src/sdk/notifications.ts @@ -2,19 +2,19 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; import { encodeFormQuery as encodeFormQuery$, encodeSimple as encodeSimple$, -} from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; -import { Stats } from "./stats"; +} from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; +import { Stats } from "./stats.js"; export class Notifications extends ClientSDK { private readonly options$: SDKOptions & { hooks?: SDKHooks }; diff --git a/src/sdk/novumessages.ts b/src/sdk/novumessages.ts index a0a8802c..e7f3aa34 100644 --- a/src/sdk/novumessages.ts +++ b/src/sdk/novumessages.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class NovuMessages extends ClientSDK { diff --git a/src/sdk/novunotifications.ts b/src/sdk/novunotifications.ts index ae4fa8df..39b05d6c 100644 --- a/src/sdk/novunotifications.ts +++ b/src/sdk/novunotifications.ts @@ -2,18 +2,18 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; import { encodeFormQuery as encodeFormQuery$, encodeSimple as encodeSimple$, -} from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +} from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; export class NovuNotifications extends ClientSDK { private readonly options$: SDKOptions & { hooks?: SDKHooks }; diff --git a/src/sdk/novusubscribers.ts b/src/sdk/novusubscribers.ts index 8c3cfd43..703d2b85 100644 --- a/src/sdk/novusubscribers.ts +++ b/src/sdk/novusubscribers.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class NovuSubscribers extends ClientSDK { diff --git a/src/sdk/organizations.ts b/src/sdk/organizations.ts index 041f1bb1..5f0b637a 100644 --- a/src/sdk/organizations.ts +++ b/src/sdk/organizations.ts @@ -2,16 +2,16 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import { Branding } from "./branding"; -import { Members } from "./members"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import { Branding } from "./branding.js"; +import { Members } from "./members.js"; import * as z from "zod"; export class Organizations extends ClientSDK { diff --git a/src/sdk/preferences.ts b/src/sdk/preferences.ts index 54cf4dd9..85d5bb32 100644 --- a/src/sdk/preferences.ts +++ b/src/sdk/preferences.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class Preferences extends ClientSDK { @@ -139,7 +139,7 @@ export class Preferences extends ClientSDK { * Get subscriber preferences by level */ async retrieveByLevel( - parameter: string, + parameter: operations.Parameter, subscriberId: string, options?: RequestOptions & { retries?: retries$.RetryConfig } ): Promise> { diff --git a/src/sdk/properties.ts b/src/sdk/properties.ts index 96c1436e..589c543a 100644 --- a/src/sdk/properties.ts +++ b/src/sdk/properties.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; export class Properties extends ClientSDK { private readonly options$: SDKOptions & { hooks?: SDKHooks }; diff --git a/src/sdk/sdk.ts b/src/sdk/sdk.ts index de449733..83caa599 100644 --- a/src/sdk/sdk.ts +++ b/src/sdk/sdk.ts @@ -2,29 +2,29 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import { Changes } from "./changes"; -import { Environments } from "./environments"; -import { Events } from "./events"; -import { ExecutionDetails } from "./executiondetails"; -import { Feeds } from "./feeds"; -import { Integrations } from "./integrations"; -import { Layouts } from "./layouts"; -import { Messages } from "./messages"; -import { Notifications } from "./notifications"; -import { Organizations } from "./organizations"; -import { Subscribers } from "./subscribers"; -import { Tenants } from "./tenants"; -import { Topics } from "./topics"; -import { WorkflowGroups } from "./workflowgroups"; -import { Workflows } from "./workflows"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import { Changes } from "./changes.js"; +import { Environments } from "./environments.js"; +import { Events } from "./events.js"; +import { ExecutionDetails } from "./executiondetails.js"; +import { Feeds } from "./feeds.js"; +import { Integrations } from "./integrations.js"; +import { Layouts } from "./layouts.js"; +import { Messages } from "./messages.js"; +import { Notifications } from "./notifications.js"; +import { Organizations } from "./organizations.js"; +import { Subscribers } from "./subscribers.js"; +import { Tenants } from "./tenants.js"; +import { Topics } from "./topics.js"; +import { WorkflowGroups } from "./workflowgroups.js"; +import { Workflows } from "./workflows.js"; export class Novu extends ClientSDK { private readonly options$: SDKOptions & { hooks?: SDKHooks }; diff --git a/src/sdk/stats.ts b/src/sdk/stats.ts index f7402451..6c50bf5c 100644 --- a/src/sdk/stats.ts +++ b/src/sdk/stats.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeFormQuery as encodeFormQuery$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeFormQuery as encodeFormQuery$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class Stats extends ClientSDK { diff --git a/src/sdk/status.ts b/src/sdk/status.ts index 5b526353..6185cfb4 100644 --- a/src/sdk/status.ts +++ b/src/sdk/status.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; export class Status extends ClientSDK { private readonly options$: SDKOptions & { hooks?: SDKHooks }; diff --git a/src/sdk/subscribers.ts b/src/sdk/subscribers.ts index 156c5eb8..1b7280f4 100644 --- a/src/sdk/subscribers.ts +++ b/src/sdk/subscribers.ts @@ -2,26 +2,26 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; import { encodeFormQuery as encodeFormQuery$, encodeJSON as encodeJSON$, encodeSimple as encodeSimple$, -} from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; -import { createPageIterator, PageIterator, Paginator } from "../types"; -import { Authentication } from "./authentication"; -import { Credentials } from "./credentials"; -import { NovuMessages } from "./novumessages"; -import { NovuNotifications } from "./novunotifications"; -import { Preferences } from "./preferences"; -import { Properties } from "./properties"; +} from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; +import { createPageIterator, PageIterator, Paginator } from "../types/operations.js"; +import { Authentication } from "./authentication.js"; +import { Credentials } from "./credentials.js"; +import { NovuMessages } from "./novumessages.js"; +import { NovuNotifications } from "./novunotifications.js"; +import { Preferences } from "./preferences.js"; +import { Properties } from "./properties.js"; import jp from "jsonpath"; import * as z from "zod"; diff --git a/src/sdk/tenants.ts b/src/sdk/tenants.ts index a0869877..a226a164 100644 --- a/src/sdk/tenants.ts +++ b/src/sdk/tenants.ts @@ -2,20 +2,20 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; import { encodeFormQuery as encodeFormQuery$, encodeJSON as encodeJSON$, encodeSimple as encodeSimple$, -} from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; -import { createPageIterator, PageIterator, Paginator } from "../types"; +} from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; +import { createPageIterator, PageIterator, Paginator } from "../types/operations.js"; import jp from "jsonpath"; import * as z from "zod"; diff --git a/src/sdk/topics.ts b/src/sdk/topics.ts index be161f0d..f6ba737f 100644 --- a/src/sdk/topics.ts +++ b/src/sdk/topics.ts @@ -2,20 +2,20 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; import { encodeFormQuery as encodeFormQuery$, encodeJSON as encodeJSON$, encodeSimple as encodeSimple$, -} from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; -import { NovuSubscribers } from "./novusubscribers"; +} from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; +import { NovuSubscribers } from "./novusubscribers.js"; import * as z from "zod"; export class Topics extends ClientSDK { diff --git a/src/sdk/variables.ts b/src/sdk/variables.ts index c505e3f0..fddfa712 100644 --- a/src/sdk/variables.ts +++ b/src/sdk/variables.ts @@ -2,12 +2,12 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; export class Variables extends ClientSDK { private readonly options$: SDKOptions & { hooks?: SDKHooks }; diff --git a/src/sdk/webhooks.ts b/src/sdk/webhooks.ts index fd6cf3c6..8a859611 100644 --- a/src/sdk/webhooks.ts +++ b/src/sdk/webhooks.ts @@ -2,14 +2,14 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class Webhooks extends ClientSDK { diff --git a/src/sdk/workflowgroups.ts b/src/sdk/workflowgroups.ts index f05c73db..00a6b5a4 100644 --- a/src/sdk/workflowgroups.ts +++ b/src/sdk/workflowgroups.ts @@ -2,15 +2,15 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; -import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; +import { encodeJSON as encodeJSON$, encodeSimple as encodeSimple$ } from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; import * as z from "zod"; export class WorkflowGroups extends ClientSDK { diff --git a/src/sdk/workflows.ts b/src/sdk/workflows.ts index e709d479..2f2c9ffa 100644 --- a/src/sdk/workflows.ts +++ b/src/sdk/workflows.ts @@ -2,21 +2,21 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -import { SDKHooks } from "../hooks"; -import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config"; +import { SDKHooks } from "../hooks/hooks.js"; +import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config.js"; import { encodeFormQuery as encodeFormQuery$, encodeJSON as encodeJSON$, encodeSimple as encodeSimple$, -} from "../lib/encodings"; -import { HTTPClient } from "../lib/http"; -import * as retries$ from "../lib/retries"; -import * as schemas$ from "../lib/schemas"; -import { ClientSDK, RequestOptions } from "../lib/sdks"; -import * as components from "../models/components"; -import * as operations from "../models/operations"; -import { Status } from "./status"; -import { Variables } from "./variables"; +} from "../lib/encodings.js"; +import { HTTPClient } from "../lib/http.js"; +import * as retries$ from "../lib/retries.js"; +import * as schemas$ from "../lib/schemas.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as components from "../models/components/index.js"; +import * as operations from "../models/operations/index.js"; +import { Status } from "./status.js"; +import { Variables } from "./variables.js"; export class Workflows extends ClientSDK { private readonly options$: SDKOptions & { hooks?: SDKHooks }; diff --git a/src/types/index.ts b/src/types/index.ts index 42fcfd24..374373e9 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -2,9 +2,9 @@ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. */ -export { RFCDate } from "./rfcdate"; -export { blobLikeSchema, isBlobLike } from "./blobs"; -export type { Paginator, PageIterator } from "./operations"; -export { createPageIterator } from "./operations"; -export { catchUnrecognizedEnum } from "./enums"; -export type { OpenEnum, ClosedEnum, Unrecognized } from "./enums"; +export { RFCDate } from "./rfcdate.js"; +export { blobLikeSchema, isBlobLike } from "./blobs.js"; +export type { Paginator, PageIterator } from "./operations.js"; +export { createPageIterator } from "./operations.js"; +export { catchUnrecognizedEnum } from "./enums.js"; +export type { OpenEnum, ClosedEnum, Unrecognized } from "./enums.js";