linq-python 0.58.2__py3-none-any.whl → 0.59.0__py3-none-any.whl

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 (47) hide show
  1. linq/_version.py +1 -1
  2. linq/types/__init__.py +51 -0
  3. linq/types/api_token_activated_webhook_event.py +333 -0
  4. linq/types/api_token_created_webhook_event.py +333 -0
  5. linq/types/api_token_deleted_webhook_event.py +333 -0
  6. linq/types/api_token_expired_webhook_event.py +333 -0
  7. linq/types/api_token_expiry_scheduled_webhook_event.py +333 -0
  8. linq/types/api_token_renamed_webhook_event.py +333 -0
  9. linq/types/connection_created_webhook_event.py +27 -0
  10. linq/types/connection_revoked_webhook_event.py +27 -0
  11. linq/types/contact_card_created_webhook_event.py +333 -0
  12. linq/types/contact_card_deleted_webhook_event.py +333 -0
  13. linq/types/contact_card_updated_webhook_event.py +333 -0
  14. linq/types/environment_created_webhook_event.py +333 -0
  15. linq/types/environment_deleted_webhook_event.py +333 -0
  16. linq/types/environment_line_moved_webhook_event.py +333 -0
  17. linq/types/environment_renamed_webhook_event.py +333 -0
  18. linq/types/location_sharing_started_webhook_event.py +27 -0
  19. linq/types/location_sharing_stopped_webhook_event.py +27 -0
  20. linq/types/payment_authorized_webhook_event.py +27 -0
  21. linq/types/payment_canceled_webhook_event.py +27 -0
  22. linq/types/payment_declined_webhook_event.py +27 -0
  23. linq/types/payment_expired_webhook_event.py +27 -0
  24. linq/types/payment_succeeded_webhook_event.py +27 -0
  25. linq/types/phone_number_assigned_webhook_event.py +27 -0
  26. linq/types/phone_number_forwarding_updated_webhook_event.py +333 -0
  27. linq/types/phone_number_released_webhook_event.py +27 -0
  28. linq/types/phone_number_status_updated_webhook_event.py +27 -0
  29. linq/types/team_member_added_webhook_event.py +333 -0
  30. linq/types/team_member_signed_in_webhook_event.py +333 -0
  31. linq/types/team_member_signed_out_webhook_event.py +333 -0
  32. linq/types/unwrap_webhook_event.py +56 -0
  33. linq/types/webhook_event_type.py +27 -0
  34. linq/types/webhook_subscription_created_webhook_event.py +333 -0
  35. linq/types/webhook_subscription_deleted_webhook_event.py +333 -0
  36. linq/types/webhook_subscription_disabled_webhook_event.py +333 -0
  37. linq/types/webhook_subscription_enabled_webhook_event.py +333 -0
  38. linq/types/webhook_subscription_events_updated_webhook_event.py +333 -0
  39. linq/types/webhook_subscription_phone_numbers_updated_webhook_event.py +333 -0
  40. linq/types/webhook_subscription_routing_headers_cleared_webhook_event.py +333 -0
  41. linq/types/webhook_subscription_routing_headers_set_webhook_event.py +333 -0
  42. linq/types/webhook_subscription_target_url_changed_webhook_event.py +333 -0
  43. linq/types/zero_day_retention_updated_webhook_event.py +333 -0
  44. {linq_python-0.58.2.dist-info → linq_python-0.59.0.dist-info}/METADATA +1 -1
  45. {linq_python-0.58.2.dist-info → linq_python-0.59.0.dist-info}/RECORD +47 -20
  46. {linq_python-0.58.2.dist-info → linq_python-0.59.0.dist-info}/WHEEL +0 -0
  47. {linq_python-0.58.2.dist-info → linq_python-0.59.0.dist-info}/licenses/LICENSE +0 -0
linq/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "linq"
4
- __version__ = "0.58.2" # x-release-please-version
4
+ __version__ = "0.59.0" # x-release-please-version
linq/types/__init__.py CHANGED
@@ -106,21 +106,33 @@ from .message_update_app_card_params import MessageUpdateAppCardParams as Messag
106
106
  from .payment_canceled_webhook_event import PaymentCanceledWebhookEvent as PaymentCanceledWebhookEvent
107
107
  from .payment_declined_webhook_event import PaymentDeclinedWebhookEvent as PaymentDeclinedWebhookEvent
108
108
  from .reaction_removed_webhook_event import ReactionRemovedWebhookEvent as ReactionRemovedWebhookEvent
109
+ from .api_token_created_webhook_event import APITokenCreatedWebhookEvent as APITokenCreatedWebhookEvent
110
+ from .api_token_deleted_webhook_event import APITokenDeletedWebhookEvent as APITokenDeletedWebhookEvent
111
+ from .api_token_expired_webhook_event import APITokenExpiredWebhookEvent as APITokenExpiredWebhookEvent
112
+ from .api_token_renamed_webhook_event import APITokenRenamedWebhookEvent as APITokenRenamedWebhookEvent
109
113
  from .message_delivered_webhook_event import MessageDeliveredWebhookEvent as MessageDeliveredWebhookEvent
110
114
  from .participant_added_webhook_event import ParticipantAddedWebhookEvent as ParticipantAddedWebhookEvent
111
115
  from .payment_provider_connect_params import PaymentProviderConnectParams as PaymentProviderConnectParams
112
116
  from .payment_succeeded_webhook_event import PaymentSucceededWebhookEvent as PaymentSucceededWebhookEvent
113
117
  from .poll_vote_removed_webhook_event import PollVoteRemovedWebhookEvent as PollVoteRemovedWebhookEvent
118
+ from .team_member_added_webhook_event import TeamMemberAddedWebhookEvent as TeamMemberAddedWebhookEvent
114
119
  from .available_number_retrieve_params import AvailableNumberRetrieveParams as AvailableNumberRetrieveParams
115
120
  from .connection_created_webhook_event import ConnectionCreatedWebhookEvent as ConnectionCreatedWebhookEvent
116
121
  from .connection_revoked_webhook_event import ConnectionRevokedWebhookEvent as ConnectionRevokedWebhookEvent
117
122
  from .message_update_app_card_response import MessageUpdateAppCardResponse as MessageUpdateAppCardResponse
118
123
  from .payment_authorized_webhook_event import PaymentAuthorizedWebhookEvent as PaymentAuthorizedWebhookEvent
124
+ from .api_token_activated_webhook_event import APITokenActivatedWebhookEvent as APITokenActivatedWebhookEvent
119
125
  from .capability_check_i_message_params import CapabilityCheckIMessageParams as CapabilityCheckIMessageParams
126
+ from .environment_created_webhook_event import EnvironmentCreatedWebhookEvent as EnvironmentCreatedWebhookEvent
127
+ from .environment_deleted_webhook_event import EnvironmentDeletedWebhookEvent as EnvironmentDeletedWebhookEvent
128
+ from .environment_renamed_webhook_event import EnvironmentRenamedWebhookEvent as EnvironmentRenamedWebhookEvent
120
129
  from .participant_removed_webhook_event import ParticipantRemovedWebhookEvent as ParticipantRemovedWebhookEvent
121
130
  from .payment_provider_connect_response import PaymentProviderConnectResponse as PaymentProviderConnectResponse
122
131
  from .poll_reaction_added_webhook_event import PollReactionAddedWebhookEvent as PollReactionAddedWebhookEvent
123
132
  from .available_number_retrieve_response import AvailableNumberRetrieveResponse as AvailableNumberRetrieveResponse
133
+ from .contact_card_created_webhook_event import ContactCardCreatedWebhookEvent as ContactCardCreatedWebhookEvent
134
+ from .contact_card_deleted_webhook_event import ContactCardDeletedWebhookEvent as ContactCardDeletedWebhookEvent
135
+ from .contact_card_updated_webhook_event import ContactCardUpdatedWebhookEvent as ContactCardUpdatedWebhookEvent
124
136
  from .webhook_subscription_create_params import WebhookSubscriptionCreateParams as WebhookSubscriptionCreateParams
125
137
  from .webhook_subscription_list_response import WebhookSubscriptionListResponse as WebhookSubscriptionListResponse
126
138
  from .webhook_subscription_update_params import WebhookSubscriptionUpdateParams as WebhookSubscriptionUpdateParams
@@ -128,6 +140,9 @@ from .contact_card_received_webhook_event import ContactCardReceivedWebhookEvent
128
140
  from .message_list_messages_thread_params import MessageListMessagesThreadParams as MessageListMessagesThreadParams
129
141
  from .phone_number_assigned_webhook_event import PhoneNumberAssignedWebhookEvent as PhoneNumberAssignedWebhookEvent
130
142
  from .phone_number_released_webhook_event import PhoneNumberReleasedWebhookEvent as PhoneNumberReleasedWebhookEvent
143
+ from .team_member_signed_in_webhook_event import TeamMemberSignedInWebhookEvent as TeamMemberSignedInWebhookEvent
144
+ from .environment_line_moved_webhook_event import EnvironmentLineMovedWebhookEvent as EnvironmentLineMovedWebhookEvent
145
+ from .team_member_signed_out_webhook_event import TeamMemberSignedOutWebhookEvent as TeamMemberSignedOutWebhookEvent
131
146
  from .webhook_subscription_create_response import WebhookSubscriptionCreateResponse as WebhookSubscriptionCreateResponse
132
147
  from .chat_background_updated_webhook_event import (
133
148
  ChatBackgroundUpdatedWebhookEvent as ChatBackgroundUpdatedWebhookEvent,
@@ -143,12 +158,27 @@ from .location_sharing_stopped_webhook_event import (
143
158
  from .message_update_sticker_placement_params import (
144
159
  MessageUpdateStickerPlacementParams as MessageUpdateStickerPlacementParams,
145
160
  )
161
+ from .api_token_expiry_scheduled_webhook_event import (
162
+ APITokenExpiryScheduledWebhookEvent as APITokenExpiryScheduledWebhookEvent,
163
+ )
164
+ from .zero_day_retention_updated_webhook_event import (
165
+ ZeroDayRetentionUpdatedWebhookEvent as ZeroDayRetentionUpdatedWebhookEvent,
166
+ )
146
167
  from .message_update_sticker_placement_response import (
147
168
  MessageUpdateStickerPlacementResponse as MessageUpdateStickerPlacementResponse,
148
169
  )
149
170
  from .phone_number_status_updated_webhook_event import (
150
171
  PhoneNumberStatusUpdatedWebhookEvent as PhoneNumberStatusUpdatedWebhookEvent,
151
172
  )
173
+ from .webhook_subscription_created_webhook_event import (
174
+ WebhookSubscriptionCreatedWebhookEvent as WebhookSubscriptionCreatedWebhookEvent,
175
+ )
176
+ from .webhook_subscription_deleted_webhook_event import (
177
+ WebhookSubscriptionDeletedWebhookEvent as WebhookSubscriptionDeletedWebhookEvent,
178
+ )
179
+ from .webhook_subscription_enabled_webhook_event import (
180
+ WebhookSubscriptionEnabledWebhookEvent as WebhookSubscriptionEnabledWebhookEvent,
181
+ )
152
182
  from .chat_background_update_failed_webhook_event import (
153
183
  ChatBackgroundUpdateFailedWebhookEvent as ChatBackgroundUpdateFailedWebhookEvent,
154
184
  )
@@ -164,3 +194,24 @@ from .chat_typing_indicator_started_webhook_event import (
164
194
  from .chat_typing_indicator_stopped_webhook_event import (
165
195
  ChatTypingIndicatorStoppedWebhookEvent as ChatTypingIndicatorStoppedWebhookEvent,
166
196
  )
197
+ from .webhook_subscription_disabled_webhook_event import (
198
+ WebhookSubscriptionDisabledWebhookEvent as WebhookSubscriptionDisabledWebhookEvent,
199
+ )
200
+ from .phone_number_forwarding_updated_webhook_event import (
201
+ PhoneNumberForwardingUpdatedWebhookEvent as PhoneNumberForwardingUpdatedWebhookEvent,
202
+ )
203
+ from .webhook_subscription_events_updated_webhook_event import (
204
+ WebhookSubscriptionEventsUpdatedWebhookEvent as WebhookSubscriptionEventsUpdatedWebhookEvent,
205
+ )
206
+ from .webhook_subscription_target_url_changed_webhook_event import (
207
+ WebhookSubscriptionTargetURLChangedWebhookEvent as WebhookSubscriptionTargetURLChangedWebhookEvent,
208
+ )
209
+ from .webhook_subscription_routing_headers_set_webhook_event import (
210
+ WebhookSubscriptionRoutingHeadersSetWebhookEvent as WebhookSubscriptionRoutingHeadersSetWebhookEvent,
211
+ )
212
+ from .webhook_subscription_phone_numbers_updated_webhook_event import (
213
+ WebhookSubscriptionPhoneNumbersUpdatedWebhookEvent as WebhookSubscriptionPhoneNumbersUpdatedWebhookEvent,
214
+ )
215
+ from .webhook_subscription_routing_headers_cleared_webhook_event import (
216
+ WebhookSubscriptionRoutingHeadersClearedWebhookEvent as WebhookSubscriptionRoutingHeadersClearedWebhookEvent,
217
+ )
@@ -0,0 +1,333 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = [
12
+ "APITokenActivatedWebhookEvent",
13
+ "Data",
14
+ "DataActor",
15
+ "DataAPIToken",
16
+ "DataChange",
17
+ "DataChangeName",
18
+ "DataContactCard",
19
+ "DataEnvironment",
20
+ "DataTeamMember",
21
+ "DataWebhookSubscription",
22
+ ]
23
+
24
+
25
+ class DataActor(BaseModel):
26
+ """Who made the change.
27
+
28
+ `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.
29
+ """
30
+
31
+ type: Literal["team_member", "api", "system", "unknown"]
32
+
33
+ id: Optional[str] = None
34
+ """Team member's user ID. Only for `team_member`."""
35
+
36
+ email: Optional[str] = None
37
+ """Team member's email. Only for `team_member`."""
38
+
39
+ name: Optional[str] = None
40
+ """Team member's name. Only for `team_member`."""
41
+
42
+
43
+ class DataAPIToken(BaseModel):
44
+ """The API token that changed."""
45
+
46
+ id: str
47
+
48
+ expires_at: Optional[datetime] = None
49
+ """When the token expires.
50
+
51
+ On `api_token.created`, `api_token.expired` and `api_token.deleted`; absent if
52
+ it never expires.
53
+ """
54
+
55
+ name: Optional[str] = None
56
+ """Absent when the token has no name."""
57
+
58
+ token_prefix: Optional[str] = None
59
+ """The token's visible prefix. On `api_token.created` and `api_token.deleted`."""
60
+
61
+
62
+ class DataChangeName(BaseModel):
63
+ """A contact card name change.
64
+
65
+ Only on `contact_card.updated`, when the name changed.
66
+ """
67
+
68
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
69
+ """The name before the change; null when the card had no name."""
70
+
71
+ to: Optional[str] = None
72
+ """The name after the change; null when it was removed."""
73
+
74
+
75
+ class DataChange(BaseModel):
76
+ """
77
+ The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `name` instead of `from` and `to`.
78
+ """
79
+
80
+ from_: Optional[object] = FieldInfo(alias="from", default=None)
81
+ """The value before the change; null when there was none."""
82
+
83
+ name: Optional[DataChangeName] = None
84
+ """A contact card name change.
85
+
86
+ Only on `contact_card.updated`, when the name changed.
87
+ """
88
+
89
+ to: Optional[object] = None
90
+ """The value after the change; null when it was cleared."""
91
+
92
+
93
+ class DataContactCard(BaseModel):
94
+ """The contact card that changed."""
95
+
96
+ id: str
97
+
98
+ name: Optional[str] = None
99
+ """Display name. Absent when the card has no name."""
100
+
101
+ photo_updated: Optional[bool] = None
102
+ """True when the photo changed. Only on `contact_card.updated`."""
103
+
104
+
105
+ class DataEnvironment(BaseModel):
106
+ """An environment.
107
+
108
+ Production is `{"id": null, "name": "Production", "type": "production"}`; every other environment has an `id` and type `environment`.
109
+ """
110
+
111
+ id: Optional[str] = None
112
+ """Null for Production."""
113
+
114
+ type: Literal["production", "environment"]
115
+
116
+ name: Optional[str] = None
117
+
118
+
119
+ class DataTeamMember(BaseModel):
120
+ """The team member the event is about."""
121
+
122
+ id: str
123
+ """The team member's user ID."""
124
+
125
+ name: Optional[str] = None
126
+ """Absent when the member has no name."""
127
+
128
+ role: Optional[Literal["admin", "manager", "member"]] = None
129
+ """Role the member joined with. Only on `team_member.added`."""
130
+
131
+
132
+ class DataWebhookSubscription(BaseModel):
133
+ """The webhook subscription that changed."""
134
+
135
+ id: str
136
+
137
+ events: Optional[List[str]] = None
138
+ """Event types it listens for. Only on `webhook_subscription.created`."""
139
+
140
+ target_url: Optional[str] = None
141
+ """Sent without credentials, query string or fragment."""
142
+
143
+
144
+ class Data(BaseModel):
145
+ """A change on your account, the same change shown on your Activity page.
146
+
147
+ Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change` and as Production's environment `id`.
148
+ """
149
+
150
+ actor: DataActor
151
+ """Who made the change.
152
+
153
+ `team_member` carries the member's id, name and email; other types carry no
154
+ identity. `system` is a change made by Linq, matching "System" on your Activity
155
+ page. `unknown` means the actor could not be identified.
156
+ """
157
+
158
+ occurred_at: datetime
159
+ """When the change happened."""
160
+
161
+ origin: Literal["dashboard", "api", "linq"]
162
+ """Where the change was made."""
163
+
164
+ summary: str
165
+ """Human-readable label, identical to the Activity page.
166
+
167
+ For display only; the wording may change without a new webhook version.
168
+ """
169
+
170
+ api_token: Optional[DataAPIToken] = None
171
+ """The API token that changed."""
172
+
173
+ change: Optional[DataChange] = None
174
+ """
175
+ The transition an update event describes: `from` is the value before and `to`
176
+ the value after. Present only on update events (`*.updated`, `*.renamed`,
177
+ `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`,
178
+ `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled,
179
+ expired and activated events never carry it. `null` means none: `to: null` means
180
+ cleared and `from: null` means first set. The value type depends on the event
181
+ and is given in each event's description. `contact_card.updated` uses `name`
182
+ instead of `from` and `to`.
183
+ """
184
+
185
+ contact_card: Optional[DataContactCard] = None
186
+ """The contact card that changed."""
187
+
188
+ environment: Optional[DataEnvironment] = None
189
+ """An environment.
190
+
191
+ Production is `{"id": null, "name": "Production", "type": "production"}`; every
192
+ other environment has an `id` and type `environment`.
193
+ """
194
+
195
+ lines_moved_to_production: Optional[int] = None
196
+ """Lines moved to Production when an environment was deleted."""
197
+
198
+ method: Optional[Literal["code", "sso", "google", "apple", "linkedin"]] = None
199
+ """How the team member signed in.
200
+
201
+ `code` is a one-time code sent by email or text. Only on
202
+ `team_member.signed_in`.
203
+ """
204
+
205
+ phone_number: Optional[str] = None
206
+ """The line the change is about, in E.164 format."""
207
+
208
+ team_member: Optional[DataTeamMember] = None
209
+ """The team member the event is about."""
210
+
211
+ tokens_revoked: Optional[int] = None
212
+ """API tokens revoked when an environment was deleted."""
213
+
214
+ webhook_subscription: Optional[DataWebhookSubscription] = None
215
+ """The webhook subscription that changed."""
216
+
217
+
218
+ class APITokenActivatedWebhookEvent(BaseModel):
219
+ """Webhook payload for account events.
220
+
221
+ One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.
222
+ """
223
+
224
+ api_version: str
225
+ """API version for the webhook payload format"""
226
+
227
+ created_at: datetime
228
+ """When the event was created"""
229
+
230
+ data: Data
231
+ """A change on your account, the same change shown on your Activity page.
232
+
233
+ Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object
234
+ fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`,
235
+ `phone_number`, `team_member`) identify what changed; on update events `change`
236
+ describes the transition. Created and deleted events carry only the object that
237
+ was created or deleted. Fields are absent when they don't apply; `null` appears
238
+ only inside `change` and as Production's environment `id`.
239
+ """
240
+
241
+ event_id: str
242
+ """Unique identifier for this event (for deduplication)"""
243
+
244
+ event_type: Literal[
245
+ "zero_day_retention.updated",
246
+ "phone_number.forwarding_updated",
247
+ "environment.line_moved",
248
+ "contact_card.created",
249
+ "contact_card.updated",
250
+ "contact_card.deleted",
251
+ "api_token.created",
252
+ "api_token.renamed",
253
+ "api_token.expiry_scheduled",
254
+ "api_token.expired",
255
+ "api_token.activated",
256
+ "api_token.deleted",
257
+ "environment.created",
258
+ "environment.renamed",
259
+ "environment.deleted",
260
+ "webhook_subscription.created",
261
+ "webhook_subscription.deleted",
262
+ "webhook_subscription.target_url_changed",
263
+ "webhook_subscription.enabled",
264
+ "webhook_subscription.disabled",
265
+ "webhook_subscription.events.updated",
266
+ "webhook_subscription.phone_numbers.updated",
267
+ "webhook_subscription.routing_headers_set",
268
+ "webhook_subscription.routing_headers_cleared",
269
+ "team_member.added",
270
+ "team_member.signed_in",
271
+ "team_member.signed_out",
272
+ "message.sent",
273
+ "message.received",
274
+ "message.read",
275
+ "message.delivered",
276
+ "message.failed",
277
+ "message.edited",
278
+ "reaction.added",
279
+ "reaction.removed",
280
+ "poll.received",
281
+ "poll.failed",
282
+ "poll.sent",
283
+ "poll.delivered",
284
+ "poll.read",
285
+ "poll.updated",
286
+ "poll.vote.added",
287
+ "poll.vote.removed",
288
+ "poll.reaction.added",
289
+ "participant.added",
290
+ "participant.removed",
291
+ "chat.created",
292
+ "chat.group_name_updated",
293
+ "chat.group_icon_updated",
294
+ "chat.group_name_update_failed",
295
+ "chat.group_icon_update_failed",
296
+ "chat.background_updated",
297
+ "chat.background_update_failed",
298
+ "chat.typing_indicator.started",
299
+ "chat.typing_indicator.stopped",
300
+ "phone_number.status_updated",
301
+ "phone_number.assigned",
302
+ "phone_number.released",
303
+ "contact_card.received",
304
+ "call.initiated",
305
+ "call.ringing",
306
+ "call.answered",
307
+ "call.ended",
308
+ "call.failed",
309
+ "call.declined",
310
+ "call.no_answer",
311
+ "location.sharing.started",
312
+ "location.sharing.stopped",
313
+ "payment.succeeded",
314
+ "payment.canceled",
315
+ "payment.expired",
316
+ "payment.declined",
317
+ "payment.authorized",
318
+ "connection.created",
319
+ "connection.revoked",
320
+ ]
321
+
322
+ partner_id: str
323
+ """Partner identifier. Present on all webhooks for cross-referencing."""
324
+
325
+ trace_id: str
326
+ """Trace ID for debugging and correlation across systems."""
327
+
328
+ webhook_version: str
329
+ """
330
+ Date-based webhook payload version. Determined by the `?version=` query
331
+ parameter in your webhook subscription URL. If no version parameter is
332
+ specified, defaults based on subscription creation date.
333
+ """