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