@messagebird/n8n-nodes-bird 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -18,7 +18,7 @@ On a self-hosted instance that has not enabled community nodes in the panel, use
18
18
 
19
19
  ## Operations
20
20
 
21
- The **Bird** node covers the public Bird API: email and SMS sends, delivery status and event timelines, WhatsApp, verification, templates, sending domains, suppressions, inbound routes, webhooks, statistics, lookup, and more. Resources and operations mirror the API reference at https://bird.com/docs/api. Three areas are deliberately out: publishing and subscribing on Realtime, which needs an app key and secret this credential cannot hold (managing Realtime apps and keys is included); the attachment and media downloads, which return bytes rather than the JSON a workflow item carries; and redirect-based media fetches.
21
+ The **Bird** node covers the public Bird API: email and SMS sends, delivery status and event timelines, WhatsApp, verification, templates, sending domains, suppressions, inbound routes, webhooks, statistics, lookup, and more. Resources and operations mirror the API reference at https://bird.com/docs/api. Four areas are deliberately out: publishing and subscribing on Realtime, which needs an app key and secret this credential cannot hold (managing Realtime apps and keys is included); the attachment and media downloads, which return bytes rather than the JSON a workflow item carries; redirect-based media fetches; and authoring reusable email templates (sending an existing email template, and listing the ones a workspace has, are covered).
22
22
 
23
23
  <details>
24
24
  <summary><strong>178 operations across 22 resources</strong></summary>
@@ -23,7 +23,7 @@ exports.birdProperties = [
23
23
  { name: "SMS", value: "sms", description: "Send SMS and manage its messaging resources" },
24
24
  { name: "SMS Keyword Rule", value: "sms_keyword_rules", description: "Configure what a reply to one of the workspace's numbers does" },
25
25
  { name: "SMS Suppression", value: "sms_suppressions", description: "Manage who an SMS sender may not message" },
26
- { name: "SMS Template", value: "sms_templates", description: "Browse the workspace's SMS templates" },
26
+ { name: "SMS Template", value: "sms_templates", description: "Browse the SMS templates available to the workspace" },
27
27
  { name: "Suppression", value: "suppression", description: "Manage the email suppression list" },
28
28
  { name: "Verify", value: "verify", description: "Send one-time passcodes and check them" },
29
29
  { name: "Voice", value: "voice", description: "Read the call log and statistics, configure what admits a call, and place a test call" },
@@ -297,10 +297,10 @@ exports.birdProperties = [
297
297
  noDataExpression: true,
298
298
  displayOptions: { show: { resource: ["suppression"] } },
299
299
  options: [
300
- { name: "List", value: "list", action: "List suppressions", description: "List suppressions" },
301
- { name: "Add", value: "add", action: "Create a suppression", description: "Create a suppression" },
302
- { name: "Remove", value: "remove", action: "Delete a suppression", description: "Delete a suppression" },
303
- { name: "Get", value: "get", action: "Get a suppression", description: "Get a suppression" },
300
+ { name: "List", value: "list", action: "List email suppressions", description: "List email suppressions" },
301
+ { name: "Get", value: "get", action: "Get an email suppression", description: "Get an email suppression" },
302
+ { name: "Add", value: "add", action: "Create an email suppression", description: "Create an email suppression" },
303
+ { name: "Remove", value: "remove", action: "Delete an email suppression", description: "Delete an email suppression" },
304
304
  ],
305
305
  default: "list",
306
306
  },
@@ -2562,7 +2562,7 @@ exports.birdProperties = [
2562
2562
  name: "from",
2563
2563
  type: "string",
2564
2564
  default: "",
2565
- description: "Sender to send from. It must be a sender the workspace holds: a number it owns in E.164, such as `+15557654321`, a short code it holds, such as `24680`, or an alphanumeric sender ID it has claimed, such as `MyBrand`. A sender the workspace does not hold returns a `422` `SMSSenderNotConfigured`, and an alphanumeric sender must also be permitted, and where required registered, for the destination country. Required on a free-text send: omitting it returns a `422` `SMSNoEligibleSender`. Not accepted alongside `template`, which selects its sender automatically.",
2565
+ description: "Sender to send from. It must be a sender the workspace holds: a number it owns in E.164, such as `+15557654321`, a short code it holds, such as `24680`, or an alphanumeric sender ID it has claimed, such as `MyBrand`. A sender the workspace does not hold returns a `422` `SMSSenderNotConfigured`, and an alphanumeric sender must also be permitted, and where required registered, for the destination country. Required on a free-text send and when sending a workspace template. Omitting it in either case returns `422`. A built-in template selects its sender automatically and rejects `from`.",
2566
2566
  },
2567
2567
  {
2568
2568
  displayName: "Metadata",
@@ -2647,14 +2647,14 @@ exports.birdProperties = [
2647
2647
  type: "collection",
2648
2648
  placeholder: "Add Field",
2649
2649
  default: {},
2650
- description: "Send using a stored template instead of free text. Mutually exclusive with `text`; the message category is derived from the template, so `from`, `category`, and `media_urls` are not accepted alongside it.",
2650
+ description: "Send using a stored template instead of free text. The category is derived from the template, so `category` and `media_urls` are rejected. A workspace template requires `from`; a built-in template selects its sender and rejects `from`.",
2651
2651
  options: [
2652
2652
  {
2653
2653
  displayName: "ID",
2654
2654
  name: "id",
2655
2655
  type: "string",
2656
2656
  default: "",
2657
- description: "The template to send, by its ID",
2657
+ description: "The workspace or built-in template to send, by ID",
2658
2658
  },
2659
2659
  {
2660
2660
  displayName: "Language",
@@ -2668,7 +2668,7 @@ exports.birdProperties = [
2668
2668
  name: "name",
2669
2669
  type: "string",
2670
2670
  default: "",
2671
- description: "Deprecated: use `slug` instead. Resolved as a slug first, and only if that finds nothing, matched against the template's display name.",
2671
+ description: "Deprecated. Use `slug` instead. This resolves legacy built-in catalogue names and never matches a workspace template's display name.",
2672
2672
  },
2673
2673
  {
2674
2674
  displayName: "Parameters",
@@ -2677,7 +2677,7 @@ exports.birdProperties = [
2677
2677
  typeOptions: { multipleValues: true },
2678
2678
  placeholder: "Add Pair",
2679
2679
  default: {},
2680
- description: "Values for the template's variables, keyed by variable name. The accepted keys and their formats are fixed per template (the template's `variables` on the templates endpoint). A missing required variable, an undeclared key, a value that does not match its variable's format, or a serialized payload over 16 KB each return a `422`.",
2680
+ description: "Values for the template's variables, keyed by variable name. Read the live version to see the accepted keys and formats. A missing key, an undeclared key, an invalid value, or a serialized object over 16 KiB returns `422`.",
2681
2681
  options: [
2682
2682
  {
2683
2683
  displayName: "Pair",
@@ -2704,7 +2704,7 @@ exports.birdProperties = [
2704
2704
  name: "slug",
2705
2705
  type: "string",
2706
2706
  default: "",
2707
- description: "The template to send, by its slug handle (for example `bird_otp_verification`). Browse the available templates and their variables with the templates endpoint.",
2707
+ description: "The workspace or built-in template to send, by its immutable slug. Read the template's live version to see its variables.",
2708
2708
  },
2709
2709
  ],
2710
2710
  },
@@ -2851,6 +2851,23 @@ exports.birdProperties = [
2851
2851
  },
2852
2852
  ],
2853
2853
  },
2854
+ {
2855
+ displayName: "Return All",
2856
+ name: "returnAll",
2857
+ type: "boolean",
2858
+ displayOptions: { show: { resource: ["sms_templates"], operation: ["list"] } },
2859
+ default: false,
2860
+ description: "Whether to return all results or only up to a given limit",
2861
+ },
2862
+ {
2863
+ displayName: "Limit",
2864
+ name: "limit",
2865
+ type: "number",
2866
+ typeOptions: { minValue: 1 },
2867
+ displayOptions: { show: { resource: ["sms_templates"], operation: ["list"] } },
2868
+ default: 50,
2869
+ description: "Max number of results to return",
2870
+ },
2854
2871
  {
2855
2872
  displayName: "Additional Fields",
2856
2873
  name: "additionalFields",
@@ -2859,6 +2876,33 @@ exports.birdProperties = [
2859
2876
  default: {},
2860
2877
  displayOptions: { show: { resource: ["sms_templates"], operation: ["list"] } },
2861
2878
  options: [
2879
+ {
2880
+ displayName: "Category",
2881
+ name: "category",
2882
+ type: "options",
2883
+ options: [
2884
+ { name: "Not Set", value: "" },
2885
+ { name: "Transactional", value: "transactional" },
2886
+ { name: "Marketing", value: "marketing" },
2887
+ { name: "Authentication", value: "authentication" },
2888
+ ],
2889
+ default: "",
2890
+ description: "Return templates in this category",
2891
+ },
2892
+ {
2893
+ displayName: "Language",
2894
+ name: "language",
2895
+ type: "string",
2896
+ default: "",
2897
+ description: "Return templates whose published content contains this language, after the tag is canonicalized. Draft-only languages do not match.",
2898
+ },
2899
+ {
2900
+ displayName: "Q",
2901
+ name: "q",
2902
+ type: "string",
2903
+ default: "",
2904
+ description: "A case-insensitive substring search across slug, name, and description",
2905
+ },
2862
2906
  {
2863
2907
  displayName: "Scope",
2864
2908
  name: "scope",
@@ -2869,28 +2913,55 @@ exports.birdProperties = [
2869
2913
  { name: "Workspace", value: "workspace" },
2870
2914
  ],
2871
2915
  default: "",
2872
- description: "Keep only templates of this scope. Every SMS template is `system`, so `workspace` matches none. Omit for all.",
2916
+ description: "Filter by who owns the template. Use `system` for built-in templates and `workspace` for templates your workspace created.",
2873
2917
  },
2874
2918
  {
2875
- displayName: "Category",
2876
- name: "category",
2919
+ displayName: "Status",
2920
+ name: "status",
2877
2921
  type: "options",
2878
2922
  options: [
2879
- { name: "Authentication", value: "authentication" },
2880
- { name: "Marketing", value: "marketing" },
2923
+ { name: "Active", value: "active" },
2924
+ { name: "Draft", value: "draft" },
2925
+ { name: "Inactive", value: "inactive" },
2881
2926
  { name: "Not Set", value: "" },
2882
- { name: "Service", value: "service" },
2883
- { name: "Transactional", value: "transactional" },
2927
+ { name: "Pending", value: "pending" },
2928
+ { name: "Rejected", value: "rejected" },
2884
2929
  ],
2885
2930
  default: "",
2886
- description: "Keep only templates whose `category` matches. Omit for all categories.",
2931
+ description: "Return templates with this lifecycle status",
2887
2932
  },
2933
+ ],
2934
+ },
2935
+ {
2936
+ displayName: "Sort",
2937
+ name: "sort",
2938
+ type: "collection",
2939
+ placeholder: "Add Sort Option",
2940
+ default: {},
2941
+ displayOptions: { show: { resource: ["sms_templates"], operation: ["list"] } },
2942
+ options: [
2888
2943
  {
2889
- displayName: "Language",
2890
- name: "language",
2891
- type: "string",
2944
+ displayName: "Sort By",
2945
+ name: "sort",
2946
+ type: "options",
2947
+ options: [
2948
+ { name: "Not Set", value: "" },
2949
+ { name: "Created At", value: "created_at" },
2950
+ ],
2892
2951
  default: "",
2893
- description: "Keep only templates available in this language, as a BCP-47 tag. Matches the template's `available_languages` entries exactly, with no fallback.",
2952
+ description: "Field to sort by",
2953
+ },
2954
+ {
2955
+ displayName: "Order",
2956
+ name: "order",
2957
+ type: "options",
2958
+ options: [
2959
+ { name: "Not Set", value: "" },
2960
+ { name: "Asc", value: "asc" },
2961
+ { name: "Desc", value: "desc" },
2962
+ ],
2963
+ default: "",
2964
+ description: "Sort direction. Defaults to `desc`, which sorts from newest to oldest or largest to smallest, depending on the selected sort field.",
2894
2965
  },
2895
2966
  ],
2896
2967
  },
@@ -2908,7 +2979,7 @@ exports.birdProperties = [
2908
2979
  type: "string",
2909
2980
  },
2910
2981
  ],
2911
- description: "The template's `slug` (for example `bird_otp_verification`) or its `smt_`-prefixed ID. A reference starting with `smt_` resolves by ID; anything else resolves by slug.",
2982
+ description: "The template's ID (`smt_…`) or slug. Built-in templates use a `bird_` slug. Write operations accept workspace templates because built-in templates are read-only.",
2912
2983
  },
2913
2984
  {
2914
2985
  displayName: "Message",
@@ -6120,7 +6191,7 @@ exports.birdProperties = [
6120
6191
  { name: "Unsubscribe", value: "unsubscribe" },
6121
6192
  ],
6122
6193
  default: "",
6123
- description: "Return only suppressions with this reason: - `hard_bounce`: Delivery permanently failed. - `complaint`: The recipient reported a message as spam. - `unsubscribe`: The recipient opted out. Deprecated: unsubscribes are now recorded as messaging preferences rather than suppressions, so no new records carry this reason and existing ones are being moved. Expect this value to match nothing. - `manual`: Added through the API or dashboard.",
6194
+ description: "Return only suppressions with this reason: - `hard_bounce`: Delivery permanently failed. - `complaint`: The recipient reported a message as spam. - `unsubscribe`: The recipient opted out. Deprecated: unsubscribes are now recorded as messaging preferences rather than suppressions, so no new records carry this reason. The filter returns legacy records until they are moved to messaging preferences. - `manual`: Added through the API or dashboard.",
6124
6195
  },
6125
6196
  {
6126
6197
  displayName: "Scope Type",
@@ -6140,6 +6211,29 @@ exports.birdProperties = [
6140
6211
  },
6141
6212
  ],
6142
6213
  },
6214
+ {
6215
+ displayName: "Suppression",
6216
+ name: "suppression_id",
6217
+ type: "resourceLocator",
6218
+ required: true,
6219
+ default: { mode: "list", value: "" },
6220
+ displayOptions: { show: { resource: ["suppression"], operation: ["get"] } },
6221
+ modes: [
6222
+ {
6223
+ displayName: "From List",
6224
+ name: "list",
6225
+ type: "list",
6226
+ placeholder: "Select a Suppression...",
6227
+ typeOptions: { searchListMethod: "suppressionList", searchable: true },
6228
+ },
6229
+ {
6230
+ displayName: "By ID",
6231
+ name: "id",
6232
+ type: "string",
6233
+ },
6234
+ ],
6235
+ description: "ID of the suppression record, as returned when the suppression was created or listed",
6236
+ },
6143
6237
  {
6144
6238
  displayName: "Email",
6145
6239
  name: "email",
@@ -10080,29 +10174,6 @@ exports.birdProperties = [
10080
10174
  },
10081
10175
  ],
10082
10176
  },
10083
- {
10084
- displayName: "Suppression",
10085
- name: "suppression_id",
10086
- type: "resourceLocator",
10087
- required: true,
10088
- default: { mode: "list", value: "" },
10089
- displayOptions: { show: { resource: ["suppression"], operation: ["get"] } },
10090
- modes: [
10091
- {
10092
- displayName: "From List",
10093
- name: "list",
10094
- type: "list",
10095
- placeholder: "Select a Suppression...",
10096
- typeOptions: { searchListMethod: "suppressionList", searchable: true },
10097
- },
10098
- {
10099
- displayName: "By ID",
10100
- name: "id",
10101
- type: "string",
10102
- },
10103
- ],
10104
- description: "ID of the suppression record, as returned when the suppression was created or listed",
10105
- },
10106
10177
  {
10107
10178
  displayName: "Domain",
10108
10179
  name: "domain_id",
@@ -28,7 +28,7 @@ exports.birdRoutes = {
28
28
  "sms:send_batch": { method: "POST", path: "/v1/sms/batches", pathParams: [], topLevel: ["messages"], collections: ["additionalFields"], query: [], body: ["messages"], jsonFields: ["messages"], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: true, idempotencyHeader: true, scopes: ["sms"] },
29
29
  "sms:get": { method: "GET", path: "/v1/sms/messages/{message_id}", pathParams: ["message_id"], topLevel: ["message_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["sms"] },
30
30
  "sms:list": { method: "GET", path: "/v1/sms/messages", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["limit", "starting_after", "ending_before", "created_after", "created_before", "direction", "status", "error_code", "category", "to", "from", "tag"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: ["status", "error_code", "tag"], dateTimeFields: ["created_after", "created_before"], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["sms"] },
31
- "sms_templates:list": { method: "GET", path: "/v1/sms/templates", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["scope", "category", "language"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: true, idempotencyHeader: false, scopes: ["sms_management"] },
31
+ "sms_templates:list": { method: "GET", path: "/v1/sms/templates", pathParams: [], topLevel: [], collections: ["additionalFields", "sort"], query: ["scope", "category", "status", "language", "q", "sort", "order", "limit", "starting_after", "ending_before"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["sms_management"] },
32
32
  "sms_templates:get": { method: "GET", path: "/v1/sms/templates/{template_ref}", pathParams: ["template_ref"], topLevel: ["template_ref"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["sms_management"] },
33
33
  "sms:list_events": { method: "GET", path: "/v1/sms/messages/{message_id}/events", pathParams: ["message_id"], topLevel: ["message_id"], collections: ["additionalFields"], query: ["type"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: true, idempotencyHeader: false, scopes: ["sms"] },
34
34
  "sms:stats_summary": { method: "GET", path: "/v1/sms/stats/summary", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["from", "to", "timezone", "originator", "country", "category", "carrier", "compare"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["sms"] },
@@ -91,6 +91,7 @@ exports.birdRoutes = {
91
91
  "inbound_message:body": { method: "GET", path: "/v1/email/inbound-messages/{inbound_message_id}/body", pathParams: ["inbound_message_id"], topLevel: ["inbound_message_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["emails"] },
92
92
  "inbound_message:attachments": { method: "GET", path: "/v1/email/inbound-messages/{inbound_message_id}/attachments", pathParams: ["inbound_message_id"], topLevel: ["inbound_message_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: true, idempotencyHeader: false, scopes: ["emails"] },
93
93
  "suppression:list": { method: "GET", path: "/v1/email/suppressions", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["email", "reason", "scope_type", "limit", "starting_after", "ending_before"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["email_management"] },
94
+ "suppression:get": { method: "GET", path: "/v1/email/suppressions/{suppression_id}", pathParams: ["suppression_id"], topLevel: ["suppression_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["email_management"] },
94
95
  "suppression:add": { method: "POST", path: "/v1/email/suppressions", pathParams: [], topLevel: ["email"], collections: ["additionalFields"], query: [], body: ["email"], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["email_management"] },
95
96
  "suppression:remove": { method: "DELETE", path: "/v1/email/suppressions/{suppression_id}", pathParams: ["suppression_id"], topLevel: ["suppression_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["email_management"] },
96
97
  "webhooks:list": { method: "GET", path: "/v1/webhooks", pathParams: [], topLevel: [], collections: ["additionalFields", "sort"], query: ["sort", "order", "limit", "starting_after", "ending_before", "include_total"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["webhooks"] },
@@ -168,7 +169,6 @@ exports.birdRoutes = {
168
169
  "email:threads_messages_update": { method: "PATCH", path: "/v1/email/threads/{thread_id}/messages/{message_id}", pathParams: ["thread_id", "message_id"], topLevel: ["thread_id", "message_id"], collections: ["updateFields"], query: [], body: ["labels", "contact_id"], jsonFields: [], structured: { "labels": "struct" }, renames: {}, arrayFields: ["labels.add", "labels.remove"], dateTimeFields: [], nullableFields: ["contact_id"], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["mailbox"] },
169
170
  "email:threads_messages_delete": { method: "DELETE", path: "/v1/email/threads/{thread_id}/messages/{message_id}", pathParams: ["thread_id", "message_id"], topLevel: ["thread_id", "message_id"], collections: ["additionalFields"], query: ["permanent"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["mailbox"] },
170
171
  "email:mailboxes_messages_list": { method: "GET", path: "/v1/email/mailboxes/{mailbox_id}/messages", pathParams: ["mailbox_id"], topLevel: ["mailbox_id"], collections: ["additionalFields"], query: ["label", "direction", "status", "after", "before", "include", "limit", "starting_after", "ending_before"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: ["after", "before"], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["mailbox"] },
171
- "suppression:get": { method: "GET", path: "/v1/email/suppressions/{suppression_id}", pathParams: ["suppression_id"], topLevel: ["suppression_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["email_management"] },
172
172
  "domains:list_events": { method: "GET", path: "/v1/email/domains/{domain_id}/events", pathParams: ["domain_id"], topLevel: ["domain_id"], collections: ["additionalFields", "sort"], query: ["sort", "order", "limit", "starting_after", "ending_before"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["domains"] },
173
173
  "domains:release_tracking": { method: "POST", path: "/v1/email/domains/{domain_id}/tracking/release", pathParams: ["domain_id"], topLevel: ["domain_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["domains"] },
174
174
  "domains:share_dns_records": { method: "POST", path: "/v1/email/domains/{domain_id}/dns-records/share", pathParams: ["domain_id"], topLevel: ["domain_id", "emails"], collections: ["additionalFields"], query: [], body: ["emails"], jsonFields: [], structured: {}, renames: {}, arrayFields: ["emails"], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["domains"] },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@messagebird/n8n-nodes-bird",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "description": "The official Bird node for n8n: email, SMS, WhatsApp, and verification, plus a webhook trigger for Bird events.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -55,10 +55,10 @@
55
55
  },
56
56
  "devDependencies": {
57
57
  "@n8n/scan-community-package": "0.33.0",
58
- "@types/node": "22.19.18",
58
+ "@types/node": "22.20.2",
59
59
  "n8n-workflow": "2.16.0",
60
60
  "rimraf": "6.1.3",
61
61
  "typescript": "npm:@typescript/typescript6@^6.0.2",
62
- "vitest": "4.1.10"
62
+ "vitest": "5.0.0"
63
63
  }
64
64
  }