@messagebird/n8n-nodes-bird 0.9.2 → 0.11.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
|
@@ -21,7 +21,7 @@ On a self-hosted instance that has not enabled community nodes in the panel, use
|
|
|
21
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
|
-
<summary><strong>
|
|
24
|
+
<summary><strong>179 operations across 22 resources</strong></summary>
|
|
25
25
|
|
|
26
26
|
- **Audience** (9) — Add Contacts, Create, Delete, Get, List, List Contacts, Remove Contact, Remove Contacts, Update
|
|
27
27
|
- **Contact** (7) — Batch, Create, Delete, Get, List, List Preferences, Update
|
|
@@ -31,7 +31,7 @@ The **Bird** node covers the public Bird API: email and SMS sends, delivery stat
|
|
|
31
31
|
- **Email** (58) — Cancel, Content, Create Inbound Route, Create Mailbox, Create Mailbox Message, Create Mailbox Receive Rule, Delete Inbound Route, Delete Mailbox, Delete Mailbox Receive Rule, Delete Thread, Delete Thread Message, Get, Get Inbound Route, Get Mailbox, Get Mailbox Statistics, Get SMTP Config, Get Thread, Get Thread Message, Get Thread Message Body, List, List Events, List Inbound Routes, List Mailbox Labels, List Mailbox Messages, List Mailbox Receive Rules, List Mailboxes, List SMTP Configs, List Templates, List Thread Message Attachments, List Thread Messages, List Threads, Recipients, Reply to Thread Message, Restore Mailbox, Resume Mailbox, Send, Send Batch, Stats By Bounce Code, Stats By Broadcast, Stats By Category, Stats By Client, Stats By Complaint Type, Stats By Location, Stats By Mailbox Provider, Stats By Mailbox Provider Region, Stats By Recipient Domain, Stats By Sending Domain, Stats By Sending IP, Stats By Tag, Stats By Template, Stats Daily, Stats Hourly, Stats Summary, Update Inbound Route, Update Mailbox, Update SMTP Config, Update Thread, Update Thread Message
|
|
32
32
|
- **Inbound Address** (5) — Create, Delete, Get, List, Update
|
|
33
33
|
- **Inbound Message** (4) — Attachments, Body, Get, List
|
|
34
|
-
- **Lookup** (
|
|
34
|
+
- **Lookup** (3) — Email, Email Batch, Phone Number
|
|
35
35
|
- **Number** (8) — Create Order, Get, Get Available Number, Get Order, List, List Available Numbers, List Orders, Release
|
|
36
36
|
- **Preference** (4) — Create, Delete, Get, List
|
|
37
37
|
- **Realtime** (9) — Create App, Create App Key, Delete App, Get App, List App Keys, List Apps, List Regions, Revoke App Key, Update App
|
|
@@ -41,7 +41,7 @@ The **Bird** node covers the public Bird API: email and SMS sends, delivery stat
|
|
|
41
41
|
- **SMS Template** (2) — Get, List
|
|
42
42
|
- **Suppression** (4) — Add, Get, List, Remove
|
|
43
43
|
- **Verify** (3) — Create Next Channel Attempt, Create Verification, Create Verification Check
|
|
44
|
-
- **Voice** (2) — Get, List
|
|
44
|
+
- **Voice** (2) — Get Leg, List Legs
|
|
45
45
|
- **Webhook** (9) — Attempts, Create, Delete, Get, List, Replay, Rotate Secret, Test, Update
|
|
46
46
|
- **WhatsApp** (4) — Get, List, List Events, Send
|
|
47
47
|
- **Workspace** (1) — Get
|
|
@@ -22,7 +22,7 @@ exports.birdPickers = {
|
|
|
22
22
|
smsSuppressionsList: { route: "sms_suppressions:list", fields: ["destination"], search: "", pathFrom: [] },
|
|
23
23
|
suppressionList: { route: "suppression:list", fields: ["email"], search: "email", pathFrom: [] },
|
|
24
24
|
emailThreadsList: { route: "email:threads_list", fields: ["subject"], search: "subject", pathFrom: [] },
|
|
25
|
-
|
|
25
|
+
voiceLegsList: { route: "voice:legs_list", fields: ["to"], search: "", pathFrom: [] },
|
|
26
26
|
webhooksList: { route: "webhooks:list", fields: ["url"], search: "", pathFrom: [] },
|
|
27
27
|
whatsappList: { route: "whatsapp:list", fields: ["to.phone_number", "to.bsuid", "created_at"], search: "", pathFrom: [] },
|
|
28
28
|
};
|
|
@@ -194,10 +194,10 @@ exports.birdProperties = [
|
|
|
194
194
|
noDataExpression: true,
|
|
195
195
|
displayOptions: { show: { resource: ["voice"] } },
|
|
196
196
|
options: [
|
|
197
|
-
{ name: "List", value: "
|
|
198
|
-
{ name: "Get", value: "
|
|
197
|
+
{ name: "List Legs", value: "legs_list", action: "List legs" },
|
|
198
|
+
{ name: "Get Leg", value: "legs_get", action: "Get a leg", description: "Get a leg" },
|
|
199
199
|
],
|
|
200
|
-
default: "
|
|
200
|
+
default: "legs_list",
|
|
201
201
|
},
|
|
202
202
|
{
|
|
203
203
|
displayName: "Operation",
|
|
@@ -221,6 +221,7 @@ exports.birdProperties = [
|
|
|
221
221
|
options: [
|
|
222
222
|
{ name: "Phone Number", value: "phone_number", action: "Create a phone number lookup", description: "Create a phone number lookup" },
|
|
223
223
|
{ name: "Email", value: "email", action: "Create an email address lookup", description: "Create an email address lookup" },
|
|
224
|
+
{ name: "Email Batch", value: "email_batch", action: "Create a batch of email address lookups", description: "Create a batch of email address lookups" },
|
|
224
225
|
],
|
|
225
226
|
default: "phone_number",
|
|
226
227
|
},
|
|
@@ -4326,7 +4327,7 @@ exports.birdProperties = [
|
|
|
4326
4327
|
required: true,
|
|
4327
4328
|
displayOptions: { show: { resource: ["whatsapp"], operation: ["send"] } },
|
|
4328
4329
|
default: "",
|
|
4329
|
-
description: "The message recipient: a phone number in E.164 format (for example `+31612345678`),
|
|
4330
|
+
description: "The message recipient: a phone number in E.164 format (for example `+31612345678`), the recipient's business-scoped user ID (for example `US.13491208655302741918`), which addresses a WhatsApp user whose phone number you do not have, or a WhatsApp group ID (for example `wag_01krdgeqcxet5s7t44vh8rt9mg`), which sends to every participant of that group. A value that is none of these returns a `422` `WhatsAppInvalidRecipient`. One-time-passcode templates require a phone number and return a `422` `WhatsAppRecipientNotSupportedForTemplate` when sent to a business-scoped user ID. A group ID naming no group this workspace holds returns a `404` `WhatsAppGroupNotFound`, and one whose group is not active returns a `409` `WhatsAppGroupNotActive`. Content a group cannot take is refused ahead of both, so a group ID paired with interactive content returns the `422` below whether or not the group exists.",
|
|
4330
4331
|
},
|
|
4331
4332
|
{
|
|
4332
4333
|
displayName: "Additional Fields",
|
|
@@ -4403,7 +4404,7 @@ exports.birdProperties = [
|
|
|
4403
4404
|
name: "from",
|
|
4404
4405
|
type: "string",
|
|
4405
4406
|
default: "",
|
|
4406
|
-
description: "The business phone number to send from, in E.164 format. Omit it for a Bird-managed template, which selects its own number from its category: setting it there returns a `422` `WhatsAppSenderNotAllowed`. Every other send, whether free-form content of any kind or a template your workspace authored, requires it, and the number must be one this workspace owns. Omitting it returns a `422` `WhatsAppSenderRequired`, and naming a number this workspace cannot send from returns a `422` `WhatsAppSenderNotFound`. Naming a number this workspace owns but that sits on a different WhatsApp Business Account than an authored template returns a `422` `WhatsAppSenderWABAMismatch`. A number this workspace holds but has not finished connecting returns a `422` `WhatsAppSenderNotConnected`.",
|
|
4407
|
+
description: "The business phone number to send from, in E.164 format. Omit it for a Bird-managed template, which selects its own number from its category: setting it there returns a `422` `WhatsAppSenderNotAllowed`. Every other send, whether free-form content of any kind or a template your workspace authored, requires it, and the number must be one this workspace owns. Omitting it returns a `422` `WhatsAppSenderRequired`, and naming a number this workspace cannot send from returns a `422` `WhatsAppSenderNotFound`. Naming a number this workspace owns but that sits on a different WhatsApp Business Account than an authored template returns a `422` `WhatsAppSenderWABAMismatch`. A number this workspace holds but has not finished connecting returns a `422` `WhatsAppSenderNotConnected`. Omit it for a group send too: the group sends on its own number, so naming one returns a `422` `WhatsAppSenderNotAllowed`.",
|
|
4407
4408
|
},
|
|
4408
4409
|
{
|
|
4409
4410
|
displayName: "Image",
|
|
@@ -4442,7 +4443,7 @@ exports.birdProperties = [
|
|
|
4442
4443
|
type: "collection",
|
|
4443
4444
|
placeholder: "Add Field",
|
|
4444
4445
|
default: {},
|
|
4445
|
-
description: "Free-form interactive content to send instead of a template: body text plus reply buttons, a menu, a link button, media cards, or a single button asking the recipient to share their location or their phone number. Deliverable only inside an open 24-hour customer service window, which the contact opens by messaging or calling you and resets each time they do it again. A send into a closed window is refused with a `422` `WhatsAppServiceWindowClosed` before anything is created or charged; one whose window closes between accept and dispatch fails asynchronously, with `service_window_expired` on the message's `last_error`.",
|
|
4446
|
+
description: "Free-form interactive content to send instead of a template: body text plus reply buttons, a menu, a link button, media cards, or a single button asking the recipient to share their location or their phone number. Deliverable only inside an open 24-hour customer service window, which the contact opens by messaging or calling you and resets each time they do it again. A send into a closed window is refused with a `422` `WhatsAppServiceWindowClosed` before anything is created or charged; one whose window closes between accept and dispatch fails asynchronously, with `service_window_expired` on the message's `last_error`. WhatsApp does not deliver interactive content to a group, so a group recipient returns a `422` `WhatsAppGroupContentNotSupported`.",
|
|
4446
4447
|
options: [
|
|
4447
4448
|
{
|
|
4448
4449
|
displayName: "Body Text",
|
|
@@ -4632,7 +4633,7 @@ exports.birdProperties = [
|
|
|
4632
4633
|
type: "collection",
|
|
4633
4634
|
placeholder: "Add Field",
|
|
4634
4635
|
default: {},
|
|
4635
|
-
description: "The template to send. A Bird-managed template selects the sender number from the template's category, so `from` must be omitted. A template is the only content deliverable outside a customer service window.",
|
|
4636
|
+
description: "The template to send. A Bird-managed template selects the sender number from the template's category, so `from` must be omitted. A template is the only content deliverable outside a customer service window. A group send takes a template your workspace authored in any category but authentication: WhatsApp does not deliver an authentication template to a group, which returns a `422` `WhatsAppGroupContentNotSupported`. A Bird-managed template sends from a Bird-owned number that no group is scoped to, so addressing one to a group returns a `422` `WhatsAppInvalidRecipient`.",
|
|
4636
4637
|
options: [
|
|
4637
4638
|
{
|
|
4638
4639
|
displayName: "ID",
|
|
@@ -4815,6 +4816,13 @@ exports.birdProperties = [
|
|
|
4815
4816
|
default: "",
|
|
4816
4817
|
description: "Filter by sender, exact match. The sender is your business number on an outbound message and the contact on an inbound one, matching the `from` each message returns. Accepts an E.164 phone number, or a business-scoped user ID to name the contact. Only a contact is ever identified by a business-scoped user ID, so `from=<business-scoped user ID>` matches inbound messages only.",
|
|
4817
4818
|
},
|
|
4819
|
+
{
|
|
4820
|
+
displayName: "Group ID",
|
|
4821
|
+
name: "group_id",
|
|
4822
|
+
type: "string",
|
|
4823
|
+
default: "",
|
|
4824
|
+
description: "Filter by the WhatsApp group the message belongs to, in either direction: the group an outbound message was addressed to, or the group an inbound message arrived through. Matches the `group_id` on each message's `to`. It names one group, so there is no way to ask for the messages that belong to no group: omit it to list group and one-to-one messages together.",
|
|
4825
|
+
},
|
|
4818
4826
|
{
|
|
4819
4827
|
displayName: "Phone Number",
|
|
4820
4828
|
name: "phone_number",
|
|
@@ -4909,7 +4917,7 @@ exports.birdProperties = [
|
|
|
4909
4917
|
displayName: "Return All",
|
|
4910
4918
|
name: "returnAll",
|
|
4911
4919
|
type: "boolean",
|
|
4912
|
-
displayOptions: { show: { resource: ["voice"], operation: ["
|
|
4920
|
+
displayOptions: { show: { resource: ["voice"], operation: ["legs_list"] } },
|
|
4913
4921
|
default: false,
|
|
4914
4922
|
description: "Whether to return all results or only up to a given limit",
|
|
4915
4923
|
},
|
|
@@ -4918,7 +4926,7 @@ exports.birdProperties = [
|
|
|
4918
4926
|
name: "limit",
|
|
4919
4927
|
type: "number",
|
|
4920
4928
|
typeOptions: { minValue: 1 },
|
|
4921
|
-
displayOptions: { show: { resource: ["voice"], operation: ["
|
|
4929
|
+
displayOptions: { show: { resource: ["voice"], operation: ["legs_list"] } },
|
|
4922
4930
|
default: 50,
|
|
4923
4931
|
description: "Max number of results to return",
|
|
4924
4932
|
},
|
|
@@ -4928,8 +4936,15 @@ exports.birdProperties = [
|
|
|
4928
4936
|
type: "collection",
|
|
4929
4937
|
placeholder: "Add Field",
|
|
4930
4938
|
default: {},
|
|
4931
|
-
displayOptions: { show: { resource: ["voice"], operation: ["
|
|
4939
|
+
displayOptions: { show: { resource: ["voice"], operation: ["legs_list"] } },
|
|
4932
4940
|
options: [
|
|
4941
|
+
{
|
|
4942
|
+
displayName: "Call ID",
|
|
4943
|
+
name: "call_id",
|
|
4944
|
+
type: "string",
|
|
4945
|
+
default: "",
|
|
4946
|
+
description: "Return only legs belonging to this call, which is how the legs of one multi-party or transferred call are correlated",
|
|
4947
|
+
},
|
|
4933
4948
|
{
|
|
4934
4949
|
displayName: "Direction",
|
|
4935
4950
|
name: "direction",
|
|
@@ -4940,49 +4955,42 @@ exports.birdProperties = [
|
|
|
4940
4955
|
{ name: "Outbound", value: "outbound" },
|
|
4941
4956
|
],
|
|
4942
4957
|
default: "",
|
|
4943
|
-
description: "Return only
|
|
4958
|
+
description: "Return only legs in this direction",
|
|
4944
4959
|
},
|
|
4945
4960
|
{
|
|
4946
4961
|
displayName: "From",
|
|
4947
4962
|
name: "from",
|
|
4948
4963
|
type: "string",
|
|
4949
4964
|
default: "",
|
|
4950
|
-
description: "Return only
|
|
4965
|
+
description: "Return only legs placed from this calling party number, matched as a whole number rather than as a fragment. Give it in international form: `+14155551234`, `14155551234`, and `0014155551234` all select the same legs. A number given without a country code is read as an international one, so give the country code to be sure of what you are matching. Use `number` instead to match part of a number, or either side of the leg.",
|
|
4951
4966
|
},
|
|
4952
4967
|
{
|
|
4953
4968
|
displayName: "Number",
|
|
4954
4969
|
name: "number",
|
|
4955
4970
|
type: "string",
|
|
4956
4971
|
default: "",
|
|
4957
|
-
description: "Return only
|
|
4958
|
-
},
|
|
4959
|
-
{
|
|
4960
|
-
displayName: "Session ID",
|
|
4961
|
-
name: "session_id",
|
|
4962
|
-
type: "string",
|
|
4963
|
-
default: "",
|
|
4964
|
-
description: "Return only calls belonging to this session, which is how the legs of one multi-party or transferred call are correlated",
|
|
4972
|
+
description: "Return only legs where the calling or called number contains this value. Matches a partial number, so a country or area-code prefix returns every leg to or from it. Combines with `from`/`to`, which match one side exactly.",
|
|
4965
4973
|
},
|
|
4966
4974
|
{
|
|
4967
4975
|
displayName: "Sip Trunk ID",
|
|
4968
4976
|
name: "sip_trunk_id",
|
|
4969
4977
|
type: "string",
|
|
4970
4978
|
default: "",
|
|
4971
|
-
description: "Return only
|
|
4979
|
+
description: "Return only legs carried by this SIP trunk",
|
|
4972
4980
|
},
|
|
4973
4981
|
{
|
|
4974
4982
|
displayName: "Started After",
|
|
4975
4983
|
name: "started_after",
|
|
4976
4984
|
type: "dateTime",
|
|
4977
4985
|
default: "",
|
|
4978
|
-
description: "Return only
|
|
4986
|
+
description: "Return only legs that started at or after this instant, inclusive. RFC 3339 timestamp.",
|
|
4979
4987
|
},
|
|
4980
4988
|
{
|
|
4981
4989
|
displayName: "Started Before",
|
|
4982
4990
|
name: "started_before",
|
|
4983
4991
|
type: "dateTime",
|
|
4984
4992
|
default: "",
|
|
4985
|
-
description: "Return only
|
|
4993
|
+
description: "Return only legs that started at or before this instant, inclusive. RFC 3339 timestamp.",
|
|
4986
4994
|
},
|
|
4987
4995
|
{
|
|
4988
4996
|
displayName: "Status",
|
|
@@ -5000,7 +5008,7 @@ exports.birdProperties = [
|
|
|
5000
5008
|
{ name: "Unknown", value: "unknown" },
|
|
5001
5009
|
],
|
|
5002
5010
|
default: [],
|
|
5003
|
-
description: "Return only
|
|
5011
|
+
description: "Return only legs with one of these statuses, comma-separated. In-flight and final statuses may be combined freely.",
|
|
5004
5012
|
},
|
|
5005
5013
|
{
|
|
5006
5014
|
displayName: "Tag",
|
|
@@ -5014,24 +5022,24 @@ exports.birdProperties = [
|
|
|
5014
5022
|
name: "to",
|
|
5015
5023
|
type: "string",
|
|
5016
5024
|
default: "",
|
|
5017
|
-
description: "Return only
|
|
5025
|
+
description: "Return only legs placed to this called party number, matched as a whole number rather than as a fragment. Give it in international form: `+16505559876`, `16505559876`, and `0016505559876` all select the same legs. A number given without a country code is read as an international one, so give the country code to be sure of what you are matching. Use `number` instead to match part of a number, or either side of the leg.",
|
|
5018
5026
|
},
|
|
5019
5027
|
],
|
|
5020
5028
|
},
|
|
5021
5029
|
{
|
|
5022
|
-
displayName: "
|
|
5023
|
-
name: "
|
|
5030
|
+
displayName: "Leg",
|
|
5031
|
+
name: "leg_id",
|
|
5024
5032
|
type: "resourceLocator",
|
|
5025
5033
|
required: true,
|
|
5026
5034
|
default: { mode: "list", value: "" },
|
|
5027
|
-
displayOptions: { show: { resource: ["voice"], operation: ["
|
|
5035
|
+
displayOptions: { show: { resource: ["voice"], operation: ["legs_get"] } },
|
|
5028
5036
|
modes: [
|
|
5029
5037
|
{
|
|
5030
5038
|
displayName: "From List",
|
|
5031
5039
|
name: "list",
|
|
5032
5040
|
type: "list",
|
|
5033
|
-
placeholder: "Select a
|
|
5034
|
-
typeOptions: { searchListMethod: "
|
|
5041
|
+
placeholder: "Select a Leg...",
|
|
5042
|
+
typeOptions: { searchListMethod: "voiceLegsList", searchable: true },
|
|
5035
5043
|
},
|
|
5036
5044
|
{
|
|
5037
5045
|
displayName: "By ID",
|
|
@@ -5248,6 +5256,16 @@ exports.birdProperties = [
|
|
|
5248
5256
|
default: "",
|
|
5249
5257
|
description: "The email address to look up. Send it exactly as you hold it. The part before the `@` is case-sensitive, so the API does not lowercase it. A display-name form such as `Aisha <aisha@example.com>` is rejected rather than unwrapped.",
|
|
5250
5258
|
},
|
|
5259
|
+
{
|
|
5260
|
+
displayName: "Emails",
|
|
5261
|
+
name: "emails",
|
|
5262
|
+
type: "string",
|
|
5263
|
+
required: true,
|
|
5264
|
+
displayOptions: { show: { resource: ["lookup"], operation: ["email_batch"] } },
|
|
5265
|
+
placeholder: "name@email.com",
|
|
5266
|
+
default: "",
|
|
5267
|
+
description: "Addresses to assess in submission order. Surrounding whitespace is trimmed and case is preserved. Malformed addresses receive individual assessments. Duplicates are assessed and billed at each position. The request must also fit within the 128 KiB request-body limit. Separate multiple values with a comma.",
|
|
5268
|
+
},
|
|
5251
5269
|
{
|
|
5252
5270
|
displayName: "Return All",
|
|
5253
5271
|
name: "returnAll",
|
|
@@ -6706,7 +6724,7 @@ exports.birdProperties = [
|
|
|
6706
6724
|
{ name: "Paused", value: "paused" },
|
|
6707
6725
|
],
|
|
6708
6726
|
default: "",
|
|
6709
|
-
description: "`paused` stops all deliveries; `active` re-enables a paused endpoint. Omit to leave the status unchanged. Events that fire while paused are not delivered; after re-enabling,
|
|
6727
|
+
description: "`paused` stops all deliveries; `active` re-enables a paused endpoint. Omit to leave the status unchanged. Events that fire while paused are not delivered and a replay cannot recover them, because they were never attempted; after re-enabling, [Replay failed deliveries](/docs/api/reference/create-webhook-replay) reaches only the deliveries that failed before the pause. A `degraded` endpoint cannot be reset through this field: it returns to `active` automatically once deliveries succeed again.",
|
|
6710
6728
|
},
|
|
6711
6729
|
],
|
|
6712
6730
|
},
|
|
@@ -9845,14 +9863,14 @@ exports.birdProperties = [
|
|
|
9845
9863
|
name: "since",
|
|
9846
9864
|
type: "dateTime",
|
|
9847
9865
|
default: "",
|
|
9848
|
-
description: "Replay events
|
|
9866
|
+
description: "Replay events whose delivery attempt failed at or after this timestamp. The bound is inclusive and applies to attempt time, not to when the event occurred, so a retry that trailed its event by a day falls in the window by the hour it was attempted. Defaults to 24 hours before the request when omitted. Attempts are retained for three days, so that is the oldest history a replay reaches: an earlier `since` widens the window without recovering anything older.",
|
|
9849
9867
|
},
|
|
9850
9868
|
{
|
|
9851
9869
|
displayName: "Until",
|
|
9852
9870
|
name: "until",
|
|
9853
9871
|
type: "dateTime",
|
|
9854
9872
|
default: "",
|
|
9855
|
-
description: "Replay events
|
|
9873
|
+
description: "Replay events whose delivery attempt failed at or before this timestamp, on the same attempt-time bound as `since`. Omitted, it resolves to the time of the request.",
|
|
9856
9874
|
},
|
|
9857
9875
|
],
|
|
9858
9876
|
},
|
|
@@ -58,15 +58,16 @@ exports.birdRoutes = {
|
|
|
58
58
|
"sms_keyword_rules:delete": { method: "DELETE", path: "/v1/sms/keyword-rules/{id}", pathParams: ["id"], topLevel: ["id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["sms_management"] },
|
|
59
59
|
"whatsapp:send": { method: "POST", path: "/v1/whatsapp/messages", pathParams: [], topLevel: ["to"], collections: ["additionalFields"], query: [], body: ["to", "from", "template", "text", "image", "video", "audio", "sticker", "document", "location", "interactive", "contact_cards", "in_reply_to_message_id", "tags", "metadata"], jsonFields: ["template.components", "interactive.header", "interactive.buttons", "interactive.list", "interactive.cta_url", "interactive.cards", "contact_cards"], structured: { "template": "struct", "text": "struct", "image": "struct", "video": "struct", "audio": "struct", "sticker": "struct", "document": "struct", "location": "struct", "interactive": "struct", "tags": "list", "metadata": "map" }, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["whatsapp"] },
|
|
60
60
|
"whatsapp:get": { method: "GET", path: "/v1/whatsapp/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: ["whatsapp"] },
|
|
61
|
-
"whatsapp:list": { method: "GET", path: "/v1/whatsapp/messages", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["limit", "starting_after", "ending_before", "created_after", "created_before", "status", "direction", "to", "from", "phone_number", "bsuid", "category", "tag"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: ["status", "tag"], dateTimeFields: ["created_after", "created_before"], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["whatsapp"] },
|
|
61
|
+
"whatsapp:list": { method: "GET", path: "/v1/whatsapp/messages", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["limit", "starting_after", "ending_before", "created_after", "created_before", "status", "direction", "to", "from", "phone_number", "bsuid", "category", "group_id", "tag"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: ["status", "tag"], dateTimeFields: ["created_after", "created_before"], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["whatsapp"] },
|
|
62
62
|
"whatsapp:list_events": { method: "GET", path: "/v1/whatsapp/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: ["whatsapp"] },
|
|
63
|
-
"voice:
|
|
64
|
-
"voice:
|
|
63
|
+
"voice:legs_list": { method: "GET", path: "/v1/voice/legs", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["direction", "status", "call_id", "sip_trunk_id", "from", "to", "number", "tag", "started_after", "started_before", "limit", "starting_after", "ending_before"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: ["status", "tag"], dateTimeFields: ["started_after", "started_before"], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["voice"] },
|
|
64
|
+
"voice:legs_get": { method: "GET", path: "/v1/voice/legs/{leg_id}", pathParams: ["leg_id"], topLevel: ["leg_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["voice"] },
|
|
65
65
|
"verify:verifications_create": { method: "POST", path: "/v1/verify/verifications", pathParams: [], topLevel: ["to"], collections: ["additionalFields"], query: [], body: ["to", "options", "metadata"], jsonFields: [], structured: { "to": "struct", "options": "struct", "metadata": "map" }, renames: {}, arrayFields: ["options.channels"], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["verify"] },
|
|
66
66
|
"verify:verifications_check": { method: "POST", path: "/v1/verify/verifications/check", pathParams: [], topLevel: ["to", "code"], collections: ["additionalFields"], query: [], body: ["to", "code"], jsonFields: [], structured: { "to": "struct" }, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["verify"] },
|
|
67
67
|
"verify:verifications_next_channel": { method: "POST", path: "/v1/verify/verifications/next-channel", pathParams: [], topLevel: ["to"], collections: ["additionalFields"], query: [], body: ["to"], jsonFields: [], structured: { "to": "struct" }, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["verify"] },
|
|
68
68
|
"lookup:phone_number": { method: "POST", path: "/v1/lookup/phone-number", pathParams: [], topLevel: ["phone_number"], collections: ["additionalFields"], query: [], body: ["phone_number", "type"], jsonFields: [], structured: {}, renames: {}, arrayFields: ["type"], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["lookup"] },
|
|
69
69
|
"lookup:email": { method: "POST", path: "/v1/lookup/email", pathParams: [], topLevel: ["email"], collections: ["additionalFields"], query: [], body: ["email"], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["lookup"] },
|
|
70
|
+
"lookup:email_batch": { method: "POST", path: "/v1/lookup/email/batch", pathParams: [], topLevel: ["emails"], collections: ["additionalFields"], query: [], body: ["emails"], jsonFields: [], structured: {}, renames: {}, arrayFields: ["emails"], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: true, idempotencyHeader: true, scopes: ["lookup"] },
|
|
70
71
|
"numbers:list": { method: "GET", path: "/v1/numbers", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["number", "country_code", "number_type", "prefix", "capabilities", "limit", "starting_after", "ending_before"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: ["capabilities"], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["numbers"] },
|
|
71
72
|
"numbers:get": { method: "GET", path: "/v1/numbers/{number_id}", pathParams: ["number_id"], topLevel: ["number_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["numbers"] },
|
|
72
73
|
"numbers:release": { method: "DELETE", path: "/v1/numbers/{number_id}", pathParams: ["number_id"], topLevel: ["number_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["numbers"] },
|
package/package.json
CHANGED