rcs-js 2.0.17 → 2.0.19

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.
Files changed (92) hide show
  1. package/dist/cjs/Client.js +2 -2
  2. package/dist/cjs/api/resources/messages/client/Client.d.ts +3 -0
  3. package/dist/cjs/api/resources/messages/client/Client.js +7 -2
  4. package/dist/cjs/api/resources/messages/resources/index.d.ts +1 -0
  5. package/dist/cjs/api/resources/messages/resources/index.js +2 -1
  6. package/dist/cjs/api/resources/messages/resources/simulate/client/Client.d.ts +125 -0
  7. package/dist/cjs/api/resources/messages/resources/simulate/client/Client.js +231 -0
  8. package/dist/cjs/api/resources/messages/resources/simulate/client/index.d.ts +1 -0
  9. package/dist/cjs/api/resources/messages/resources/simulate/client/index.js +2 -0
  10. package/dist/cjs/api/resources/messages/resources/simulate/index.d.ts +1 -0
  11. package/dist/cjs/api/resources/messages/resources/simulate/index.js +17 -0
  12. package/dist/cjs/api/resources/webhooks/client/Client.d.ts +3 -1
  13. package/dist/cjs/api/resources/webhooks/client/Client.js +3 -1
  14. package/dist/cjs/api/resources/webhooks/client/requests/AttachWebhookParams.d.ts +15 -1
  15. package/dist/cjs/api/types/AttachWebhookResult.d.ts +2 -0
  16. package/dist/cjs/api/types/SimulateMessageInput.d.ts +10 -0
  17. package/dist/cjs/api/types/SimulateMessageInput.js +3 -0
  18. package/dist/cjs/api/types/SimulateUserButton.d.ts +11 -0
  19. package/dist/cjs/api/types/SimulateUserButton.js +3 -0
  20. package/dist/cjs/api/types/SimulateUserMessage.d.ts +11 -0
  21. package/dist/cjs/api/types/SimulateUserMessage.js +3 -0
  22. package/dist/cjs/api/types/SimulateUserParams.d.ts +11 -0
  23. package/dist/cjs/api/types/SimulateUserParams.js +3 -0
  24. package/dist/cjs/api/types/SimulateUserResponse.d.ts +6 -0
  25. package/dist/cjs/api/types/SimulateUserResponse.js +3 -0
  26. package/dist/cjs/api/types/UserButtonPress.d.ts +25 -0
  27. package/dist/cjs/api/types/UserButtonPress.js +3 -0
  28. package/dist/cjs/api/types/UserButtonPressCall.d.ts +11 -0
  29. package/dist/cjs/api/types/UserButtonPressCall.js +3 -0
  30. package/dist/cjs/api/types/UserButtonPressOpenUrl.d.ts +11 -0
  31. package/dist/cjs/api/types/UserButtonPressOpenUrl.js +3 -0
  32. package/dist/cjs/api/types/UserButtonPressRequestUserLocation.d.ts +22 -0
  33. package/dist/cjs/api/types/UserButtonPressRequestUserLocation.js +3 -0
  34. package/dist/cjs/api/types/UserButtonPressScheduleEvent.d.ts +15 -0
  35. package/dist/cjs/api/types/UserButtonPressScheduleEvent.js +3 -0
  36. package/dist/cjs/api/types/UserButtonPressSendLocation.d.ts +24 -0
  37. package/dist/cjs/api/types/UserButtonPressSendLocation.js +3 -0
  38. package/dist/cjs/api/types/UserButtonPressTrigger.d.ts +11 -0
  39. package/dist/cjs/api/types/UserButtonPressTrigger.js +3 -0
  40. package/dist/cjs/api/types/WebhookSummary.d.ts +2 -0
  41. package/dist/cjs/api/types/Webhooks.d.ts +2 -0
  42. package/dist/cjs/api/types/index.d.ts +12 -0
  43. package/dist/cjs/api/types/index.js +12 -0
  44. package/dist/cjs/version.d.ts +1 -1
  45. package/dist/cjs/version.js +1 -1
  46. package/dist/esm/Client.mjs +2 -2
  47. package/dist/esm/api/resources/messages/client/Client.d.mts +3 -0
  48. package/dist/esm/api/resources/messages/client/Client.mjs +5 -0
  49. package/dist/esm/api/resources/messages/resources/index.d.mts +1 -0
  50. package/dist/esm/api/resources/messages/resources/index.mjs +1 -0
  51. package/dist/esm/api/resources/messages/resources/simulate/client/Client.d.mts +125 -0
  52. package/dist/esm/api/resources/messages/resources/simulate/client/Client.mjs +194 -0
  53. package/dist/esm/api/resources/messages/resources/simulate/client/index.d.mts +1 -0
  54. package/dist/esm/api/resources/messages/resources/simulate/client/index.mjs +1 -0
  55. package/dist/esm/api/resources/messages/resources/simulate/index.d.mts +1 -0
  56. package/dist/esm/api/resources/messages/resources/simulate/index.mjs +1 -0
  57. package/dist/esm/api/resources/webhooks/client/Client.d.mts +3 -1
  58. package/dist/esm/api/resources/webhooks/client/Client.mjs +3 -1
  59. package/dist/esm/api/resources/webhooks/client/requests/AttachWebhookParams.d.mts +15 -1
  60. package/dist/esm/api/types/AttachWebhookResult.d.mts +2 -0
  61. package/dist/esm/api/types/SimulateMessageInput.d.mts +10 -0
  62. package/dist/esm/api/types/SimulateMessageInput.mjs +2 -0
  63. package/dist/esm/api/types/SimulateUserButton.d.mts +11 -0
  64. package/dist/esm/api/types/SimulateUserButton.mjs +2 -0
  65. package/dist/esm/api/types/SimulateUserMessage.d.mts +11 -0
  66. package/dist/esm/api/types/SimulateUserMessage.mjs +2 -0
  67. package/dist/esm/api/types/SimulateUserParams.d.mts +11 -0
  68. package/dist/esm/api/types/SimulateUserParams.mjs +2 -0
  69. package/dist/esm/api/types/SimulateUserResponse.d.mts +6 -0
  70. package/dist/esm/api/types/SimulateUserResponse.mjs +2 -0
  71. package/dist/esm/api/types/UserButtonPress.d.mts +25 -0
  72. package/dist/esm/api/types/UserButtonPress.mjs +2 -0
  73. package/dist/esm/api/types/UserButtonPressCall.d.mts +11 -0
  74. package/dist/esm/api/types/UserButtonPressCall.mjs +2 -0
  75. package/dist/esm/api/types/UserButtonPressOpenUrl.d.mts +11 -0
  76. package/dist/esm/api/types/UserButtonPressOpenUrl.mjs +2 -0
  77. package/dist/esm/api/types/UserButtonPressRequestUserLocation.d.mts +22 -0
  78. package/dist/esm/api/types/UserButtonPressRequestUserLocation.mjs +2 -0
  79. package/dist/esm/api/types/UserButtonPressScheduleEvent.d.mts +15 -0
  80. package/dist/esm/api/types/UserButtonPressScheduleEvent.mjs +2 -0
  81. package/dist/esm/api/types/UserButtonPressSendLocation.d.mts +24 -0
  82. package/dist/esm/api/types/UserButtonPressSendLocation.mjs +2 -0
  83. package/dist/esm/api/types/UserButtonPressTrigger.d.mts +11 -0
  84. package/dist/esm/api/types/UserButtonPressTrigger.mjs +2 -0
  85. package/dist/esm/api/types/WebhookSummary.d.mts +2 -0
  86. package/dist/esm/api/types/Webhooks.d.mts +2 -0
  87. package/dist/esm/api/types/index.d.mts +12 -0
  88. package/dist/esm/api/types/index.mjs +12 -0
  89. package/dist/esm/version.d.mts +1 -1
  90. package/dist/esm/version.mjs +1 -1
  91. package/package.json +1 -1
  92. package/reference.md +73 -1
@@ -8,7 +8,11 @@ import type * as Pinnacle from "../../../../index.mjs";
8
8
  export interface AttachWebhookParams {
9
9
  /** Array of senders to attach the webhook to. Can be phone numbers in E.164 format or RCS agent IDs. */
10
10
  senders: string[];
11
- /** Existing webhook ID (starts with `wh_`). Provide this OR `name` + `url` to create a new webhook. The webhook must be in ENABLED status. Disabled webhooks can be re-enabled from the [dashboard](https://app.pinnacle.sh/dashboard/development/webhooks). */
11
+ /**
12
+ * Existing webhook ID (starts with `wh_`). Provide this OR `name` + `url` to create a new webhook. The webhook must be in ENABLED status. Disabled webhooks can be re-enabled from the [dashboard](https://app.pinnacle.sh/dashboard/development/webhooks).
13
+ *
14
+ * Supplying `headers` alongside `webhookId` **overwrites** the stored headers on the webhook. Omit `headers` to leave them unchanged.
15
+ */
12
16
  webhookId?: string;
13
17
  /** Name for a new webhook (required if no `webhookId`). */
14
18
  name?: string;
@@ -20,4 +24,14 @@ export interface AttachWebhookParams {
20
24
  * `USER.TYPING` is only supported for RCS agent senders, not phone numbers.
21
25
  */
22
26
  event?: Pinnacle.WebhookEventEnum | null;
27
+ /**
28
+ * Optional custom HTTP headers (key-value map) to include when dispatching webhook events to the endpoint.
29
+ *
30
+ * Header names must start with a letter or digit and contain only letters, digits, `-`, or `_` (matching the pattern `^[A-Za-z0-9][A-Za-z0-9_-]*$`). Names are case-insensitive per [RFC 9110](https://datatracker.ietf.org/doc/html/rfc9110#name-field-names) and are normalized to uppercase before storage and sending.
31
+ *
32
+ * When provided with an existing `webhookId`, these headers **overwrite** any headers currently stored on that webhook. Omit to leave existing headers unchanged.
33
+ *
34
+ * The reserved `PINNACLE-SIGNING-SECRET` header is silently ignored and cannot be overridden.
35
+ */
36
+ headers?: Record<string, string | null> | null;
23
37
  }
@@ -18,5 +18,7 @@ export declare namespace AttachWebhookResult {
18
18
  url: string;
19
19
  /** Signing secret sent in the `PINNACLE-SIGNING-SECRET` header for request verification. */
20
20
  secret: string;
21
+ /** Optional custom HTTP headers sent on every webhook delivery. Header names must match the regex `^[A-Za-z0-9][A-Za-z0-9_-]*$` — start with a letter or digit and contain only letters, digits, `-`, or `_`. Keys are case-insensitive and stored in uppercase. Values must be strings. The reserved `PINNACLE-SIGNING-SECRET` header is never returned here and cannot be overridden. */
22
+ headers?: Record<string, string | null> | null;
21
23
  }
22
24
  }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * User message payload. At least one of `text` or `mediaUrls` must be non-empty.
3
+ * Send only `text` to simulate an inbound SMS; include `mediaUrls` to simulate an inbound MMS.
4
+ */
5
+ export interface SimulateMessageInput {
6
+ /** Text message sent by the user. */
7
+ text?: string;
8
+ /** URLs of media files sent by the user. */
9
+ mediaUrls?: string[];
10
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,11 @@
1
+ import type * as Pinnacle from "../index.mjs";
2
+ /**
3
+ * Simulate a button press from a user.
4
+ */
5
+ export interface SimulateUserButton {
6
+ /** User phone number in E.164 format. */
7
+ from: string;
8
+ /** RCS agent ID (prefixed with `agent_`). */
9
+ to: string;
10
+ button: Pinnacle.UserButtonPress;
11
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,11 @@
1
+ import type * as Pinnacle from "../index.mjs";
2
+ /**
3
+ * Simulate an inbound message from a user.
4
+ */
5
+ export interface SimulateUserMessage {
6
+ /** User phone number in E.164 format. */
7
+ from: string;
8
+ /** Receiver phone number in E.164 format or RCS agent ID (prefixed with `agent_`). */
9
+ to: string;
10
+ message: Pinnacle.SimulateMessageInput;
11
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,11 @@
1
+ import type * as Pinnacle from "../index.mjs";
2
+ /**
3
+ * Request body for simulating an inbound event from a user.
4
+ */
5
+ export type SimulateUserParams =
6
+ /**
7
+ * Simulate an inbound message from a user. */
8
+ Pinnacle.SimulateUserMessage
9
+ /**
10
+ * Simulate a button press from a user. Only for RCS agents. */
11
+ | Pinnacle.SimulateUserButton;
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Result of the simulation.
3
+ */
4
+ export interface SimulateUserResponse {
5
+ success: boolean;
6
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,25 @@
1
+ import type * as Pinnacle from "../index.mjs";
2
+ /**
3
+ * Discriminated union of button presses that can be simulated for a user.
4
+ */
5
+ export type UserButtonPress = Pinnacle.UserButtonPress.Trigger | Pinnacle.UserButtonPress.OpenUrl | Pinnacle.UserButtonPress.Call | Pinnacle.UserButtonPress.ScheduleEvent | Pinnacle.UserButtonPress.SendLocation | Pinnacle.UserButtonPress.RequestUserLocation;
6
+ export declare namespace UserButtonPress {
7
+ interface Trigger extends Pinnacle.UserButtonPressTrigger {
8
+ type: "trigger";
9
+ }
10
+ interface OpenUrl extends Pinnacle.UserButtonPressOpenUrl {
11
+ type: "openUrl";
12
+ }
13
+ interface Call extends Pinnacle.UserButtonPressCall {
14
+ type: "call";
15
+ }
16
+ interface ScheduleEvent extends Pinnacle.UserButtonPressScheduleEvent {
17
+ type: "scheduleEvent";
18
+ }
19
+ interface SendLocation extends Pinnacle.UserButtonPressSendLocation {
20
+ type: "sendLocation";
21
+ }
22
+ interface RequestUserLocation extends Pinnacle.UserButtonPressRequestUserLocation {
23
+ type: "requestUserLocation";
24
+ }
25
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Simulates when a user presses a `call` button.
3
+ */
4
+ export interface UserButtonPressCall {
5
+ /** Name of the button that you want to press. */
6
+ title: string;
7
+ /** Metadata attached to the button. */
8
+ metadata?: string;
9
+ /** Destination phone number in E.164 format. */
10
+ payload?: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Simulates when a user presses an `openUrl` button.
3
+ */
4
+ export interface UserButtonPressOpenUrl {
5
+ /** Name of the button that you want to press. */
6
+ title: string;
7
+ /** Metadata attached to the button. */
8
+ metadata?: string;
9
+ /** Destination URL of the tapped button. */
10
+ payload?: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Simulates when a user presses a `requestUserLocation` button.
3
+ */
4
+ export interface UserButtonPressRequestUserLocation {
5
+ /** Name of the button that you want to press. */
6
+ title: string;
7
+ /** Metadata attached to the button. */
8
+ metadata?: string;
9
+ /** Location the simulated user responded with. */
10
+ location?: UserButtonPressRequestUserLocation.Location;
11
+ }
12
+ export declare namespace UserButtonPressRequestUserLocation {
13
+ /**
14
+ * Location the simulated user responded with.
15
+ */
16
+ interface Location {
17
+ text?: string;
18
+ latitude?: number;
19
+ longitude?: number;
20
+ address?: string;
21
+ }
22
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Simulates when a user presses a `scheduleEvent` button.
3
+ */
4
+ export interface UserButtonPressScheduleEvent {
5
+ /** Name of the button that you want to press. */
6
+ title: string;
7
+ /** Metadata attached to the button. */
8
+ metadata?: string;
9
+ /** ISO 8601 start time. Defaults to the current time. */
10
+ eventStartTime?: string;
11
+ /** ISO 8601 end time. Defaults to one hour after `eventStartTime`. */
12
+ eventEndTime?: string;
13
+ eventTitle?: string;
14
+ eventDescription?: string;
15
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Simulates when a user presses a `sendLocation` button.
3
+ */
4
+ export interface UserButtonPressSendLocation {
5
+ /** Name of the button that you want to press. */
6
+ title: string;
7
+ /** Metadata attached to the button. */
8
+ metadata?: string;
9
+ /** Name of the location shared. */
10
+ name?: string;
11
+ /** Shared coordinates. */
12
+ latLong?: UserButtonPressSendLocation.LatLong;
13
+ }
14
+ export declare namespace UserButtonPressSendLocation {
15
+ /**
16
+ * Shared coordinates.
17
+ */
18
+ interface LatLong {
19
+ /** Latitude of the shared location. */
20
+ lat?: number;
21
+ /** Longitude of the shared location. */
22
+ lng?: number;
23
+ }
24
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Simulates when a user presses a `trigger` button.
3
+ */
4
+ export interface UserButtonPressTrigger {
5
+ /** Name of the button that you want to press. */
6
+ title: string;
7
+ /** Metadata attached to the button. */
8
+ metadata?: string;
9
+ /** Button's postback payload. */
10
+ payload?: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -11,6 +11,8 @@ export interface WebhookSummary {
11
11
  createdAt: string;
12
12
  /** ISO 8601 timestamp of when the webhook was last updated. */
13
13
  updatedAt: string;
14
+ /** Optional custom HTTP headers sent when dispatching webhook events. Header names must match the regex `^[A-Za-z0-9][A-Za-z0-9_-]*$` — start with a letter or digit and contain only letters, digits, `-`, or `_`. Keys are case-insensitive and stored in uppercase. Values must be strings. The reserved `PINNACLE-SIGNING-SECRET` header is never returned here and cannot be overridden. */
15
+ headers?: Record<string, string | null> | null;
14
16
  }
15
17
  export declare namespace WebhookSummary {
16
18
  /** Current status of the webhook. */
@@ -8,4 +8,6 @@ export interface Webhooks {
8
8
  id: string;
9
9
  /** Name of the webhook. */
10
10
  name: string;
11
+ /** Optional custom HTTP headers sent on every webhook delivery. Header names must match the regex `^[A-Za-z0-9][A-Za-z0-9_-]*$` — start with a letter or digit and contain only letters, digits, `-`, or `_`. Keys are case-insensitive and stored in uppercase. Values must be strings. The reserved `PINNACLE-SIGNING-SECRET` header is never returned here and cannot be overridden. */
12
+ headers?: Record<string, string | null> | null;
11
13
  }
@@ -153,6 +153,11 @@ export * from "./SentRichMessageFallbackSms.mjs";
153
153
  export * from "./SentSmsDetails.mjs";
154
154
  export * from "./ShortenedUrl.mjs";
155
155
  export * from "./ShortenedUrlWithClickData.mjs";
156
+ export * from "./SimulateMessageInput.mjs";
157
+ export * from "./SimulateUserButton.mjs";
158
+ export * from "./SimulateUserMessage.mjs";
159
+ export * from "./SimulateUserParams.mjs";
160
+ export * from "./SimulateUserResponse.mjs";
156
161
  export * from "./SmsContent.mjs";
157
162
  export * from "./SmsValidationResult.mjs";
158
163
  export * from "./SubmissionResults.mjs";
@@ -169,6 +174,13 @@ export * from "./TollFreeStatusEnum.mjs";
169
174
  export * from "./Tracking.mjs";
170
175
  export * from "./UpdatedContactId.mjs";
171
176
  export * from "./UploadResults.mjs";
177
+ export * from "./UserButtonPress.mjs";
178
+ export * from "./UserButtonPressCall.mjs";
179
+ export * from "./UserButtonPressOpenUrl.mjs";
180
+ export * from "./UserButtonPressRequestUserLocation.mjs";
181
+ export * from "./UserButtonPressScheduleEvent.mjs";
182
+ export * from "./UserButtonPressSendLocation.mjs";
183
+ export * from "./UserButtonPressTrigger.mjs";
172
184
  export * from "./UserEvent.mjs";
173
185
  export * from "./ValidateCampaignParams.mjs";
174
186
  export * from "./ValidationErrorDetails.mjs";
@@ -153,6 +153,11 @@ export * from "./SentRichMessageFallbackSms.mjs";
153
153
  export * from "./SentSmsDetails.mjs";
154
154
  export * from "./ShortenedUrl.mjs";
155
155
  export * from "./ShortenedUrlWithClickData.mjs";
156
+ export * from "./SimulateMessageInput.mjs";
157
+ export * from "./SimulateUserButton.mjs";
158
+ export * from "./SimulateUserMessage.mjs";
159
+ export * from "./SimulateUserParams.mjs";
160
+ export * from "./SimulateUserResponse.mjs";
156
161
  export * from "./SmsContent.mjs";
157
162
  export * from "./SmsValidationResult.mjs";
158
163
  export * from "./SubmissionResults.mjs";
@@ -169,6 +174,13 @@ export * from "./TollFreeStatusEnum.mjs";
169
174
  export * from "./Tracking.mjs";
170
175
  export * from "./UpdatedContactId.mjs";
171
176
  export * from "./UploadResults.mjs";
177
+ export * from "./UserButtonPress.mjs";
178
+ export * from "./UserButtonPressCall.mjs";
179
+ export * from "./UserButtonPressOpenUrl.mjs";
180
+ export * from "./UserButtonPressRequestUserLocation.mjs";
181
+ export * from "./UserButtonPressScheduleEvent.mjs";
182
+ export * from "./UserButtonPressSendLocation.mjs";
183
+ export * from "./UserButtonPressTrigger.mjs";
172
184
  export * from "./UserEvent.mjs";
173
185
  export * from "./ValidateCampaignParams.mjs";
174
186
  export * from "./ValidationErrorDetails.mjs";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "2.0.17";
1
+ export declare const SDK_VERSION = "2.0.19";
@@ -1 +1 @@
1
- export const SDK_VERSION = "2.0.17";
1
+ export const SDK_VERSION = "2.0.19";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rcs-js",
3
- "version": "2.0.17",
3
+ "version": "2.0.19",
4
4
  "private": false,
5
5
  "repository": "github:pinnacle-dev/rcs-js",
6
6
  "type": "commonjs",
package/reference.md CHANGED
@@ -2192,7 +2192,9 @@ Attach a webhook to one or more senders (phone numbers or RCS agent IDs) to rece
2192
2192
 
2193
2193
  You can attach an existing webhook by providing its ID, or create a new webhook by specifying a name and URL. Supports bulk operations with up to 50 senders per request. <br>
2194
2194
 
2195
- Subscriptions are additive — attaching new senders does not remove existing ones. Re-attaching the same sender updates the event type filter without creating duplicates.
2195
+ Subscriptions are additive — attaching new senders does not remove existing ones. Re-attaching the same sender updates the event type filter without creating duplicates. <br>
2196
+
2197
+ **Custom headers** may be provided in either case via the optional `headers` field. When attaching a new webhook, the headers are stored on the webhook and sent on every delivery. When attaching an existing `webhookId`, supplying `headers` **overwrites** the stored headers on that webhook — omit the field to leave them unchanged, or pass an empty object `{}` to clear them. The reserved `PINNACLE-SIGNING-SECRET` header is always set by Pinnacle and cannot be overridden.
2196
2198
  </dd>
2197
2199
  </dl>
2198
2200
  </dd>
@@ -4668,6 +4670,76 @@ await client.messages.blasts.list();
4668
4670
  </dl>
4669
4671
 
4670
4672
 
4673
+ </dd>
4674
+ </dl>
4675
+ </details>
4676
+
4677
+ ## Messages Simulate
4678
+ <details><summary><code>client.messages.simulate.<a href="/src/api/resources/messages/resources/simulate/client/Client.ts">user</a>({ ...params }) -> Pinnacle.SimulateUserResponse</code></summary>
4679
+ <dl>
4680
+ <dd>
4681
+
4682
+ #### 📝 Description
4683
+
4684
+ <dl>
4685
+ <dd>
4686
+
4687
+ <dl>
4688
+ <dd>
4689
+
4690
+ Simulate inbound messages and button presses from a user.
4691
+ </dd>
4692
+ </dl>
4693
+ </dd>
4694
+ </dl>
4695
+
4696
+ #### 🔌 Usage
4697
+
4698
+ <dl>
4699
+ <dd>
4700
+
4701
+ <dl>
4702
+ <dd>
4703
+
4704
+ ```typescript
4705
+ await client.messages.simulate.user({
4706
+ from: "+14155551234",
4707
+ to: "+14155555678",
4708
+ message: {
4709
+ text: "Hello from the test user!"
4710
+ }
4711
+ });
4712
+
4713
+ ```
4714
+ </dd>
4715
+ </dl>
4716
+ </dd>
4717
+ </dl>
4718
+
4719
+ #### ⚙️ Parameters
4720
+
4721
+ <dl>
4722
+ <dd>
4723
+
4724
+ <dl>
4725
+ <dd>
4726
+
4727
+ **request:** `Pinnacle.SimulateUserParams`
4728
+
4729
+ </dd>
4730
+ </dl>
4731
+
4732
+ <dl>
4733
+ <dd>
4734
+
4735
+ **requestOptions:** `Simulate.RequestOptions`
4736
+
4737
+ </dd>
4738
+ </dl>
4739
+ </dd>
4740
+ </dl>
4741
+
4742
+
4671
4743
  </dd>
4672
4744
  </dl>
4673
4745
  </details>