@lessly/sdk-app 81.0.1 → 83.0.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.
@@ -90512,378 +90512,6 @@ export interface OrganizationYoutubeInstallOutput {
90512
90512
  url: string
90513
90513
  }
90514
90514
 
90515
- export interface PlaygroundAnalyticsOverviewInput {
90516
- /**
90517
- * Max records per entity in recent[]; omit for the endpoint default
90518
- */
90519
- limit?: number
90520
- }
90521
-
90522
- export interface PlaygroundAnalyticsOverviewOutput {
90523
- ok: boolean
90524
- minted: boolean
90525
- overview?: unknown
90526
- http_status: number
90527
- }
90528
-
90529
- export interface PlaygroundBillingEntitlementsInput {
90530
-
90531
- }
90532
-
90533
- export interface PlaygroundBillingEntitlementsOutput {
90534
- ok: boolean
90535
- minted: boolean
90536
- http_status: number
90537
- entitlements?: unknown
90538
- }
90539
-
90540
- export interface PlaygroundBillingRecordUsageInput {
90541
- /**
90542
- * Quantity of events to record against playground-events (SUM); defaults to 1
90543
- */
90544
- value?: number
90545
- }
90546
-
90547
- export interface PlaygroundBillingRecordUsageOutput {
90548
- minted: boolean
90549
- accepted: (number | null)
90550
- recorded: boolean
90551
- duplicates: (number | null)
90552
- http_status: number
90553
- }
90554
-
90555
- export interface PlaygroundClickupCreateTaskInput {
90556
- /**
90557
- * Task title; defaults to a fixture label
90558
- */
90559
- name?: string
90560
- /**
90561
- * ClickUp list id; falls back to CLICKUP_TEST_LIST_ID
90562
- */
90563
- listId?: string
90564
- }
90565
-
90566
- export interface PlaygroundClickupCreateTaskOutput {
90567
- minted: boolean
90568
- task_id: (string | null)
90569
- list_status: number
90570
- vend_status: number
90571
- clickup_status: number
90572
- installation_count: number
90573
- }
90574
-
90575
- export interface PlaygroundClickupGetLastWebhookInput {
90576
-
90577
- }
90578
-
90579
- export type PlaygroundClickupGetLastWebhookOutput = ({
90580
- payload: string
90581
- event_id: string
90582
- provider: string
90583
- verified: boolean
90584
- product_id: string
90585
- occurred_at: string
90586
- connector_id: string
90587
- clickup_event: (string | null)
90588
- receipt_count: number
90589
- } | {
90590
- found: false
90591
- })
90592
-
90593
- export interface PlaygroundClickupGetOverviewInput {
90594
-
90595
- }
90596
-
90597
- export interface PlaygroundClickupGetOverviewOutput {
90598
- team: ({
90599
- teamId: string
90600
- teamName: string
90601
- } | null)
90602
- lists: PlaygroundClickupGetOverviewOutputItems[]
90603
- tasks: {
90604
- id: string
90605
- name: string
90606
- status: (string | null)
90607
- }[]
90608
- minted: boolean
90609
- spaces: PlaygroundClickupGetOverviewOutputItems[]
90610
- list_status: number
90611
- vend_status: number
90612
- lists_status: number
90613
- tasks_status: number
90614
- spaces_status: number
90615
- folders_status: number
90616
- installation_count: number
90617
- }
90618
- export interface PlaygroundClickupGetOverviewOutputItems {
90619
- id: string
90620
- name: string
90621
- }
90622
-
90623
- export interface PlaygroundEchoPingInput {
90624
- /**
90625
- * The text to echo back, 1–1024 characters
90626
- */
90627
- message: string
90628
- }
90629
-
90630
- export interface PlaygroundEchoPingOutput {
90631
- /**
90632
- * The message exactly as it was received
90633
- */
90634
- message: string
90635
- /**
90636
- * The product the call was resolved to
90637
- */
90638
- productId: string
90639
- /**
90640
- * ISO-8601 instant (UTC) at which the call reached the service
90641
- */
90642
- receivedAt: string
90643
- }
90644
-
90645
- export interface PlaygroundGdriveGetLastChangeInput {
90646
-
90647
- }
90648
-
90649
- export type PlaygroundGdriveGetLastChangeOutput = ({
90650
- file_id: string
90651
- removed: boolean
90652
- file_name: (string | null)
90653
- mime_type: (string | null)
90654
- product_id: string
90655
- occurred_at: string
90656
- connector_id: string
90657
- resource_state: string
90658
- } | {
90659
- found: false
90660
- })
90661
-
90662
- export interface PlaygroundGdriveReadFileInput {
90663
- /**
90664
- * Drive file id; falls back to GDRIVE_TEST_FILE_ID, then the first picked file
90665
- */
90666
- fileId?: string
90667
- }
90668
-
90669
- export interface PlaygroundGdriveReadFileOutput {
90670
- minted: boolean
90671
- file_id: (string | null)
90672
- file_name: (string | null)
90673
- mime_type: (string | null)
90674
- file_count: number
90675
- get_status: number
90676
- list_status: number
90677
- vend_status: number
90678
- content_bytes: (number | null)
90679
- }
90680
-
90681
- export interface PlaygroundGoogleadsReadCustomerInput {
90682
-
90683
- }
90684
-
90685
- export interface PlaygroundGoogleadsReadCustomerOutput {
90686
- minted: boolean
90687
- vended: boolean
90688
- customer_id: (string | null)
90689
- vend_status: number
90690
- result_count: number
90691
- search_status: number
90692
- login_customer_id: (string | null)
90693
- }
90694
-
90695
- export interface PlaygroundLifecycleGetStateInput {
90696
-
90697
- }
90698
-
90699
- export interface PlaygroundLifecycleGetStateOutput {
90700
- blocked: boolean
90701
- archived: boolean
90702
- productId: string
90703
- lastBlockTransition: ({
90704
- eventId: string
90705
- eventName: string
90706
- productId: string
90707
- occurredAt: string
90708
- recordedAt: string
90709
- receiptCount: number
90710
- organizationId: string
90711
- cascadedFromOrg: boolean
90712
- } | null)
90713
- lastArchiveTransition: ({
90714
- eventId: string
90715
- eventName: string
90716
- productId: string
90717
- occurredAt: string
90718
- recordedAt: string
90719
- receiptCount: number
90720
- organizationId: string
90721
- cascadedFromOrg: boolean
90722
- } | null)
90723
- }
90724
-
90725
- export interface PlaygroundLifecycleListEventsInput {
90726
-
90727
- }
90728
-
90729
- export type PlaygroundLifecycleListEventsOutput = {
90730
- eventId: string
90731
- eventName: string
90732
- productId: string
90733
- occurredAt: string
90734
- recordedAt: string
90735
- receiptCount: number
90736
- organizationId: string
90737
- cascadedFromOrg: boolean
90738
- }[]
90739
-
90740
- export interface PlaygroundWebhookGetLastInput {
90741
-
90742
- }
90743
-
90744
- export type PlaygroundWebhookGetLastOutput = ({
90745
- payload?: unknown
90746
- event_id: string
90747
- provider: string
90748
- verified: boolean
90749
- product_id: string
90750
- occurred_at: string
90751
- connector_id: string
90752
- delivery_count: number
90753
- } | {
90754
- found: false
90755
- })
90756
-
90757
- export interface PlaygroundWorkflowEchoInput {
90758
- /**
90759
- * The text to store, 1–1024 characters
90760
- */
90761
- note: string
90762
- /**
90763
- * Optional labels stored alongside the note, at most 20
90764
- *
90765
- * @maxItems 20
90766
- */
90767
- tags?: []|[string]|[string, string]|[string, string, string]|[string, string, string, string]|[string, string, string, string, string]|[string, string, string, string, string, string]|[string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]|[string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]
90768
- }
90769
-
90770
- export interface PlaygroundWorkflowEchoOutput {
90771
- /**
90772
- * Identifier of the stored echo
90773
- */
90774
- id: string
90775
- /**
90776
- * The note exactly as it was received
90777
- */
90778
- note: string
90779
- /**
90780
- * The tags exactly as they were received
90781
- */
90782
- tags: string[]
90783
- /**
90784
- * Correlation id for this echo. The playground/workflow.echoed event published about two seconds later repeats it, which is how a composer matches the completion back to this step.
90785
- */
90786
- echo_id: string
90787
- /**
90788
- * ISO-8601 instant (UTC) at which the echo was stored
90789
- */
90790
- received_at: string
90791
- }
90792
-
90793
- export interface PlaygroundWorkflowEchoListInput {
90794
-
90795
- }
90796
-
90797
- export type PlaygroundWorkflowEchoListOutput = {
90798
- /**
90799
- * Identifier of the stored echo
90800
- */
90801
- id: string
90802
- /**
90803
- * The note exactly as it was received
90804
- */
90805
- note: string
90806
- /**
90807
- * The tags exactly as they were received
90808
- */
90809
- tags: string[]
90810
- /**
90811
- * ISO-8601 instant (UTC) at which the echo was stored
90812
- */
90813
- received_at: string
90814
- }[]
90815
-
90816
- export interface PlaygroundWorkflowPingInput {
90817
- /**
90818
- * Class of ping, echoed on the emitted event and filterable on the trigger. Defaults to 'manual'.
90819
- */
90820
- kind?: string
90821
- }
90822
-
90823
- export interface PlaygroundWorkflowPingOutput {
90824
- /**
90825
- * Correlation id for this ping. The emitted playground/workflow.ping event repeats it, which is how a composer matches the event back to this step.
90826
- */
90827
- id: string
90828
- /**
90829
- * The name of the event that was published
90830
- */
90831
- event: string
90832
- }
90833
-
90834
- export interface PlaygroundWorkflowSubjectsListInput {
90835
- /**
90836
- * How many subjects to return, 1–100. Defaults to 25.
90837
- */
90838
- limit?: number
90839
- /**
90840
- * The next_cursor of the previous page. Opaque — pass it back unchanged. Omit for the first page.
90841
- */
90842
- cursor?: string
90843
- /**
90844
- * ISO-8601 UTC instant. Return only subjects whose last_activity_at is AT OR AFTER this — the opposite question, the recently active population. Omit for no lower bound.
90845
- */
90846
- last_activity_after?: string
90847
- /**
90848
- * ISO-8601 UTC instant. Return only subjects whose last_activity_at is AT OR BEFORE this — the "inactive for N days" question: pass now minus N days. Omit for no upper bound.
90849
- */
90850
- last_activity_before?: string
90851
- }
90852
-
90853
- export interface PlaygroundWorkflowSubjectsListOutput {
90854
- /**
90855
- * This page of subjects, most recently active first
90856
- */
90857
- items: {
90858
- /**
90859
- * Stable identifier for the subject. This is the field a batch trigger keys on, so a subject already served in an earlier run is skipped rather than served twice.
90860
- */
90861
- subject_key: string
90862
- /**
90863
- * Human-readable name of the subject
90864
- */
90865
- display_name: string
90866
- /**
90867
- * ISO-8601 instant (UTC) of the subject last activity
90868
- */
90869
- last_activity_at: string
90870
- }[]
90871
- /**
90872
- * Whether another page follows. False and a null next_cursor both mark the last page, so a consumer that loops on either terminates.
90873
- */
90874
- has_more: boolean
90875
- /**
90876
- * Pass back as `cursor` to fetch the next page; null on the last page. Always null when has_more is false.
90877
- */
90878
- next_cursor: (string | null)
90879
- }
90880
-
90881
- export interface PlaygroundWsEchoInput {
90882
-
90883
- }
90884
-
90885
- export type PlaygroundWsEchoOutput = unknown;
90886
-
90887
90515
  export interface RealtimeArchiveExportInput {
90888
90516
  /**
90889
90517
  * Only entries with ts <= to_ts (epoch ms)
@@ -112245,150 +111873,54 @@ secretPrefix: string
112245
111873
  }
112246
111874
 
112247
111875
  export interface TrackingDomainsCreateInput {
112248
- /**
112249
- * Bare hostname to serve tracking from, which must sit under the chosen domain (e.g. analytics.example.com); a suggestion is used when omitted
112250
- */
112251
111876
  host?: string
112252
- /**
112253
- * DNS records to request instead of the default CNAME to the tracking edge; leave unset unless the domain needs custom records
112254
- */
112255
111877
  records?: {
112256
- /**
112257
- * Time-to-live in seconds the record should be published with; the platform picks one when omitted
112258
- */
112259
111878
  ttl?: number
112260
- /**
112261
- * Fully-qualified host the record is published at; defaults to the claimed tracking host
112262
- */
112263
111879
  name?: string
112264
- /**
112265
- * Value the record points at — the edge hostname for a CNAME, the proof string for a TXT
112266
- */
112267
111880
  target: string
112268
- /**
112269
- * DNS record type to publish, e.g. CNAME or TXT
112270
- */
112271
111881
  recordType: string
112272
111882
  }[]
112273
- /**
112274
- * Product domain to claim the tracking host under, as listed in `domains[].domainId` by tracking_domains_list
112275
- */
112276
111883
  domainId: string
112277
111884
  }
112278
111885
 
112279
111886
  export interface TrackingDomainsCreateOutput {
112280
- /**
112281
- * The binding as just claimed; it starts `pending` and goes `active` once the DNS is observed live
112282
- */
112283
111887
  binding: {
112284
- /**
112285
- * Fully-qualified tracking host this binding serves, e.g. analytics.example.com
112286
- */
112287
111888
  host: string
112288
- /**
112289
- * Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
112290
- */
112291
111889
  status: ("pending" | "active" | "failed")
112292
- /**
112293
- * DNS records the platform expects to see published for this host, as returned when the binding was claimed
112294
- */
112295
111890
  records: unknown[]
112296
- /**
112297
- * Product domain this tracking host sits under
112298
- */
112299
111891
  domainId: string
112300
- /**
112301
- * Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
112302
- */
112303
111892
  bindingId: string
112304
- /**
112305
- * When the binding was claimed
112306
- */
112307
111893
  createdAt: string
112308
- /**
112309
- * Product the binding belongs to
112310
- */
112311
111894
  productId: string
112312
- /**
112313
- * When the binding last changed status or records
112314
- */
112315
111895
  updatedAt: string
112316
- /**
112317
- * Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
112318
- */
112319
111896
  statusDetail: (string | null)
112320
- /**
112321
- * Extension that claimed the binding; tracking bindings are owned by this toolkit
112322
- */
112323
111897
  ownerExtension: string
112324
111898
  }
112325
- /**
112326
- * Ordered, human-readable steps for publishing the DNS the claim needs; empty when the platform manages the domain itself
112327
- */
112328
111899
  instructions: string[]
112329
111900
  }
112330
111901
 
112331
111902
  export interface TrackingDomainsDeleteInput {
112332
- /**
112333
- * Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
112334
- */
112335
111903
  bindingId: string
112336
111904
  }
112337
111905
 
112338
111906
  export interface TrackingDomainsDeleteOutput {
112339
- /**
112340
- * Always true — the release succeeded; a failure arrives as an error, not as false
112341
- */
112342
111907
  ok: true
112343
111908
  }
112344
111909
 
112345
111910
  export interface TrackingDomainsGetInput {
112346
- /**
112347
- * Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
112348
- */
112349
111911
  bindingId: string
112350
111912
  }
112351
111913
 
112352
111914
  export interface TrackingDomainsGetOutput {
112353
- /**
112354
- * Fully-qualified tracking host this binding serves, e.g. analytics.example.com
112355
- */
112356
111915
  host: string
112357
- /**
112358
- * Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
112359
- */
112360
111916
  status: ("pending" | "active" | "failed")
112361
- /**
112362
- * DNS records the platform expects to see published for this host, as returned when the binding was claimed
112363
- */
112364
111917
  records: unknown[]
112365
- /**
112366
- * Product domain this tracking host sits under
112367
- */
112368
111918
  domainId: string
112369
- /**
112370
- * Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
112371
- */
112372
111919
  bindingId: string
112373
- /**
112374
- * When the binding was claimed
112375
- */
112376
111920
  createdAt: string
112377
- /**
112378
- * Product the binding belongs to
112379
- */
112380
111921
  productId: string
112381
- /**
112382
- * When the binding last changed status or records
112383
- */
112384
111922
  updatedAt: string
112385
- /**
112386
- * Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
112387
- */
112388
111923
  statusDetail: (string | null)
112389
- /**
112390
- * Extension that claimed the binding; tracking bindings are owned by this toolkit
112391
- */
112392
111924
  ownerExtension: string
112393
111925
  }
112394
111926
 
@@ -112397,125 +111929,41 @@ export interface TrackingDomainsListInput {
112397
111929
  }
112398
111930
 
112399
111931
  export interface TrackingDomainsListOutput {
112400
- /**
112401
- * The product's domains as the platform vouches for them — the set a new tracking host may be claimed under
112402
- */
112403
111932
  domains: {
112404
- /**
112405
- * Who runs the DNS: `managed` means the platform publishes records for you, `external` means you publish them yourself
112406
- */
112407
111933
  mode: ("external" | "managed")
112408
- /**
112409
- * Apex domain name the product owns, e.g. example.com
112410
- */
112411
111934
  domain: string
112412
- /**
112413
- * Stable platform id of the product domain, and what a claim takes as its `domainId`
112414
- */
112415
111935
  domainId: string
112416
- /**
112417
- * ISO-8601 timestamp of when the domain was added to the product
112418
- */
112419
111936
  createdAt: string
112420
- /**
112421
- * How many extensions currently hold a host binding under this domain
112422
- */
112423
111937
  extensionCount: number
112424
111938
  }[]
112425
- /**
112426
- * Tracking-host bindings this toolkit currently holds across those domains
112427
- */
112428
111939
  bindings: {
112429
- /**
112430
- * Fully-qualified tracking host this binding serves, e.g. analytics.example.com
112431
- */
112432
111940
  host: string
112433
- /**
112434
- * Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
112435
- */
112436
111941
  status: ("pending" | "active" | "failed")
112437
- /**
112438
- * DNS records the platform expects to see published for this host, as returned when the binding was claimed
112439
- */
112440
111942
  records: unknown[]
112441
- /**
112442
- * Product domain this tracking host sits under
112443
- */
112444
111943
  domainId: string
112445
- /**
112446
- * Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
112447
- */
112448
111944
  bindingId: string
112449
- /**
112450
- * When the binding was claimed
112451
- */
112452
111945
  createdAt: string
112453
- /**
112454
- * Product the binding belongs to
112455
- */
112456
111946
  productId: string
112457
- /**
112458
- * When the binding last changed status or records
112459
- */
112460
111947
  updatedAt: string
112461
- /**
112462
- * Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
112463
- */
112464
111948
  statusDetail: (string | null)
112465
- /**
112466
- * Extension that claimed the binding; tracking bindings are owned by this toolkit
112467
- */
112468
111949
  ownerExtension: string
112469
111950
  }[]
112470
111951
  }
112471
111952
 
112472
111953
  export interface TrackingDomainsVerifyInput {
112473
- /**
112474
- * Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
112475
- */
112476
111954
  bindingId: string
112477
111955
  }
112478
111956
 
112479
111957
  export interface TrackingDomainsVerifyOutput {
112480
- /**
112481
- * Fully-qualified tracking host this binding serves, e.g. analytics.example.com
112482
- */
112483
111958
  host: string
112484
- /**
112485
- * Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
112486
- */
112487
111959
  status: ("pending" | "active" | "failed")
112488
- /**
112489
- * DNS records the platform expects to see published for this host, as returned when the binding was claimed
112490
- */
112491
111960
  records: unknown[]
112492
- /**
112493
- * Product domain this tracking host sits under
112494
- */
112495
111961
  domainId: string
112496
- /**
112497
- * Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
112498
- */
112499
111962
  bindingId: string
112500
- /**
112501
- * When the binding was claimed
112502
- */
112503
111963
  createdAt: string
112504
- /**
112505
- * Product the binding belongs to
112506
- */
112507
111964
  productId: string
112508
- /**
112509
- * When the binding last changed status or records
112510
- */
112511
111965
  updatedAt: string
112512
- /**
112513
- * Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
112514
- */
112515
111966
  statusDetail: (string | null)
112516
- /**
112517
- * Extension that claimed the binding; tracking bindings are owned by this toolkit
112518
- */
112519
111967
  ownerExtension: string
112520
111968
  }
112521
111969
 
@@ -112527,13 +111975,7 @@ name: string
112527
111975
  }
112528
111976
 
112529
111977
  export interface TrackingEventNamesArchiveOutput {
112530
- /**
112531
- * Event name whose status was changed
112532
- */
112533
111978
  name: string
112534
- /**
112535
- * The status as it now stands: `archived` hides the name from pickers and reports, `active` restores it
112536
- */
112537
111979
  status: ("active" | "archived")
112538
111980
  }
112539
111981
 
@@ -112557,37 +111999,13 @@ status?: ("active" | "archived")
112557
111999
  }
112558
112000
 
112559
112001
  export interface TrackingEventNamesListOutput {
112560
- /**
112561
- * The matching catalogue entries, ordered by the requested sort
112562
- */
112563
112002
  names: {
112564
- /**
112565
- * Event name exactly as the tracking script sends it — the string other tools take as their `event`
112566
- */
112567
112003
  name: string
112568
- /**
112569
- * How many events with this name have been received in total
112570
- */
112571
112004
  count: number
112572
- /**
112573
- * `active` for a name in use, `archived` for one hidden from pickers and reports
112574
- */
112575
112005
  status: string
112576
- /**
112577
- * ISO-8601 timestamp of the most recent event received under this name
112578
- */
112579
112006
  lastSeen: string
112580
- /**
112581
- * ISO-8601 timestamp of the first event ever received under this name
112582
- */
112583
112007
  firstSeen: string
112584
- /**
112585
- * Property keys sampled from recent events with this name, so you can see what the payload carries
112586
- */
112587
112008
  propsKeys: string[]
112588
- /**
112589
- * Whether this name is marked a conversion, which is what makes it available as a workflow trigger
112590
- */
112591
112009
  isConversion: boolean
112592
112010
  }[]
112593
112011
  }
@@ -112604,13 +112022,7 @@ isConversion: boolean
112604
112022
  }
112605
112023
 
112606
112024
  export interface TrackingEventNamesSetConversionOutput {
112607
- /**
112608
- * Event name the conversion flag was applied to
112609
- */
112610
112025
  name: string
112611
- /**
112612
- * The flag as it now stands after the change
112613
- */
112614
112026
  isConversion: boolean
112615
112027
  }
112616
112028
 
@@ -112622,13 +112034,7 @@ name: string
112622
112034
  }
112623
112035
 
112624
112036
  export interface TrackingEventNamesUnarchiveOutput {
112625
- /**
112626
- * Event name whose status was changed
112627
- */
112628
112037
  name: string
112629
- /**
112630
- * The status as it now stands: `archived` hides the name from pickers and reports, `active` restores it
112631
- */
112632
112038
  status: ("active" | "archived")
112633
112039
  }
112634
112040
 
@@ -112637,32 +112043,14 @@ export interface TrackingGoogleadsConnectionStatusInput {
112637
112043
  }
112638
112044
 
112639
112045
  export type TrackingGoogleadsConnectionStatusOutput = ({
112640
- /**
112641
- * Where the Google Ads connection stands: connected means an account is chosen and its credential works, so the other tools will run.
112642
- */
112643
112046
  state: "connected"
112644
- /**
112645
- * The Google Ads account the data is read from and conversions are written to, as a customer id. Only present while connected.
112646
- */
112647
112047
  customerId: string
112648
- /**
112649
- * The manager account the connection authenticates through, as a Google customer id. Same as customerId when the account is not managed. Only present while connected.
112650
- */
112651
112048
  loginCustomerId: string
112652
112049
  } | {
112653
- /**
112654
- * Google is authorised but nobody has picked which Google Ads account to use yet, so nothing can run until someone does.
112655
- */
112656
112050
  state: "pending_account_selection"
112657
112051
  } | {
112658
- /**
112659
- * The Google authorisation expired or was revoked and has to be granted again before anything can run.
112660
- */
112661
112052
  state: "reauth_required"
112662
112053
  } | {
112663
- /**
112664
- * No Google Ads connection has been set up for this product at all.
112665
- */
112666
112054
  state: "not_connected"
112667
112055
  })
112668
112056
 
@@ -112683,77 +112071,26 @@ export interface TrackingGoogleadsFeedbackConfigGetInput {
112683
112071
  }
112684
112072
 
112685
112073
  export interface TrackingGoogleadsFeedbackConfigGetOutput {
112686
- /**
112687
- * How the uploads coexist with the account's own tag: existing_pixel means the Google tag also records these conversions, so send only to actions the tag does not already cover; fresh_pixel means these uploads are the only source.
112688
- */
112689
112074
  mode: ("existing_pixel" | "fresh_pixel")
112690
- /**
112691
- * Which tracked events become which Google Ads conversion action, and where each one takes its money value from. Disabled rules stay listed.
112692
- */
112693
112075
  rules: {
112694
- /**
112695
- * Tracked event-name this rule uploads, as listed by tracking_event-names_list
112696
- */
112697
112076
  event: string
112698
- /**
112699
- * What monetary value is reported to Google for each conversion this rule uploads
112700
- */
112701
112077
  value: ({
112702
- /**
112703
- * Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
112704
- */
112705
112078
  source: "revenue"
112706
112079
  } | {
112707
- /**
112708
- * Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
112709
- */
112710
112080
  source: "dynamic"
112711
112081
  } | {
112712
- /**
112713
- * Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
112714
- */
112715
112082
  source: "fixed"
112716
- /**
112717
- * ISO-4217 currency the fixed amount is denominated in, e.g. USD
112718
- */
112719
112083
  currency: string
112720
- /**
112721
- * The fixed value in minor units (e.g. cents); 0 means a value-less lead conversion
112722
- */
112723
112084
  amountMinor: number
112724
112085
  })
112725
- /**
112726
- * Whether this single mapping is live; a disabled rule is kept but uploads nothing
112727
- */
112728
112086
  enabled: boolean
112729
- /**
112730
- * Google conversion action the event is reported as, in the form customers/<cid>/conversionActions/<id>
112731
- */
112732
112087
  conversionAction: string
112733
112088
  }[]
112734
- /**
112735
- * Whether conversions are being sent to Google Ads at all. False leaves every rule below in place but uploads nothing.
112736
- */
112737
112089
  enabled: boolean
112738
- /**
112739
- * The tenant this configuration belongs to. Never supplied by a caller — it comes from the authenticated identity.
112740
- */
112741
112090
  productId: string
112742
- /**
112743
- * How many days back each pass looks for conversions to send, and how far back a click may be matched. Google rejects clicks older than about 90 days.
112744
- */
112745
112091
  lookbackDays: number
112746
- /**
112747
- * Currency of the connected Google Ads account, as a three-letter ISO 4217 code such as EUR. Null when the account could not be read.
112748
- */
112749
112092
  accountCurrency: (string | null)
112750
- /**
112751
- * The event names that may use the Dynamic value source, because revenue is known for them. Any other event needs a fixed amount.
112752
- */
112753
112093
  dynamicValueEvents: string[]
112754
- /**
112755
- * Whether a stored email or phone number is sent alongside the click, so Google can match conversions the click id alone would miss.
112756
- */
112757
112094
  enhancedConversions: boolean
112758
112095
  }
112759
112096
 
@@ -112770,23 +112107,11 @@ rules?: {
112770
112107
  * Any tracked event-name for this product (validated against the event-name catalog)
112771
112108
  */
112772
112109
  event: string
112773
- /**
112774
- * What monetary value to report to Google for each conversion this rule uploads
112775
- */
112776
112110
  value: ({
112777
- /**
112778
- * Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
112779
- */
112780
112111
  source: "revenue"
112781
112112
  } | {
112782
- /**
112783
- * Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
112784
- */
112785
112113
  source: "dynamic"
112786
112114
  } | {
112787
- /**
112788
- * Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
112789
- */
112790
112115
  source: "fixed"
112791
112116
  /**
112792
112117
  * ISO-4217 currency code, e.g. USD
@@ -112797,9 +112122,6 @@ currency: string
112797
112122
  */
112798
112123
  amountMinor?: number
112799
112124
  })
112800
- /**
112801
- * Whether this single mapping is live; a disabled rule is kept but uploads nothing
112802
- */
112803
112125
  enabled: boolean
112804
112126
  /**
112805
112127
  * Google conversion action resource: customers/<cid>/conversionActions/<id>
@@ -112821,82 +112143,28 @@ enhancedConversions?: boolean
112821
112143
  }
112822
112144
 
112823
112145
  export interface TrackingGoogleadsFeedbackConfigSetOutput {
112824
- /**
112825
- * The config as it now stands after the write, with server-side normalisation applied
112826
- */
112827
112146
  config: {
112828
- /**
112829
- * How our uploads sit beside your own tag: `existing_pixel` only fills gaps it left, `fresh_pixel` reports our data alone
112830
- */
112831
112147
  mode: ("existing_pixel" | "fresh_pixel")
112832
- /**
112833
- * The event-to-conversion-action mappings, each with its own value source
112834
- */
112835
112148
  rules: {
112836
- /**
112837
- * Tracked event-name this rule uploads, as listed by tracking_event-names_list
112838
- */
112839
112149
  event: string
112840
- /**
112841
- * What monetary value is reported to Google for each conversion this rule uploads
112842
- */
112843
112150
  value: ({
112844
- /**
112845
- * Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
112846
- */
112847
112151
  source: "revenue"
112848
112152
  } | {
112849
- /**
112850
- * Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
112851
- */
112852
112153
  source: "dynamic"
112853
112154
  } | {
112854
- /**
112855
- * Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
112856
- */
112857
112155
  source: "fixed"
112858
- /**
112859
- * ISO-4217 currency the fixed amount is denominated in, e.g. USD
112860
- */
112861
112156
  currency: string
112862
- /**
112863
- * The fixed value in minor units (e.g. cents); 0 means a value-less lead conversion
112864
- */
112865
112157
  amountMinor: number
112866
112158
  })
112867
- /**
112868
- * Whether this single mapping is live; a disabled rule is kept but uploads nothing
112869
- */
112870
112159
  enabled: boolean
112871
- /**
112872
- * Google conversion action the event is reported as, in the form customers/<cid>/conversionActions/<id>
112873
- */
112874
112160
  conversionAction: string
112875
112161
  }[]
112876
- /**
112877
- * Master switch: with it off no rule uploads anything, however the individual rules are set
112878
- */
112879
112162
  enabled: boolean
112880
- /**
112881
- * Product this conversion-feedback config belongs to
112882
- */
112883
112163
  productId: string
112884
- /**
112885
- * How many days back a click may have happened and still be matched to a conversion (max 90)
112886
- */
112887
112164
  lookbackDays: number
112888
- /**
112889
- * The connected Google Ads account's currency, best-effort; null or absent when it could not be read
112890
- */
112891
112165
  accountCurrency?: (string | null)
112892
- /**
112893
- * Whether hashed email and phone are sent alongside gclid as additional match keys, which raises match rates
112894
- */
112895
112166
  enhancedConversions: boolean
112896
112167
  }
112897
- /**
112898
- * Plain-language safety notes about what this combination of mode and match keys will do to the connected account
112899
- */
112900
112168
  guidance: string[]
112901
112169
  }
112902
112170
 
@@ -112905,48 +112173,15 @@ export interface TrackingGoogleadsFeedbackRunInput {
112905
112173
  }
112906
112174
 
112907
112175
  export interface TrackingGoogleadsFeedbackRunOutput {
112908
- /**
112909
- * This one upload pass. Match the completion event back to this step on it, not on productId: the daily cron pass and a manual run on the same day are two passes of the same product.
112910
- */
112911
- runId: string
112912
- /**
112913
- * Rows Google rejected in this pass.
112914
- */
112915
112176
  failed: number
112916
- /**
112917
- * Of those, the ones that had a usable click id and a value, so a payload was actually built for them.
112918
- */
112919
112177
  matched: number
112920
- /**
112921
- * Conversions dropped because no Google click could be tied to the person. A high count here is a tagging problem, not a Google one.
112922
- */
112923
112178
  noGclid: number
112924
- /**
112925
- * Present only when the pass did no work, and says why: feedback is switched off, no rule is enabled, or no Google Ads account is connected. Absent on a pass that ran.
112926
- */
112927
112179
  skipped?: ("disabled" | "no_rules" | "not_connected")
112928
- /**
112929
- * Conversions in the lookback window that an enabled rule applied to.
112930
- */
112931
112180
  selected: number
112932
- /**
112933
- * Rows Google accepted in this pass.
112934
- */
112935
112181
  uploaded: number
112936
- /**
112937
- * The tenant whose conversions this pass uploaded.
112938
- */
112939
112182
  productId: string
112940
- /**
112941
- * Conversions held back because their money value had not landed yet. They are retried on a later pass.
112942
- */
112943
112183
  zeroValue: number
112944
- /**
112945
- * Google's own rejection detail, passed through unchanged, when it refused part of the batch. Absent when it accepted everything.
112946
- */
112947
- partialFailureError?: {
112948
- [k: string]: unknown
112949
- }
112184
+ partialFailureError?: unknown
112950
112185
  }
112951
112186
 
112952
112187
  export interface TrackingGoogleadsFeedbackStatusInput {
@@ -112954,82 +112189,25 @@ export interface TrackingGoogleadsFeedbackStatusInput {
112954
112189
  }
112955
112190
 
112956
112191
  export interface TrackingGoogleadsFeedbackStatusOutput {
112957
- /**
112958
- * How the uploads coexist with the account's own tag: existing_pixel means the Google tag also records these conversions; fresh_pixel means these uploads are the only source.
112959
- */
112960
112192
  mode: ("existing_pixel" | "fresh_pixel")
112961
- /**
112962
- * Rows Google has rejected since this product was connected, across every pass.
112963
- */
112964
112193
  failed: number
112965
- /**
112966
- * Whether conversions are being sent to Google Ads at all.
112967
- */
112968
112194
  enabled: boolean
112969
- /**
112970
- * Coverage of the most recent pass. Null when no pass has run for this product yet.
112971
- */
112972
112195
  lastRun: ({
112973
- /**
112974
- * When the last pass finished. Null when the stored summary predates this field.
112975
- */
112976
112196
  ranAt: (string | null)
112977
- /**
112978
- * Rows Google rejected. Anything above zero is what makes the status partial.
112979
- */
112980
112197
  failed: number
112981
- /**
112982
- * How the pass ended: ok is a clean pass, partial means Google rejected some rows and accepted others, not_connected means no Google Ads account was reachable and nothing was sent.
112983
- */
112984
112198
  status: ("ok" | "partial" | "not_connected")
112985
- /**
112986
- * Of those, the ones that had a usable click id and a value, so a payload was actually built for them.
112987
- */
112988
112199
  matched: number
112989
- /**
112990
- * Conversions dropped because no Google click could be tied to the person. A high count here is a tagging problem, not a Google one.
112991
- */
112992
112200
  noGclid: number
112993
- /**
112994
- * Conversions in the lookback window that an enabled rule applied to.
112995
- */
112996
112201
  selected: number
112997
- /**
112998
- * Rows Google accepted.
112999
- */
113000
112202
  uploaded: number
113001
- /**
113002
- * Conversions held back because their money value had not landed yet. They are retried on a later pass.
113003
- */
113004
112203
  zeroValue: number
113005
112204
  } | null)
113006
- /**
113007
- * Plain-language warnings about the current setup, such as double counting when the Google tag already records the same conversion. Empty when nothing needs saying.
113008
- */
113009
112205
  guidance: string[]
113010
- /**
113011
- * Rows Google has accepted since this product was connected, across every pass.
113012
- */
113013
112206
  uploaded: number
113014
- /**
113015
- * How many event-to-conversion-action rules are configured, enabled or not.
113016
- */
113017
112207
  ruleCount: number
113018
- /**
113019
- * How many days back each pass looks for conversions to send, and how far back a click may be matched.
113020
- */
113021
112208
  lookbackDays: number
113022
- /**
113023
- * Currency of the connected Google Ads account, as a three-letter ISO 4217 code such as EUR. Null when the account could not be read.
113024
- */
113025
112209
  accountCurrency: (string | null)
113026
- /**
113027
- * The event names that may use the Dynamic value source, because revenue is known for them.
113028
- */
113029
112210
  dynamicValueEvents: string[]
113030
- /**
113031
- * Whether a stored email or phone number is sent alongside the click, so Google can match conversions the click id alone would miss.
113032
- */
113033
112211
  enhancedConversions: boolean
113034
112212
  }
113035
112213
 
@@ -113051,228 +112229,65 @@ conversionDatetime: string
113051
112229
  }[]
113052
112230
 
113053
112231
  export interface TrackingGoogleadsRoasReportInput {
113054
- /**
113055
- * End of the reporting window, inclusive. ISO-8601 date or timestamp; a date-only value covers that whole day, so revenue after midnight is not cut off. Omit to end now.
113056
- */
113057
- to?: string
113058
- /**
113059
- * Start of the reporting window, inclusive. ISO-8601 date or timestamp, e.g. 2026-01-01. Omit to start 30 days before the end of the window.
113060
- */
113061
- from?: string
113062
- /**
113063
- * Which touchpoint gets the credit for a conversion: the last paid click before it, or the first. Defaults to last_click.
113064
- */
112232
+ to: string
112233
+ from: string
113065
112234
  model?: ("last_click" | "first_click")
113066
- /**
113067
- * Restrict to conversions tracked on this installed site, e.g. acme.com. Omit to cover every domain of the product.
113068
- */
113069
112235
  domain?: string
113070
- /**
113071
- * Restrict to one Google Ads account, by its customer id without dashes. Omit to cover every connected account.
113072
- */
113073
112236
  customerId?: string
113074
- /**
113075
- * How far back before a conversion a paid click may sit and still earn the credit, in days. 1-365, silently clamped into that range; defaults to 30.
113076
- */
113077
112237
  lookbackDays?: number
113078
112238
  }
113079
112239
 
113080
112240
  export interface TrackingGoogleadsRoasReportOutput {
113081
- /**
113082
- * End of the window this report covers, echoed back as an ISO-8601 UTC timestamp.
113083
- */
113084
112241
  to: string
113085
- /**
113086
- * Start of the window this report covers, echoed back as an ISO-8601 UTC timestamp.
113087
- */
113088
112242
  from: string
113089
- /**
113090
- * Which touchpoint earned the credit in these numbers: the last paid click before the conversion, or the first.
113091
- */
113092
112243
  model: ("last_click" | "first_click")
113093
- /**
113094
- * True when any account below is running on cost older than the freshness threshold, or on no cost at all — read this before acting on the numbers.
113095
- */
113096
- stale: boolean
113097
- /**
113098
- * The installed site this report was restricted to; null when it covers every domain of the product.
113099
- */
113100
112244
  domain: (string | null)
113101
- /**
113102
- * One entry per Google Ads account and currency. Kept apart on purpose: amounts in different currencies are never added together.
113103
- */
113104
112245
  accounts: {
113105
- /**
113106
- * True when this account's cost is older than the freshness threshold, or was never pulled — the ROAS below is then built on outdated spend.
113107
- */
113108
112246
  stale: boolean
113109
- /**
113110
- * ISO-4217 code every amount under this account is expressed in, e.g. USD. One account appears once per currency its cost was booked in.
113111
- */
113112
112247
  currency: string
113113
- /**
113114
- * This account's campaigns, each with its ad groups and ads nested underneath.
113115
- */
113116
112248
  campaigns: TrackingGoogleadsRoasReportOutputItems[]
113117
- /**
113118
- * Google Ads account these campaigns belong to, by customer id without dashes.
113119
- */
113120
112249
  customerId: string
113121
- /**
113122
- * When cost was last pulled from Google Ads for this account (ISO-8601 UTC); null when it has never been pulled.
113123
- */
113124
112250
  costLastSyncedAt: (string | null)
113125
112251
  }[]
113126
- /**
113127
- * ISO-4217 code every amount in this report is expressed in, when all accounts share one; null when the report spans several currencies.
113128
- */
113129
- currency: (string | null)
113130
- /**
113131
- * When this report was calculated (ISO-8601 UTC). The figures are a snapshot at this moment, not live.
113132
- */
113133
112252
  computedAt: string
113134
- /**
113135
- * Google Ads account this whole report covers, when it covers exactly one; null when it spans several accounts.
113136
- */
113137
- customerId: (string | null)
113138
- /**
113139
- * How far back before a conversion a paid click was allowed to sit and still earn the credit, in days.
113140
- */
113141
112253
  lookbackDays: number
113142
- /**
113143
- * Oldest moment cost was pulled from Google Ads across the accounts below (ISO-8601 UTC); null when any account has never synced.
113144
- */
113145
- costLastSyncedAt: (string | null)
113146
- /**
113147
- * Revenue we tracked but could not tie to any Google Ads campaign, grouped by the utm_campaign we saw. A long list here means the ad tagging needs fixing, not that the ads failed.
113148
- */
113149
112254
  unmatchedAttributed: {
113150
- /**
113151
- * Revenue that stayed outside every campaign, one row per currency. Never cross-summed.
113152
- */
113153
112255
  revenue: TrackingGoogleadsRoasReportOutputItems1[]
113154
- /**
113155
- * How many distinct customers paid but could not be traced to any Google Ads campaign.
113156
- */
113157
112256
  conversions: number
113158
- /**
113159
- * The utm_campaign value we saw on the visit, which matched no Google Ads campaign; null when the visit carried none. This is the diagnostic: fix the tagging and the revenue moves into a campaign.
113160
- */
113161
112257
  utmCampaign: (string | null)
113162
112258
  }[]
113163
112259
  }
113164
112260
  export interface TrackingGoogleadsRoasReportOutputItems {
113165
- /**
113166
- * What one attributed customer cost: cost divided by attributed conversions, in minor units of the account currency. null when there were no attributed conversions.
113167
- */
113168
112261
  cpa: (number | null)
113169
- /**
113170
- * Google Ads ad this node is, by its numeric id; null on a campaign or ad group node.
113171
- */
113172
112262
  adId: (string | null)
113173
- /**
113174
- * What Google charged and what Google itself counted for this node over the window.
113175
- */
113176
112263
  cost: {
113177
- /**
113178
- * How many times someone clicked through from Google over the window.
113179
- */
113180
112264
  clicks: number
113181
- /**
113182
- * ISO-4217 code of the Google Ads account these numbers come from, e.g. USD. Fixed per account.
113183
- */
113184
112265
  currency: string
113185
- /**
113186
- * What Google charged for this campaign, ad group or ad over the window, in minor units (1250 = 12.50).
113187
- */
113188
112266
  costMinor: number
113189
- /**
113190
- * How many times Google showed this ad over the window.
113191
- */
113192
112267
  impressions: number
113193
- /**
113194
- * Conversions GOOGLE counted for this node — its own attribution, not ours. May be fractional, because Google splits credit across touchpoints.
113195
- */
113196
112268
  platformConversions: number
113197
- /**
113198
- * Conversion value GOOGLE reports for this node, in minor units of the account currency. Compare it with our attributed revenue; the two rarely agree.
113199
- */
113200
112269
  platformConversionsValueMinor: number
113201
112270
  }
113202
- /**
113203
- * What this campaign, ad group or ad is called in Google Ads; null when the name has not been synced.
113204
- */
113205
112271
  name: (string | null)
113206
- /**
113207
- * Return on ad spend: our net attributed revenue divided by cost, both in the account currency. A plain ratio, not a percentage — 2.4 means 2.40 back per 1.00 spent. null when cost is 0 or nothing was attributed.
113208
- */
113209
112272
  roas: (number | null)
113210
- /**
113211
- * How deep in the Google Ads hierarchy this node sits. Attributed revenue, ROAS and CPA exist at campaign level only; cost exists at all three.
113212
- */
113213
112273
  level: ("campaign" | "ad_group" | "ad")
113214
- /**
113215
- * Google Ads campaign state, passed through raw: ENABLED, PAUSED, REMOVED. Present on campaign nodes only — the key is absent below.
113216
- */
113217
112274
  status?: string
113218
- /**
113219
- * The level below this one: ad groups under a campaign, ads under an ad group, empty on an ad.
113220
- */
113221
112275
  children: TrackingGoogleadsRoasReportOutputItems[]
113222
- /**
113223
- * Google Ads ad group this node belongs to, by its numeric id; null on a campaign node.
113224
- */
113225
112276
  adGroupId: (string | null)
113226
- /**
113227
- * What WE traced back to this node from our own tracking. null below campaign level, and null on a campaign nothing was traced to.
113228
- */
113229
112277
  attributed: ({
113230
- /**
113231
- * What WE traced back to this campaign, one row per currency the customers paid in. Never cross-summed — use accountCurrencyNetMinor for a single figure.
113232
- */
113233
112278
  revenue: TrackingGoogleadsRoasReportOutputItems1[]
113234
- /**
113235
- * Which key actually joined this revenue to the Google campaign, strongest first: lt_campaign_id (the id our own tracking template stamps on the landing URL), campaign_id (the id inside utm_campaign), campaign_name (the campaign name inside utm_campaign, a guess), gclid (the click id). null means the join key is unknown; treat campaign_name as the weakest evidence.
113236
- */
113237
- matchedBy: (("lt_campaign_id" | "campaign_id" | "campaign_name" | "gclid") | null)
113238
- /**
113239
- * How many distinct customers we traced back to this campaign over the window. Whole numbers: we give a conversion to one campaign, we never split it.
113240
- */
112279
+ matchedBy: (("campaign_id" | "campaign_name" | "gclid") | null)
113241
112280
  conversions: number
113242
- /**
113243
- * Our net attributed revenue in the account currency alone, in minor units. 0 when nobody paid in that currency. This is the ROAS numerator, and the single-value answer beside the revenue list.
113244
- */
113245
112281
  accountCurrencyNetMinor: number
113246
112282
  } | null)
113247
- /**
113248
- * Google Ads campaign this node belongs to, by its numeric id. Set at every level.
113249
- */
113250
112283
  campaignId: string
113251
- /**
113252
- * Google Ads account this node belongs to, by customer id without dashes.
113253
- */
113254
112284
  customerId: string
113255
- /**
113256
- * Where Google ran the campaign, passed through raw: SEARCH, DISPLAY, VIDEO, PERFORMANCE_MAX and so on. Present on campaign nodes only, and may be null there.
113257
- */
113258
112285
  channelType?: (string | null)
113259
112286
  }
113260
112287
  export interface TrackingGoogleadsRoasReportOutputItems1 {
113261
- /**
113262
- * ISO-4217 code the three amounts on this row are denominated in, e.g. USD. One row per currency; rows are never added together.
113263
- */
113264
112288
  currency: string
113265
- /**
113266
- * Money kept after refunds (gross minus refunded), in minor units of this row's currency. This is what ROAS is calculated from.
113267
- */
113268
112289
  netMinor: number
113269
- /**
113270
- * Money taken before refunds, in minor units of this row's currency (1250 = 12.50).
113271
- */
113272
112290
  grossMinor: number
113273
- /**
113274
- * Money given back within the window, in minor units of this row's currency; already subtracted from netMinor.
113275
- */
113276
112291
  refundedMinor: number
113277
112292
  }
113278
112293
 
@@ -113281,67 +112296,21 @@ export interface TrackingGoogleadsSyncNowInput {
113281
112296
  }
113282
112297
 
113283
112298
  export interface TrackingGoogleadsSyncNowOutput {
113284
- /**
113285
- * How much this sweep wrote, split by what it wrote. Re-running the same window updates rows in place rather than adding, so these are rows touched, not rows gained. All zero when the status is skipped.
113286
- */
113287
112299
  rows: {
113288
- /**
113289
- * Ads written.
113290
- */
113291
112300
  ads: number
113292
- /**
113293
- * Day-by-day ad spend and metric rows written.
113294
- */
113295
112301
  adDaily: number
113296
- /**
113297
- * Ad groups written.
113298
- */
113299
112302
  adGroups: number
113300
- /**
113301
- * Campaigns written, names and status included.
113302
- */
113303
112303
  campaigns: number
113304
- /**
113305
- * Day-by-day ad-group spend and metric rows written.
113306
- */
113307
112304
  adGroupDaily: number
113308
- /**
113309
- * Day-by-day campaign spend and metric rows written.
113310
- */
113311
112305
  campaignDaily: number
113312
112306
  }
113313
- /**
113314
- * This one sync run. Match the completion event back to this step on it, not on productId: a product syncs many times, and the daily cron run and a manual one are different runs.
113315
- */
113316
- runId: string
113317
- /**
113318
- * Why nothing was written, when the status is skipped: the account is not chosen yet, the authorisation expired, or Google was unavailable. Absent on a sweep that ran.
113319
- */
113320
112307
  reason?: string
113321
- /**
113322
- * Whether the sweep ran. skipped means the Google Ads account could not be reached and nothing at all was written.
113323
- */
113324
112308
  status: ("ok" | "skipped")
113325
- /**
113326
- * The range of days this sweep read spend and metrics for.
113327
- */
113328
112309
  window: {
113329
- /**
113330
- * Last day covered, inclusive, as YYYY-MM-DD.
113331
- */
113332
112310
  end: string
113333
- /**
113334
- * First day covered, inclusive, as YYYY-MM-DD.
113335
- */
113336
112311
  start: string
113337
112312
  }
113338
- /**
113339
- * The tenant whose Google Ads account was swept.
113340
- */
113341
112313
  productId: string
113342
- /**
113343
- * When the sweep finished. Null when nothing was written.
113344
- */
113345
112314
  lastSyncedAt: (string | null)
113346
112315
  }
113347
112316
 
@@ -113357,187 +112326,54 @@ from?: string
113357
112326
  }
113358
112327
 
113359
112328
  export interface TrackingGoogleadsTrackingHealthOutput {
113360
- /**
113361
- * End of the range these figures cover, as an instant.
113362
- */
113363
112329
  to: string
113364
- /**
113365
- * Start of the range these figures cover, as an instant. Echoes back the range that was asked for.
113366
- */
113367
112330
  from: string
113368
- /**
113369
- * Whether the tracking template has been seen working live: true once at least one tagged click has arrived.
113370
- */
113371
112331
  installed: boolean
113372
- /**
113373
- * Whether the sample above was cut short. True means more untagged URLs exist than are listed.
113374
- */
113375
112332
  truncated: boolean
113376
- /**
113377
- * Google paid clicks that arrived on the site in this range. The denominator for everything below.
113378
- */
113379
112333
  paidClicks: number
113380
- /**
113381
- * How complete the figures above are. Holds no metric of its own — it exists so the breakage rate is not read as one uniform population.
113382
- */
113383
112334
  dataQuality: {
113384
- /**
113385
- * Paid clicks from visitors who declined consent. Counted inside paidClicks, never added to it — a cookieless click is a real click. Clicks from sites running no consent banner are not counted here: nobody was asked, which is not the same as being told no.
113386
- */
113387
112335
  cookielessPaidClicks: number
113388
112336
  }
113389
- /**
113390
- * Share of paid clicks that arrived untagged, between 0 and 1. Anything much above zero means the tracking template needs fixing.
113391
- */
113392
112337
  breakageRate: number
113393
- /**
113394
- * Of those, the ones that arrived carrying our URL tracking parameters, so the campaign behind them is known.
113395
- */
113396
112338
  taggedClicks: number
113397
- /**
113398
- * When the most recent untagged click arrived. Close to now means the breakage is still live. Null when none did.
113399
- */
113400
112339
  lastUntaggedAt: (string | null)
113401
- /**
113402
- * Of those, the ones that arrived without our parameters, so the money spent on them cannot be attributed. This is what the tracking template being missing or broken looks like.
113403
- */
113404
112340
  untaggedClicks: number
113405
- /**
113406
- * When the first untagged click of the range arrived — roughly when the breakage started. Null when none did.
113407
- */
113408
112341
  firstUntaggedAt: (string | null)
113409
- /**
113410
- * A handful of the actual landing URLs that arrived untagged, to paste into a browser while fixing the template. Real customer URLs, query strings included.
113411
- */
113412
112342
  sampleUntaggedUrls: string[]
113413
112343
  }
113414
112344
 
113415
112345
  export interface TrackingGoogleadsUsVsPlatformInput {
113416
- /**
113417
- * End of the reporting window, inclusive. ISO-8601 date or timestamp; a date-only value covers that whole day, so revenue after midnight is not cut off. Omit to end now.
113418
- */
113419
- to?: string
113420
- /**
113421
- * Start of the reporting window, inclusive. ISO-8601 date or timestamp, e.g. 2026-01-01. Omit to start 30 days before the end of the window.
113422
- */
113423
- from?: string
113424
- /**
113425
- * Which touchpoint gets the credit for a conversion: the last paid click before it, or the first. Defaults to last_click.
113426
- */
112346
+ to: string
112347
+ from: string
113427
112348
  model?: ("last_click" | "first_click")
113428
- /**
113429
- * Restrict to conversions tracked on this installed site, e.g. acme.com. Omit to cover every domain of the product.
113430
- */
113431
112349
  domain?: string
113432
- /**
113433
- * Restrict to one Google Ads account, by its customer id without dashes. Omit to cover every connected account.
113434
- */
113435
112350
  customerId?: string
113436
- /**
113437
- * How far back before a conversion a paid click may sit and still earn the credit, in days. 1-365, silently clamped into that range; defaults to 30.
113438
- */
113439
112351
  lookbackDays?: number
113440
112352
  }
113441
112353
 
113442
112354
  export interface TrackingGoogleadsUsVsPlatformOutput {
113443
- /**
113444
- * End of the window this comparison covers, echoed back as an ISO-8601 UTC timestamp.
113445
- */
113446
112355
  to: string
113447
- /**
113448
- * Start of the window this comparison covers, echoed back as an ISO-8601 UTC timestamp.
113449
- */
113450
112356
  from: string
113451
- /**
113452
- * Which touchpoint earned the credit on OUR side of the comparison: the last paid click before the conversion, or the first. Google always uses its own model.
113453
- */
113454
112357
  model: ("last_click" | "first_click")
113455
- /**
113456
- * True when any account below is running on cost older than the freshness threshold, or on no cost at all — read this before acting on the numbers.
113457
- */
113458
- stale: boolean
113459
- /**
113460
- * The installed site this comparison was restricted to; null when it covers every domain of the product.
113461
- */
113462
112358
  domain: (string | null)
113463
- /**
113464
- * One entry per Google Ads account and currency, each holding its per-campaign comparison rows. Currencies are never added together.
113465
- */
113466
112359
  accounts: {
113467
- /**
113468
- * One row per campaign in this account, ours beside Google's.
113469
- */
113470
112360
  rows: {
113471
- /**
113472
- * What this campaign is called in Google Ads; null when the name has not been synced.
113473
- */
113474
112361
  name: (string | null)
113475
- /**
113476
- * ISO-4217 code both sides of this comparison are expressed in, e.g. USD. Ours and Google's are never converted.
113477
- */
113478
112362
  currency: string
113479
- /**
113480
- * The Google Ads campaign this row compares, by its numeric id.
113481
- */
113482
112363
  campaignId: string
113483
- /**
113484
- * Google Ads account this campaign belongs to, by customer id without dashes.
113485
- */
113486
112364
  customerId: string
113487
- /**
113488
- * How many distinct customers WE traced to this campaign. A whole number: we never split a customer across campaigns.
113489
- */
113490
112365
  ourConversions: number
113491
- /**
113492
- * Net revenue WE traced to this campaign, in minor units of the account currency (1250 = 12.50). 0 when we traced none.
113493
- */
113494
112366
  ourRevenueNetMinor: number
113495
- /**
113496
- * Conversions GOOGLE counted for the same campaign. May be fractional, because Google splits credit across touchpoints — which is the usual reason the two sides disagree.
113497
- */
113498
112367
  platformConversions: number
113499
- /**
113500
- * Conversion value GOOGLE reports for the same campaign, in minor units of the account currency. The counterpart of ourRevenueNetMinor.
113501
- */
113502
112368
  platformConversionsValueMinor: number
113503
112369
  }[]
113504
- /**
113505
- * True when this account's Google-side numbers are older than the freshness threshold, or were never pulled — the comparison is then unfair to one side.
113506
- */
113507
112370
  stale: boolean
113508
- /**
113509
- * ISO-4217 code every amount under this account is expressed in, e.g. USD. One account appears once per currency its cost was booked in.
113510
- */
113511
112371
  currency: string
113512
- /**
113513
- * Google Ads account these comparison rows belong to, by customer id without dashes.
113514
- */
113515
112372
  customerId: string
113516
- /**
113517
- * When cost was last pulled from Google Ads for this account (ISO-8601 UTC); null when it has never been pulled.
113518
- */
113519
112373
  costLastSyncedAt: (string | null)
113520
112374
  }[]
113521
- /**
113522
- * ISO-4217 code every amount in this report is expressed in, when all accounts share one; null when the report spans several currencies.
113523
- */
113524
- currency: (string | null)
113525
- /**
113526
- * When this comparison was calculated (ISO-8601 UTC). The figures are a snapshot at this moment, not live.
113527
- */
113528
112375
  computedAt: string
113529
- /**
113530
- * Google Ads account this whole report covers, when it covers exactly one; null when it spans several accounts.
113531
- */
113532
- customerId: (string | null)
113533
- /**
113534
- * How far back before a conversion a paid click was allowed to sit and still earn the credit on our side, in days.
113535
- */
113536
112376
  lookbackDays: number
113537
- /**
113538
- * Oldest moment cost was pulled from Google Ads across the accounts below (ISO-8601 UTC); null when any account has never synced.
113539
- */
113540
- costLastSyncedAt: (string | null)
113541
112377
  }
113542
112378
 
113543
112379
  export interface TrackingIdentityHealthInput {
@@ -113545,29 +112381,11 @@ export interface TrackingIdentityHealthInput {
113545
112381
  }
113546
112382
 
113547
112383
  export interface TrackingIdentityHealthOutput {
113548
- /**
113549
- * When these numbers were computed, ISO 8601 UTC. They are a live count, so this is effectively the moment of the call.
113550
- */
113551
112384
  computedAt: string
113552
- /**
113553
- * How many people the product holds in total, anonymous ones included. The denominator of both rates below.
113554
- */
113555
112385
  totalProfiles: number
113556
- /**
113557
- * Identified people as a share of the total, normally 0 to 1 (0.42 is 42%). A drop here usually means a broken identify() call, not fewer visitors.
113558
- */
113559
112386
  identifiedRate: number
113560
- /**
113561
- * People with an ad touchpoint as a share of the total, normally 0 to 1. It counts click-id identifiers, so an identifier outliving its profile can push it just above 1 — read it as an indicator, not as a proportion to assert on.
113562
- */
113563
112387
  adTouchpointRate: number
113564
- /**
113565
- * How many of them an email or phone is known for — the people a message can actually be sent to.
113566
- */
113567
112388
  identifiedProfiles: number
113568
- /**
113569
- * How many people arrived carrying an ad click id. A proxy for paid reach: it counts anyone with at least one click id on record.
113570
- */
113571
112389
  adTouchpointProfiles: number
113572
112390
  }
113573
112391
 
@@ -113579,9 +112397,6 @@ domain: string
113579
112397
  }
113580
112398
 
113581
112399
  export interface TrackingInstallDomainsCreateOutput {
113582
- /**
113583
- * The domain as stored after normalisation, which may differ from what was submitted
113584
- */
113585
112400
  domain: string
113586
112401
  }
113587
112402
 
@@ -113593,9 +112408,6 @@ domain: string
113593
112408
  }
113594
112409
 
113595
112410
  export interface TrackingInstallDomainsDeleteOutput {
113596
- /**
113597
- * Always true — the domain was removed; a failure arrives as an error, not as false
113598
- */
113599
112411
  ok: true
113600
112412
  }
113601
112413
 
@@ -113604,35 +112416,14 @@ export interface TrackingInstallDomainsListInput {
113604
112416
  }
113605
112417
 
113606
112418
  export interface TrackingInstallDomainsListOutput {
113607
- /**
113608
- * Domains sending events that nobody registered — usually a staging host, a typo, or an install worth adding
113609
- */
113610
112419
  discovered: TrackingInstallDomainsListOutputItems[]
113611
- /**
113612
- * Domains deliberately put on the install checklist, each with whether its script has been seen
113613
- */
113614
112420
  registered: TrackingInstallDomainsListOutputItems[]
113615
- /**
113616
- * Length in days of the lookback window the `seen` and `lastSeen` figures are measured over
113617
- */
113618
112421
  windowDays: number
113619
112422
  }
113620
112423
  export interface TrackingInstallDomainsListOutputItems {
113621
- /**
113622
- * Whether the tracking script actually sent an event from this domain inside the lookback window
113623
- */
113624
112424
  seen: boolean
113625
- /**
113626
- * Normalised domain name the status is reported for
113627
- */
113628
112425
  domain: string
113629
- /**
113630
- * ISO-8601 timestamp of the most recent event from this domain, or null if none arrived in the window
113631
- */
113632
112426
  lastSeen: (string | null)
113633
- /**
113634
- * Whether the domain is on the install checklist on purpose, as opposed to merely observed sending events
113635
- */
113636
112427
  registered: boolean
113637
112428
  }
113638
112429
 
@@ -113644,9 +112435,6 @@ domain: string
113644
112435
  }
113645
112436
 
113646
112437
  export interface TrackingLinkDomainsCreateOutput {
113647
- /**
113648
- * The domain as stored after normalisation, which may differ from what was submitted
113649
- */
113650
112438
  domain: string
113651
112439
  }
113652
112440
 
@@ -113658,9 +112446,6 @@ domain: string
113658
112446
  }
113659
112447
 
113660
112448
  export interface TrackingLinkDomainsDeleteOutput {
113661
- /**
113662
- * Always true — the domain left the linking group; a failure arrives as an error, not as false
113663
- */
113664
112449
  ok: true
113665
112450
  }
113666
112451
 
@@ -113669,9 +112454,6 @@ export interface TrackingLinkDomainsListInput {
113669
112454
  }
113670
112455
 
113671
112456
  export interface TrackingLinkDomainsListOutput {
113672
- /**
113673
- * Root domains in the linking group; the tracking script decorates links between any two of them so one visitor stays one visitor
113674
- */
113675
112457
  domains: string[]
113676
112458
  }
113677
112459
 
@@ -113691,70 +112473,22 @@ domain?: string
113691
112473
  }
113692
112474
 
113693
112475
  export interface TrackingLiveEventsListOutput {
113694
- /**
113695
- * Pass back as `since` to fetch what arrived after this page. Null when there is nothing older to page into.
113696
- */
113697
112476
  cursor: (string | null)
113698
- /**
113699
- * The page of events, newest first.
113700
- */
113701
112477
  events: {
113702
- /**
113703
- * Stable identifier of this single event; unique within the product and safe to deduplicate on across polls.
113704
- */
113705
112478
  id: string
113706
- /**
113707
- * When the event happened, as reported by the tracker (ISO 8601, UTC).
113708
- */
113709
112479
  ts: string
113710
- /**
113711
- * Page address the event fired on, query string included. Free text from the customer site, so it can carry personal data.
113712
- */
113713
112480
  url: (string | null)
113714
- /**
113715
- * Event name as sent by the site, e.g. 'pageview' or a custom conversion name.
113716
- */
113717
112481
  name: string
113718
- /**
113719
- * Document title of that page at the time. Free text from the customer site, so it can carry personal data.
113720
- */
113721
112482
  title: (string | null)
113722
- /**
113723
- * Site the event came from; null when the tracker could not determine one.
113724
- */
113725
112483
  domain: (string | null)
113726
- /**
113727
- * Where this visit came from, as read off the landing URL and referrer. Every field is null when the visit carried nothing.
113728
- */
113729
112484
  source: {
113730
- /**
113731
- * Address the visitor arrived from; null on a direct visit. Free text from the customer site, so it can carry personal data.
113732
- */
113733
112485
  referrer: (string | null)
113734
- /**
113735
- * utm_medium of the landing URL, e.g. cpc; null when absent.
113736
- */
113737
112486
  utmMedium: (string | null)
113738
- /**
113739
- * utm_source of the landing URL, e.g. newsletter; null when absent.
113740
- */
113741
112487
  utmSource: (string | null)
113742
- /**
113743
- * Which ad-network click id was present on the landing URL, e.g. 'gclid'. Null when the visit carried none.
113744
- */
113745
112488
  clickIdType: (string | null)
113746
- /**
113747
- * utm_campaign of the landing URL; null when absent.
113748
- */
113749
112489
  utmCampaign: (string | null)
113750
112490
  }
113751
- /**
113752
- * Two-letter ISO 3166-1 alpha-2 country resolved from the request, e.g. DE; null when it could not be resolved.
113753
- */
113754
112491
  country: (string | null)
113755
- /**
113756
- * Pseudonymous visitor id the person graph joins on. Null for a visitor who declined statistics consent or was never asked — those events arrive cookieless and carry no identifier at all.
113757
- */
113758
112492
  anonymousId: (string | null)
113759
112493
  }[]
113760
112494
  }
@@ -113767,52 +112501,18 @@ profileId: string
113767
112501
  }
113768
112502
 
113769
112503
  export interface TrackingProfilesDeleteOutput {
113770
- /**
113771
- * Always true: the response only exists when the erasure ran. A failure arrives as an error, not as ok=false.
113772
- */
113773
112504
  ok: true
113774
- /**
113775
- * What happened to the archived copy of the events. Postgres is erased synchronously; the archive is not, and this says so out loud.
113776
- */
113777
112505
  archive: {
113778
- /**
113779
- * Plain-language reason the archived copy could not be deleted in the same breath — text meant to be quoted into a compliance record.
113780
- */
113781
112506
  note: string
113782
- /**
113783
- * Always gap_flagged: the archived copy is known to still hold this person and the gap has been recorded rather than silently ignored.
113784
- */
113785
112507
  status: "gap_flagged"
113786
112508
  }
113787
- /**
113788
- * How much was actually destroyed, by kind. Worth recording: it is the evidence that the erasure did something.
113789
- */
113790
112509
  deleted: {
113791
- /**
113792
- * Tracked events removed, found through the anonymous ids this person browsed under.
113793
- */
113794
112510
  events: number
113795
- /**
113796
- * Merge records removed — the history of this person having been joined with another.
113797
- */
113798
112511
  merges: number
113799
- /**
113800
- * Profile rows removed: 1 in practice, and 0 only if the row vanished between the lookup and the delete.
113801
- */
113802
112512
  profile: number
113803
- /**
113804
- * Emails, phones, anonymous ids and click ids removed for this person.
113805
- */
113806
112513
  identifiers: number
113807
112514
  }
113808
- /**
113809
- * The person who was erased. Nothing else of them remains, so this is all there is left to name them by.
113810
- */
113811
112515
  profileId: string
113812
- /**
113813
- * This erasure attempt. The completion event carries the same value under the same name, so a step recognises its own completion even when another workflow is erasing the same person at the same moment.
113814
- */
113815
- requestId: string
113816
112516
  }
113817
112517
 
113818
112518
  export interface TrackingProfilesExportInput {
@@ -113823,172 +112523,52 @@ profileId: string
113823
112523
  }
113824
112524
 
113825
112525
  export interface TrackingProfilesExportOutput {
113826
- /**
113827
- * The complete history, newest event first, capped at 50000 events — check `truncated` before treating it as complete.
113828
- */
113829
112526
  journey: {
113830
- /**
113831
- * When the event happened, ISO 8601 UTC. The journey is ordered by this, newest first.
113832
- */
113833
112527
  ts: string
113834
- /**
113835
- * Opaque handle for this one event, unique inside the product. Use it to deduplicate, not to sort — it carries no order.
113836
- */
113837
112528
  ref: string
113838
- /**
113839
- * Full address of the page, query string included. Personal data — it can carry an email in a link. Null off-page.
113840
- */
113841
112529
  url: (string | null)
113842
- /**
113843
- * What happened, as the tracking snippet named it: page_view, signup, purchase, or any custom name the product sends.
113844
- */
113845
112530
  name: string
113846
- /**
113847
- * Custom properties the product attached to this event. Free-form: the keys are whatever the snippet sent, and they differ by event name.
113848
- */
113849
112531
  props: {
113850
112532
  [k: string]: unknown
113851
112533
  }
113852
- /**
113853
- * Title of the page as the browser reported it. Null off-page.
113854
- */
113855
112534
  title: (string | null)
113856
- /**
113857
- * Hostname the event was sent from. Null for an event with no page behind it, such as a server-side call.
113858
- */
113859
112535
  domain: (string | null)
113860
- /**
113861
- * Campaign tags and ad click carried by this event, as they were on the URL at the time.
113862
- */
113863
112536
  source: {
113864
- /**
113865
- * The ad click identifier on this URL, raw. Personal data: it resolves to one individual inside the ad network.
113866
- */
113867
112537
  clickId: (string | null)
113868
- /**
113869
- * utm_term on the URL of this event — the keyword bought, on a paid-search arrival.
113870
- */
113871
112538
  utmTerm: (string | null)
113872
- /**
113873
- * utm_medium on the URL of this event.
113874
- */
113875
112539
  utmMedium: (string | null)
113876
- /**
113877
- * utm_source on the URL of THIS event — the campaign at this moment, not the one that first acquired the person.
113878
- */
113879
112540
  utmSource: (string | null)
113880
- /**
113881
- * utm_content on the URL of this event — which creative or link variant was clicked.
113882
- */
113883
112541
  utmContent: (string | null)
113884
- /**
113885
- * Which ad network stamped the click id below: gclid for Google Ads, fbclid for Meta. Null on a non-ad arrival.
113886
- */
113887
112542
  clickIdType: (string | null)
113888
- /**
113889
- * utm_campaign on the URL of this event.
113890
- */
113891
112543
  utmCampaign: (string | null)
113892
112544
  }
113893
- /**
113894
- * Two-letter ISO 3166-1 country the request came from, resolved from the IP at collection time. Null when it could not be resolved.
113895
- */
113896
112545
  country: (string | null)
113897
- /**
113898
- * Where the person came from immediately before this event. Null on a direct arrival or off-page.
113899
- */
113900
112546
  referrer: (string | null)
113901
- /**
113902
- * Handle for the browsing session this event belongs to; events sharing it happened in one sitting. Null for an event collected outside a session.
113903
- */
113904
112547
  sessionId: (string | null)
113905
112548
  }[]
113906
- /**
113907
- * The person themselves: their handle, how far they have come, and when they were seen.
113908
- */
113909
112549
  profile: {
113910
- /**
113911
- * How far the person has come: anonymous = only a browser behind them, identified = an email or phone is known, customer = they have paid at least once.
113912
- */
113913
112550
  status: ("anonymous" | "identified" | "customer")
113914
- /**
113915
- * When this product first created the profile row, ISO 8601 UTC. Later than firstSeenAt when events were backfilled.
113916
- */
113917
112551
  createdAt: string
113918
- /**
113919
- * Stable handle for this person inside the product. Pass it to any other people step; it survives identity merges.
113920
- */
113921
112552
  profileId: string
113922
- /**
113923
- * Timestamp of their most recent event, ISO 8601 UTC — the freshness of everything else here.
113924
- */
113925
112553
  lastSeenAt: string
113926
- /**
113927
- * Timestamp of the earliest event on record for this person, ISO 8601 UTC.
113928
- */
113929
112554
  firstSeenAt: string
113930
112555
  }
113931
- /**
113932
- * Everything known about who this person is: the addresses they have been identified by, the ad clicks they arrived by, and the sites they were seen on. Every part of it is a list, and none of the lists names a primary.
113933
- */
113934
112556
  signals: {
113935
- /**
113936
- * Every email this person has ever been identified by. Stably ordered for display and diffing — the position of an address says NOTHING about which one to contact, and this toolkit holds no primary. Usually one entry; a person who signed up twice has several.
113937
- */
113938
112557
  emails: string[]
113939
- /**
113940
- * Every phone number this person has been identified by. Stably ordered for display and diffing only, with no primary among them.
113941
- */
113942
112558
  phones: string[]
113943
- /**
113944
- * Distinct hostnames this person browsed, taken from their events — not an identifier type, just where they were.
113945
- */
113946
112559
  domains: string[]
113947
- /**
113948
- * Every ad click this person arrived by, stably ordered and with no primary among them. Personal data: a click id resolves to one individual inside the ad network.
113949
- */
113950
112560
  clickIds: {
113951
- /**
113952
- * Which ad network the click came from — gclid for Google Ads, fbclid for Meta. Open set.
113953
- */
113954
112561
  type: string
113955
- /**
113956
- * The click identifier itself, raw, as the network stamped it on the landing URL.
113957
- */
113958
112562
  value: string
113959
112563
  }[]
113960
112564
  }
113961
- /**
113962
- * True when the history hit the 50000-event cap and older events were left out. False means this export is everything held.
113963
- */
113964
112565
  truncated: boolean
113965
- /**
113966
- * When this export was produced, ISO 8601 UTC — the as-of date to put on a subject-access response.
113967
- */
113968
112566
  exportedAt: string
113969
- /**
113970
- * First touch: the campaign that brought this person in, frozen at their earliest event and never overwritten by later visits. Null for a person with no events at all.
113971
- */
113972
112567
  acquisition: ({
113973
- /**
113974
- * Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
113975
- */
113976
112568
  utmMedium: (string | null)
113977
- /**
113978
- * Where the person came from on their very first visit — the utm_source of their earliest event. Null when they arrived with no campaign tags.
113979
- */
113980
112569
  utmSource: (string | null)
113981
- /**
113982
- * Which ad network stamped the click that brought them in — gclid for Google Ads, fbclid for Meta. Null for a non-ad arrival. Open set: new networks appear without a release here.
113983
- */
113984
112570
  clickIdType: (string | null)
113985
- /**
113986
- * When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
113987
- */
113988
112571
  firstSeenAt: string
113989
- /**
113990
- * Campaign of that same first visit (utm_campaign). Null when untagged.
113991
- */
113992
112572
  utmCampaign: (string | null)
113993
112573
  } | null)
113994
112574
  }
@@ -114003,228 +112583,78 @@ profileId: string
114003
112583
  */
114004
112584
  journeyLimit?: number
114005
112585
  /**
114006
- * Continue paging back through the journey: pass the cursor the previous page returned. Omit to start at the most recent event.
112586
+ * Opaque cursor to page further back through the journey
114007
112587
  */
114008
112588
  journeyCursor?: string
114009
112589
  }
114010
112590
 
114011
112591
  export interface TrackingProfilesGetOutput {
114012
- /**
114013
- * Lifetime value of this person, per currency. Null when revenue tracking is not in use for the product.
114014
- */
114015
112592
  ltv: ({
114016
- /**
114017
- * One row per currency this person has paid in. Empty for someone who never paid; there is no cross-currency total, because converting would need a rate this toolkit does not hold.
114018
- */
114019
112593
  entries: {
114020
- /**
114021
- * ISO 4217 code the amounts beside it are denominated in, e.g. EUR. One entry per code the person ever paid in.
114022
- */
114023
112594
  currency: string
114024
- /**
114025
- * What the business actually kept: gross minus refunded, in minor units. This is the number to rank customers by.
114026
- */
114027
112595
  netMinor: number
114028
- /**
114029
- * Everything the person was ever charged, in minor units (1250 = 12.50 EUR). Refunds are not subtracted here.
114030
- */
114031
112596
  grossMinor: number
114032
- /**
114033
- * Their most recent payment in this currency, ISO 8601 UTC — how live the relationship is.
114034
- */
114035
112597
  lastPaymentAt: (string | null)
114036
- /**
114037
- * How much of the gross went back to them, in minor units. Zero for a person who never had a refund.
114038
- */
114039
112598
  refundedMinor: number
114040
- /**
114041
- * When this person first paid in this currency, ISO 8601 UTC. Null when the totals were computed without a dated payment.
114042
- */
114043
112599
  firstPaymentAt: (string | null)
114044
112600
  }[]
114045
- /**
114046
- * The person these totals belong to — the same handle as profile.profileId.
114047
- */
114048
112601
  profileId: string
114049
- /**
114050
- * When these totals were last recomputed, ISO 8601 UTC. Null when they have never been computed.
114051
- */
114052
112602
  computedAt: (string | null)
114053
112603
  } | null)
114054
- /**
114055
- * What this person did, newest first, one page at a time. Use the export step instead when the whole history is wanted in one go.
114056
- */
114057
112604
  journey: {
114058
- /**
114059
- * Pass back as `journeyCursor` to page further back in time. Null once the journey is exhausted.
114060
- */
114061
112605
  cursor: (string | null)
114062
- /**
114063
- * This page of the journey, newest event first.
114064
- */
114065
112606
  events: {
114066
- /**
114067
- * When the event happened, ISO 8601 UTC. The journey is ordered by this, newest first.
114068
- */
114069
112607
  ts: string
114070
- /**
114071
- * Opaque handle for this one event, unique inside the product. Use it to deduplicate, not to sort — it carries no order.
114072
- */
114073
112608
  ref: string
114074
- /**
114075
- * Full address of the page, query string included. Personal data — it can carry an email in a link. Null off-page.
114076
- */
114077
112609
  url: (string | null)
114078
- /**
114079
- * What happened, as the tracking snippet named it: page_view, signup, purchase, or any custom name the product sends.
114080
- */
114081
112610
  name: string
114082
- /**
114083
- * Custom properties the product attached to this event. Free-form: the keys are whatever the snippet sent, and they differ by event name.
114084
- */
114085
112611
  props: {
114086
112612
  [k: string]: unknown
114087
112613
  }
114088
- /**
114089
- * Title of the page as the browser reported it. Null off-page.
114090
- */
114091
112614
  title: (string | null)
114092
- /**
114093
- * Hostname the event was sent from. Null for an event with no page behind it, such as a server-side call.
114094
- */
114095
112615
  domain: (string | null)
114096
- /**
114097
- * Campaign tags and ad click carried by this event, as they were on the URL at the time.
114098
- */
114099
112616
  source: {
114100
- /**
114101
- * The ad click identifier on this URL, raw. Personal data: it resolves to one individual inside the ad network.
114102
- */
114103
112617
  clickId: (string | null)
114104
- /**
114105
- * utm_term on the URL of this event — the keyword bought, on a paid-search arrival.
114106
- */
114107
112618
  utmTerm: (string | null)
114108
- /**
114109
- * utm_medium on the URL of this event.
114110
- */
114111
112619
  utmMedium: (string | null)
114112
- /**
114113
- * utm_source on the URL of THIS event — the campaign at this moment, not the one that first acquired the person.
114114
- */
114115
112620
  utmSource: (string | null)
114116
- /**
114117
- * utm_content on the URL of this event — which creative or link variant was clicked.
114118
- */
114119
112621
  utmContent: (string | null)
114120
- /**
114121
- * Which ad network stamped the click id below: gclid for Google Ads, fbclid for Meta. Null on a non-ad arrival.
114122
- */
114123
112622
  clickIdType: (string | null)
114124
- /**
114125
- * utm_campaign on the URL of this event.
114126
- */
114127
112623
  utmCampaign: (string | null)
114128
112624
  }
114129
- /**
114130
- * Two-letter ISO 3166-1 country the request came from, resolved from the IP at collection time. Null when it could not be resolved.
114131
- */
114132
112625
  country: (string | null)
114133
- /**
114134
- * Where the person came from immediately before this event. Null on a direct arrival or off-page.
114135
- */
114136
112626
  referrer: (string | null)
114137
- /**
114138
- * Handle for the browsing session this event belongs to; events sharing it happened in one sitting. Null for an event collected outside a session.
114139
- */
114140
112627
  sessionId: (string | null)
114141
112628
  }[]
114142
112629
  }
114143
- /**
114144
- * The person themselves: their handle, how far they have come, and when they were seen.
114145
- */
114146
112630
  profile: {
114147
- /**
114148
- * How far the person has come: anonymous = only a browser behind them, identified = an email or phone is known, customer = they have paid at least once.
114149
- */
114150
112631
  status: ("anonymous" | "identified" | "customer")
114151
- /**
114152
- * When this product first created the profile row, ISO 8601 UTC. Later than firstSeenAt when events were backfilled.
114153
- */
114154
112632
  createdAt: string
114155
- /**
114156
- * Stable handle for this person inside the product. Pass it to any other people step; it survives identity merges.
114157
- */
114158
112633
  profileId: string
114159
- /**
114160
- * Timestamp of their most recent event, ISO 8601 UTC — the freshness of everything else here.
114161
- */
114162
112634
  lastSeenAt: string
114163
- /**
114164
- * Timestamp of the earliest event on record for this person, ISO 8601 UTC.
114165
- */
114166
112635
  firstSeenAt: string
114167
112636
  }
114168
- /**
114169
- * Everything known about who this person is: the addresses they have been identified by, the ad clicks they arrived by, and the sites they were seen on. Every part of it is a list, and none of the lists names a primary.
114170
- */
114171
112637
  signals: {
114172
- /**
114173
- * Every email this person has ever been identified by. Stably ordered for display and diffing — the position of an address says NOTHING about which one to contact, and this toolkit holds no primary. Usually one entry; a person who signed up twice has several.
114174
- */
114175
112638
  emails: string[]
114176
- /**
114177
- * Every phone number this person has been identified by. Stably ordered for display and diffing only, with no primary among them.
114178
- */
114179
112639
  phones: string[]
114180
- /**
114181
- * Distinct hostnames this person browsed, taken from their events — not an identifier type, just where they were.
114182
- */
114183
112640
  domains: string[]
114184
- /**
114185
- * Every ad click this person arrived by, stably ordered and with no primary among them. Personal data: a click id resolves to one individual inside the ad network.
114186
- */
114187
112641
  clickIds: {
114188
- /**
114189
- * Which ad network the click came from — gclid for Google Ads, fbclid for Meta. Open set.
114190
- */
114191
112642
  type: string
114192
- /**
114193
- * The click identifier itself, raw, as the network stamped it on the landing URL.
114194
- */
114195
112643
  value: string
114196
112644
  }[]
114197
112645
  }
114198
- /**
114199
- * First touch: the campaign that brought this person in, frozen at their earliest event and never overwritten by later visits. Null for a person with no events at all.
114200
- */
114201
112646
  acquisition: ({
114202
- /**
114203
- * Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
114204
- */
114205
112647
  utmMedium: (string | null)
114206
- /**
114207
- * Where the person came from on their very first visit — the utm_source of their earliest event. Null when they arrived with no campaign tags.
114208
- */
114209
112648
  utmSource: (string | null)
114210
- /**
114211
- * Which ad network stamped the click that brought them in — gclid for Google Ads, fbclid for Meta. Null for a non-ad arrival. Open set: new networks appear without a release here.
114212
- */
114213
112649
  clickIdType: (string | null)
114214
- /**
114215
- * When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
114216
- */
114217
112650
  firstSeenAt: string
114218
- /**
114219
- * Campaign of that same first visit (utm_campaign). Null when untagged.
114220
- */
114221
112651
  utmCampaign: (string | null)
114222
112652
  } | null)
114223
112653
  }
114224
112654
 
114225
112655
  export interface TrackingProfilesListInput {
114226
112656
  /**
114227
- * Email to search people by — the whole address by default, or its beginning when emailMatch is prefix. Omit to search across everyone.
112657
+ * Exact email to find (case-insensitive), or a prefix when emailMatch=prefix
114228
112658
  */
114229
112659
  email?: string
114230
112660
  /**
@@ -114232,363 +112662,132 @@ email?: string
114232
112662
  */
114233
112663
  limit?: number
114234
112664
  /**
114235
- * Continue a previous page: pass the cursor that page returned. Omit to start from the most recently seen person.
112665
+ * Opaque pagination cursor from a previous response
114236
112666
  */
114237
112667
  cursor?: string
114238
112668
  /**
114239
- * Keep only people at this stage — anonymous, identified or customer. Omit to get all three.
112669
+ * Filter by profile status
114240
112670
  */
114241
112671
  status?: ("anonymous" | "identified" | "customer")
114242
112672
  /**
114243
- * How the email filter is matched: exact (default) compares the whole address case-insensitively, prefix matches everyone whose address starts with what you typed.
112673
+ * How to match the email filter
114244
112674
  */
114245
112675
  emailMatch?: ("exact" | "prefix")
114246
112676
  }
114247
112677
 
114248
112678
  export interface TrackingProfilesListOutput {
114249
- /**
114250
- * Pass this back as `cursor` to fetch the next page. Null on the last page — that null is how a loop knows to stop.
114251
- */
114252
112679
  cursor: (string | null)
114253
- /**
114254
- * The page of people, most recently seen first. Shorter than the requested limit on the last page.
114255
- */
114256
112680
  profiles: {
114257
- /**
114258
- * Every email this person has been identified by. Stably ordered for display, with no primary among them — position 0 is not the address to contact.
114259
- */
114260
112681
  emails: string[]
114261
- /**
114262
- * How far this person has come: anonymous = only a browser, identified = an email or phone is known, customer = they have paid.
114263
- */
114264
112682
  status: ("anonymous" | "identified" | "customer")
114265
- /**
114266
- * Stable handle for this person. Feed it to a get, export or erase step.
114267
- */
114268
112683
  profileId: string
114269
- /**
114270
- * Timestamp of their most recent event, ISO 8601 UTC. The page is ordered by this, newest first.
114271
- */
114272
112684
  lastSeenAt: string
114273
- /**
114274
- * First touch: the campaign that brought this person in, frozen at their earliest event and never overwritten by later visits. Null for a person with no events at all.
114275
- */
114276
112685
  acquisition: ({
114277
- /**
114278
- * Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
114279
- */
114280
112686
  utmMedium: (string | null)
114281
- /**
114282
- * Where the person came from on their very first visit — the utm_source of their earliest event. Null when they arrived with no campaign tags.
114283
- */
114284
112687
  utmSource: (string | null)
114285
- /**
114286
- * Which ad network stamped the click that brought them in — gclid for Google Ads, fbclid for Meta. Null for a non-ad arrival. Open set: new networks appear without a release here.
114287
- */
114288
112688
  clickIdType: (string | null)
114289
- /**
114290
- * When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
114291
- */
114292
112689
  firstSeenAt: string
114293
- /**
114294
- * Campaign of that same first visit (utm_campaign). Null when untagged.
114295
- */
114296
112690
  utmCampaign: (string | null)
114297
112691
  } | null)
114298
- /**
114299
- * Timestamp of their earliest event, ISO 8601 UTC.
114300
- */
114301
112692
  firstSeenAt: string
114302
112693
  }[]
114303
112694
  }
114304
112695
 
114305
112696
  export interface TrackingReportsAttributedJourneyInput {
114306
- /**
114307
- * Show only journey events at or before this instant (ISO). Omit for the whole history.
114308
- */
114309
112697
  to?: string
114310
- /**
114311
- * Show only journey events at or after this instant (ISO). Omit for the whole history.
114312
- */
114313
112698
  from?: string
114314
- /**
114315
- * Attribution model to explain the decision under; re-reads the same history, so switching it is free (default 'last_click').
114316
- */
114317
112699
  model?: ("last_click" | "first_click")
114318
112700
  /**
114319
112701
  * The profile id (uuid)
114320
112702
  */
114321
112703
  profileId: string
114322
- /**
114323
- * How far back before the conversion a touchpoint may be credited, in days (default 30).
114324
- */
114325
112704
  lookbackDays?: number
114326
112705
  }
114327
112706
 
114328
112707
  export interface TrackingReportsAttributedJourneyOutput {
114329
- /**
114330
- * What this person actually did, in order.
114331
- */
114332
112708
  journey: {
114333
- /**
114334
- * Every tracked event for this person inside the requested window, oldest first.
114335
- */
114336
112709
  events: {
114337
- /**
114338
- * When the event happened (ISO 8601, UTC). Events are ordered oldest first.
114339
- */
114340
112710
  ts: string
114341
- /**
114342
- * Handle for this event within the journey; `decisions[].winnerRef` points back at one of these to name the winning touchpoint.
114343
- */
114344
112711
  ref: string
114345
- /**
114346
- * Page address the event fired on. Free text from the customer site, so it can carry personal data.
114347
- */
114348
112712
  url: (string | null)
114349
- /**
114350
- * Event name as sent by the site, e.g. 'pageview' or a custom conversion name.
114351
- */
114352
112713
  name: string
114353
- /**
114354
- * Custom properties the site attached to this event. Shape is the customer's, so it can carry anything, personal data included.
114355
- */
114356
112714
  props: {
114357
112715
  [k: string]: unknown
114358
112716
  }
114359
- /**
114360
- * Document title of that page. Free text from the customer site, so it can carry personal data.
114361
- */
114362
112717
  title: (string | null)
114363
- /**
114364
- * Site the event came from; null when the tracker could not determine one.
114365
- */
114366
112718
  domain: (string | null)
114367
- /**
114368
- * Where this event's visit came from, as read off the landing URL. Every field is null when the visit carried nothing.
114369
- */
114370
112719
  source: {
114371
- /**
114372
- * The click id value itself. Identifies one ad click by this person, so treat it as personal data.
114373
- */
114374
112720
  clickId: (string | null)
114375
- /**
114376
- * utm_term of the landing URL, the paid keyword; null when absent.
114377
- */
114378
112721
  utmTerm: (string | null)
114379
- /**
114380
- * utm_medium of the landing URL; null when absent.
114381
- */
114382
112722
  utmMedium: (string | null)
114383
- /**
114384
- * utm_source of the landing URL; null when absent.
114385
- */
114386
112723
  utmSource: (string | null)
114387
- /**
114388
- * utm_content of the landing URL, the creative variant; null when absent.
114389
- */
114390
112724
  utmContent: (string | null)
114391
- /**
114392
- * Which ad-network click id was present, e.g. 'gclid'; null when the visit carried none.
114393
- */
114394
112725
  clickIdType: (string | null)
114395
- /**
114396
- * utm_campaign of the landing URL; null when absent.
114397
- */
114398
112726
  utmCampaign: (string | null)
114399
112727
  }
114400
- /**
114401
- * Two-letter ISO 3166-1 alpha-2 country resolved from the request, e.g. DE; null when it could not be resolved.
114402
- */
114403
112728
  country: (string | null)
114404
- /**
114405
- * Address the visitor arrived from; null on a direct visit. Free text from the customer site, so it can carry personal data.
114406
- */
114407
112729
  referrer: (string | null)
114408
- /**
114409
- * Visit this event belongs to; events sharing one happened in the same sitting. Null when no session could be established.
114410
- */
114411
112730
  sessionId: (string | null)
114412
112731
  }[]
114413
112732
  }
114414
- /**
114415
- * Holds at most one entry: the decision for this person's originating conversion, present only when that conversion falls inside the requested window. Kept as a list for callers that already read it; `originatingDecision` is the same value at a bindable path.
114416
- */
114417
- decisions: TrackingReportsAttributedJourneyOutputItems[]
114418
- /**
114419
- * The person this journey belongs to, echoed back from the request.
114420
- */
114421
- profileId: string
114422
- /**
114423
- * The attribution decision for this person's originating conversion — the same value as `decisions[0]`, at a path a workflow can bind. Null means the decision is not in THIS window, not that the person never converted: a conversion before `from` or after `to` is excluded here while still being their originating one. Widen the window to see it.
114424
- */
114425
- originatingDecision: (TrackingReportsAttributedJourneyOutputItems | null)
114426
- }
114427
- export interface TrackingReportsAttributedJourneyOutputItems {
114428
- /**
114429
- * Attribution model the winner was picked under, echoed back from the request.
114430
- */
112733
+ decisions: {
114431
112734
  model: ("last_click" | "first_click")
114432
- /**
114433
- * Why this touchpoint won, or why nothing did, in a sentence a person can read.
114434
- */
114435
112735
  reason: string
114436
- /**
114437
- * Revenue of that conversion, one row per currency.
114438
- */
114439
112736
  revenue: {
114440
- /**
114441
- * ISO 4217 code the amounts below are denominated in, e.g. EUR.
114442
- */
114443
112737
  currency: string
114444
- /**
114445
- * `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
114446
- */
114447
112738
  netMinor: number
114448
- /**
114449
- * Billed amount before refunds, in minor units of `currency` (cents for EUR).
114450
- */
114451
112739
  grossMinor: number
114452
- /**
114453
- * Amount refunded out of `grossMinor`, in minor units of `currency`.
114454
- */
114455
112740
  refundedMinor: number
114456
112741
  }[]
114457
- /**
114458
- * `journey.events[].ref` of the touchpoint that won the credit. Null when nothing inside the window qualified.
114459
- */
114460
112742
  winnerRef: (string | null)
114461
- /**
114462
- * When the conversion this decision explains happened (ISO 8601, UTC).
114463
- */
114464
112743
  conversionTs: string
114465
- /**
114466
- * How far back before `conversionTs` a touchpoint was allowed to be credited, in days; echoed back.
114467
- */
114468
112744
  lookbackDays: number
114469
- /**
114470
- * The winning touchpoint spelled out, so a reader need not resolve `winnerRef`. Null exactly when `winnerRef` is null.
114471
- */
114472
112745
  winningTouchpoint: ({
114473
- /**
114474
- * When the winning touchpoint happened (ISO 8601, UTC).
114475
- */
114476
112746
  ts: string
114477
- /**
114478
- * Channel the winning touchpoint belongs to.
114479
- */
114480
112747
  channel: ("paid" | "organic" | "direct" | "email")
114481
- /**
114482
- * utm_medium of the winning touchpoint; null when it carried none.
114483
- */
114484
112748
  utmMedium: (string | null)
114485
- /**
114486
- * utm_source of the winning touchpoint; null when it carried none.
114487
- */
114488
112749
  utmSource: (string | null)
114489
- /**
114490
- * Campaign id carried by our own `_lt_campaign` landing-URL parameter; null when the visit carried none.
114491
- */
114492
- ltCampaign?: (string | null)
114493
- /**
114494
- * Ad-network click id present on the winning touchpoint, e.g. 'gclid'; null when it carried none.
114495
- */
114496
112750
  clickIdType: (string | null)
114497
- /**
114498
- * utm_campaign of the winning touchpoint; null when it carried none.
114499
- */
114500
112751
  utmCampaign: (string | null)
114501
112752
  } | null)
112753
+ }[]
112754
+ profileId: string
114502
112755
  }
114503
112756
 
114504
112757
  export interface TrackingReportsEventVolumeInput {
114505
- /**
114506
- * End of the range to count, inclusive (ISO 8601). Optional — defaults to the moment of the call.
114507
- */
114508
- to?: string
114509
- /**
114510
- * Start of the range to count, inclusive (ISO 8601). Optional — defaults to 30 days back, the start of that UTC day.
114511
- */
114512
- from?: string
114513
- /**
114514
- * Count only this site. Omit to count every site the product sends from.
114515
- */
112758
+ to: string
112759
+ from: string
114516
112760
  domain?: string
114517
112761
  }
114518
112762
 
114519
112763
  export interface TrackingReportsEventVolumeOutput {
114520
- /**
114521
- * End of the range the figures cover, echoed back (ISO 8601, UTC).
114522
- */
114523
112764
  to: string
114524
- /**
114525
- * Start of the range the figures cover, echoed back (ISO 8601, UTC).
114526
- */
114527
112765
  from: string
114528
- /**
114529
- * Site the figures were restricted to; null when every site of the product is included.
114530
- */
114531
112766
  domain: (string | null)
114532
- /**
114533
- * When this report was computed (ISO 8601, UTC).
114534
- */
114535
112767
  computedAt: string
114536
- /**
114537
- * How COMPLETE the two headline figures above are. Contains no metric of its own — never present a field of it as a headline number and never add it to anything. consentGrantedEvents + cookielessEvents + noBannerEvents = totalEvents.
114538
- */
114539
112768
  dataQuality: {
114540
- /**
114541
- * Fraction of `totalEvents` (0..1) that came from sites running no consent banner, where nobody was ever asked.
114542
- */
114543
112769
  noBannerShare: number
114544
- /**
114545
- * Events from sites with no consent banner. Kept apart from `cookielessEvents` on purpose: nobody refused here, nobody was asked.
114546
- */
114547
112770
  noBannerEvents: number
114548
- /**
114549
- * How many UTC days the range spans; each one re-counts a returning declining visitor.
114550
- */
114551
112771
  utcDaysInRange: number
114552
- /**
114553
- * Fraction of `totalEvents` (0..1) that came from visitors who declined statistics consent.
114554
- */
114555
112772
  cookielessShare: number
114556
- /**
114557
- * Events from visitors who declined; no cookie was written and no identifier sent.
114558
- */
114559
112773
  cookielessEvents: number
114560
- /**
114561
- * Events carrying an anonymous id. A different cut that overlaps the three consent buckets — it is not the complement of `cookielessEvents` and must never be added to it.
114562
- */
114563
112774
  identifiedEvents: number
114564
- /**
114565
- * True when `visitorsDeduplicatedPerUtcDay` over-counts for this range: the range spans more than one UTC day and there is declining traffic in it.
114566
- */
114567
112775
  visitorsOverstated: boolean
114568
- /**
114569
- * Events from visitors who granted statistics consent.
114570
- */
114571
112776
  consentGrantedEvents: number
114572
112777
  }
114573
- /**
114574
- * How many events arrived in the range, across every consent state.
114575
- */
114576
112778
  totalEvents: number
114577
- /**
114578
- * How many PEOPLE those events came from: one COUNT DISTINCT over consenting visitors (by anonymous id) and declining visitors (by a daily key destroyed each UTC midnight) at once. Over a range longer than one UTC day this is an OVER-count of the declining half — read `dataQuality.visitorsOverstated` before reporting it.
114579
- */
114580
112779
  visitorsDeduplicatedPerUtcDay: number
114581
112780
  }
114582
112781
 
114583
112782
  export interface TrackingReportsRevenueBySourceInput {
114584
112783
  /**
114585
- * Cohort window end (ISO). Optional — defaults to the moment of the call.
112784
+ * Cohort window end (ISO)
114586
112785
  */
114587
- to?: string
112786
+ to: string
114588
112787
  /**
114589
- * Cohort window start (ISO); selects conversions by subscription start. Optional — defaults to 30 days back, the start of that UTC day.
112788
+ * Cohort window start (ISO); selects conversions by subscription start
114590
112789
  */
114591
- from?: string
112790
+ from: string
114592
112791
  /**
114593
112792
  * Attribution model
114594
112793
  */
@@ -114604,150 +112803,54 @@ lookbackDays?: number
114604
112803
  }
114605
112804
 
114606
112805
  export interface TrackingReportsRevenueBySourceOutput {
114607
- /**
114608
- * End of the cohort window the figures cover, echoed back (ISO 8601, UTC).
114609
- */
114610
112806
  to: string
114611
- /**
114612
- * Start of the cohort window the figures cover, echoed back (ISO 8601, UTC).
114613
- */
114614
112807
  from: string
114615
- /**
114616
- * Attribution model the credit was assigned under, echoed back. Pass the same value to `tracking_reports_source_people` to drill into a row.
114617
- */
114618
112808
  model: ("last_click" | "first_click")
114619
- /**
114620
- * Site touchpoints were restricted to; null when every site of the product was considered.
114621
- */
114622
112809
  domain: (string | null)
114623
- /**
114624
- * Every channel plus `unattributed`. This is the whole window, not the attributed part of it.
114625
- */
114626
112810
  totals: {
114627
- /**
114628
- * Revenue over every channel plus `unattributed`, one row per currency.
114629
- */
114630
112811
  revenue: TrackingReportsRevenueBySourceOutputItems[]
114631
- /**
114632
- * Distinct paying people over every channel plus `unattributed`.
114633
- */
114634
112812
  customers: number
114635
112813
  }
114636
- /**
114637
- * One row per channel that earned revenue in the window. Channels with none are omitted.
114638
- */
114639
112814
  channels: {
114640
- /**
114641
- * Which acquisition channel this row aggregates.
114642
- */
114643
112815
  channel: ("paid" | "organic" | "direct" | "email")
114644
- /**
114645
- * Revenue credited to this channel, one row per currency, ordered by currency code. Currencies are never summed, so there is no single figure here: a product trading in two currencies has two rows and both must be reported.
114646
- */
114647
112816
  revenue: TrackingReportsRevenueBySourceOutputItems[]
114648
- /**
114649
- * Distinct paying people credited to this channel.
114650
- */
114651
112817
  customers: number
114652
- /**
114653
- * The channel split by UTM combination. Each row is a drill-down target for `tracking_reports_source_people`.
114654
- */
114655
112818
  utmBreakdown: {
114656
- /**
114657
- * Revenue credited to this UTM combination, one row per currency.
114658
- */
114659
112819
  revenue: TrackingReportsRevenueBySourceOutputItems[]
114660
- /**
114661
- * Distinct paying people credited to this UTM combination.
114662
- */
114663
112820
  customers: number
114664
- /**
114665
- * utm_medium of this row; null when the visit carried none.
114666
- */
114667
112821
  utmMedium: (string | null)
114668
- /**
114669
- * utm_source of this row; null when the visit carried none.
114670
- */
114671
112822
  utmSource: (string | null)
114672
- /**
114673
- * Ad-network click id present on the visit, e.g. 'gclid'; null when it carried none.
114674
- */
114675
112823
  clickIdType: (string | null)
114676
- /**
114677
- * utm_campaign of this row; null when the visit carried none.
114678
- */
114679
112824
  utmCampaign: (string | null)
114680
112825
  }[]
114681
112826
  }[]
114682
- /**
114683
- * Fraction of paying people (0..1) a touchpoint could be found for: attributed customers over `totals.customers`. Count-based, never revenue-weighted.
114684
- */
114685
112827
  matchRate: number
114686
- /**
114687
- * When this report was computed (ISO 8601, UTC).
114688
- */
114689
112828
  computedAt: string
114690
- /**
114691
- * How far back before a conversion a touchpoint was allowed to be credited, in days; echoed back.
114692
- */
114693
112829
  lookbackDays: number
114694
- /**
114695
- * Revenue that reached no channel — kept as its own row so the channel rows are never quietly inflated to cover it.
114696
- */
114697
112830
  unattributed: {
114698
- /**
114699
- * Revenue no touchpoint could be credited for, one row per currency.
114700
- */
114701
112831
  revenue: TrackingReportsRevenueBySourceOutputItems[]
114702
- /**
114703
- * Distinct paying people no touchpoint could be credited for.
114704
- */
114705
112832
  customers: number
114706
112833
  }
114707
112834
  }
114708
112835
  export interface TrackingReportsRevenueBySourceOutputItems {
114709
- /**
114710
- * ISO 4217 code the amounts below are denominated in, e.g. EUR.
114711
- */
114712
112836
  currency: string
114713
- /**
114714
- * `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
114715
- */
114716
112837
  netMinor: number
114717
- /**
114718
- * Billed amount before refunds, in minor units of `currency` (cents for EUR).
114719
- */
114720
112838
  grossMinor: number
114721
- /**
114722
- * Amount refunded out of `grossMinor`, in minor units of `currency`.
114723
- */
114724
112839
  refundedMinor: number
114725
112840
  }
114726
112841
 
114727
112842
  export interface TrackingReportsSourcePeopleInput {
114728
- /**
114729
- * Cohort window end (ISO); must match the report this row came from. Optional — defaults to the moment of the call.
114730
- */
114731
- to?: string
114732
- /**
114733
- * Cohort window start (ISO); must match the report this row came from. Optional — defaults to 30 days back, the start of that UTC day.
114734
- */
114735
- from?: string
112843
+ to: string
112844
+ from: string
114736
112845
  /**
114737
112846
  * People per page (default 50, max 200)
114738
112847
  */
114739
112848
  limit?: number
114740
- /**
114741
- * Attribution model to credit the touchpoint under; must match the report this row came from (default 'last_click').
114742
- */
114743
112849
  model?: ("last_click" | "first_click")
114744
112850
  /**
114745
112851
  * Opaque keyset cursor from a previous page
114746
112852
  */
114747
112853
  cursor?: string
114748
- /**
114749
- * Only consider touchpoints on this domain; must match the report this row came from. Omit for no restriction.
114750
- */
114751
112854
  domain?: string
114752
112855
  /**
114753
112856
  * Channel to drill into
@@ -114757,72 +112860,27 @@ channel: ("paid" | "organic" | "direct" | "email")
114757
112860
  * Comma-separated dimension names (utmSource,utmMedium,utmCampaign,clickIdType) that must be IS NULL
114758
112861
  */
114759
112862
  utmNulls?: string
114760
- /**
114761
- * utm_medium of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
114762
- */
114763
112863
  utmMedium?: string
114764
- /**
114765
- * utm_source of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
114766
- */
114767
112864
  utmSource?: string
114768
112865
  /**
114769
112866
  * Native click-id type of the breakdown row to drill into (e.g. 'gclid'). Tri-state: omit for no filter (all click ids), pass a value to match it, or list 'clickIdType' in utmNulls to match the IS-NULL row.
114770
112867
  */
114771
112868
  clickIdType?: string
114772
- /**
114773
- * utm_campaign of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
114774
- */
114775
112869
  utmCampaign?: string
114776
- /**
114777
- * How far back before a conversion a touchpoint may be credited, in days; must match the report this row came from (default 30).
114778
- */
114779
112870
  lookbackDays?: number
114780
112871
  }
114781
112872
 
114782
112873
  export interface TrackingReportsSourcePeopleOutput {
114783
- /**
114784
- * Pass back as `cursor` for the next page. Null on the last page.
114785
- */
114786
112874
  cursor: (string | null)
114787
- /**
114788
- * The page of people behind the requested row, ordered by the keyset the cursor walks.
114789
- */
114790
112875
  people: {
114791
- /**
114792
- * Where this person stands in their subscription lifecycle, e.g. active or churned.
114793
- */
114794
112876
  status: string
114795
- /**
114796
- * Identifier of this person; pass it to `tracking_reports_attributed_journey` to see why they were credited here.
114797
- */
114798
112877
  profileId: string
114799
- /**
114800
- * Most recent tracked activity for this person (ISO 8601, UTC); null when none was recorded.
114801
- */
114802
112878
  lastSeenAt: (string | null)
114803
- /**
114804
- * Earliest tracked activity for this person (ISO 8601, UTC); null when none was recorded.
114805
- */
114806
112879
  firstSeenAt: (string | null)
114807
- /**
114808
- * Lifetime revenue credited to this person under the requested model, one row per currency.
114809
- */
114810
112880
  attributedRevenue: {
114811
- /**
114812
- * ISO 4217 code the amounts below are denominated in, e.g. EUR.
114813
- */
114814
112881
  currency: string
114815
- /**
114816
- * `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
114817
- */
114818
112882
  netMinor: number
114819
- /**
114820
- * Billed amount before refunds, in minor units of `currency` (cents for EUR).
114821
- */
114822
112883
  grossMinor: number
114823
- /**
114824
- * Amount refunded out of `grossMinor`, in minor units of `currency`.
114825
- */
114826
112884
  refundedMinor: number
114827
112885
  }[]
114828
112886
  }[]
@@ -114833,21 +112891,9 @@ export interface TrackingSnippetsGetInput {
114833
112891
  }
114834
112892
 
114835
112893
  export interface TrackingSnippetsGetOutput {
114836
- /**
114837
- * Tracking host the snippet sends to — the customer-facing domain events and the bundle are served from.
114838
- */
114839
112894
  host: string
114840
- /**
114841
- * The tag to paste into every page, verbatim, before </head>. Includes the consent-aware bootstrap; install it unconditionally rather than behind a consent gate.
114842
- */
114843
112895
  snippet: string
114844
- /**
114845
- * Absolute URL of the tracker bundle the snippet loads; already points at this product's own tracking host.
114846
- */
114847
112896
  scriptUrl: string
114848
- /**
114849
- * The same tag stripped to the bare script element, for tag managers and CMS fields that reject anything else. Behaves identically; use it only when the full snippet will not fit.
114850
- */
114851
112897
  minimalSnippet: string
114852
112898
  }
114853
112899
 
@@ -114863,75 +112909,13 @@ type: ("server" | "publishable")
114863
112909
  }
114864
112910
 
114865
112911
  export interface UsersApikeysCreateOutput {
114866
- /**
114867
- * Id of the key. Pass it to users_apikeys_revoke.
114868
- */
114869
112912
  id: string
114870
- /**
114871
- * The full secret key, shown ONCE. Store it now — it is never returned again, and a lost key is replaced by minting a new one.
114872
- */
114873
112913
  key: string
114874
- /**
114875
- * The label a human gave this key — which backend or environment holds it.
114876
- */
114877
- name: string
114878
- /**
114879
- * `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
114880
- */
114881
- type: ("server" | "publishable")
114882
- /**
114883
- * The full value of a publishable key, which is not a secret. Null for a server key — that value exists in exactly one response, ever.
114884
- */
114885
- value: (string | null)
114886
- /**
114887
- * `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
114888
- */
114889
- prefix: string
114890
- /**
114891
- * When the key was issued (ISO 8601).
114892
- */
114893
- createdAt: string
114894
- /**
114895
- * When the key was revoked (ISO 8601). Null while it still works.
114896
- */
114897
- revokedAt: (string | null)
114898
- }
114899
-
114900
- export interface UsersApikeysGetInput {
114901
- /**
114902
- * Id of the key to read — the `id` from users_apikeys_list.
114903
- */
114904
- id: string
114905
- }
114906
-
114907
- export interface UsersApikeysGetOutput {
114908
- /**
114909
- * Id of the key. Pass it to users_apikeys_revoke.
114910
- */
114911
- id: string
114912
- /**
114913
- * The label a human gave this key — which backend or environment holds it.
114914
- */
114915
112914
  name: string
114916
- /**
114917
- * `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
114918
- */
114919
112915
  type: ("server" | "publishable")
114920
- /**
114921
- * The full value of a publishable key, which is not a secret. Null for a server key — that value exists in exactly one response, ever.
114922
- */
114923
112916
  value: (string | null)
114924
- /**
114925
- * `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
114926
- */
114927
112917
  prefix: string
114928
- /**
114929
- * When the key was issued (ISO 8601).
114930
- */
114931
112918
  createdAt: string
114932
- /**
114933
- * When the key was revoked (ISO 8601). Null while it still works.
114934
- */
114935
112919
  revokedAt: (string | null)
114936
112920
  }
114937
112921
 
@@ -114941,33 +112925,12 @@ export interface UsersApikeysListInput {
114941
112925
 
114942
112926
  export interface UsersApikeysListOutput {
114943
112927
  keys: {
114944
- /**
114945
- * Id of the key. Pass it to users_apikeys_revoke.
114946
- */
114947
112928
  id: string
114948
- /**
114949
- * The label a human gave this key — which backend or environment holds it.
114950
- */
114951
112929
  name: string
114952
- /**
114953
- * `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
114954
- */
114955
112930
  type: ("server" | "publishable")
114956
- /**
114957
- * The full value of a publishable key, which is not a secret. Null for a server key — that value exists in exactly one response, ever.
114958
- */
114959
112931
  value: (string | null)
114960
- /**
114961
- * `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
114962
- */
114963
112932
  prefix: string
114964
- /**
114965
- * When the key was issued (ISO 8601).
114966
- */
114967
112933
  createdAt: string
114968
- /**
114969
- * When the key was revoked (ISO 8601). Null while it still works.
114970
- */
114971
112934
  revokedAt: (string | null)
114972
112935
  }[]
114973
112936
  }
@@ -114980,13 +112943,7 @@ id: string
114980
112943
  }
114981
112944
 
114982
112945
  export interface UsersApikeysRevokeOutput {
114983
- /**
114984
- * Id of the key that was revoked.
114985
- */
114986
112946
  id: string
114987
- /**
114988
- * Always true — revocation is immediate and final.
114989
- */
114990
112947
  revoked: true
114991
112948
  }
114992
112949
 
@@ -115022,60 +112979,21 @@ targetType?: string
115022
112979
  }
115023
112980
 
115024
112981
  export interface UsersAuditListOutput {
115025
- /**
115026
- * The page of audit events, newest first.
115027
- */
115028
112982
  events: {
115029
- /**
115030
- * Id of this audit row.
115031
- */
115032
112983
  id: string
115033
- /**
115034
- * IP the action came from. Null when it was not an HTTP action.
115035
- */
115036
112984
  ip: (string | null)
115037
- /**
115038
- * What happened, as a dotted name — `user.created`, `passkey.deleted`, `email_change.override_applied`.
115039
- */
115040
112985
  action: string
115041
- /**
115042
- * Id of the actor. Null for a system action.
115043
- */
115044
112986
  actorId: (string | null)
115045
- /**
115046
- * Action-specific detail — the reason text, counts, whatever the action recorded.
115047
- */
115048
112987
  metadata: {
115049
112988
  [k: string]: unknown
115050
112989
  }
115051
- /**
115052
- * Id of the row the action was about. Null when there was none.
115053
- */
115054
112990
  targetId: (string | null)
115055
- /**
115056
- * Who acted: `operator` (a human or agent on the management plane), `end_user`, or `system`.
115057
- */
115058
112991
  actorType: ("operator" | "system" | "end_user")
115059
- /**
115060
- * When the action happened (ISO 8601).
115061
- */
115062
112992
  createdAt: string
115063
- /**
115064
- * Product the audited action happened in.
115065
- */
115066
112993
  productId: string
115067
- /**
115068
- * User agent the action came from. Null when none was sent.
115069
- */
115070
112994
  userAgent: (string | null)
115071
- /**
115072
- * What kind of row the action was about — `user` or `product`. Null when it was about nothing in particular.
115073
- */
115074
112995
  targetType: (string | null)
115075
112996
  }[]
115076
- /**
115077
- * Pass back as `cursor` to fetch the next page. Null when this page is the last.
115078
- */
115079
112997
  nextCursor: (string | null)
115080
112998
  }
115081
112999
 
@@ -116058,33 +113976,12 @@ userId: string
116058
113976
  }
116059
113977
 
116060
113978
  export interface UsersFactorsListOutput {
116061
- /**
116062
- * Every second factor this user has — types and status only, never material.
116063
- */
116064
113979
  factors: {
116065
- /**
116066
- * Kind of second factor: `totp` or `backup_codes`. No key material is ever returned.
116067
- */
116068
113980
  type: ("totp" | "backup_codes" | "webauthn")
116069
- /**
116070
- * Whether this factor is enrolled and usable, or still pending verification.
116071
- */
116072
113981
  status: ("unverified" | "verified")
116073
- /**
116074
- * When the factor was enrolled (ISO 8601).
116075
- */
116076
113982
  createdAt: string
116077
- /**
116078
- * `backup_codes` only: how many of the batch are still unspent. Null for any other factor type.
116079
- */
116080
113983
  remaining: (number | null)
116081
- /**
116082
- * When the factor was last used to sign in (ISO 8601). Null if it never was.
116083
- */
116084
113984
  lastUsedAt: (string | null)
116085
- /**
116086
- * When the user first proved the factor works (ISO 8601). Null while it is unverified.
116087
- */
116088
113985
  verifiedAt: (string | null)
116089
113986
  }[]
116090
113987
  }
@@ -116101,13 +113998,7 @@ userId: string
116101
113998
  }
116102
113999
 
116103
114000
  export interface UsersFactorsResetOutput {
116104
- /**
116105
- * Id of the scheduled reset. The same value arrives on `users/mfa.reset-settled`, which is what finishes this step.
116106
- */
116107
114001
  requestId: string
116108
- /**
116109
- * When the removal happens, if nobody aborts it first (ISO 8601). The delay is this product's, not a fixed one.
116110
- */
116111
114002
  scheduledFor: string
116112
114003
  }
116113
114004
 
@@ -116403,52 +114294,6 @@ signInFailureBaseline: (number | null)
116403
114294
  }
116404
114295
  }
116405
114296
 
116406
- export interface UsersPasskeysGetInput {
116407
- /**
116408
- * The end user the credential belongs to.
116409
- */
116410
- userId: string
116411
- /**
116412
- * Which credential to read — the `id` from `users_passkeys_list`.
116413
- */
116414
- passkeyId: string
116415
- }
116416
-
116417
- export interface UsersPasskeysGetOutput {
116418
- /**
116419
- * Id of the credential. Pass it to users_passkeys_revoke.
116420
- */
116421
- id: string
116422
- /**
116423
- * The name the user gave this credential, so a person can tell their devices apart. Null when they never named it.
116424
- */
116425
- name: (string | null)
116426
- /**
116427
- * The authenticator MODEL’s identifier, which says what kind of device this is, never which one. Null when the authenticator withheld it.
116428
- */
116429
- aaguid: (string | null)
116430
- /**
116431
- * True when the platform syncs this credential, so it survives losing the device. False means it lives on that device alone.
116432
- */
116433
- backedUp: boolean
116434
- /**
116435
- * When the credential was registered (ISO 8601).
116436
- */
116437
- createdAt: string
116438
- /**
116439
- * The authenticator’s own counter as of the last assertion. 0 when the authenticator does not count.
116440
- */
116441
- signCount: number
116442
- /**
116443
- * When it last signed in (ISO 8601). Null when it never has.
116444
- */
116445
- lastUsedAt: (string | null)
116446
- /**
116447
- * How this authenticator can be reached. Empty when the browser reported nothing — the vocabulary is the platform’s and grows, so it is not an enum.
116448
- */
116449
- transports: string[]
116450
- }
116451
-
116452
114297
  export interface UsersPasskeysListInput {
116453
114298
  /**
116454
114299
  * The end user whose passkeys to list.
@@ -116457,41 +114302,14 @@ userId: string
116457
114302
  }
116458
114303
 
116459
114304
  export interface UsersPasskeysListOutput {
116460
- /**
116461
- * The credentials this user has registered, newest first. Empty when they have none.
116462
- */
116463
114305
  passkeys: {
116464
- /**
116465
- * Id of the credential. Pass it to users_passkeys_revoke.
116466
- */
116467
114306
  id: string
116468
- /**
116469
- * The name the user gave this credential, so a person can tell their devices apart. Null when they never named it.
116470
- */
116471
114307
  name: (string | null)
116472
- /**
116473
- * The authenticator MODEL’s identifier, which says what kind of device this is, never which one. Null when the authenticator withheld it.
116474
- */
116475
114308
  aaguid: (string | null)
116476
- /**
116477
- * True when the platform syncs this credential, so it survives losing the device. False means it lives on that device alone.
116478
- */
116479
114309
  backedUp: boolean
116480
- /**
116481
- * When the credential was registered (ISO 8601).
116482
- */
116483
114310
  createdAt: string
116484
- /**
116485
- * The authenticator’s own counter as of the last assertion. 0 when the authenticator does not count.
116486
- */
116487
114311
  signCount: number
116488
- /**
116489
- * When it last signed in (ISO 8601). Null when it never has.
116490
- */
116491
114312
  lastUsedAt: (string | null)
116492
- /**
116493
- * How this authenticator can be reached. Empty when the browser reported nothing — the vocabulary is the platform’s and grows, so it is not an enum.
116494
- */
116495
114313
  transports: string[]
116496
114314
  }[]
116497
114315
  }
@@ -116516,18 +114334,9 @@ export interface UsersPasskeysRevokeOutput {
116516
114334
  * Present when the revoke was refused — today, only because it was the last way in.
116517
114335
  */
116518
114336
  error: ({
116519
- /**
116520
- * Why it was refused. Today only `passkey_last_way_in`.
116521
- */
116522
114337
  code: string
116523
- /**
116524
- * The refusal in a sentence, safe to show a human.
116525
- */
116526
114338
  message: string
116527
114339
  } | null)
116528
- /**
116529
- * `deleted` when the credential is gone, `failed` when the revoke was refused.
116530
- */
116531
114340
  status: ("deleted" | "failed")
116532
114341
  }
116533
114342
 
@@ -116539,13 +114348,7 @@ sessionId: string
116539
114348
  }
116540
114349
 
116541
114350
  export interface UsersSessionsGetOutput {
116542
- /**
116543
- * Id of this session. Pass it to users_sessions_revoke.
116544
- */
116545
114351
  id: string
116546
- /**
116547
- * IP the session was opened from. Null when it was not recorded.
116548
- */
116549
114352
  ip: (string | null)
116550
114353
  /**
116551
114354
  * `aal2` only if a verified second factor completed.
@@ -116555,45 +114358,18 @@ aal: ("aal1" | "aal2")
116555
114358
  * The factors this session was established with.
116556
114359
  */
116557
114360
  amr: string[]
116558
- /**
116559
- * Whether the session is still usable, expired, or revoked.
116560
- */
116561
114361
  status: ("active" | "revoked")
116562
- /**
116563
- * The end user this session belongs to.
116564
- */
116565
114362
  userId: string
116566
- /**
116567
- * When the session was opened (ISO 8601).
116568
- */
116569
114363
  createdAt: string
116570
- /**
116571
- * When the current token stops working unless refreshed (ISO 8601).
116572
- */
116573
114364
  expiresAt: string
116574
- /**
116575
- * When the session was revoked (ISO 8601). Null while it is live.
116576
- */
116577
114365
  revokedAt: (string | null)
116578
- /**
116579
- * User agent the session was opened from. Null when none was sent.
116580
- */
116581
114366
  userAgent: (string | null)
116582
- /**
116583
- * Why the session ended, when it was revoked — e.g. `signout`, `ban`, `mfa_reset`. Null while it is live. The vocabulary is additive, so it is not an enum.
116584
- */
116585
114367
  revokedReason: (string | null)
116586
114368
  /**
116587
114369
  * The operator behind an impersonated session, or null for an ordinary one.
116588
114370
  */
116589
114371
  impersonatedBy: (string | null)
116590
- /**
116591
- * When the session last refreshed its tokens (ISO 8601). Null if it never has.
116592
- */
116593
114372
  lastRefreshedAt: (string | null)
116594
- /**
116595
- * When the session ends no matter how often it refreshes (ISO 8601).
116596
- */
116597
114373
  absoluteExpiresAt: string
116598
114374
  }
116599
114375
 
@@ -116633,49 +114409,16 @@ userId: string
116633
114409
  }
116634
114410
 
116635
114411
  export interface UsersSessionsListOutput {
116636
- /**
116637
- * The sessions matching the filter, newest first.
116638
- */
116639
114412
  sessions: {
116640
- /**
116641
- * Id of this session. Pass it to users_sessions_revoke.
116642
- */
116643
114413
  id: string
116644
- /**
116645
- * IP the session was opened from. Null when it was not recorded.
116646
- */
116647
114414
  ip: (string | null)
116648
- /**
116649
- * Whether the session is still usable, expired, or revoked.
116650
- */
116651
114415
  status: ("active" | "revoked")
116652
- /**
116653
- * The end user this session belongs to.
116654
- */
116655
114416
  userId: string
116656
- /**
116657
- * When the session was opened (ISO 8601).
116658
- */
116659
114417
  createdAt: string
116660
- /**
116661
- * When the current token stops working unless refreshed (ISO 8601).
116662
- */
116663
114418
  expiresAt: string
116664
- /**
116665
- * When the session was revoked (ISO 8601). Null while it is live.
116666
- */
116667
114419
  revokedAt: (string | null)
116668
- /**
116669
- * User agent the session was opened from. Null when none was sent.
116670
- */
116671
114420
  userAgent: (string | null)
116672
- /**
116673
- * When the session last refreshed its tokens (ISO 8601). Null if it never has.
116674
- */
116675
114421
  lastRefreshedAt: (string | null)
116676
- /**
116677
- * When the session ends no matter how often it refreshes (ISO 8601).
116678
- */
116679
114422
  absoluteExpiresAt: string
116680
114423
  }[]
116681
114424
  }
@@ -116692,9 +114435,6 @@ sessionId?: string
116692
114435
  }
116693
114436
 
116694
114437
  export interface UsersSessionsRevokeOutput {
116695
- /**
116696
- * How many sessions were revoked. Zero when there was nothing live to revoke.
116697
- */
116698
114438
  revoked: number
116699
114439
  }
116700
114440
 
@@ -116821,126 +114561,37 @@ userId: string
116821
114561
  }
116822
114562
 
116823
114563
  export interface UsersUsersBanOutput {
116824
- /**
116825
- * Id of this end user. Pass it to any users_users_* tool.
116826
- */
116827
114564
  id: string
116828
- /**
116829
- * The user's display name. Null when nobody set one.
116830
- */
116831
114565
  name: (string | null)
116832
- /**
116833
- * When the user was banned (ISO 8601). Null while they are not banned.
116834
- */
116835
114566
  bannedAt: (string | null)
116836
- /**
116837
- * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
116838
- */
116839
114567
  erasedAt: (string | null)
116840
- /**
116841
- * URL of the user's avatar. Null when there is none.
116842
- */
116843
114568
  imageUrl: (string | null)
116844
- /**
116845
- * Whether this is a test fixture — excluded from metering and from the default listing.
116846
- */
116847
114569
  testUser: boolean
116848
- /**
116849
- * When the user was created (ISO 8601).
116850
- */
116851
114570
  createdAt: string
116852
- /**
116853
- * When the user was soft-deleted (ISO 8601). Null while the account is live.
116854
- */
116855
114571
  deletedAt: (string | null)
116856
- /**
116857
- * Product this user belongs to. Never an input — it comes from the calling identity.
116858
- */
116859
114572
  productId: string
116860
- /**
116861
- * When the user was last changed (ISO 8601).
116862
- */
116863
114573
  updatedAt: string
116864
- /**
116865
- * Whether this user is still on the waitlist and cannot sign in yet.
116866
- */
116867
114574
  waitlisted: boolean
116868
- /**
116869
- * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
116870
- */
116871
114575
  identifiers: {
116872
- /**
116873
- * Id of this identifier row.
116874
- */
116875
114576
  id: string
116876
- /**
116877
- * What kind of identifier this is. Today always `email`.
116878
- */
116879
114577
  type: "email"
116880
- /**
116881
- * The address as the user typed it, for display.
116882
- */
116883
114578
  value: string
116884
- /**
116885
- * Whether this is the identifier the user signs in with and is contacted at.
116886
- */
116887
114579
  isPrimary: boolean
116888
- /**
116889
- * When this address was verified (ISO 8601). Null while it never was.
116890
- */
116891
114580
  verifiedAt: (string | null)
116892
- /**
116893
- * The address lowercased and NFC-normalised — what uniqueness is checked against.
116894
- */
116895
114581
  valueCanonical: string
116896
- /**
116897
- * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
116898
- */
116899
114582
  verificationStatus: ("unverified" | "verified" | "expired")
116900
114583
  }[]
116901
- /**
116902
- * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
116903
- */
116904
114584
  lockedUntil: (string | null)
116905
- /**
116906
- * When the user last signed in (ISO 8601). Null if they never have.
116907
- */
116908
114585
  lastSignInAt: (string | null)
116909
- /**
116910
- * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
116911
- */
116912
- primaryEmail: (string | null)
116913
- /**
116914
- * Whether the user must set a new password at their next sign-in.
116915
- */
116916
114586
  requiresReset: boolean
116917
- /**
116918
- * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
116919
- */
116920
- publicMetadata: {
116921
- [k: string]: unknown
116922
- }
116923
- /**
116924
- * Metadata the end user may write themselves. Treat it as untrusted.
116925
- */
116926
- unsafeMetadata: {
116927
- [k: string]: unknown
114587
+ publicMetadata: UsersUsersBanOutputPublicMetadata
114588
+ unsafeMetadata: UsersUsersBanOutputPublicMetadata
114589
+ privateMetadata: UsersUsersBanOutputPublicMetadata
114590
+ emailChangeLockedUntil: (string | null)
116928
114591
  }
116929
- /**
116930
- * Metadata for the management plane only. Never reaches the end user or a token.
116931
- */
116932
- privateMetadata: {
114592
+ export interface UsersUsersBanOutputPublicMetadata {
116933
114593
  [k: string]: unknown
116934
114594
  }
116935
- /**
116936
- * Id of the primary identifier row. Null when there is no primary identifier.
116937
- */
116938
- primaryIdentifierId: (string | null)
116939
- /**
116940
- * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
116941
- */
116942
- emailChangeLockedUntil: (string | null)
116943
- }
116944
114595
 
116945
114596
  export interface UsersUsersCreateInput {
116946
114597
  /**
@@ -117043,126 +114694,37 @@ export interface UsersUsersCreateInputPublicMetadata1 {
117043
114694
  }
117044
114695
 
117045
114696
  export interface UsersUsersCreateOutput {
117046
- /**
117047
- * Id of this end user. Pass it to any users_users_* tool.
117048
- */
117049
114697
  id: string
117050
- /**
117051
- * The user's display name. Null when nobody set one.
117052
- */
117053
114698
  name: (string | null)
117054
- /**
117055
- * When the user was banned (ISO 8601). Null while they are not banned.
117056
- */
117057
114699
  bannedAt: (string | null)
117058
- /**
117059
- * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
117060
- */
117061
114700
  erasedAt: (string | null)
117062
- /**
117063
- * URL of the user's avatar. Null when there is none.
117064
- */
117065
114701
  imageUrl: (string | null)
117066
- /**
117067
- * Whether this is a test fixture — excluded from metering and from the default listing.
117068
- */
117069
114702
  testUser: boolean
117070
- /**
117071
- * When the user was created (ISO 8601).
117072
- */
117073
114703
  createdAt: string
117074
- /**
117075
- * When the user was soft-deleted (ISO 8601). Null while the account is live.
117076
- */
117077
114704
  deletedAt: (string | null)
117078
- /**
117079
- * Product this user belongs to. Never an input — it comes from the calling identity.
117080
- */
117081
114705
  productId: string
117082
- /**
117083
- * When the user was last changed (ISO 8601).
117084
- */
117085
114706
  updatedAt: string
117086
- /**
117087
- * Whether this user is still on the waitlist and cannot sign in yet.
117088
- */
117089
114707
  waitlisted: boolean
117090
- /**
117091
- * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
117092
- */
117093
114708
  identifiers: {
117094
- /**
117095
- * Id of this identifier row.
117096
- */
117097
114709
  id: string
117098
- /**
117099
- * What kind of identifier this is. Today always `email`.
117100
- */
117101
114710
  type: "email"
117102
- /**
117103
- * The address as the user typed it, for display.
117104
- */
117105
114711
  value: string
117106
- /**
117107
- * Whether this is the identifier the user signs in with and is contacted at.
117108
- */
117109
114712
  isPrimary: boolean
117110
- /**
117111
- * When this address was verified (ISO 8601). Null while it never was.
117112
- */
117113
114713
  verifiedAt: (string | null)
117114
- /**
117115
- * The address lowercased and NFC-normalised — what uniqueness is checked against.
117116
- */
117117
114714
  valueCanonical: string
117118
- /**
117119
- * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
117120
- */
117121
114715
  verificationStatus: ("unverified" | "verified" | "expired")
117122
114716
  }[]
117123
- /**
117124
- * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
117125
- */
117126
114717
  lockedUntil: (string | null)
117127
- /**
117128
- * When the user last signed in (ISO 8601). Null if they never have.
117129
- */
117130
114718
  lastSignInAt: (string | null)
117131
- /**
117132
- * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
117133
- */
117134
- primaryEmail: (string | null)
117135
- /**
117136
- * Whether the user must set a new password at their next sign-in.
117137
- */
117138
114719
  requiresReset: boolean
117139
- /**
117140
- * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
117141
- */
117142
- publicMetadata: {
117143
- [k: string]: unknown
117144
- }
117145
- /**
117146
- * Metadata the end user may write themselves. Treat it as untrusted.
117147
- */
117148
- unsafeMetadata: {
117149
- [k: string]: unknown
117150
- }
117151
- /**
117152
- * Metadata for the management plane only. Never reaches the end user or a token.
117153
- */
117154
- privateMetadata: {
117155
- [k: string]: unknown
117156
- }
117157
- /**
117158
- * Id of the primary identifier row. Null when there is no primary identifier.
117159
- */
117160
- primaryIdentifierId: (string | null)
117161
- /**
117162
- * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
117163
- */
114720
+ publicMetadata: UsersUsersCreateOutputPublicMetadata
114721
+ unsafeMetadata: UsersUsersCreateOutputPublicMetadata
114722
+ privateMetadata: UsersUsersCreateOutputPublicMetadata
117164
114723
  emailChangeLockedUntil: (string | null)
117165
114724
  }
114725
+ export interface UsersUsersCreateOutputPublicMetadata {
114726
+ [k: string]: unknown
114727
+ }
117166
114728
 
117167
114729
  export interface UsersUsersDeleteInput {
117168
114730
  /**
@@ -117172,126 +114734,37 @@ userId: string
117172
114734
  }
117173
114735
 
117174
114736
  export interface UsersUsersDeleteOutput {
117175
- /**
117176
- * Id of this end user. Pass it to any users_users_* tool.
117177
- */
117178
114737
  id: string
117179
- /**
117180
- * The user's display name. Null when nobody set one.
117181
- */
117182
114738
  name: (string | null)
117183
- /**
117184
- * When the user was banned (ISO 8601). Null while they are not banned.
117185
- */
117186
114739
  bannedAt: (string | null)
117187
- /**
117188
- * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
117189
- */
117190
114740
  erasedAt: (string | null)
117191
- /**
117192
- * URL of the user's avatar. Null when there is none.
117193
- */
117194
114741
  imageUrl: (string | null)
117195
- /**
117196
- * Whether this is a test fixture — excluded from metering and from the default listing.
117197
- */
117198
114742
  testUser: boolean
117199
- /**
117200
- * When the user was created (ISO 8601).
117201
- */
117202
114743
  createdAt: string
117203
- /**
117204
- * When the user was soft-deleted (ISO 8601). Null while the account is live.
117205
- */
117206
114744
  deletedAt: (string | null)
117207
- /**
117208
- * Product this user belongs to. Never an input — it comes from the calling identity.
117209
- */
117210
114745
  productId: string
117211
- /**
117212
- * When the user was last changed (ISO 8601).
117213
- */
117214
114746
  updatedAt: string
117215
- /**
117216
- * Whether this user is still on the waitlist and cannot sign in yet.
117217
- */
117218
114747
  waitlisted: boolean
117219
- /**
117220
- * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
117221
- */
117222
114748
  identifiers: {
117223
- /**
117224
- * Id of this identifier row.
117225
- */
117226
114749
  id: string
117227
- /**
117228
- * What kind of identifier this is. Today always `email`.
117229
- */
117230
114750
  type: "email"
117231
- /**
117232
- * The address as the user typed it, for display.
117233
- */
117234
114751
  value: string
117235
- /**
117236
- * Whether this is the identifier the user signs in with and is contacted at.
117237
- */
117238
114752
  isPrimary: boolean
117239
- /**
117240
- * When this address was verified (ISO 8601). Null while it never was.
117241
- */
117242
114753
  verifiedAt: (string | null)
117243
- /**
117244
- * The address lowercased and NFC-normalised — what uniqueness is checked against.
117245
- */
117246
114754
  valueCanonical: string
117247
- /**
117248
- * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
117249
- */
117250
114755
  verificationStatus: ("unverified" | "verified" | "expired")
117251
114756
  }[]
117252
- /**
117253
- * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
117254
- */
117255
114757
  lockedUntil: (string | null)
117256
- /**
117257
- * When the user last signed in (ISO 8601). Null if they never have.
117258
- */
117259
114758
  lastSignInAt: (string | null)
117260
- /**
117261
- * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
117262
- */
117263
- primaryEmail: (string | null)
117264
- /**
117265
- * Whether the user must set a new password at their next sign-in.
117266
- */
117267
114759
  requiresReset: boolean
117268
- /**
117269
- * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
117270
- */
117271
- publicMetadata: {
117272
- [k: string]: unknown
117273
- }
117274
- /**
117275
- * Metadata the end user may write themselves. Treat it as untrusted.
117276
- */
117277
- unsafeMetadata: {
117278
- [k: string]: unknown
114760
+ publicMetadata: UsersUsersDeleteOutputPublicMetadata
114761
+ unsafeMetadata: UsersUsersDeleteOutputPublicMetadata
114762
+ privateMetadata: UsersUsersDeleteOutputPublicMetadata
114763
+ emailChangeLockedUntil: (string | null)
117279
114764
  }
117280
- /**
117281
- * Metadata for the management plane only. Never reaches the end user or a token.
117282
- */
117283
- privateMetadata: {
114765
+ export interface UsersUsersDeleteOutputPublicMetadata {
117284
114766
  [k: string]: unknown
117285
114767
  }
117286
- /**
117287
- * Id of the primary identifier row. Null when there is no primary identifier.
117288
- */
117289
- primaryIdentifierId: (string | null)
117290
- /**
117291
- * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
117292
- */
117293
- emailChangeLockedUntil: (string | null)
117294
- }
117295
114768
 
117296
114769
  export interface UsersUsersExportInput {
117297
114770
  /**
@@ -117319,129 +114792,40 @@ includeDeleted?: boolean
117319
114792
  export interface UsersUsersExportOutput {
117320
114793
  count: number
117321
114794
  users: {
117322
- /**
117323
- * Id of this end user. Pass it to any users_users_* tool.
117324
- */
117325
114795
  id: string
117326
- /**
117327
- * The user's display name. Null when nobody set one.
117328
- */
117329
114796
  name: (string | null)
117330
- /**
117331
- * When the user was banned (ISO 8601). Null while they are not banned.
117332
- */
117333
114797
  bannedAt: (string | null)
117334
- /**
117335
- * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
117336
- */
117337
114798
  erasedAt: (string | null)
117338
- /**
117339
- * URL of the user's avatar. Null when there is none.
117340
- */
117341
114799
  imageUrl: (string | null)
117342
- /**
117343
- * Whether this is a test fixture — excluded from metering and from the default listing.
117344
- */
117345
114800
  testUser: boolean
117346
- /**
117347
- * When the user was created (ISO 8601).
117348
- */
117349
114801
  createdAt: string
117350
- /**
117351
- * When the user was soft-deleted (ISO 8601). Null while the account is live.
117352
- */
117353
114802
  deletedAt: (string | null)
117354
- /**
117355
- * Product this user belongs to. Never an input — it comes from the calling identity.
117356
- */
117357
114803
  productId: string
117358
- /**
117359
- * When the user was last changed (ISO 8601).
117360
- */
117361
114804
  updatedAt: string
117362
- /**
117363
- * Whether this user is still on the waitlist and cannot sign in yet.
117364
- */
117365
114805
  waitlisted: boolean
117366
- /**
117367
- * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
117368
- */
117369
114806
  identifiers: {
117370
- /**
117371
- * Id of this identifier row.
117372
- */
117373
114807
  id: string
117374
- /**
117375
- * What kind of identifier this is. Today always `email`.
117376
- */
117377
114808
  type: "email"
117378
- /**
117379
- * The address as the user typed it, for display.
117380
- */
117381
114809
  value: string
117382
- /**
117383
- * Whether this is the identifier the user signs in with and is contacted at.
117384
- */
117385
114810
  isPrimary: boolean
117386
- /**
117387
- * When this address was verified (ISO 8601). Null while it never was.
117388
- */
117389
114811
  verifiedAt: (string | null)
117390
- /**
117391
- * The address lowercased and NFC-normalised — what uniqueness is checked against.
117392
- */
117393
114812
  valueCanonical: string
117394
- /**
117395
- * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
117396
- */
117397
114813
  verificationStatus: ("unverified" | "verified" | "expired")
117398
114814
  }[]
117399
- /**
117400
- * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
117401
- */
117402
114815
  lockedUntil: (string | null)
117403
- /**
117404
- * When the user last signed in (ISO 8601). Null if they never have.
117405
- */
117406
114816
  lastSignInAt: (string | null)
117407
- /**
117408
- * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
117409
- */
117410
- primaryEmail: (string | null)
117411
- /**
117412
- * Whether the user must set a new password at their next sign-in.
117413
- */
117414
114817
  requiresReset: boolean
117415
- /**
117416
- * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
117417
- */
117418
- publicMetadata: {
117419
- [k: string]: unknown
117420
- }
117421
- /**
117422
- * Metadata the end user may write themselves. Treat it as untrusted.
117423
- */
117424
- unsafeMetadata: {
117425
- [k: string]: unknown
117426
- }
117427
- /**
117428
- * Metadata for the management plane only. Never reaches the end user or a token.
117429
- */
117430
- privateMetadata: {
117431
- [k: string]: unknown
117432
- }
117433
- /**
117434
- * Id of the primary identifier row. Null when there is no primary identifier.
117435
- */
117436
- primaryIdentifierId: (string | null)
117437
- /**
117438
- * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
117439
- */
114818
+ publicMetadata: UsersUsersExportOutputPublicMetadata
114819
+ unsafeMetadata: UsersUsersExportOutputPublicMetadata
114820
+ privateMetadata: UsersUsersExportOutputPublicMetadata
117440
114821
  emailChangeLockedUntil: (string | null)
117441
114822
  }[]
117442
114823
  exportedAt: string
117443
114824
  nextCursor: (string | null)
117444
114825
  }
114826
+ export interface UsersUsersExportOutputPublicMetadata {
114827
+ [k: string]: unknown
114828
+ }
117445
114829
 
117446
114830
  export interface UsersUsersGetInput {
117447
114831
  /**
@@ -117451,126 +114835,37 @@ userId: string
117451
114835
  }
117452
114836
 
117453
114837
  export interface UsersUsersGetOutput {
117454
- /**
117455
- * Id of this end user. Pass it to any users_users_* tool.
117456
- */
117457
114838
  id: string
117458
- /**
117459
- * The user's display name. Null when nobody set one.
117460
- */
117461
114839
  name: (string | null)
117462
- /**
117463
- * When the user was banned (ISO 8601). Null while they are not banned.
117464
- */
117465
114840
  bannedAt: (string | null)
117466
- /**
117467
- * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
117468
- */
117469
114841
  erasedAt: (string | null)
117470
- /**
117471
- * URL of the user's avatar. Null when there is none.
117472
- */
117473
114842
  imageUrl: (string | null)
117474
- /**
117475
- * Whether this is a test fixture — excluded from metering and from the default listing.
117476
- */
117477
114843
  testUser: boolean
117478
- /**
117479
- * When the user was created (ISO 8601).
117480
- */
117481
114844
  createdAt: string
117482
- /**
117483
- * When the user was soft-deleted (ISO 8601). Null while the account is live.
117484
- */
117485
114845
  deletedAt: (string | null)
117486
- /**
117487
- * Product this user belongs to. Never an input — it comes from the calling identity.
117488
- */
117489
114846
  productId: string
117490
- /**
117491
- * When the user was last changed (ISO 8601).
117492
- */
117493
114847
  updatedAt: string
117494
- /**
117495
- * Whether this user is still on the waitlist and cannot sign in yet.
117496
- */
117497
114848
  waitlisted: boolean
117498
- /**
117499
- * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
117500
- */
117501
114849
  identifiers: {
117502
- /**
117503
- * Id of this identifier row.
117504
- */
117505
114850
  id: string
117506
- /**
117507
- * What kind of identifier this is. Today always `email`.
117508
- */
117509
114851
  type: "email"
117510
- /**
117511
- * The address as the user typed it, for display.
117512
- */
117513
114852
  value: string
117514
- /**
117515
- * Whether this is the identifier the user signs in with and is contacted at.
117516
- */
117517
114853
  isPrimary: boolean
117518
- /**
117519
- * When this address was verified (ISO 8601). Null while it never was.
117520
- */
117521
114854
  verifiedAt: (string | null)
117522
- /**
117523
- * The address lowercased and NFC-normalised — what uniqueness is checked against.
117524
- */
117525
114855
  valueCanonical: string
117526
- /**
117527
- * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
117528
- */
117529
114856
  verificationStatus: ("unverified" | "verified" | "expired")
117530
114857
  }[]
117531
- /**
117532
- * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
117533
- */
117534
114858
  lockedUntil: (string | null)
117535
- /**
117536
- * When the user last signed in (ISO 8601). Null if they never have.
117537
- */
117538
114859
  lastSignInAt: (string | null)
117539
- /**
117540
- * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
117541
- */
117542
- primaryEmail: (string | null)
117543
- /**
117544
- * Whether the user must set a new password at their next sign-in.
117545
- */
117546
114860
  requiresReset: boolean
117547
- /**
117548
- * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
117549
- */
117550
- publicMetadata: {
117551
- [k: string]: unknown
117552
- }
117553
- /**
117554
- * Metadata the end user may write themselves. Treat it as untrusted.
117555
- */
117556
- unsafeMetadata: {
117557
- [k: string]: unknown
114861
+ publicMetadata: UsersUsersGetOutputPublicMetadata
114862
+ unsafeMetadata: UsersUsersGetOutputPublicMetadata
114863
+ privateMetadata: UsersUsersGetOutputPublicMetadata
114864
+ emailChangeLockedUntil: (string | null)
117558
114865
  }
117559
- /**
117560
- * Metadata for the management plane only. Never reaches the end user or a token.
117561
- */
117562
- privateMetadata: {
114866
+ export interface UsersUsersGetOutputPublicMetadata {
117563
114867
  [k: string]: unknown
117564
114868
  }
117565
- /**
117566
- * Id of the primary identifier row. Null when there is no primary identifier.
117567
- */
117568
- primaryIdentifierId: (string | null)
117569
- /**
117570
- * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
117571
- */
117572
- emailChangeLockedUntil: (string | null)
117573
- }
117574
114869
 
117575
114870
  export interface UsersUsersImportInput {
117576
114871
  /**
@@ -117583,42 +114878,15 @@ users: [unknown, ...(unknown)[]]
117583
114878
  }
117584
114879
 
117585
114880
  export interface UsersUsersImportOutput {
117586
- /**
117587
- * How many rows could not be imported at all.
117588
- */
117589
114881
  failed: number
117590
- /**
117591
- * How many users were created.
117592
- */
117593
114882
  created: number
117594
- /**
117595
- * One row per submitted row, in the order you sent them.
117596
- */
117597
114883
  results: {
117598
- /**
117599
- * Zero-based index of the row in the `users` array you sent.
117600
- */
117601
114884
  row: number
117602
- /**
117603
- * Why it was skipped, or what went wrong. Null for a created row.
117604
- */
117605
114885
  reason: (string | null)
117606
- /**
117607
- * What happened to this row.
117608
- */
117609
114886
  status: ("created" | "skipped" | "failed")
117610
- /**
117611
- * The created user's id. Null for skipped and failed rows.
117612
- */
117613
114887
  userId: (string | null)
117614
114888
  }[]
117615
- /**
117616
- * How many rows were passed over — an address already in the directory, typically.
117617
- */
117618
114889
  skipped: number
117619
- /**
117620
- * How many rows you submitted.
117621
- */
117622
114890
  requested: number
117623
114891
  }
117624
114892
 
@@ -117646,21 +114914,9 @@ privateMetadata?: {
117646
114914
  }
117647
114915
 
117648
114916
  export interface UsersUsersInviteOutput {
117649
- /**
117650
- * False when the re-invite cooldown or the mail toolkit refused the send. The invite is still live.
117651
- */
117652
114917
  mailed: boolean
117653
- /**
117654
- * The invited user, created immediately and listed straight away — they simply cannot sign in until they accept.
117655
- */
117656
114918
  userId: string
117657
- /**
117658
- * False when this address had already been invited; the same user is returned.
117659
- */
117660
114919
  created: boolean
117661
- /**
117662
- * When the invite link stops working (ISO 8601).
117663
- */
117664
114920
  expiresAt: string
117665
114921
  }
117666
114922
 
@@ -117696,135 +114952,40 @@ includeWaitlisted?: boolean
117696
114952
  }
117697
114953
 
117698
114954
  export interface UsersUsersListOutput {
117699
- /**
117700
- * The page of users, newest first.
117701
- */
117702
114955
  users: {
117703
- /**
117704
- * Id of this end user. Pass it to any users_users_* tool.
117705
- */
117706
114956
  id: string
117707
- /**
117708
- * The user's display name. Null when nobody set one.
117709
- */
117710
114957
  name: (string | null)
117711
- /**
117712
- * When the user was banned (ISO 8601). Null while they are not banned.
117713
- */
117714
114958
  bannedAt: (string | null)
117715
- /**
117716
- * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
117717
- */
117718
114959
  erasedAt: (string | null)
117719
- /**
117720
- * URL of the user's avatar. Null when there is none.
117721
- */
117722
114960
  imageUrl: (string | null)
117723
- /**
117724
- * Whether this is a test fixture — excluded from metering and from the default listing.
117725
- */
117726
114961
  testUser: boolean
117727
- /**
117728
- * When the user was created (ISO 8601).
117729
- */
117730
114962
  createdAt: string
117731
- /**
117732
- * When the user was soft-deleted (ISO 8601). Null while the account is live.
117733
- */
117734
114963
  deletedAt: (string | null)
117735
- /**
117736
- * Product this user belongs to. Never an input — it comes from the calling identity.
117737
- */
117738
114964
  productId: string
117739
- /**
117740
- * When the user was last changed (ISO 8601).
117741
- */
117742
114965
  updatedAt: string
117743
- /**
117744
- * Whether this user is still on the waitlist and cannot sign in yet.
117745
- */
117746
114966
  waitlisted: boolean
117747
- /**
117748
- * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
117749
- */
117750
114967
  identifiers: {
117751
- /**
117752
- * Id of this identifier row.
117753
- */
117754
114968
  id: string
117755
- /**
117756
- * What kind of identifier this is. Today always `email`.
117757
- */
117758
114969
  type: "email"
117759
- /**
117760
- * The address as the user typed it, for display.
117761
- */
117762
114970
  value: string
117763
- /**
117764
- * Whether this is the identifier the user signs in with and is contacted at.
117765
- */
117766
114971
  isPrimary: boolean
117767
- /**
117768
- * When this address was verified (ISO 8601). Null while it never was.
117769
- */
117770
114972
  verifiedAt: (string | null)
117771
- /**
117772
- * The address lowercased and NFC-normalised — what uniqueness is checked against.
117773
- */
117774
114973
  valueCanonical: string
117775
- /**
117776
- * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
117777
- */
117778
114974
  verificationStatus: ("unverified" | "verified" | "expired")
117779
114975
  }[]
117780
- /**
117781
- * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
117782
- */
117783
114976
  lockedUntil: (string | null)
117784
- /**
117785
- * When the user last signed in (ISO 8601). Null if they never have.
117786
- */
117787
114977
  lastSignInAt: (string | null)
117788
- /**
117789
- * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
117790
- */
117791
- primaryEmail: (string | null)
117792
- /**
117793
- * Whether the user must set a new password at their next sign-in.
117794
- */
117795
114978
  requiresReset: boolean
117796
- /**
117797
- * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
117798
- */
117799
- publicMetadata: {
117800
- [k: string]: unknown
117801
- }
117802
- /**
117803
- * Metadata the end user may write themselves. Treat it as untrusted.
117804
- */
117805
- unsafeMetadata: {
117806
- [k: string]: unknown
117807
- }
117808
- /**
117809
- * Metadata for the management plane only. Never reaches the end user or a token.
117810
- */
117811
- privateMetadata: {
117812
- [k: string]: unknown
117813
- }
117814
- /**
117815
- * Id of the primary identifier row. Null when there is no primary identifier.
117816
- */
117817
- primaryIdentifierId: (string | null)
117818
- /**
117819
- * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
117820
- */
114979
+ publicMetadata: UsersUsersListOutputPublicMetadata
114980
+ unsafeMetadata: UsersUsersListOutputPublicMetadata
114981
+ privateMetadata: UsersUsersListOutputPublicMetadata
117821
114982
  emailChangeLockedUntil: (string | null)
117822
114983
  }[]
117823
- /**
117824
- * Pass back as `cursor` to fetch the next page. Null when this page is the last.
117825
- */
117826
114984
  nextCursor: (string | null)
117827
114985
  }
114986
+ export interface UsersUsersListOutputPublicMetadata {
114987
+ [k: string]: unknown
114988
+ }
117828
114989
 
117829
114990
  export interface UsersUsersSetPrimaryIdentifierInput {
117830
114991
  /**
@@ -117842,13 +115003,7 @@ userId: string
117842
115003
  }
117843
115004
 
117844
115005
  export interface UsersUsersSetPrimaryIdentifierOutput {
117845
- /**
117846
- * Id of the scheduled change. It appears in the audit rows and in the abort link mailed to the old address.
117847
- */
117848
115006
  requestId: string
117849
- /**
117850
- * When the swap becomes applicable, if nobody aborts it first (ISO 8601). The delay is this product's `emailChange.overrideDelayHours`, 72 by default.
117851
- */
117852
115007
  scheduledFor: string
117853
115008
  }
117854
115009
 
@@ -117860,126 +115015,37 @@ userId: string
117860
115015
  }
117861
115016
 
117862
115017
  export interface UsersUsersUnbanOutput {
117863
- /**
117864
- * Id of this end user. Pass it to any users_users_* tool.
117865
- */
117866
115018
  id: string
117867
- /**
117868
- * The user's display name. Null when nobody set one.
117869
- */
117870
115019
  name: (string | null)
117871
- /**
117872
- * When the user was banned (ISO 8601). Null while they are not banned.
117873
- */
117874
115020
  bannedAt: (string | null)
117875
- /**
117876
- * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
117877
- */
117878
115021
  erasedAt: (string | null)
117879
- /**
117880
- * URL of the user's avatar. Null when there is none.
117881
- */
117882
115022
  imageUrl: (string | null)
117883
- /**
117884
- * Whether this is a test fixture — excluded from metering and from the default listing.
117885
- */
117886
115023
  testUser: boolean
117887
- /**
117888
- * When the user was created (ISO 8601).
117889
- */
117890
115024
  createdAt: string
117891
- /**
117892
- * When the user was soft-deleted (ISO 8601). Null while the account is live.
117893
- */
117894
115025
  deletedAt: (string | null)
117895
- /**
117896
- * Product this user belongs to. Never an input — it comes from the calling identity.
117897
- */
117898
115026
  productId: string
117899
- /**
117900
- * When the user was last changed (ISO 8601).
117901
- */
117902
115027
  updatedAt: string
117903
- /**
117904
- * Whether this user is still on the waitlist and cannot sign in yet.
117905
- */
117906
115028
  waitlisted: boolean
117907
- /**
117908
- * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
117909
- */
117910
115029
  identifiers: {
117911
- /**
117912
- * Id of this identifier row.
117913
- */
117914
115030
  id: string
117915
- /**
117916
- * What kind of identifier this is. Today always `email`.
117917
- */
117918
115031
  type: "email"
117919
- /**
117920
- * The address as the user typed it, for display.
117921
- */
117922
115032
  value: string
117923
- /**
117924
- * Whether this is the identifier the user signs in with and is contacted at.
117925
- */
117926
115033
  isPrimary: boolean
117927
- /**
117928
- * When this address was verified (ISO 8601). Null while it never was.
117929
- */
117930
115034
  verifiedAt: (string | null)
117931
- /**
117932
- * The address lowercased and NFC-normalised — what uniqueness is checked against.
117933
- */
117934
115035
  valueCanonical: string
117935
- /**
117936
- * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
117937
- */
117938
115036
  verificationStatus: ("unverified" | "verified" | "expired")
117939
115037
  }[]
117940
- /**
117941
- * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
117942
- */
117943
115038
  lockedUntil: (string | null)
117944
- /**
117945
- * When the user last signed in (ISO 8601). Null if they never have.
117946
- */
117947
115039
  lastSignInAt: (string | null)
117948
- /**
117949
- * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
117950
- */
117951
- primaryEmail: (string | null)
117952
- /**
117953
- * Whether the user must set a new password at their next sign-in.
117954
- */
117955
115040
  requiresReset: boolean
117956
- /**
117957
- * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
117958
- */
117959
- publicMetadata: {
117960
- [k: string]: unknown
117961
- }
117962
- /**
117963
- * Metadata the end user may write themselves. Treat it as untrusted.
117964
- */
117965
- unsafeMetadata: {
117966
- [k: string]: unknown
115041
+ publicMetadata: UsersUsersUnbanOutputPublicMetadata
115042
+ unsafeMetadata: UsersUsersUnbanOutputPublicMetadata
115043
+ privateMetadata: UsersUsersUnbanOutputPublicMetadata
115044
+ emailChangeLockedUntil: (string | null)
117967
115045
  }
117968
- /**
117969
- * Metadata for the management plane only. Never reaches the end user or a token.
117970
- */
117971
- privateMetadata: {
115046
+ export interface UsersUsersUnbanOutputPublicMetadata {
117972
115047
  [k: string]: unknown
117973
115048
  }
117974
- /**
117975
- * Id of the primary identifier row. Null when there is no primary identifier.
117976
- */
117977
- primaryIdentifierId: (string | null)
117978
- /**
117979
- * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
117980
- */
117981
- emailChangeLockedUntil: (string | null)
117982
- }
117983
115049
 
117984
115050
  export interface UsersUsersUpdateInput {
117985
115051
  /**
@@ -118029,126 +115095,37 @@ export interface UsersUsersUpdateInputPublicMetadata1 {
118029
115095
  }
118030
115096
 
118031
115097
  export interface UsersUsersUpdateOutput {
118032
- /**
118033
- * Id of this end user. Pass it to any users_users_* tool.
118034
- */
118035
115098
  id: string
118036
- /**
118037
- * The user's display name. Null when nobody set one.
118038
- */
118039
115099
  name: (string | null)
118040
- /**
118041
- * When the user was banned (ISO 8601). Null while they are not banned.
118042
- */
118043
115100
  bannedAt: (string | null)
118044
- /**
118045
- * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
118046
- */
118047
115101
  erasedAt: (string | null)
118048
- /**
118049
- * URL of the user's avatar. Null when there is none.
118050
- */
118051
115102
  imageUrl: (string | null)
118052
- /**
118053
- * Whether this is a test fixture — excluded from metering and from the default listing.
118054
- */
118055
115103
  testUser: boolean
118056
- /**
118057
- * When the user was created (ISO 8601).
118058
- */
118059
115104
  createdAt: string
118060
- /**
118061
- * When the user was soft-deleted (ISO 8601). Null while the account is live.
118062
- */
118063
115105
  deletedAt: (string | null)
118064
- /**
118065
- * Product this user belongs to. Never an input — it comes from the calling identity.
118066
- */
118067
115106
  productId: string
118068
- /**
118069
- * When the user was last changed (ISO 8601).
118070
- */
118071
115107
  updatedAt: string
118072
- /**
118073
- * Whether this user is still on the waitlist and cannot sign in yet.
118074
- */
118075
115108
  waitlisted: boolean
118076
- /**
118077
- * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
118078
- */
118079
115109
  identifiers: {
118080
- /**
118081
- * Id of this identifier row.
118082
- */
118083
115110
  id: string
118084
- /**
118085
- * What kind of identifier this is. Today always `email`.
118086
- */
118087
115111
  type: "email"
118088
- /**
118089
- * The address as the user typed it, for display.
118090
- */
118091
115112
  value: string
118092
- /**
118093
- * Whether this is the identifier the user signs in with and is contacted at.
118094
- */
118095
115113
  isPrimary: boolean
118096
- /**
118097
- * When this address was verified (ISO 8601). Null while it never was.
118098
- */
118099
115114
  verifiedAt: (string | null)
118100
- /**
118101
- * The address lowercased and NFC-normalised — what uniqueness is checked against.
118102
- */
118103
115115
  valueCanonical: string
118104
- /**
118105
- * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
118106
- */
118107
115116
  verificationStatus: ("unverified" | "verified" | "expired")
118108
115117
  }[]
118109
- /**
118110
- * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
118111
- */
118112
115118
  lockedUntil: (string | null)
118113
- /**
118114
- * When the user last signed in (ISO 8601). Null if they never have.
118115
- */
118116
115119
  lastSignInAt: (string | null)
118117
- /**
118118
- * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
118119
- */
118120
- primaryEmail: (string | null)
118121
- /**
118122
- * Whether the user must set a new password at their next sign-in.
118123
- */
118124
115120
  requiresReset: boolean
118125
- /**
118126
- * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
118127
- */
118128
- publicMetadata: {
118129
- [k: string]: unknown
118130
- }
118131
- /**
118132
- * Metadata the end user may write themselves. Treat it as untrusted.
118133
- */
118134
- unsafeMetadata: {
118135
- [k: string]: unknown
115121
+ publicMetadata: UsersUsersUpdateOutputPublicMetadata
115122
+ unsafeMetadata: UsersUsersUpdateOutputPublicMetadata
115123
+ privateMetadata: UsersUsersUpdateOutputPublicMetadata
115124
+ emailChangeLockedUntil: (string | null)
118136
115125
  }
118137
- /**
118138
- * Metadata for the management plane only. Never reaches the end user or a token.
118139
- */
118140
- privateMetadata: {
115126
+ export interface UsersUsersUpdateOutputPublicMetadata {
118141
115127
  [k: string]: unknown
118142
115128
  }
118143
- /**
118144
- * Id of the primary identifier row. Null when there is no primary identifier.
118145
- */
118146
- primaryIdentifierId: (string | null)
118147
- /**
118148
- * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
118149
- */
118150
- emailChangeLockedUntil: (string | null)
118151
- }
118152
115129
 
118153
115130
  export interface UsersWaitlistFunnelInput {
118154
115131
 
@@ -118163,64 +115140,6 @@ registered: number
118163
115140
  unconfirmed: number
118164
115141
  }
118165
115142
 
118166
- export interface UsersWaitlistGetInput {
118167
- /**
118168
- * The waitlisted user to read — the `userId` from `users_waitlist_list`.
118169
- */
118170
- userId: string
118171
- }
118172
-
118173
- export interface UsersWaitlistGetOutput {
118174
- /**
118175
- * Where in the funnel this entry is: `pending`, `invited`, `registered` or `withdrawn`.
118176
- */
118177
- status: ("pending" | "invited" | "registered" | "withdrawn")
118178
- /**
118179
- * The waitlisted user. Every users_users_* tool takes this id.
118180
- */
118181
- userId: string
118182
- /**
118183
- * When the entry joined the waitlist (ISO 8601).
118184
- */
118185
- createdAt: string
118186
- /**
118187
- * When the invite was sent (ISO 8601). Null while the entry is pending.
118188
- */
118189
- invitedAt: (string | null)
118190
- /**
118191
- * The email address that signed up.
118192
- */
118193
- identifier: string
118194
- /**
118195
- * Where the signup came from — the campaign, referrer and landing page recorded at the time.
118196
- */
118197
- attribution: {
118198
- [k: string]: unknown
118199
- }
118200
- /**
118201
- * When the address confirmed a double opt-in (ISO 8601). Null when it never did.
118202
- */
118203
- confirmedAt: (string | null)
118204
- /**
118205
- * When the address asked to be taken off the list (ISO 8601). Null when it did not.
118206
- */
118207
- withdrawnAt: (string | null)
118208
- /**
118209
- * What was recorded to show this address consented: when, from where, and under which wording.
118210
- */
118211
- consentProof: {
118212
- [k: string]: unknown
118213
- }
118214
- /**
118215
- * When the invitee finished signing up (ISO 8601). Null until they do.
118216
- */
118217
- registeredAt: (string | null)
118218
- /**
118219
- * Id of the live invite token. Null while the entry has not been invited.
118220
- */
118221
- inviteTokenId: (string | null)
118222
- }
118223
-
118224
115143
  export interface UsersWaitlistImportInput {
118225
115144
  /**
118226
115145
  * The legacy signups to import, at most 500 per call — batch client-side beyond that.
@@ -118386,42 +115305,15 @@ unsafeMetadata?: {
118386
115305
  }
118387
115306
 
118388
115307
  export interface UsersWaitlistImportOutput {
118389
- /**
118390
- * How many could not be imported at all.
118391
- */
118392
115308
  failed: number
118393
- /**
118394
- * One row per submitted row, in the order you sent them.
118395
- */
118396
115309
  results: {
118397
- /**
118398
- * Zero-based index of the row in the array you sent.
118399
- */
118400
115310
  row: number
118401
- /**
118402
- * Why it was skipped, or what went wrong. Null for an imported row.
118403
- */
118404
115311
  reason: (string | null)
118405
- /**
118406
- * What happened to this row.
118407
- */
118408
115312
  status: ("imported" | "skipped" | "failed")
118409
- /**
118410
- * The waitlisted user this row created. Null for skipped and failed rows.
118411
- */
118412
115313
  userId: (string | null)
118413
115314
  }[]
118414
- /**
118415
- * How many were already on the list or otherwise passed over.
118416
- */
118417
115315
  skipped: number
118418
- /**
118419
- * How many became waitlist entries.
118420
- */
118421
115316
  imported: number
118422
- /**
118423
- * How many rows you submitted.
118424
- */
118425
115317
  requested: number
118426
115318
  }
118427
115319
 
@@ -118436,30 +115328,12 @@ userIds: [string, ...(string)[]]
118436
115328
  }
118437
115329
 
118438
115330
  export interface UsersWaitlistInviteOutput {
118439
- /**
118440
- * How many of the requested users were invited.
118441
- */
118442
115331
  invited: number
118443
- /**
118444
- * One row per user you asked for, in the order you sent them.
118445
- */
118446
115332
  results: {
118447
- /**
118448
- * Why this user was skipped. Null for an invited row.
118449
- */
118450
115333
  reason: (("suppressed" | "not_found" | "already_registered") | null)
118451
- /**
118452
- * Whether this user was invited or passed over.
118453
- */
118454
115334
  status: ("invited" | "skipped")
118455
- /**
118456
- * The user this row is about.
118457
- */
118458
115335
  userId: string
118459
115336
  }[]
118460
- /**
118461
- * How many were passed over — see each row's `reason`.
118462
- */
118463
115337
  skipped: number
118464
115338
  }
118465
115339
 
@@ -118483,62 +115357,23 @@ confirmed?: boolean
118483
115357
  }
118484
115358
 
118485
115359
  export interface UsersWaitlistListOutput {
118486
- /**
118487
- * The page of waitlist entries, newest first.
118488
- */
118489
115360
  entries: {
118490
- /**
118491
- * Where in the funnel this entry is: `pending`, `invited`, `registered` or `withdrawn`.
118492
- */
118493
115361
  status: ("pending" | "invited" | "registered" | "withdrawn")
118494
- /**
118495
- * The waitlisted user. Every users_users_* tool takes this id.
118496
- */
118497
115362
  userId: string
118498
- /**
118499
- * When the entry joined the waitlist (ISO 8601).
118500
- */
118501
115363
  createdAt: string
118502
- /**
118503
- * When the invite was sent (ISO 8601). Null while the entry is pending.
118504
- */
118505
115364
  invitedAt: (string | null)
118506
- /**
118507
- * The email address that signed up.
118508
- */
118509
115365
  identifier: string
118510
- /**
118511
- * Where the signup came from — the campaign, referrer and landing page recorded at the time.
118512
- */
118513
115366
  attribution: {
118514
115367
  [k: string]: unknown
118515
115368
  }
118516
- /**
118517
- * When the address confirmed a double opt-in (ISO 8601). Null when it never did.
118518
- */
118519
115369
  confirmedAt: (string | null)
118520
- /**
118521
- * When the address asked to be taken off the list (ISO 8601). Null when it did not.
118522
- */
118523
115370
  withdrawnAt: (string | null)
118524
- /**
118525
- * What was recorded to show this address consented: when, from where, and under which wording.
118526
- */
118527
115371
  consentProof: {
118528
115372
  [k: string]: unknown
118529
115373
  }
118530
- /**
118531
- * When the invitee finished signing up (ISO 8601). Null until they do.
118532
- */
118533
115374
  registeredAt: (string | null)
118534
- /**
118535
- * Id of the live invite token. Null while the entry has not been invited.
118536
- */
118537
115375
  inviteTokenId: (string | null)
118538
115376
  }[]
118539
- /**
118540
- * Pass back as `cursor` to fetch the next page. Null when this page is the last.
118541
- */
118542
115377
  nextCursor: (string | null)
118543
115378
  }
118544
115379