@lessly/sdk-app 30.5.0 → 30.6.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.
Files changed (61) hide show
  1. package/dist/analytics/index.d.cts +1 -1
  2. package/dist/analytics/index.d.ts +1 -1
  3. package/dist/brain/index.cjs +0 -5
  4. package/dist/brain/index.cjs.map +1 -1
  5. package/dist/brain/index.d.cts +2 -6
  6. package/dist/brain/index.d.ts +2 -6
  7. package/dist/brain/index.js +1 -5
  8. package/dist/brain/index.js.map +1 -1
  9. package/dist/{client.gen-TuN8pGec.d.cts → client.gen-DK6VpzBG.d.cts} +657 -122
  10. package/dist/{client.gen-TuN8pGec.d.ts → client.gen-DK6VpzBG.d.ts} +657 -122
  11. package/dist/consent/index.d.cts +1 -1
  12. package/dist/consent/index.d.ts +1 -1
  13. package/dist/deployment/index.d.cts +1 -1
  14. package/dist/deployment/index.d.ts +1 -1
  15. package/dist/index.cjs +248 -36
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +1 -1
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.js +248 -36
  20. package/dist/index.js.map +1 -1
  21. package/dist/mail/index.d.cts +2 -2
  22. package/dist/mail/index.d.ts +2 -2
  23. package/dist/organization/index.cjs +0 -5
  24. package/dist/organization/index.cjs.map +1 -1
  25. package/dist/organization/index.d.cts +2 -6
  26. package/dist/organization/index.d.ts +2 -6
  27. package/dist/organization/index.js +1 -5
  28. package/dist/organization/index.js.map +1 -1
  29. package/dist/playground/index.cjs +66 -0
  30. package/dist/playground/index.cjs.map +1 -0
  31. package/dist/playground/index.d.cts +52 -0
  32. package/dist/playground/index.d.ts +52 -0
  33. package/dist/playground/index.js +53 -0
  34. package/dist/playground/index.js.map +1 -0
  35. package/dist/realtime/index.d.cts +1 -1
  36. package/dist/realtime/index.d.ts +1 -1
  37. package/dist/support/index.cjs +40 -0
  38. package/dist/support/index.cjs.map +1 -1
  39. package/dist/support/index.d.cts +34 -2
  40. package/dist/support/index.d.ts +34 -2
  41. package/dist/support/index.js +33 -1
  42. package/dist/support/index.js.map +1 -1
  43. package/dist/tracking/index.d.cts +1 -1
  44. package/dist/tracking/index.d.ts +1 -1
  45. package/dist/users/index.d.cts +1 -1
  46. package/dist/users/index.d.ts +1 -1
  47. package/dist/waitlist/index.d.cts +1 -1
  48. package/dist/waitlist/index.d.ts +1 -1
  49. package/package.json +7 -2
  50. package/src/gen/bindings.gen.ts +248 -36
  51. package/src/gen/brain/index.ts +1 -1
  52. package/src/gen/brain/queryOptions.gen.ts +0 -7
  53. package/src/gen/client.gen.ts +82 -8
  54. package/src/gen/manifest.gen.ts +1 -1
  55. package/src/gen/organization/index.ts +1 -1
  56. package/src/gen/organization/queryOptions.gen.ts +0 -6
  57. package/src/gen/playground/index.ts +3 -0
  58. package/src/gen/playground/queryOptions.gen.ts +86 -0
  59. package/src/gen/support/index.ts +1 -1
  60. package/src/gen/support/queryOptions.gen.ts +51 -0
  61. package/src/gen/types.gen.ts +663 -121
@@ -1028,98 +1028,6 @@ snapshotId: string
1028
1028
  preRestoreSnapshotId: (string | null)
1029
1029
  } | null)
1030
1030
 
1031
- export interface BrainUsageReportInput {
1032
- /**
1033
- * How many UTC days of this product's ledger to return, ending today (default 30, max 90)
1034
- */
1035
- days?: number
1036
- }
1037
-
1038
- export interface BrainUsageReportOutput {
1039
- note: string
1040
- /**
1041
- * Brain's own ledger, for THIS product only
1042
- */
1043
- product: {
1044
- /**
1045
- * Inclusive UTC end of the window (today), YYYY-MM-DD
1046
- */
1047
- to: string
1048
- /**
1049
- * The window actually used, after clamping
1050
- */
1051
- days: number
1052
- /**
1053
- * Inclusive UTC start of the window, YYYY-MM-DD
1054
- */
1055
- from: string
1056
- rows: {
1057
- /**
1058
- * 'sync' | 'batch'; '' when the push carried none
1059
- */
1060
- mode: string
1061
- /**
1062
- * Manifest meter slug, e.g. llm-tokens
1063
- */
1064
- meter: string
1065
- /**
1066
- * Model dimension; '' when the push carried none
1067
- */
1068
- model: string
1069
- /**
1070
- * How many record() calls landed in this slice
1071
- */
1072
- events: number
1073
- /**
1074
- * Tokens we metered for this slice, delivered or not
1075
- */
1076
- tokens: number
1077
- /**
1078
- * Purpose dimension; '' when the push carried none
1079
- */
1080
- purpose: string
1081
- /**
1082
- * UTC calendar day, YYYY-MM-DD
1083
- */
1084
- usage_date: string
1085
- /**
1086
- * Of those events, how many billing did not accept
1087
- */
1088
- delivery_failed: number
1089
- }[]
1090
- /**
1091
- * The rows rolled up per meter across the whole window
1092
- */
1093
- totals: {
1094
- meter: string
1095
- events: number
1096
- tokens: number
1097
- delivery_failed: number
1098
- }[]
1099
- product_id: string
1100
- }
1101
- /**
1102
- * The platform billing aggregate for the whole ORG; null if it could not be read
1103
- */
1104
- platform: ({
1105
- plan: string
1106
- scope: "org"
1107
- meters: {
1108
- unit?: string
1109
- used?: number
1110
- limit?: (number | null)
1111
- remaining?: (number | null)
1112
- unlimited?: boolean
1113
- meter_slug: string
1114
- }[]
1115
- org_id: string
1116
- } | null)
1117
- /**
1118
- * Why the platform aggregate is null; null when it was read successfully
1119
- */
1120
- platform_error: (string | null)
1121
- }
1122
-
1123
1031
  export interface ConsentConfigCookieDomainUpsertInput {
1124
1032
  cookieDomain: ("" | null | string)
1125
1033
  }
@@ -12793,7 +12701,6 @@ provider: string
12793
12701
  externalId: string
12794
12702
  displayName: string
12795
12703
  requestStatus: (("pending" | "denied") | null)
12796
- organizationId: string
12797
12704
  }[]
12798
12705
 
12799
12706
  export interface OrganizationConnectorsListOrgInput {
@@ -12889,12 +12796,6 @@ domain: string
12889
12796
  createdAt: string
12890
12797
  createdBy: string
12891
12798
  productId: string
12892
- managedDns: ({
12893
- tool: "organization_domains_set-mode"
12894
- provider: "cloudflare"
12895
- available: true
12896
- providerConnectorId: string
12897
- } | null)
12898
12799
  providerConnectorId: (string | null)
12899
12800
  }
12900
12801
 
@@ -12939,23 +12840,6 @@ export interface OrganizationDomainsRemoveOutput {
12939
12840
  [k: string]: unknown
12940
12841
  }
12941
12842
 
12942
- export interface OrganizationDomainsSetModeInput {
12943
- mode: ("managed" | "external")
12944
- domainId: string
12945
- productId: string
12946
- providerConnectorId?: string
12947
- }
12948
-
12949
- export interface OrganizationDomainsSetModeOutput {
12950
- id: string
12951
- mode: ("external" | "managed")
12952
- domain: string
12953
- createdAt: string
12954
- createdBy: string
12955
- productId: string
12956
- providerConnectorId: (string | null)
12957
- }
12958
-
12959
12843
  export interface OrganizationExtensionsListInstalledInput {
12960
12844
  productId: string
12961
12845
  }
@@ -13005,7 +12889,6 @@ connectors: {
13005
12889
  id: string
13006
12890
  externalId: string
13007
12891
  displayName: string
13008
- organizationId: string
13009
12892
  attachedToThisProduct: boolean
13010
12893
  }[]
13011
12894
  }
@@ -13040,7 +12923,6 @@ name: string
13040
12923
  role: ("owner" | "admin" | "member")
13041
12924
  active: boolean
13042
12925
  blockedAt: (string | null)
13043
- blockReason: (("no_subscription" | "under_review") | null)
13044
12926
  }[]
13045
12927
  }
13046
12928
 
@@ -13634,6 +13516,226 @@ name: string
13634
13516
  activeProductId: (string | null)
13635
13517
  }
13636
13518
 
13519
+ export interface PlaygroundAnalyticsOverviewInput {
13520
+ /**
13521
+ * Max records per entity in recent[]; omit for the endpoint default
13522
+ */
13523
+ limit?: number
13524
+ }
13525
+
13526
+ export interface PlaygroundAnalyticsOverviewOutput {
13527
+ ok: boolean
13528
+ minted: boolean
13529
+ overview?: unknown
13530
+ http_status: number
13531
+ }
13532
+
13533
+ export interface PlaygroundBillingEntitlementsInput {
13534
+
13535
+ }
13536
+
13537
+ export interface PlaygroundBillingEntitlementsOutput {
13538
+ ok: boolean
13539
+ minted: boolean
13540
+ http_status: number
13541
+ entitlements?: unknown
13542
+ }
13543
+
13544
+ export interface PlaygroundBillingRecordUsageInput {
13545
+ /**
13546
+ * Quantity of events to record against playground-events (SUM); defaults to 1
13547
+ */
13548
+ value?: number
13549
+ }
13550
+
13551
+ export interface PlaygroundBillingRecordUsageOutput {
13552
+ minted: boolean
13553
+ accepted: (number | null)
13554
+ recorded: boolean
13555
+ duplicates: (number | null)
13556
+ http_status: number
13557
+ }
13558
+
13559
+ export interface PlaygroundClickupCreateTaskInput {
13560
+ /**
13561
+ * Task title; defaults to a fixture label
13562
+ */
13563
+ name?: string
13564
+ /**
13565
+ * ClickUp list id; falls back to CLICKUP_TEST_LIST_ID
13566
+ */
13567
+ listId?: string
13568
+ }
13569
+
13570
+ export interface PlaygroundClickupCreateTaskOutput {
13571
+ minted: boolean
13572
+ task_id: (string | null)
13573
+ list_status: number
13574
+ vend_status: number
13575
+ clickup_status: number
13576
+ installation_count: number
13577
+ }
13578
+
13579
+ export interface PlaygroundClickupGetLastWebhookInput {
13580
+
13581
+ }
13582
+
13583
+ export type PlaygroundClickupGetLastWebhookOutput = ({
13584
+ payload: string
13585
+ event_id: string
13586
+ provider: string
13587
+ verified: boolean
13588
+ product_id: string
13589
+ occurred_at: string
13590
+ connector_id: string
13591
+ clickup_event: (string | null)
13592
+ receipt_count: number
13593
+ } | {
13594
+ found: false
13595
+ })
13596
+
13597
+ export interface PlaygroundClickupGetOverviewInput {
13598
+
13599
+ }
13600
+
13601
+ export interface PlaygroundClickupGetOverviewOutput {
13602
+ team: ({
13603
+ teamId: string
13604
+ teamName: string
13605
+ } | null)
13606
+ lists: PlaygroundClickupGetOverviewOutputItems[]
13607
+ tasks: {
13608
+ id: string
13609
+ name: string
13610
+ status: (string | null)
13611
+ }[]
13612
+ minted: boolean
13613
+ spaces: PlaygroundClickupGetOverviewOutputItems[]
13614
+ list_status: number
13615
+ vend_status: number
13616
+ lists_status: number
13617
+ tasks_status: number
13618
+ spaces_status: number
13619
+ folders_status: number
13620
+ installation_count: number
13621
+ }
13622
+ export interface PlaygroundClickupGetOverviewOutputItems {
13623
+ id: string
13624
+ name: string
13625
+ }
13626
+
13627
+ export interface PlaygroundGdriveGetLastChangeInput {
13628
+
13629
+ }
13630
+
13631
+ export type PlaygroundGdriveGetLastChangeOutput = ({
13632
+ file_id: string
13633
+ removed: boolean
13634
+ file_name: (string | null)
13635
+ mime_type: (string | null)
13636
+ product_id: string
13637
+ occurred_at: string
13638
+ connector_id: string
13639
+ resource_state: string
13640
+ } | {
13641
+ found: false
13642
+ })
13643
+
13644
+ export interface PlaygroundGdriveReadFileInput {
13645
+ /**
13646
+ * Drive file id; falls back to GDRIVE_TEST_FILE_ID, then the first picked file
13647
+ */
13648
+ fileId?: string
13649
+ }
13650
+
13651
+ export interface PlaygroundGdriveReadFileOutput {
13652
+ minted: boolean
13653
+ file_id: (string | null)
13654
+ file_name: (string | null)
13655
+ mime_type: (string | null)
13656
+ file_count: number
13657
+ get_status: number
13658
+ list_status: number
13659
+ vend_status: number
13660
+ content_bytes: (number | null)
13661
+ }
13662
+
13663
+ export interface PlaygroundGoogleadsReadCustomerInput {
13664
+
13665
+ }
13666
+
13667
+ export interface PlaygroundGoogleadsReadCustomerOutput {
13668
+ minted: boolean
13669
+ vended: boolean
13670
+ customer_id: (string | null)
13671
+ vend_status: number
13672
+ result_count: number
13673
+ search_status: number
13674
+ login_customer_id: (string | null)
13675
+ }
13676
+
13677
+ export interface PlaygroundLifecycleGetStateInput {
13678
+
13679
+ }
13680
+
13681
+ export interface PlaygroundLifecycleGetStateOutput {
13682
+ blocked: boolean
13683
+ archived: boolean
13684
+ productId: string
13685
+ lastBlockTransition: ({
13686
+ eventId: string
13687
+ eventName: string
13688
+ productId: string
13689
+ occurredAt: string
13690
+ recordedAt: string
13691
+ receiptCount: number
13692
+ organizationId: string
13693
+ cascadedFromOrg: boolean
13694
+ } | null)
13695
+ lastArchiveTransition: ({
13696
+ eventId: string
13697
+ eventName: string
13698
+ productId: string
13699
+ occurredAt: string
13700
+ recordedAt: string
13701
+ receiptCount: number
13702
+ organizationId: string
13703
+ cascadedFromOrg: boolean
13704
+ } | null)
13705
+ }
13706
+
13707
+ export interface PlaygroundLifecycleListEventsInput {
13708
+
13709
+ }
13710
+
13711
+ export type PlaygroundLifecycleListEventsOutput = {
13712
+ eventId: string
13713
+ eventName: string
13714
+ productId: string
13715
+ occurredAt: string
13716
+ recordedAt: string
13717
+ receiptCount: number
13718
+ organizationId: string
13719
+ cascadedFromOrg: boolean
13720
+ }[]
13721
+
13722
+ export interface PlaygroundWebhookGetLastInput {
13723
+
13724
+ }
13725
+
13726
+ export type PlaygroundWebhookGetLastOutput = ({
13727
+ payload?: unknown
13728
+ event_id: string
13729
+ provider: string
13730
+ verified: boolean
13731
+ product_id: string
13732
+ occurred_at: string
13733
+ connector_id: string
13734
+ delivery_count: number
13735
+ } | {
13736
+ found: false
13737
+ })
13738
+
13637
13739
  export interface RealtimeArchiveExportInput {
13638
13740
  /**
13639
13741
  * Only entries with ts <= to_ts (epoch ms)
@@ -15037,13 +15139,21 @@ export interface SupportMessageListInput {
15037
15139
  */
15038
15140
  limit?: number
15039
15141
  /**
15040
- * Number of messages to skip
15142
+ * ISO-8601 timestamp. Only messages created strictly after it — pass the createdAt of the last message you already have
15143
+ */
15144
+ since?: string
15145
+ /**
15146
+ * Opaque position from a previous nextCursor. Resumes exactly where that page ended, with no gap and no repeat even when messages share a timestamp. Never construct one, and do not combine it with offset
15147
+ */
15148
+ cursor?: string
15149
+ /**
15150
+ * Number of messages to skip. The older pagination, kept for callers that already use it; prefer cursor, which cannot drift as messages arrive
15041
15151
  */
15042
15152
  offset?: number
15043
15153
  /**
15044
- * Thread whose messages to list. Messages exist only inside a thread
15154
+ * Thread whose messages to list. Omit to list the messages of every thread of this product — the catch-up read
15045
15155
  */
15046
- threadId: string
15156
+ threadId?: string
15047
15157
  /**
15048
15158
  * Only messages in this direction
15049
15159
  */
@@ -15129,6 +15239,10 @@ authorAgentId: (string | null)
15129
15239
  */
15130
15240
  authorExternalId: (string | null)
15131
15241
  }[]
15242
+ /**
15243
+ * Position to resume from: pass it back as cursor for the next page. Null when this page is the last one
15244
+ */
15245
+ nextCursor: (string | null)
15132
15246
  }
15133
15247
 
15134
15248
  export interface SupportStatusArchiveInput {
@@ -16069,6 +16183,434 @@ assignedAgentId: (string | null)
16069
16183
  authorExternalId: string
16070
16184
  }
16071
16185
 
16186
+ export interface SupportWebhookCreateInput {
16187
+ /**
16188
+ * HTTPS endpoint the event is POSTed to. Plain http:// is rejected
16189
+ */
16190
+ url: string
16191
+ /**
16192
+ * Event types this endpoint subscribes to. One or more of support.message.created, support.thread.status-changed, support.thread.assigned
16193
+ *
16194
+ * @minItems 1
16195
+ */
16196
+ eventTypes: [("support.message.created" | "support.thread.status-changed" | "support.thread.assigned"), ...(("support.message.created" | "support.thread.status-changed" | "support.thread.assigned"))[]]
16197
+ /**
16198
+ * Free-form note about what this endpoint is for, up to 1000 characters
16199
+ */
16200
+ description?: string
16201
+ }
16202
+
16203
+ export interface SupportWebhookCreateOutput {
16204
+ /**
16205
+ * Webhook id
16206
+ */
16207
+ id: string
16208
+ /**
16209
+ * HTTPS endpoint events are POSTed to
16210
+ */
16211
+ url: string
16212
+ /**
16213
+ * The signing secret in clear. Shown exactly once, here — store it now; it cannot be read back and can only be replaced by rotating it
16214
+ */
16215
+ secret: string
16216
+ /**
16217
+ * active or disabled
16218
+ */
16219
+ status: ("active" | "disabled")
16220
+ /**
16221
+ * ISO-8601 creation timestamp
16222
+ */
16223
+ createdAt: string
16224
+ /**
16225
+ * ISO-8601 last-update timestamp
16226
+ */
16227
+ updatedAt: string
16228
+ /**
16229
+ * Event types this endpoint subscribes to
16230
+ */
16231
+ eventTypes: string[]
16232
+ /**
16233
+ * Free-form note, or null
16234
+ */
16235
+ description: (string | null)
16236
+ /**
16237
+ * First characters of the signing secret, to tell endpoints apart. Never the whole secret
16238
+ */
16239
+ secretPrefix: string
16240
+ }
16241
+
16242
+ export interface SupportWebhookDeleteInput {
16243
+ /**
16244
+ * Webhook id
16245
+ */
16246
+ id: string
16247
+ }
16248
+
16249
+ export interface SupportWebhookDeleteOutput {
16250
+ /**
16251
+ * Id of the endpoint that was removed
16252
+ */
16253
+ id: string
16254
+ /**
16255
+ * Always true — the endpoint is gone
16256
+ */
16257
+ deleted: true
16258
+ }
16259
+
16260
+ export interface SupportWebhookDeliveriesListInput {
16261
+ /**
16262
+ * Page size, 1..200 (default 50)
16263
+ */
16264
+ limit?: number
16265
+ /**
16266
+ * Only deliveries in this state: pending, delivered or failed
16267
+ */
16268
+ state?: ("pending" | "delivered" | "failed")
16269
+ /**
16270
+ * Number of deliveries to skip
16271
+ */
16272
+ offset?: number
16273
+ /**
16274
+ * Only deliveries opened at or before this ISO-8601 time
16275
+ */
16276
+ createdTo?: string
16277
+ /**
16278
+ * Only deliveries of this event type
16279
+ */
16280
+ eventType?: ("support.message.created" | "support.thread.status-changed" | "support.thread.assigned")
16281
+ /**
16282
+ * Only deliveries for this endpoint
16283
+ */
16284
+ webhookId?: string
16285
+ /**
16286
+ * Only deliveries opened at or after this ISO-8601 time
16287
+ */
16288
+ createdFrom?: string
16289
+ }
16290
+
16291
+ export interface SupportWebhookDeliveriesListOutput {
16292
+ /**
16293
+ * Page size that was applied
16294
+ */
16295
+ limit: number
16296
+ /**
16297
+ * Offset that was applied
16298
+ */
16299
+ offset: number
16300
+ /**
16301
+ * The requested page, newest first
16302
+ */
16303
+ deliveries: {
16304
+ /**
16305
+ * Delivery id — the value in the X-Support-Delivery-Id header
16306
+ */
16307
+ id: string
16308
+ /**
16309
+ * Why the last attempt failed, or null. Never carries the signing key
16310
+ */
16311
+ error: (string | null)
16312
+ /**
16313
+ * pending while attempts remain, delivered once the endpoint answered 2xx, failed when every attempt was used up
16314
+ */
16315
+ state: ("pending" | "delivered" | "failed")
16316
+ /**
16317
+ * How many attempts have been made, 0 before the first
16318
+ */
16319
+ attempt: number
16320
+ /**
16321
+ * The JSON body that was sent. Identifiers and metadata only — never message text
16322
+ */
16323
+ payload: {
16324
+ [k: string]: unknown
16325
+ }
16326
+ /**
16327
+ * ISO-8601 time the delivery was opened
16328
+ */
16329
+ createdAt: string
16330
+ /**
16331
+ * Event type that was delivered
16332
+ */
16333
+ eventType: string
16334
+ /**
16335
+ * The endpoint this delivery was for
16336
+ */
16337
+ webhookId: string
16338
+ /**
16339
+ * ISO-8601 time of the successful attempt, or null
16340
+ */
16341
+ deliveredAt: (string | null)
16342
+ /**
16343
+ * ISO-8601 time the next attempt is due, or null when there is none
16344
+ */
16345
+ nextRetryAt: (string | null)
16346
+ /**
16347
+ * The key the receiver deduplicates on. A redelivery of this event carries the same value
16348
+ */
16349
+ idempotencyKey: string
16350
+ /**
16351
+ * HTTP status of the last attempt, or null if the request never got an answer
16352
+ */
16353
+ responseStatus: (number | null)
16354
+ }[]
16355
+ }
16356
+
16357
+ export interface SupportWebhookGetInput {
16358
+ /**
16359
+ * Webhook id
16360
+ */
16361
+ id: string
16362
+ }
16363
+
16364
+ export interface SupportWebhookGetOutput {
16365
+ /**
16366
+ * Webhook id
16367
+ */
16368
+ id: string
16369
+ /**
16370
+ * HTTPS endpoint events are POSTed to
16371
+ */
16372
+ url: string
16373
+ /**
16374
+ * active or disabled
16375
+ */
16376
+ status: ("active" | "disabled")
16377
+ /**
16378
+ * ISO-8601 creation timestamp
16379
+ */
16380
+ createdAt: string
16381
+ /**
16382
+ * ISO-8601 last-update timestamp
16383
+ */
16384
+ updatedAt: string
16385
+ /**
16386
+ * Event types this endpoint subscribes to
16387
+ */
16388
+ eventTypes: string[]
16389
+ /**
16390
+ * Free-form note, or null
16391
+ */
16392
+ description: (string | null)
16393
+ /**
16394
+ * First characters of the signing secret, to tell endpoints apart. Never the whole secret
16395
+ */
16396
+ secretPrefix: string
16397
+ }
16398
+
16399
+ export interface SupportWebhookListInput {
16400
+
16401
+ }
16402
+
16403
+ export interface SupportWebhookListOutput {
16404
+ /**
16405
+ * The endpoints this product has registered, oldest first
16406
+ */
16407
+ webhooks: {
16408
+ /**
16409
+ * Webhook id
16410
+ */
16411
+ id: string
16412
+ /**
16413
+ * HTTPS endpoint events are POSTed to
16414
+ */
16415
+ url: string
16416
+ /**
16417
+ * active or disabled
16418
+ */
16419
+ status: ("active" | "disabled")
16420
+ /**
16421
+ * ISO-8601 creation timestamp
16422
+ */
16423
+ createdAt: string
16424
+ /**
16425
+ * ISO-8601 last-update timestamp
16426
+ */
16427
+ updatedAt: string
16428
+ /**
16429
+ * Event types this endpoint subscribes to
16430
+ */
16431
+ eventTypes: string[]
16432
+ /**
16433
+ * Free-form note, or null
16434
+ */
16435
+ description: (string | null)
16436
+ /**
16437
+ * First characters of the signing secret, to tell endpoints apart. Never the whole secret
16438
+ */
16439
+ secretPrefix: string
16440
+ }[]
16441
+ }
16442
+
16443
+ export interface SupportWebhookRedeliverInput {
16444
+ /**
16445
+ * Id of the delivery to send again
16446
+ */
16447
+ id: string
16448
+ }
16449
+
16450
+ export interface SupportWebhookRedeliverOutput {
16451
+ /**
16452
+ * The new delivery, opened in pending state. It carries the original idempotencyKey, so a receiver that already processed the first one can ignore it
16453
+ */
16454
+ delivery: {
16455
+ /**
16456
+ * Delivery id — the value in the X-Support-Delivery-Id header
16457
+ */
16458
+ id: string
16459
+ /**
16460
+ * Why the last attempt failed, or null. Never carries the signing key
16461
+ */
16462
+ error: (string | null)
16463
+ /**
16464
+ * pending while attempts remain, delivered once the endpoint answered 2xx, failed when every attempt was used up
16465
+ */
16466
+ state: ("pending" | "delivered" | "failed")
16467
+ /**
16468
+ * How many attempts have been made, 0 before the first
16469
+ */
16470
+ attempt: number
16471
+ /**
16472
+ * The JSON body that was sent. Identifiers and metadata only — never message text
16473
+ */
16474
+ payload: {
16475
+ [k: string]: unknown
16476
+ }
16477
+ /**
16478
+ * ISO-8601 time the delivery was opened
16479
+ */
16480
+ createdAt: string
16481
+ /**
16482
+ * Event type that was delivered
16483
+ */
16484
+ eventType: string
16485
+ /**
16486
+ * The endpoint this delivery was for
16487
+ */
16488
+ webhookId: string
16489
+ /**
16490
+ * ISO-8601 time of the successful attempt, or null
16491
+ */
16492
+ deliveredAt: (string | null)
16493
+ /**
16494
+ * ISO-8601 time the next attempt is due, or null when there is none
16495
+ */
16496
+ nextRetryAt: (string | null)
16497
+ /**
16498
+ * The key the receiver deduplicates on. A redelivery of this event carries the same value
16499
+ */
16500
+ idempotencyKey: string
16501
+ /**
16502
+ * HTTP status of the last attempt, or null if the request never got an answer
16503
+ */
16504
+ responseStatus: (number | null)
16505
+ }
16506
+ }
16507
+
16508
+ export interface SupportWebhookRotateSecretInput {
16509
+ /**
16510
+ * Webhook id
16511
+ */
16512
+ id: string
16513
+ }
16514
+
16515
+ export interface SupportWebhookRotateSecretOutput {
16516
+ /**
16517
+ * Webhook id
16518
+ */
16519
+ id: string
16520
+ /**
16521
+ * HTTPS endpoint events are POSTed to
16522
+ */
16523
+ url: string
16524
+ /**
16525
+ * The signing secret in clear. Shown exactly once, here — store it now; it cannot be read back and can only be replaced by rotating it
16526
+ */
16527
+ secret: string
16528
+ /**
16529
+ * active or disabled
16530
+ */
16531
+ status: ("active" | "disabled")
16532
+ /**
16533
+ * ISO-8601 creation timestamp
16534
+ */
16535
+ createdAt: string
16536
+ /**
16537
+ * ISO-8601 last-update timestamp
16538
+ */
16539
+ updatedAt: string
16540
+ /**
16541
+ * Event types this endpoint subscribes to
16542
+ */
16543
+ eventTypes: string[]
16544
+ /**
16545
+ * Free-form note, or null
16546
+ */
16547
+ description: (string | null)
16548
+ /**
16549
+ * First characters of the signing secret, to tell endpoints apart. Never the whole secret
16550
+ */
16551
+ secretPrefix: string
16552
+ }
16553
+
16554
+ export interface SupportWebhookUpdateInput {
16555
+ /**
16556
+ * Webhook id
16557
+ */
16558
+ id: string
16559
+ /**
16560
+ * HTTPS endpoint the event is POSTed to. Plain http:// is rejected
16561
+ */
16562
+ url?: string
16563
+ /**
16564
+ * active delivers events; disabled keeps the registration and stops delivery
16565
+ */
16566
+ status?: ("active" | "disabled")
16567
+ /**
16568
+ * Event types this endpoint subscribes to. One or more of support.message.created, support.thread.status-changed, support.thread.assigned
16569
+ *
16570
+ * @minItems 1
16571
+ */
16572
+ eventTypes?: [("support.message.created" | "support.thread.status-changed" | "support.thread.assigned"), ...(("support.message.created" | "support.thread.status-changed" | "support.thread.assigned"))[]]
16573
+ /**
16574
+ * Free-form note about what this endpoint is for, up to 1000 characters
16575
+ */
16576
+ description?: (string | null)
16577
+ }
16578
+
16579
+ export interface SupportWebhookUpdateOutput {
16580
+ /**
16581
+ * Webhook id
16582
+ */
16583
+ id: string
16584
+ /**
16585
+ * HTTPS endpoint events are POSTed to
16586
+ */
16587
+ url: string
16588
+ /**
16589
+ * active or disabled
16590
+ */
16591
+ status: ("active" | "disabled")
16592
+ /**
16593
+ * ISO-8601 creation timestamp
16594
+ */
16595
+ createdAt: string
16596
+ /**
16597
+ * ISO-8601 last-update timestamp
16598
+ */
16599
+ updatedAt: string
16600
+ /**
16601
+ * Event types this endpoint subscribes to
16602
+ */
16603
+ eventTypes: string[]
16604
+ /**
16605
+ * Free-form note, or null
16606
+ */
16607
+ description: (string | null)
16608
+ /**
16609
+ * First characters of the signing secret, to tell endpoints apart. Never the whole secret
16610
+ */
16611
+ secretPrefix: string
16612
+ }
16613
+
16072
16614
  export interface TrackingDomainsCreateInput {
16073
16615
  host?: string
16074
16616
  records?: {