@messagebird/sdk 0.42.0 → 0.43.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/dist/index.d.mts CHANGED
@@ -47,6 +47,11 @@ interface CoreDefaults {
47
47
  value?: string;
48
48
  how: string;
49
49
  }>;
50
+ /**
51
+ * Set on a keyless (receiver-only) client: every API call throws this
52
+ * message as a `BirdMissingApiKeyError` before any request is built.
53
+ */
54
+ missingAuth?: string;
50
55
  }
51
56
  declare class BirdHTTPClient {
52
57
  private readonly defaults;
@@ -86,6 +91,13 @@ declare class BirdTimeoutError extends BirdError {
86
91
  readonly timeoutMs: number;
87
92
  constructor(message: string, timeoutMs: number);
88
93
  }
94
+ /**
95
+ * An API call on a client constructed without `apiKey` (a receiver-only
96
+ * client, which can still `unwrap` webhooks). Thrown before any request.
97
+ */
98
+ declare class BirdMissingApiKeyError extends BirdError {
99
+ constructor(message: string);
100
+ }
89
101
  /** A webhook payload failed signature verification (bad signature, stale timestamp, malformed headers). */
90
102
  declare class BirdWebhookVerificationError extends BirdError {
91
103
  constructor(message: string);
@@ -1545,12 +1557,24 @@ type SmsSegments = {
1545
1557
  */
1546
1558
  readonly count: number;
1547
1559
  /**
1548
- * Encoding used for the body. The `GSM_7BIT` encoding fits 160 characters in one segment, or 153 per part in a multi-segment message. The `UCS2` encoding applies when the body contains a character outside the GSM 03.38 alphabet, including emoji, CJK, and some accented characters. It fits 70 characters in one segment, or 67 per part in a multi-segment message.
1560
+ * Encoding used for the body. The `GSM_7BIT` encoding fits 160 septets
1561
+ * (seven-bit units) in one segment, or 153 per part in a multi-segment
1562
+ * message. The `UCS2` encoding applies when the body contains a character
1563
+ * outside the GSM 03.38 alphabet, including emoji, CJK, and some accented
1564
+ * characters. It fits 70 UTF-16 code units in one segment, or 67 per part.
1565
+ *
1566
+ * Neither limit counts characters, and both alphabets have characters that
1567
+ * cost two units. Under `GSM_7BIT` there are ten such entries, and they are
1568
+ * the whole set: `^`, `{`, `}`, `\`, `[`, `]`, `~`, `|`, `€`, and the form
1569
+ * feed control. Eighty of those fill a single segment. Under `UCS2` an emoji
1570
+ * outside the Basic Multilingual Plane is a surrogate pair costing two code
1571
+ * units, so 35 of those fill a single segment.
1549
1572
  *
1550
1573
  */
1551
1574
  readonly encoding: "GSM_7BIT" | "UCS2";
1552
1575
  /**
1553
- * Character count of the body under the selected encoding.
1576
+ * Character count of the body, counted in Unicode code points under either encoding. This is not the segment measure: a `GSM_7BIT` extended-table character counts once here but costs two septets, and a `UCS2` emoji outside the Basic Multilingual Plane counts once here but costs two of the segment's 70 code units.
1577
+ *
1554
1578
  */
1555
1579
  readonly characters: number;
1556
1580
  };
@@ -6532,6 +6556,110 @@ type EmailMailboxLabel = {
6532
6556
  type EmailMailboxLabelList = {
6533
6557
  data: Array<EmailMailboxLabel>;
6534
6558
  };
6559
+ /**
6560
+ * Field to sort webhook endpoints by: `created_at` (the default; newest first with the default `order`) or `url`.
6561
+ *
6562
+ */
6563
+ type WebhookSortField = "created_at" | "url";
6564
+ type WebhookEndpointId = string;
6565
+ /**
6566
+ * Webhook event type. This is an open enum, so accept unrecognized values in deliveries. Subscribing to a type outside the event catalog returns a `422`.
6567
+ *
6568
+ */
6569
+ type WebhookEventType$1 = "domain.failed" | "domain.verified" | "email.accepted" | "email.bounced" | "email.canceled" | "email.clicked" | "email.complained" | "email.deferred" | "email.delivered" | "email.list_unsubscribed" | "email.opened" | "email.out_of_band_bounce" | "email.processed" | "email.received" | "email.rejected" | "email.scheduled" | "email.unsubscribed" | "email_mailbox.message_delivered" | "email_mailbox.message_failed" | "email_mailbox.message_received" | "email_mailbox.message_sent" | "email_mailbox.suspended" | "email_mailbox.thread_created" | "email_suppression.created" | "preference.deleted" | "preference.granted" | "preference.revoked" | "sms.accepted" | "sms.delivered" | "sms.expired" | "sms.failed" | "sms.received" | "sms.rejected" | "sms.sent" | "sms.undelivered" | "sms_suppression.created" | "verify.attempt.delivered" | "verify.attempt.sent" | "verify.attempt.undelivered" | "verify.verification.created" | "verify.verification.failed" | "verify.verification.verified" | "voice_call.answered" | "voice_call.ended" | "voice_call.initiated" | "whatsapp.accepted" | "whatsapp.delivered" | "whatsapp.failed" | "whatsapp.read" | "whatsapp.received" | "whatsapp.rejected" | "whatsapp.sent" | "whatsapp_suppression.created" | (string & {});
6570
+ type WebhookEndpoint = {
6571
+ /**
6572
+ * Unique identifier for the endpoint (`whk_` prefix). Accepted as `webhook_id` by every `/v1/webhooks/{webhook_id}` operation.
6573
+ *
6574
+ */
6575
+ readonly id: WebhookEndpointId;
6576
+ /**
6577
+ * HTTPS URL where the API delivers events for this endpoint.
6578
+ */
6579
+ url: string;
6580
+ /**
6581
+ * Human-readable label for the endpoint.
6582
+ */
6583
+ description?: string;
6584
+ /**
6585
+ * Event types this endpoint is subscribed to; only matching events are delivered. Change the set with [Update a webhook endpoint](/docs/api/reference/update-webhook).
6586
+ *
6587
+ */
6588
+ events: Array<WebhookEventType$1>;
6589
+ /**
6590
+ * Delivery state of the endpoint.
6591
+ *
6592
+ * - `active`: The initial state; events are being delivered normally.
6593
+ * - `degraded`: Recent deliveries are failing. We keep delivering and retrying,
6594
+ * and the endpoint returns to `active` automatically once deliveries succeed
6595
+ * again.
6596
+ * - `paused`: All delivery is stopped, either because an update set `status` to
6597
+ * `paused` or automatically after sustained delivery failures. A paused endpoint
6598
+ * never resumes on its own: re-enable it with
6599
+ * [Update a webhook endpoint](/docs/api/reference/update-webhook), then recover
6600
+ * the missed events with
6601
+ * [Replay missed events](/docs/api/reference/create-webhook-replay).
6602
+ *
6603
+ */
6604
+ readonly status: "active" | "degraded" | "paused";
6605
+ } & Timestamps;
6606
+ type WebhookEndpointCreate = {
6607
+ /**
6608
+ * HTTPS URL to deliver events to, at most 2048 characters. The host must be publicly reachable: URLs on private, loopback, or link-local addresses are rejected with a `422`.
6609
+ *
6610
+ */
6611
+ url: string;
6612
+ /**
6613
+ * Event types to subscribe to; the endpoint receives only matching events. Types outside the event catalog return a `422`, and an endpoint holds at most 100 entries.
6614
+ */
6615
+ events: Array<WebhookEventType$1>;
6616
+ /**
6617
+ * Human-readable label for this endpoint, up to 256 characters.
6618
+ */
6619
+ description?: string;
6620
+ };
6621
+ type WebhookEndpointCreated = WebhookEndpoint & {
6622
+ /**
6623
+ * Signing secret for this endpoint (`whsec_` prefix), used to verify every delivery signature. Present in this response only: store it immediately, it cannot be retrieved again. If you lose it, mint a new one with [Rotate webhook signing secret](/docs/api/reference/rotate-webhook-secret).
6624
+ *
6625
+ */
6626
+ secret: string;
6627
+ };
6628
+ type WebhookEndpointUpdate = {
6629
+ /**
6630
+ * Replacement delivery URL. Same rules as at creation: HTTPS, at most 2048 characters, and the host must be publicly reachable (private, loopback, and link-local addresses return a `422`). Omit to keep the current URL.
6631
+ *
6632
+ */
6633
+ url?: string;
6634
+ /**
6635
+ * Human-readable label for this endpoint, up to 256 characters.
6636
+ */
6637
+ description?: string;
6638
+ /**
6639
+ * Replaces all event subscriptions with this list. Omit to keep the current set. Types outside the event catalog return a `422`.
6640
+ *
6641
+ */
6642
+ events?: Array<WebhookEventType$1>;
6643
+ /**
6644
+ * `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, recover them with [Replay missed events](/docs/api/reference/create-webhook-replay). A `degraded` endpoint cannot be reset through this field: it returns to `active` automatically once deliveries succeed again.
6645
+ *
6646
+ */
6647
+ status?: "active" | "paused";
6648
+ };
6649
+ type WebhookRotateSecretResponse = {
6650
+ /**
6651
+ * The new signing secret (`whsec_` prefix). Shown only in this response: store it immediately, it cannot be retrieved again. Deliveries are signed with both this and the previous secret for 24 hours after rotation, then the previous secret stops signing.
6652
+ *
6653
+ */
6654
+ secret: string;
6655
+ };
6656
+ type WebhookTestRequest = {
6657
+ /**
6658
+ * Event type to simulate. Any type from the event catalog is accepted, whether or not the endpoint subscribes to it; an unknown type returns a `422`. When omitted, the endpoint's first subscribed event type is used.
6659
+ *
6660
+ */
6661
+ event_type?: string;
6662
+ };
6535
6663
  /**
6536
6664
  * Payload of the domain.failed event.
6537
6665
  */
@@ -8375,6 +8503,88 @@ type EventWhatsAppSuppressionCreated = {
8375
8503
  timestamp: string;
8376
8504
  data: EventWhatsAppSuppressionCreatedData;
8377
8505
  };
8506
+ type WebhookTestResponse = {
8507
+ /**
8508
+ * Whether your endpoint accepted the test event. `delivered` means it returned a `2xx` status; `failed` means it returned a non-`2xx` status or could not be reached (see `error` for the latter).
8509
+ *
8510
+ */
8511
+ status: "delivered" | "failed";
8512
+ /**
8513
+ * HTTP status returned by your endpoint. Null when no response was received (timeout, connection error, DNS failure).
8514
+ */
8515
+ response_status_code: number | null;
8516
+ /**
8517
+ * Response body returned by your endpoint, truncated to the first 1024 bytes. Omitted when your endpoint returned no body or could not be reached.
8518
+ *
8519
+ */
8520
+ response_body?: string;
8521
+ /**
8522
+ * Round-trip delivery latency in milliseconds.
8523
+ */
8524
+ response_duration_ms: number;
8525
+ /**
8526
+ * The full event body delivered to your endpoint. Test sends use a minimal synthetic body rather than a full event payload, so this field is omitted.
8527
+ *
8528
+ */
8529
+ event_payload?: WebhookEvent;
8530
+ /**
8531
+ * A short explanation of why the event could not be delivered. Present only when your endpoint could not be reached.
8532
+ */
8533
+ error?: string;
8534
+ };
8535
+ type WebhookEventId = string;
8536
+ type WebhookAttempt = {
8537
+ /**
8538
+ * Identifier of this individual delivery attempt. Each retry is a separate attempt with its own id; use `event_id` to group the attempts for one event.
8539
+ *
8540
+ */
8541
+ readonly id: string;
8542
+ /**
8543
+ * Bird's source event ID, stable across retries of the same event. Null only for older attempts recorded before event IDs were available.
8544
+ */
8545
+ event_id?: WebhookEventId | null;
8546
+ event_type: WebhookEventType$1;
8547
+ /**
8548
+ * Outcome of this attempt.
8549
+ *
8550
+ * - `delivered`: your endpoint accepted it with a `2xx` response.
8551
+ * - `pending`: the attempt is still in flight.
8552
+ * - `failed`: it returned a non-`2xx` response or no response at all. A `failed`
8553
+ * attempt is not final for the event: automatic retries appear as further
8554
+ * attempts with the same `event_id`.
8555
+ *
8556
+ */
8557
+ status: "delivered" | "pending" | "failed";
8558
+ /**
8559
+ * URL the request was sent to: the endpoint's `url` at the time of the attempt, which can differ from the current configuration after an update.
8560
+ *
8561
+ */
8562
+ url: string;
8563
+ /**
8564
+ * HTTP status returned by the receiver. Null when no response was received (timeout, connection error, DNS failure).
8565
+ */
8566
+ response_status_code: number | null;
8567
+ /**
8568
+ * Response body your endpoint returned, which may be truncated. Omitted when no body was returned.
8569
+ *
8570
+ */
8571
+ response_body?: string;
8572
+ /**
8573
+ * Round-trip duration in milliseconds.
8574
+ */
8575
+ response_duration_ms: number;
8576
+ /**
8577
+ * When this attempt was made. Attempts are listed newest first by this timestamp, and the list's `before`/`after` parameters bound it.
8578
+ *
8579
+ */
8580
+ readonly attempted_at: string;
8581
+ };
8582
+ type WebhookAttemptList = {
8583
+ /**
8584
+ * Delivery attempts, newest first.
8585
+ */
8586
+ data: Array<WebhookAttempt>;
8587
+ };
8378
8588
  /**
8379
8589
  * Physical type of a phone number. New number types may be added over time, so treat unrecognized values as supported types rather than errors.
8380
8590
  */
@@ -8686,7 +8896,7 @@ type PublishRealtimeAppEventData = {
8686
8896
  body: RealtimePublish;
8687
8897
  headers?: {
8688
8898
  /**
8689
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
8899
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
8690
8900
  */
8691
8901
  "X-Workspace-Id"?: string;
8692
8902
  /**
@@ -8717,7 +8927,7 @@ type PublishRealtimeAppBatchData = {
8717
8927
  body: RealtimeBatchPublish;
8718
8928
  headers?: {
8719
8929
  /**
8720
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
8930
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
8721
8931
  */
8722
8932
  "X-Workspace-Id"?: string;
8723
8933
  /**
@@ -8748,7 +8958,7 @@ type ListRealtimeAppChannelsData = {
8748
8958
  body?: never;
8749
8959
  headers?: {
8750
8960
  /**
8751
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
8961
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
8752
8962
  */
8753
8963
  "X-Workspace-Id"?: string;
8754
8964
  };
@@ -8774,7 +8984,7 @@ type GetRealtimeAppChannelData = {
8774
8984
  body?: never;
8775
8985
  headers?: {
8776
8986
  /**
8777
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
8987
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
8778
8988
  */
8779
8989
  "X-Workspace-Id"?: string;
8780
8990
  };
@@ -8800,7 +9010,7 @@ type SendRealtimeAppMemberEventData = {
8800
9010
  body: RealtimeMemberPublish;
8801
9011
  headers?: {
8802
9012
  /**
8803
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
9013
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
8804
9014
  */
8805
9015
  "X-Workspace-Id"?: string;
8806
9016
  /**
@@ -9427,7 +9637,7 @@ type ListSmsKeywordRulesData = {
9427
9637
  body?: never;
9428
9638
  headers?: {
9429
9639
  /**
9430
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
9640
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
9431
9641
  */
9432
9642
  "X-Workspace-Id"?: string;
9433
9643
  };
@@ -9464,7 +9674,7 @@ type CreateSmsKeywordRuleData = {
9464
9674
  body: SmsKeywordRuleCreate;
9465
9675
  headers?: {
9466
9676
  /**
9467
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
9677
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
9468
9678
  */
9469
9679
  "X-Workspace-Id"?: string;
9470
9680
  /**
@@ -9490,7 +9700,7 @@ type UpdateSmsKeywordRuleData = {
9490
9700
  body: SmsKeywordRuleUpdate;
9491
9701
  headers?: {
9492
9702
  /**
9493
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
9703
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
9494
9704
  */
9495
9705
  "X-Workspace-Id"?: string;
9496
9706
  /**
@@ -10035,7 +10245,7 @@ type CreatePhoneNumberLookupData = {
10035
10245
  body: PhoneNumberLookupRequest;
10036
10246
  headers?: {
10037
10247
  /**
10038
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
10248
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
10039
10249
  */
10040
10250
  "X-Workspace-Id"?: string;
10041
10251
  /**
@@ -10061,7 +10271,7 @@ type CreateEmailLookupData = {
10061
10271
  body: EmailLookupRequest;
10062
10272
  headers?: {
10063
10273
  /**
10064
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
10274
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
10065
10275
  */
10066
10276
  "X-Workspace-Id"?: string;
10067
10277
  /**
@@ -10087,7 +10297,7 @@ type CreateVerificationData = {
10087
10297
  body: VerificationCreateRequest;
10088
10298
  headers?: {
10089
10299
  /**
10090
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
10300
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
10091
10301
  */
10092
10302
  "X-Workspace-Id"?: string;
10093
10303
  /**
@@ -10113,7 +10323,7 @@ type CreateVerificationCheckData = {
10113
10323
  body: VerificationCheckRequest;
10114
10324
  headers?: {
10115
10325
  /**
10116
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
10326
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
10117
10327
  */
10118
10328
  "X-Workspace-Id"?: string;
10119
10329
  /**
@@ -10139,7 +10349,7 @@ type CreateVerificationNextChannelData = {
10139
10349
  body: VerificationNextChannelRequest;
10140
10350
  headers?: {
10141
10351
  /**
10142
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
10352
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
10143
10353
  */
10144
10354
  "X-Workspace-Id"?: string;
10145
10355
  /**
@@ -11346,11 +11556,140 @@ type ReplyEmailThreadMessageData = {
11346
11556
  query?: never;
11347
11557
  url: "/v1/email/threads/{thread_id}/messages/{message_id}/reply";
11348
11558
  };
11559
+ type ListWebhooksData = {
11560
+ body?: never;
11561
+ path?: never;
11562
+ query?: {
11563
+ sort?: WebhookSortField;
11564
+ /**
11565
+ * Sort direction. Defaults to `desc`, which sorts from newest to oldest or largest to smallest, depending on the selected sort field.
11566
+ *
11567
+ */
11568
+ order?: "asc" | "desc";
11569
+ /**
11570
+ * Maximum number of items to return per page.
11571
+ */
11572
+ limit?: number;
11573
+ /**
11574
+ * Cursor from the `next_cursor` field of a previous list response. Returns items immediately after the cursor position in the current sort order.
11575
+ */
11576
+ starting_after?: string;
11577
+ /**
11578
+ * Cursor from the `prev_cursor` or `refresh_cursor` field of a previous list response. Returns items immediately before the cursor position in the current sort order. `prev_cursor` returns the preceding page. `refresh_cursor` anchors at the first row of that response, which on a newest-first sort is how to fetch the items that have appeared since.
11579
+ */
11580
+ ending_before?: string;
11581
+ /**
11582
+ * When true, the response includes a `total` field with the total number of items matching the request's filters across all pages.
11583
+ */
11584
+ include_total?: boolean;
11585
+ };
11586
+ url: "/v1/webhooks";
11587
+ };
11588
+ type CreateWebhookData = {
11589
+ body: WebhookEndpointCreate;
11590
+ headers?: {
11591
+ /**
11592
+ * Client-supplied deduplication key. When present, the original response is replayed for any duplicate request with the same key, within the idempotency window (3 hours by default).
11593
+ *
11594
+ * Two distinct 409 errors signal misuse:
11595
+ *
11596
+ * - `request_in_progress` (E01004): The same key is currently being
11597
+ * processed by a concurrent request. Wait briefly and retry. The lock expires within 30 seconds.
11598
+ * - `idempotency_key_reuse` (E01005): The same key has already completed
11599
+ * against a different request body or method. Generate a new key.
11600
+ *
11601
+ * Recommended key format is `<event-type>/<entity-id>` (for example `welcome-user/usr_abc123`).
11602
+ *
11603
+ */
11604
+ "Idempotency-Key"?: string;
11605
+ };
11606
+ path?: never;
11607
+ query?: never;
11608
+ url: "/v1/webhooks";
11609
+ };
11610
+ type UpdateWebhookData = {
11611
+ body: WebhookEndpointUpdate;
11612
+ headers?: {
11613
+ /**
11614
+ * Client-supplied deduplication key. When present, the original response is replayed for any duplicate request with the same key, within the idempotency window (3 hours by default).
11615
+ *
11616
+ * Two distinct 409 errors signal misuse:
11617
+ *
11618
+ * - `request_in_progress` (E01004): The same key is currently being
11619
+ * processed by a concurrent request. Wait briefly and retry. The lock expires within 30 seconds.
11620
+ * - `idempotency_key_reuse` (E01005): The same key has already completed
11621
+ * against a different request body or method. Generate a new key.
11622
+ *
11623
+ * Recommended key format is `<event-type>/<entity-id>` (for example `welcome-user/usr_abc123`).
11624
+ *
11625
+ */
11626
+ "Idempotency-Key"?: string;
11627
+ };
11628
+ path: {
11629
+ /**
11630
+ * ID of the webhook endpoint (`whk_` prefix), as returned when it was created.
11631
+ */
11632
+ webhook_id: WebhookEndpointId;
11633
+ };
11634
+ query?: never;
11635
+ url: "/v1/webhooks/{webhook_id}";
11636
+ };
11637
+ type TestWebhookData = {
11638
+ body?: WebhookTestRequest;
11639
+ headers?: {
11640
+ /**
11641
+ * Client-supplied deduplication key. When present, the original response is replayed for any duplicate request with the same key, within the idempotency window (3 hours by default).
11642
+ *
11643
+ * Two distinct 409 errors signal misuse:
11644
+ *
11645
+ * - `request_in_progress` (E01004): The same key is currently being
11646
+ * processed by a concurrent request. Wait briefly and retry. The lock expires within 30 seconds.
11647
+ * - `idempotency_key_reuse` (E01005): The same key has already completed
11648
+ * against a different request body or method. Generate a new key.
11649
+ *
11650
+ * Recommended key format is `<event-type>/<entity-id>` (for example `welcome-user/usr_abc123`).
11651
+ *
11652
+ */
11653
+ "Idempotency-Key"?: string;
11654
+ };
11655
+ path: {
11656
+ /**
11657
+ * ID of the webhook endpoint (`whk_` prefix), as returned when it was created.
11658
+ */
11659
+ webhook_id: WebhookEndpointId;
11660
+ };
11661
+ query?: never;
11662
+ url: "/v1/webhooks/{webhook_id}/test";
11663
+ };
11664
+ type ListWebhookAttemptsData = {
11665
+ body?: never;
11666
+ path: {
11667
+ /**
11668
+ * ID of the webhook endpoint (`whk_` prefix), as returned when it was created.
11669
+ */
11670
+ webhook_id: WebhookEndpointId;
11671
+ };
11672
+ query?: {
11673
+ /**
11674
+ * Maximum number of attempts to return. Defaults to 50, capped at 100.
11675
+ */
11676
+ limit?: number;
11677
+ /**
11678
+ * Only return attempts strictly before this timestamp.
11679
+ */
11680
+ before?: string;
11681
+ /**
11682
+ * Only return attempts strictly after this timestamp.
11683
+ */
11684
+ after?: string;
11685
+ };
11686
+ url: "/v1/webhooks/{webhook_id}/attempts";
11687
+ };
11349
11688
  type ListWorkspaceNumbersData = {
11350
11689
  body?: never;
11351
11690
  headers?: {
11352
11691
  /**
11353
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
11692
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
11354
11693
  */
11355
11694
  "X-Workspace-Id"?: string;
11356
11695
  };
@@ -11395,7 +11734,7 @@ type ListAvailableNumbersData = {
11395
11734
  body?: never;
11396
11735
  headers?: {
11397
11736
  /**
11398
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
11737
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
11399
11738
  */
11400
11739
  "X-Workspace-Id"?: string;
11401
11740
  };
@@ -11436,7 +11775,7 @@ type ListNumbersOrdersData = {
11436
11775
  body?: never;
11437
11776
  headers?: {
11438
11777
  /**
11439
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
11778
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
11440
11779
  */
11441
11780
  "X-Workspace-Id"?: string;
11442
11781
  };
@@ -11465,7 +11804,7 @@ type CreateNumbersOrderData = {
11465
11804
  body: NumbersOrderCreate;
11466
11805
  headers?: {
11467
11806
  /**
11468
- * Workspace context for the request. Required for dashboard authentication; API-key requests derive the workspace from the key.
11807
+ * Workspace context for the request. Required for dashboard authentication. An API key or access token carries its own workspace, so send either that workspace or no header at all; a different one is rejected.
11469
11808
  */
11470
11809
  "X-Workspace-Id"?: string;
11471
11810
  /**
@@ -13374,6 +13713,93 @@ declare class VerifyResource {
13374
13713
  constructor(...args: ConstructorParameters<typeof Resource>);
13375
13714
  }
13376
13715
  //#endregion
13716
+ //#region src/resources/webhooks.gen.d.ts
13717
+ type WebhooksListQuery = NonNullable<ListWebhooksData["query"]>;
13718
+ type WebhooksCreateParams = NonNullable<CreateWebhookData["body"]>;
13719
+ type WebhooksTestParams = NonNullable<TestWebhookData["body"]>;
13720
+ type WebhooksAttemptsQuery = NonNullable<ListWebhookAttemptsData["query"]>;
13721
+ type WebhooksUpdateParams = NonNullable<UpdateWebhookData["body"]>;
13722
+ declare class WebhooksResourceBase extends Resource {
13723
+ /**
13724
+ * List the workspace's webhook endpoints (URL, subscribed events, status) as a cursor page.
13725
+ *
13726
+ * @example Iterate every webhook endpoint
13727
+ * for await (const endpoint of bird.webhooks.list()) {
13728
+ * console.log(endpoint.id, endpoint.url, endpoint.status);
13729
+ * }
13730
+ */
13731
+ list(query?: WebhooksListQuery, options?: RequestOptions): PaginatedPromise<WebhookEndpoint>;
13732
+ /**
13733
+ * Read one endpoint's URL, subscribed event types, and current delivery status. The signing secret is never included, and can only be rotated rather than retrieved.
13734
+ *
13735
+ * @example Fetch one endpoint by id
13736
+ * const endpoint = await bird.webhooks.get("whk_01krdgeqcxet5s7t44vh8rt9mg");
13737
+ * console.log(endpoint.url, endpoint.events);
13738
+ */
13739
+ get(webhookId: string, options?: RequestOptions): APIPromise<WebhookEndpoint>;
13740
+ /**
13741
+ * Register an HTTPS endpoint to receive this workspace's events, subscribed to the event types in `events` and active immediately. The response is the only place the signing secret appears, and it can never be read back afterward, only rotated.
13742
+ *
13743
+ * @example Subscribe an endpoint to events
13744
+ * const created = await bird.webhooks.create({
13745
+ * url: "https://acme.com/hooks/bird",
13746
+ * events: ["email.delivered", "email.bounced"],
13747
+ * description: "Delivery pipeline",
13748
+ * });
13749
+ * console.log(created.id, created.secret);
13750
+ */
13751
+ create(params: WebhooksCreateParams, options?: RequestOptions): APIPromise<WebhookEndpointCreated>;
13752
+ /**
13753
+ * Send a signed synthetic event and get the outcome synchronously: whether the endpoint accepted, the HTTP status it returned, and the round-trip latency. An unreachable endpoint comes back as a failed status in the body rather than a request error. The receiver has 10 seconds, the body is a minimal stub carrying only the event type, and a test reaches even a paused endpoint without being recorded in the delivery attempts.
13754
+ *
13755
+ * @example Send a test event to an endpoint
13756
+ * const result = await bird.webhooks.test("whk_01krdgeqcxet5s7t44vh8rt9mg", {
13757
+ * event_type: "email.delivered",
13758
+ * });
13759
+ * console.log(result.status);
13760
+ */
13761
+ test(webhookId: string, params?: WebhooksTestParams, options?: RequestOptions): APIPromise<WebhookTestResponse>;
13762
+ /**
13763
+ * Permanently remove an endpoint and stop every delivery to it, including retries of earlier failures. Recreating it later mints a new ID and signing secret; to stop deliveries temporarily instead, set its status to `paused`.
13764
+ *
13765
+ * @example Stop delivery to an endpoint
13766
+ * await bird.webhooks.delete("whk_01krdgeqcxet5s7t44vh8rt9mg");
13767
+ */
13768
+ delete(webhookId: string, options?: RequestOptions): APIPromise<void>;
13769
+ /**
13770
+ * List an endpoint's recent delivery attempts, newest first. Each entry is one HTTP request, so a retried event appears once per try. Pagination uses the `before`/`after` timestamps; page further back by passing the oldest `attempted_at` you received as `before`.
13771
+ *
13772
+ * @example Inspect recent delivery attempts
13773
+ * const attempts = await bird.webhooks.attempts(
13774
+ * "whk_01krdgeqcxet5s7t44vh8rt9mg",
13775
+ * );
13776
+ * for (const attempt of attempts.data) {
13777
+ * console.log(attempt.status, attempt.response_status_code);
13778
+ * }
13779
+ */
13780
+ attempts(webhookId: string, query?: WebhooksAttemptsQuery, options?: RequestOptions): APIPromise<WebhookAttemptList>;
13781
+ /**
13782
+ * Mint a new signing secret and return it exactly once; it cannot be retrieved afterward. Both the old and new secrets sign every delivery for 24 hours, after which the old one stops signing. An endpoint holds at most 5 valid secrets, so rotating repeatedly inside that window fails.
13783
+ *
13784
+ * @example Rotate an endpoint's signing secret
13785
+ * const rotated = await bird.webhooks.rotateSecret(
13786
+ * "whk_01krdgeqcxet5s7t44vh8rt9mg",
13787
+ * );
13788
+ * console.log(rotated.secret);
13789
+ */
13790
+ rotateSecret(webhookId: string, options?: RequestOptions): APIPromise<WebhookRotateSecretResponse>;
13791
+ /**
13792
+ * Change an endpoint's URL, description, subscribed event types, or delivery status. Only the fields sent change: `events` replaces the whole subscription set, and `status` pauses or re-enables delivery. Events fired while paused are not delivered.
13793
+ *
13794
+ * @example Change the subscribed event types
13795
+ * const endpoint = await bird.webhooks.update("whk_01krdgeqcxet5s7t44vh8rt9mg", {
13796
+ * events: ["email.delivered"],
13797
+ * });
13798
+ * console.log(endpoint.events);
13799
+ */
13800
+ update(webhookId: string, params?: WebhooksUpdateParams, options?: RequestOptions): APIPromise<WebhookEndpoint>;
13801
+ }
13802
+ //#endregion
13377
13803
  //#region src/resources/webhooks.d.ts
13378
13804
  /** A verified webhook event, discriminated on `type`. */
13379
13805
  type BirdWebhookEvent = WebhookEvent;
@@ -13384,9 +13810,9 @@ interface WebhookOptions {
13384
13810
  /** Signing secret used by `unwrap`; a per-call `secret` overrides it. */
13385
13811
  secret?: string;
13386
13812
  }
13387
- declare class WebhooksResource {
13813
+ declare class WebhooksResource extends WebhooksResourceBase {
13388
13814
  #private;
13389
- constructor(config?: WebhookOptions);
13815
+ constructor(core: ConstructorParameters<typeof Resource>[0], client: ConstructorParameters<typeof Resource>[1], config?: WebhookOptions);
13390
13816
  /**
13391
13817
  * Verify a webhook delivery and return the typed event.
13392
13818
  *
@@ -13737,7 +14163,12 @@ declare class NumbersResource extends NumbersResourceBase {
13737
14163
  //#endregion
13738
14164
  //#region src/client.d.ts
13739
14165
  interface BirdClientOptions {
13740
- apiKey: string;
14166
+ /**
14167
+ * Required for API calls. A webhook receiver may omit it and configure only
14168
+ * `webhooks: { secret }`; API methods on such a client throw
14169
+ * {@link BirdMissingApiKeyError}.
14170
+ */
14171
+ apiKey?: string;
13741
14172
  /** Explicit base URL; overrides region resolution. For local/self-hosted use. */
13742
14173
  baseUrl?: string;
13743
14174
  /** Region override (e.g. `"eu1"`); the API key prefix is used by default. */
@@ -14301,5 +14732,5 @@ declare const WhatsAppTemplateParameterType: {
14301
14732
  /** A known WhatsAppTemplateParameterType value. */
14302
14733
  type WhatsAppTemplateParameterTypeValue = (typeof WhatsAppTemplateParameterType)[keyof typeof WhatsAppTemplateParameterType];
14303
14734
  //#endregion
14304
- export { type APIPromise, type Audience, type AudienceAddContactsParams, type AudienceCreateParams, type AudienceListContactsQuery, type AudienceListQuery, type AudienceMember, type AudienceRemoveContactsParams, type AudienceUpdateParams, BirdAPIError, BirdAuthError, BirdBadRequestError, BirdBillingError, BirdClient, type BirdClientOptions, BirdConflictError, BirdConnectionError, BirdError, BirdInternalError, BirdMisdirectedError, BirdNotFoundError, BirdNotImplementedError, BirdPayloadTooLargeError, BirdPermissionError, BirdPreconditionError, BirdRateLimitError, type BirdRequest, type BirdResponse, BirdServiceUnavailableError, BirdTimeoutError, BirdValidationError, type BirdWebhookEvent, BirdWebhookVerificationError, type ChannelAuthorization, type Contact, type ContactBatchParams, type ContactCreateParams, type ContactListQuery, type ContactProperty, type ContactPropertyCreateParams, type ContactPropertyListQuery, type ContactPropertyUpdateParams, type ContactUpdateParams, type ContactUpsertResult, type ContactsPreferencesListQuery, type CursorPage, type DnsRecord, type Domain, type DomainCapabilities, type DomainCreateParams, type DomainDkim, type DomainListQuery, type DomainUpdateParams, type EmailChannelDefaults, EmailEventType, type EmailEventTypeValue, type EmailListQuery, type EmailLookup, EmailLookupFlag, type EmailLookupFlagValue, EmailLookupReason, type EmailLookupReasonValue, EmailLookupResult, type EmailLookupResultValue, type EmailMailboxLabelList, type EmailMailboxesCreateParams, type EmailMailboxesListQuery, type EmailMailboxesMessagesCreateParams, type EmailMailboxesReceiveRulesCreateParams, type EmailMailboxesReceiveRulesListQuery, type EmailMailboxesStatsQuery, type EmailMailboxesUpdateParams, type EmailMailboxesUpdateQuery, type EmailMessage, type EmailSendBatchParams, type EmailSendBatchResult, type EmailSendParams, type EmailStatsByBounceCodeQuery, type EmailStatsByBounceCodeResponse, type EmailStatsByBroadcastQuery, type EmailStatsByBroadcastResponse, type EmailStatsByCategoryQuery, type EmailStatsByCategoryResponse, type EmailStatsByClientQuery, type EmailStatsByClientResponse, type EmailStatsByComplaintTypeQuery, type EmailStatsByComplaintTypeResponse, type EmailStatsByLocationQuery, type EmailStatsByLocationResponse, type EmailStatsByMailboxProviderQuery, type EmailStatsByMailboxProviderRegionQuery, type EmailStatsByMailboxProviderRegionResponse, type EmailStatsByMailboxProviderResponse, type EmailStatsByRecipientDomainQuery, type EmailStatsByRecipientDomainResponse, type EmailStatsBySendingDomainQuery, type EmailStatsBySendingDomainResponse, type EmailStatsBySendingIpQuery, type EmailStatsBySendingIpResponse, type EmailStatsByTagQuery, type EmailStatsByTemplateQuery, type EmailStatsByTemplateResponse, type EmailStatsDailyQuery, type EmailStatsHourlyQuery, type EmailStatsResponse, type EmailStatsSummary, type EmailStatsSummaryQuery, type EmailStatsTagsResponse, type EmailThread, type EmailThreadMessage, type EmailThreadMessageAttachmentList, type EmailThreadMessageBody, type EmailThreadsDeleteQuery, type EmailThreadsListQuery, type EmailThreadsMessagesListQuery, type EmailThreadsMessagesReplyParams, type EmailThreadsUpdateParams, type ErrorDetail, type LookupEmailParams, LookupFlag, type LookupFlagValue, type LookupPhoneNumberParams, LookupPropertyStatus, type LookupPropertyStatusValue, type Mailbox, type MailboxStatsResponse, type NextAction, NumberCapability, type NumberCapabilityValue, NumberType, type NumberTypeValue, NumbersOrderStatus, type NumbersOrderStatusValue, type PaginatedPromise, type PhoneNumberLookup, type Preference, PreferenceChannel, type PreferenceChannelValue, type PreferenceCoverage, type PreferenceCreateParams, PreferenceOrigin, type PreferenceOriginValue, type PreferenceStatus, type PreferenceWriteResult, type PreferencesListQuery, type RealtimeBatchPublishResult, type RealtimeChannelGetQuery, type RealtimeChannelInclude, type RealtimeChannelInfo, type RealtimeChannelListItem, type RealtimeChannelListQuery, type RealtimeChannelMember, type RealtimeChannelMembers, type RealtimeChannelsList, type RealtimeOptions, type RealtimePublishBatchParams, type RealtimePublishParams, type RealtimePublishResult, type ReceiveRule, type RequestOptions, SMSErrorCode, type SMSErrorCodeValue, SMSKeywordOperation, type SMSKeywordOperationValue, SMSSuppressionCoverage, type SMSSuppressionCoverageValue, SMSSuppressionEndReason, type SMSSuppressionEndReasonValue, SMSSuppressionOrigin, type SMSSuppressionOriginValue, SMSSuppressionReason, type SMSSuppressionReasonValue, type SafeResult, type SmsEventList, type SmsInboundStatsByCountryResponse, type SmsInboundStatsByNumberResponse, type SmsInboundStatsByOperatorResponse, type SmsInboundStatsResponse, type SmsInboundStatsSummaryResponse, type SmsKeywordRule, type SmsKeywordRuleList, type SmsKeywordRulesCreateParams, type SmsKeywordRulesListQuery, type SmsKeywordRulesUpdateParams, type SmsListEventsQuery, type SmsListQuery, type SmsMessage, type SmsSendBatchParams, type SmsSendBatchResult, type SmsSendParams, type SmsStatsByCarrierQuery, type SmsStatsByCarrierResponse, type SmsStatsByCategoryQuery, type SmsStatsByCategoryResponse, type SmsStatsByCountryQuery, type SmsStatsByCountryResponse, type SmsStatsByErrorCodeQuery, type SmsStatsByErrorCodeResponse, type SmsStatsByOriginatorQuery, type SmsStatsByOriginatorResponse, type SmsStatsByStatusQuery, type SmsStatsByStatusResponse, type SmsStatsDailyQuery, type SmsStatsHourlyQuery, type SmsStatsInboundByCountryQuery, type SmsStatsInboundByNumberQuery, type SmsStatsInboundByOperatorQuery, type SmsStatsInboundDailyQuery, type SmsStatsInboundHourlyQuery, type SmsStatsInboundSummaryQuery, type SmsStatsResponse, type SmsStatsSummary, type SmsStatsSummaryQuery, type SmsSuppression, type SmsSuppressionsAddParams, type SmsSuppressionsListQuery, type SmsTemplate, type SmsTemplateList, type SmsTemplateListQuery, TemplateLanguageStatus, type TemplateLanguageStatusValue, TemplateStatus, type TemplateStatusValue, type Verification, VerificationAttemptFailureReason, type VerificationAttemptFailureReasonValue, VerificationChannel, type VerificationChannelValue, type VerificationCheckResult, VerificationTerminalReason, type VerificationTerminalReasonValue, type VerifyVerificationsCheckParams, type VerifyVerificationsCreateParams, type VerifyVerificationsNextChannelParams, WebhookEventType, type WebhookEventTypeValue, type WebhookHeaders, type WebhookOptions, WhatsAppErrorCode, type WhatsAppErrorCodeValue, type WhatsAppEventList, WhatsAppEventType, type WhatsAppEventTypeValue, type WhatsAppMessage, WhatsAppTemplateCategory, type WhatsAppTemplateCategoryValue, WhatsAppTemplateParameterType, type WhatsAppTemplateParameterTypeValue, type WhatsappListEventsQuery, type WhatsappListQuery, type WhatsappSendParams, type Workspace, baseUrlForRegion, regionFromApiKey };
14735
+ export { type APIPromise, type Audience, type AudienceAddContactsParams, type AudienceCreateParams, type AudienceListContactsQuery, type AudienceListQuery, type AudienceMember, type AudienceRemoveContactsParams, type AudienceUpdateParams, BirdAPIError, BirdAuthError, BirdBadRequestError, BirdBillingError, BirdClient, type BirdClientOptions, BirdConflictError, BirdConnectionError, BirdError, BirdInternalError, BirdMisdirectedError, BirdMissingApiKeyError, BirdNotFoundError, BirdNotImplementedError, BirdPayloadTooLargeError, BirdPermissionError, BirdPreconditionError, BirdRateLimitError, type BirdRequest, type BirdResponse, BirdServiceUnavailableError, BirdTimeoutError, BirdValidationError, type BirdWebhookEvent, BirdWebhookVerificationError, type ChannelAuthorization, type Contact, type ContactBatchParams, type ContactCreateParams, type ContactListQuery, type ContactProperty, type ContactPropertyCreateParams, type ContactPropertyListQuery, type ContactPropertyUpdateParams, type ContactUpdateParams, type ContactUpsertResult, type ContactsPreferencesListQuery, type CursorPage, type DnsRecord, type Domain, type DomainCapabilities, type DomainCreateParams, type DomainDkim, type DomainListQuery, type DomainUpdateParams, type EmailChannelDefaults, EmailEventType, type EmailEventTypeValue, type EmailListQuery, type EmailLookup, EmailLookupFlag, type EmailLookupFlagValue, EmailLookupReason, type EmailLookupReasonValue, EmailLookupResult, type EmailLookupResultValue, type EmailMailboxLabelList, type EmailMailboxesCreateParams, type EmailMailboxesListQuery, type EmailMailboxesMessagesCreateParams, type EmailMailboxesReceiveRulesCreateParams, type EmailMailboxesReceiveRulesListQuery, type EmailMailboxesStatsQuery, type EmailMailboxesUpdateParams, type EmailMailboxesUpdateQuery, type EmailMessage, type EmailSendBatchParams, type EmailSendBatchResult, type EmailSendParams, type EmailStatsByBounceCodeQuery, type EmailStatsByBounceCodeResponse, type EmailStatsByBroadcastQuery, type EmailStatsByBroadcastResponse, type EmailStatsByCategoryQuery, type EmailStatsByCategoryResponse, type EmailStatsByClientQuery, type EmailStatsByClientResponse, type EmailStatsByComplaintTypeQuery, type EmailStatsByComplaintTypeResponse, type EmailStatsByLocationQuery, type EmailStatsByLocationResponse, type EmailStatsByMailboxProviderQuery, type EmailStatsByMailboxProviderRegionQuery, type EmailStatsByMailboxProviderRegionResponse, type EmailStatsByMailboxProviderResponse, type EmailStatsByRecipientDomainQuery, type EmailStatsByRecipientDomainResponse, type EmailStatsBySendingDomainQuery, type EmailStatsBySendingDomainResponse, type EmailStatsBySendingIpQuery, type EmailStatsBySendingIpResponse, type EmailStatsByTagQuery, type EmailStatsByTemplateQuery, type EmailStatsByTemplateResponse, type EmailStatsDailyQuery, type EmailStatsHourlyQuery, type EmailStatsResponse, type EmailStatsSummary, type EmailStatsSummaryQuery, type EmailStatsTagsResponse, type EmailThread, type EmailThreadMessage, type EmailThreadMessageAttachmentList, type EmailThreadMessageBody, type EmailThreadsDeleteQuery, type EmailThreadsListQuery, type EmailThreadsMessagesListQuery, type EmailThreadsMessagesReplyParams, type EmailThreadsUpdateParams, type ErrorDetail, type LookupEmailParams, LookupFlag, type LookupFlagValue, type LookupPhoneNumberParams, LookupPropertyStatus, type LookupPropertyStatusValue, type Mailbox, type MailboxStatsResponse, type NextAction, NumberCapability, type NumberCapabilityValue, NumberType, type NumberTypeValue, NumbersOrderStatus, type NumbersOrderStatusValue, type PaginatedPromise, type PhoneNumberLookup, type Preference, PreferenceChannel, type PreferenceChannelValue, type PreferenceCoverage, type PreferenceCreateParams, PreferenceOrigin, type PreferenceOriginValue, type PreferenceStatus, type PreferenceWriteResult, type PreferencesListQuery, type RealtimeBatchPublishResult, type RealtimeChannelGetQuery, type RealtimeChannelInclude, type RealtimeChannelInfo, type RealtimeChannelListItem, type RealtimeChannelListQuery, type RealtimeChannelMember, type RealtimeChannelMembers, type RealtimeChannelsList, type RealtimeOptions, type RealtimePublishBatchParams, type RealtimePublishParams, type RealtimePublishResult, type ReceiveRule, type RequestOptions, SMSErrorCode, type SMSErrorCodeValue, SMSKeywordOperation, type SMSKeywordOperationValue, SMSSuppressionCoverage, type SMSSuppressionCoverageValue, SMSSuppressionEndReason, type SMSSuppressionEndReasonValue, SMSSuppressionOrigin, type SMSSuppressionOriginValue, SMSSuppressionReason, type SMSSuppressionReasonValue, type SafeResult, type SmsEventList, type SmsInboundStatsByCountryResponse, type SmsInboundStatsByNumberResponse, type SmsInboundStatsByOperatorResponse, type SmsInboundStatsResponse, type SmsInboundStatsSummaryResponse, type SmsKeywordRule, type SmsKeywordRuleList, type SmsKeywordRulesCreateParams, type SmsKeywordRulesListQuery, type SmsKeywordRulesUpdateParams, type SmsListEventsQuery, type SmsListQuery, type SmsMessage, type SmsSendBatchParams, type SmsSendBatchResult, type SmsSendParams, type SmsStatsByCarrierQuery, type SmsStatsByCarrierResponse, type SmsStatsByCategoryQuery, type SmsStatsByCategoryResponse, type SmsStatsByCountryQuery, type SmsStatsByCountryResponse, type SmsStatsByErrorCodeQuery, type SmsStatsByErrorCodeResponse, type SmsStatsByOriginatorQuery, type SmsStatsByOriginatorResponse, type SmsStatsByStatusQuery, type SmsStatsByStatusResponse, type SmsStatsDailyQuery, type SmsStatsHourlyQuery, type SmsStatsInboundByCountryQuery, type SmsStatsInboundByNumberQuery, type SmsStatsInboundByOperatorQuery, type SmsStatsInboundDailyQuery, type SmsStatsInboundHourlyQuery, type SmsStatsInboundSummaryQuery, type SmsStatsResponse, type SmsStatsSummary, type SmsStatsSummaryQuery, type SmsSuppression, type SmsSuppressionsAddParams, type SmsSuppressionsListQuery, type SmsTemplate, type SmsTemplateList, type SmsTemplateListQuery, TemplateLanguageStatus, type TemplateLanguageStatusValue, TemplateStatus, type TemplateStatusValue, type Verification, VerificationAttemptFailureReason, type VerificationAttemptFailureReasonValue, VerificationChannel, type VerificationChannelValue, type VerificationCheckResult, VerificationTerminalReason, type VerificationTerminalReasonValue, type VerifyVerificationsCheckParams, type VerifyVerificationsCreateParams, type VerifyVerificationsNextChannelParams, type WebhookAttemptList, type WebhookEndpoint, type WebhookEndpointCreated, WebhookEventType, type WebhookEventTypeValue, type WebhookHeaders, type WebhookOptions, type WebhookRotateSecretResponse, type WebhookTestResponse, type WebhooksAttemptsQuery, type WebhooksCreateParams, type WebhooksListQuery, type WebhooksTestParams, type WebhooksUpdateParams, WhatsAppErrorCode, type WhatsAppErrorCodeValue, type WhatsAppEventList, WhatsAppEventType, type WhatsAppEventTypeValue, type WhatsAppMessage, WhatsAppTemplateCategory, type WhatsAppTemplateCategoryValue, WhatsAppTemplateParameterType, type WhatsAppTemplateParameterTypeValue, type WhatsappListEventsQuery, type WhatsappListQuery, type WhatsappSendParams, type Workspace, baseUrlForRegion, regionFromApiKey };
14305
14736
  //# sourceMappingURL=index.d.mts.map