@lessly/sdk-app 83.4.0 → 85.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_types/gen/client.gen.d.ts +41 -18
- 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 +3201 -260
- package/dist/_types/gen/users/index.d.ts +1 -1
- package/dist/_types/gen/users/queryOptions.gen.d.ts +13 -1
- package/dist/chunk-HRKHYP5B.js +11397 -0
- package/dist/chunk-HRKHYP5B.js.map +1 -0
- package/dist/index.cjs +295 -184
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +47 -11319
- 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 -12
- package/src/gen/bindings.gen.ts +259 -150
- package/src/gen/client.gen.ts +80 -31
- package/src/gen/manifest.gen.ts +46 -36
- 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 +3230 -253
- package/src/gen/users/index.ts +1 -1
- package/src/gen/users/queryOptions.gen.ts +21 -0
- package/dist/_types/gen/waitlist/index.d.ts +0 -2
- package/dist/_types/gen/waitlist/queryOptions.gen.d.ts +0 -30
- package/dist/waitlist/index.cjs +0 -41
- package/dist/waitlist/index.cjs.map +0 -1
- package/dist/waitlist/index.d.cts +0 -1
- package/dist/waitlist/index.d.ts +0 -1
- package/dist/waitlist/index.js +0 -33
- package/dist/waitlist/index.js.map +0 -1
- package/src/gen/waitlist/index.ts +0 -3
- package/src/gen/waitlist/queryOptions.gen.ts +0 -50
package/src/gen/types.gen.ts
CHANGED
|
@@ -90532,6 +90532,378 @@ export interface OrganizationYoutubeInstallOutput {
|
|
|
90532
90532
|
url: string
|
|
90533
90533
|
}
|
|
90534
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
|
+
|
|
90535
90907
|
export interface RealtimeArchiveExportInput {
|
|
90536
90908
|
/**
|
|
90537
90909
|
* Only entries with ts <= to_ts (epoch ms)
|
|
@@ -112241,54 +112613,150 @@ secretPrefix: string
|
|
|
112241
112613
|
}
|
|
112242
112614
|
|
|
112243
112615
|
export interface TrackingDomainsCreateInput {
|
|
112616
|
+
/**
|
|
112617
|
+
* Bare hostname to serve tracking from, which must sit under the chosen domain (e.g. analytics.example.com); a suggestion is used when omitted
|
|
112618
|
+
*/
|
|
112244
112619
|
host?: string
|
|
112620
|
+
/**
|
|
112621
|
+
* DNS records to request instead of the default CNAME to the tracking edge; leave unset unless the domain needs custom records
|
|
112622
|
+
*/
|
|
112245
112623
|
records?: {
|
|
112624
|
+
/**
|
|
112625
|
+
* Time-to-live in seconds the record should be published with; the platform picks one when omitted
|
|
112626
|
+
*/
|
|
112246
112627
|
ttl?: number
|
|
112628
|
+
/**
|
|
112629
|
+
* Fully-qualified host the record is published at; defaults to the claimed tracking host
|
|
112630
|
+
*/
|
|
112247
112631
|
name?: string
|
|
112632
|
+
/**
|
|
112633
|
+
* Value the record points at — the edge hostname for a CNAME, the proof string for a TXT
|
|
112634
|
+
*/
|
|
112248
112635
|
target: string
|
|
112636
|
+
/**
|
|
112637
|
+
* DNS record type to publish, e.g. CNAME or TXT
|
|
112638
|
+
*/
|
|
112249
112639
|
recordType: string
|
|
112250
112640
|
}[]
|
|
112641
|
+
/**
|
|
112642
|
+
* Product domain to claim the tracking host under, as listed in `domains[].domainId` by tracking_domains_list
|
|
112643
|
+
*/
|
|
112251
112644
|
domainId: string
|
|
112252
112645
|
}
|
|
112253
112646
|
|
|
112254
112647
|
export interface TrackingDomainsCreateOutput {
|
|
112648
|
+
/**
|
|
112649
|
+
* The binding as just claimed; it starts `pending` and goes `active` once the DNS is observed live
|
|
112650
|
+
*/
|
|
112255
112651
|
binding: {
|
|
112652
|
+
/**
|
|
112653
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
112654
|
+
*/
|
|
112256
112655
|
host: string
|
|
112656
|
+
/**
|
|
112657
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
112658
|
+
*/
|
|
112257
112659
|
status: ("pending" | "active" | "failed")
|
|
112660
|
+
/**
|
|
112661
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
112662
|
+
*/
|
|
112258
112663
|
records: unknown[]
|
|
112664
|
+
/**
|
|
112665
|
+
* Product domain this tracking host sits under
|
|
112666
|
+
*/
|
|
112259
112667
|
domainId: string
|
|
112668
|
+
/**
|
|
112669
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112670
|
+
*/
|
|
112260
112671
|
bindingId: string
|
|
112672
|
+
/**
|
|
112673
|
+
* When the binding was claimed
|
|
112674
|
+
*/
|
|
112261
112675
|
createdAt: string
|
|
112676
|
+
/**
|
|
112677
|
+
* Product the binding belongs to
|
|
112678
|
+
*/
|
|
112262
112679
|
productId: string
|
|
112680
|
+
/**
|
|
112681
|
+
* When the binding last changed status or records
|
|
112682
|
+
*/
|
|
112263
112683
|
updatedAt: string
|
|
112684
|
+
/**
|
|
112685
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
112686
|
+
*/
|
|
112264
112687
|
statusDetail: (string | null)
|
|
112688
|
+
/**
|
|
112689
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
112690
|
+
*/
|
|
112265
112691
|
ownerExtension: string
|
|
112266
112692
|
}
|
|
112693
|
+
/**
|
|
112694
|
+
* Ordered, human-readable steps for publishing the DNS the claim needs; empty when the platform manages the domain itself
|
|
112695
|
+
*/
|
|
112267
112696
|
instructions: string[]
|
|
112268
112697
|
}
|
|
112269
112698
|
|
|
112270
112699
|
export interface TrackingDomainsDeleteInput {
|
|
112700
|
+
/**
|
|
112701
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112702
|
+
*/
|
|
112271
112703
|
bindingId: string
|
|
112272
112704
|
}
|
|
112273
112705
|
|
|
112274
112706
|
export interface TrackingDomainsDeleteOutput {
|
|
112707
|
+
/**
|
|
112708
|
+
* Always true — the release succeeded; a failure arrives as an error, not as false
|
|
112709
|
+
*/
|
|
112275
112710
|
ok: true
|
|
112276
112711
|
}
|
|
112277
112712
|
|
|
112278
112713
|
export interface TrackingDomainsGetInput {
|
|
112714
|
+
/**
|
|
112715
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112716
|
+
*/
|
|
112279
112717
|
bindingId: string
|
|
112280
112718
|
}
|
|
112281
112719
|
|
|
112282
112720
|
export interface TrackingDomainsGetOutput {
|
|
112721
|
+
/**
|
|
112722
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
112723
|
+
*/
|
|
112283
112724
|
host: string
|
|
112725
|
+
/**
|
|
112726
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
112727
|
+
*/
|
|
112284
112728
|
status: ("pending" | "active" | "failed")
|
|
112729
|
+
/**
|
|
112730
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
112731
|
+
*/
|
|
112285
112732
|
records: unknown[]
|
|
112733
|
+
/**
|
|
112734
|
+
* Product domain this tracking host sits under
|
|
112735
|
+
*/
|
|
112286
112736
|
domainId: string
|
|
112737
|
+
/**
|
|
112738
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112739
|
+
*/
|
|
112287
112740
|
bindingId: string
|
|
112741
|
+
/**
|
|
112742
|
+
* When the binding was claimed
|
|
112743
|
+
*/
|
|
112288
112744
|
createdAt: string
|
|
112745
|
+
/**
|
|
112746
|
+
* Product the binding belongs to
|
|
112747
|
+
*/
|
|
112289
112748
|
productId: string
|
|
112749
|
+
/**
|
|
112750
|
+
* When the binding last changed status or records
|
|
112751
|
+
*/
|
|
112290
112752
|
updatedAt: string
|
|
112753
|
+
/**
|
|
112754
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
112755
|
+
*/
|
|
112291
112756
|
statusDetail: (string | null)
|
|
112757
|
+
/**
|
|
112758
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
112759
|
+
*/
|
|
112292
112760
|
ownerExtension: string
|
|
112293
112761
|
}
|
|
112294
112762
|
|
|
@@ -112297,41 +112765,125 @@ export interface TrackingDomainsListInput {
|
|
|
112297
112765
|
}
|
|
112298
112766
|
|
|
112299
112767
|
export interface TrackingDomainsListOutput {
|
|
112768
|
+
/**
|
|
112769
|
+
* The product's domains as the platform vouches for them — the set a new tracking host may be claimed under
|
|
112770
|
+
*/
|
|
112300
112771
|
domains: {
|
|
112772
|
+
/**
|
|
112773
|
+
* Who runs the DNS: `managed` means the platform publishes records for you, `external` means you publish them yourself
|
|
112774
|
+
*/
|
|
112301
112775
|
mode: ("external" | "managed")
|
|
112776
|
+
/**
|
|
112777
|
+
* Apex domain name the product owns, e.g. example.com
|
|
112778
|
+
*/
|
|
112302
112779
|
domain: string
|
|
112780
|
+
/**
|
|
112781
|
+
* Stable platform id of the product domain, and what a claim takes as its `domainId`
|
|
112782
|
+
*/
|
|
112303
112783
|
domainId: string
|
|
112784
|
+
/**
|
|
112785
|
+
* ISO-8601 timestamp of when the domain was added to the product
|
|
112786
|
+
*/
|
|
112304
112787
|
createdAt: string
|
|
112788
|
+
/**
|
|
112789
|
+
* How many extensions currently hold a host binding under this domain
|
|
112790
|
+
*/
|
|
112305
112791
|
extensionCount: number
|
|
112306
112792
|
}[]
|
|
112793
|
+
/**
|
|
112794
|
+
* Tracking-host bindings this toolkit currently holds across those domains
|
|
112795
|
+
*/
|
|
112307
112796
|
bindings: {
|
|
112797
|
+
/**
|
|
112798
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
112799
|
+
*/
|
|
112308
112800
|
host: string
|
|
112801
|
+
/**
|
|
112802
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
112803
|
+
*/
|
|
112309
112804
|
status: ("pending" | "active" | "failed")
|
|
112805
|
+
/**
|
|
112806
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
112807
|
+
*/
|
|
112310
112808
|
records: unknown[]
|
|
112809
|
+
/**
|
|
112810
|
+
* Product domain this tracking host sits under
|
|
112811
|
+
*/
|
|
112311
112812
|
domainId: string
|
|
112813
|
+
/**
|
|
112814
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112815
|
+
*/
|
|
112312
112816
|
bindingId: string
|
|
112817
|
+
/**
|
|
112818
|
+
* When the binding was claimed
|
|
112819
|
+
*/
|
|
112313
112820
|
createdAt: string
|
|
112821
|
+
/**
|
|
112822
|
+
* Product the binding belongs to
|
|
112823
|
+
*/
|
|
112314
112824
|
productId: string
|
|
112825
|
+
/**
|
|
112826
|
+
* When the binding last changed status or records
|
|
112827
|
+
*/
|
|
112315
112828
|
updatedAt: string
|
|
112829
|
+
/**
|
|
112830
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
112831
|
+
*/
|
|
112316
112832
|
statusDetail: (string | null)
|
|
112833
|
+
/**
|
|
112834
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
112835
|
+
*/
|
|
112317
112836
|
ownerExtension: string
|
|
112318
112837
|
}[]
|
|
112319
112838
|
}
|
|
112320
112839
|
|
|
112321
112840
|
export interface TrackingDomainsVerifyInput {
|
|
112841
|
+
/**
|
|
112842
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112843
|
+
*/
|
|
112322
112844
|
bindingId: string
|
|
112323
112845
|
}
|
|
112324
112846
|
|
|
112325
112847
|
export interface TrackingDomainsVerifyOutput {
|
|
112848
|
+
/**
|
|
112849
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
112850
|
+
*/
|
|
112326
112851
|
host: string
|
|
112852
|
+
/**
|
|
112853
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
112854
|
+
*/
|
|
112327
112855
|
status: ("pending" | "active" | "failed")
|
|
112856
|
+
/**
|
|
112857
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
112858
|
+
*/
|
|
112328
112859
|
records: unknown[]
|
|
112860
|
+
/**
|
|
112861
|
+
* Product domain this tracking host sits under
|
|
112862
|
+
*/
|
|
112329
112863
|
domainId: string
|
|
112864
|
+
/**
|
|
112865
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112866
|
+
*/
|
|
112330
112867
|
bindingId: string
|
|
112868
|
+
/**
|
|
112869
|
+
* When the binding was claimed
|
|
112870
|
+
*/
|
|
112331
112871
|
createdAt: string
|
|
112872
|
+
/**
|
|
112873
|
+
* Product the binding belongs to
|
|
112874
|
+
*/
|
|
112332
112875
|
productId: string
|
|
112876
|
+
/**
|
|
112877
|
+
* When the binding last changed status or records
|
|
112878
|
+
*/
|
|
112333
112879
|
updatedAt: string
|
|
112880
|
+
/**
|
|
112881
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
112882
|
+
*/
|
|
112334
112883
|
statusDetail: (string | null)
|
|
112884
|
+
/**
|
|
112885
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
112886
|
+
*/
|
|
112335
112887
|
ownerExtension: string
|
|
112336
112888
|
}
|
|
112337
112889
|
|
|
@@ -112343,7 +112895,13 @@ name: string
|
|
|
112343
112895
|
}
|
|
112344
112896
|
|
|
112345
112897
|
export interface TrackingEventNamesArchiveOutput {
|
|
112898
|
+
/**
|
|
112899
|
+
* Event name whose status was changed
|
|
112900
|
+
*/
|
|
112346
112901
|
name: string
|
|
112902
|
+
/**
|
|
112903
|
+
* The status as it now stands: `archived` hides the name from pickers and reports, `active` restores it
|
|
112904
|
+
*/
|
|
112347
112905
|
status: ("active" | "archived")
|
|
112348
112906
|
}
|
|
112349
112907
|
|
|
@@ -112367,13 +112925,37 @@ status?: ("active" | "archived")
|
|
|
112367
112925
|
}
|
|
112368
112926
|
|
|
112369
112927
|
export interface TrackingEventNamesListOutput {
|
|
112928
|
+
/**
|
|
112929
|
+
* The matching catalogue entries, ordered by the requested sort
|
|
112930
|
+
*/
|
|
112370
112931
|
names: {
|
|
112932
|
+
/**
|
|
112933
|
+
* Event name exactly as the tracking script sends it — the string other tools take as their `event`
|
|
112934
|
+
*/
|
|
112371
112935
|
name: string
|
|
112936
|
+
/**
|
|
112937
|
+
* How many events with this name have been received in total
|
|
112938
|
+
*/
|
|
112372
112939
|
count: number
|
|
112940
|
+
/**
|
|
112941
|
+
* `active` for a name in use, `archived` for one hidden from pickers and reports
|
|
112942
|
+
*/
|
|
112373
112943
|
status: string
|
|
112944
|
+
/**
|
|
112945
|
+
* ISO-8601 timestamp of the most recent event received under this name
|
|
112946
|
+
*/
|
|
112374
112947
|
lastSeen: string
|
|
112948
|
+
/**
|
|
112949
|
+
* ISO-8601 timestamp of the first event ever received under this name
|
|
112950
|
+
*/
|
|
112375
112951
|
firstSeen: string
|
|
112952
|
+
/**
|
|
112953
|
+
* Property keys sampled from recent events with this name, so you can see what the payload carries
|
|
112954
|
+
*/
|
|
112376
112955
|
propsKeys: string[]
|
|
112956
|
+
/**
|
|
112957
|
+
* Whether this name is marked a conversion, which is what makes it available as a workflow trigger
|
|
112958
|
+
*/
|
|
112377
112959
|
isConversion: boolean
|
|
112378
112960
|
}[]
|
|
112379
112961
|
}
|
|
@@ -112390,7 +112972,13 @@ isConversion: boolean
|
|
|
112390
112972
|
}
|
|
112391
112973
|
|
|
112392
112974
|
export interface TrackingEventNamesSetConversionOutput {
|
|
112975
|
+
/**
|
|
112976
|
+
* Event name the conversion flag was applied to
|
|
112977
|
+
*/
|
|
112393
112978
|
name: string
|
|
112979
|
+
/**
|
|
112980
|
+
* The flag as it now stands after the change
|
|
112981
|
+
*/
|
|
112394
112982
|
isConversion: boolean
|
|
112395
112983
|
}
|
|
112396
112984
|
|
|
@@ -112402,7 +112990,13 @@ name: string
|
|
|
112402
112990
|
}
|
|
112403
112991
|
|
|
112404
112992
|
export interface TrackingEventNamesUnarchiveOutput {
|
|
112993
|
+
/**
|
|
112994
|
+
* Event name whose status was changed
|
|
112995
|
+
*/
|
|
112405
112996
|
name: string
|
|
112997
|
+
/**
|
|
112998
|
+
* The status as it now stands: `archived` hides the name from pickers and reports, `active` restores it
|
|
112999
|
+
*/
|
|
112406
113000
|
status: ("active" | "archived")
|
|
112407
113001
|
}
|
|
112408
113002
|
|
|
@@ -112411,14 +113005,32 @@ export interface TrackingGoogleadsConnectionStatusInput {
|
|
|
112411
113005
|
}
|
|
112412
113006
|
|
|
112413
113007
|
export type TrackingGoogleadsConnectionStatusOutput = ({
|
|
113008
|
+
/**
|
|
113009
|
+
* Where the Google Ads connection stands: connected means an account is chosen and its credential works, so the other tools will run.
|
|
113010
|
+
*/
|
|
112414
113011
|
state: "connected"
|
|
113012
|
+
/**
|
|
113013
|
+
* The Google Ads account the data is read from and conversions are written to, as a customer id. Only present while connected.
|
|
113014
|
+
*/
|
|
112415
113015
|
customerId: string
|
|
113016
|
+
/**
|
|
113017
|
+
* 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.
|
|
113018
|
+
*/
|
|
112416
113019
|
loginCustomerId: string
|
|
112417
113020
|
} | {
|
|
113021
|
+
/**
|
|
113022
|
+
* Google is authorised but nobody has picked which Google Ads account to use yet, so nothing can run until someone does.
|
|
113023
|
+
*/
|
|
112418
113024
|
state: "pending_account_selection"
|
|
112419
113025
|
} | {
|
|
113026
|
+
/**
|
|
113027
|
+
* The Google authorisation expired or was revoked and has to be granted again before anything can run.
|
|
113028
|
+
*/
|
|
112420
113029
|
state: "reauth_required"
|
|
112421
113030
|
} | {
|
|
113031
|
+
/**
|
|
113032
|
+
* No Google Ads connection has been set up for this product at all.
|
|
113033
|
+
*/
|
|
112422
113034
|
state: "not_connected"
|
|
112423
113035
|
})
|
|
112424
113036
|
|
|
@@ -112439,26 +113051,77 @@ export interface TrackingGoogleadsFeedbackConfigGetInput {
|
|
|
112439
113051
|
}
|
|
112440
113052
|
|
|
112441
113053
|
export interface TrackingGoogleadsFeedbackConfigGetOutput {
|
|
113054
|
+
/**
|
|
113055
|
+
* 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.
|
|
113056
|
+
*/
|
|
112442
113057
|
mode: ("existing_pixel" | "fresh_pixel")
|
|
113058
|
+
/**
|
|
113059
|
+
* Which tracked events become which Google Ads conversion action, and where each one takes its money value from. Disabled rules stay listed.
|
|
113060
|
+
*/
|
|
112443
113061
|
rules: {
|
|
113062
|
+
/**
|
|
113063
|
+
* Tracked event-name this rule uploads, as listed by tracking_event-names_list
|
|
113064
|
+
*/
|
|
112444
113065
|
event: string
|
|
113066
|
+
/**
|
|
113067
|
+
* What monetary value is reported to Google for each conversion this rule uploads
|
|
113068
|
+
*/
|
|
112445
113069
|
value: ({
|
|
113070
|
+
/**
|
|
113071
|
+
* 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
|
|
113072
|
+
*/
|
|
112446
113073
|
source: "revenue"
|
|
112447
113074
|
} | {
|
|
113075
|
+
/**
|
|
113076
|
+
* 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
|
|
113077
|
+
*/
|
|
112448
113078
|
source: "dynamic"
|
|
112449
113079
|
} | {
|
|
113080
|
+
/**
|
|
113081
|
+
* 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
|
|
113082
|
+
*/
|
|
112450
113083
|
source: "fixed"
|
|
113084
|
+
/**
|
|
113085
|
+
* ISO-4217 currency the fixed amount is denominated in, e.g. USD
|
|
113086
|
+
*/
|
|
112451
113087
|
currency: string
|
|
113088
|
+
/**
|
|
113089
|
+
* The fixed value in minor units (e.g. cents); 0 means a value-less lead conversion
|
|
113090
|
+
*/
|
|
112452
113091
|
amountMinor: number
|
|
112453
113092
|
})
|
|
113093
|
+
/**
|
|
113094
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
113095
|
+
*/
|
|
112454
113096
|
enabled: boolean
|
|
113097
|
+
/**
|
|
113098
|
+
* Google conversion action the event is reported as, in the form customers/<cid>/conversionActions/<id>
|
|
113099
|
+
*/
|
|
112455
113100
|
conversionAction: string
|
|
112456
113101
|
}[]
|
|
113102
|
+
/**
|
|
113103
|
+
* Whether conversions are being sent to Google Ads at all. False leaves every rule below in place but uploads nothing.
|
|
113104
|
+
*/
|
|
112457
113105
|
enabled: boolean
|
|
113106
|
+
/**
|
|
113107
|
+
* The tenant this configuration belongs to. Never supplied by a caller — it comes from the authenticated identity.
|
|
113108
|
+
*/
|
|
112458
113109
|
productId: string
|
|
113110
|
+
/**
|
|
113111
|
+
* 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.
|
|
113112
|
+
*/
|
|
112459
113113
|
lookbackDays: number
|
|
113114
|
+
/**
|
|
113115
|
+
* 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.
|
|
113116
|
+
*/
|
|
112460
113117
|
accountCurrency: (string | null)
|
|
113118
|
+
/**
|
|
113119
|
+
* The event names that may use the Dynamic value source, because revenue is known for them. Any other event needs a fixed amount.
|
|
113120
|
+
*/
|
|
112461
113121
|
dynamicValueEvents: string[]
|
|
113122
|
+
/**
|
|
113123
|
+
* Whether a stored email or phone number is sent alongside the click, so Google can match conversions the click id alone would miss.
|
|
113124
|
+
*/
|
|
112462
113125
|
enhancedConversions: boolean
|
|
112463
113126
|
}
|
|
112464
113127
|
|
|
@@ -112475,11 +113138,23 @@ rules?: {
|
|
|
112475
113138
|
* Any tracked event-name for this product (validated against the event-name catalog)
|
|
112476
113139
|
*/
|
|
112477
113140
|
event: string
|
|
113141
|
+
/**
|
|
113142
|
+
* What monetary value to report to Google for each conversion this rule uploads
|
|
113143
|
+
*/
|
|
112478
113144
|
value: ({
|
|
113145
|
+
/**
|
|
113146
|
+
* 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
|
|
113147
|
+
*/
|
|
112479
113148
|
source: "revenue"
|
|
112480
113149
|
} | {
|
|
113150
|
+
/**
|
|
113151
|
+
* 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
|
|
113152
|
+
*/
|
|
112481
113153
|
source: "dynamic"
|
|
112482
113154
|
} | {
|
|
113155
|
+
/**
|
|
113156
|
+
* 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
|
|
113157
|
+
*/
|
|
112483
113158
|
source: "fixed"
|
|
112484
113159
|
/**
|
|
112485
113160
|
* ISO-4217 currency code, e.g. USD
|
|
@@ -112490,6 +113165,9 @@ currency: string
|
|
|
112490
113165
|
*/
|
|
112491
113166
|
amountMinor?: number
|
|
112492
113167
|
})
|
|
113168
|
+
/**
|
|
113169
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
113170
|
+
*/
|
|
112493
113171
|
enabled: boolean
|
|
112494
113172
|
/**
|
|
112495
113173
|
* Google conversion action resource: customers/<cid>/conversionActions/<id>
|
|
@@ -112511,28 +113189,82 @@ enhancedConversions?: boolean
|
|
|
112511
113189
|
}
|
|
112512
113190
|
|
|
112513
113191
|
export interface TrackingGoogleadsFeedbackConfigSetOutput {
|
|
113192
|
+
/**
|
|
113193
|
+
* The config as it now stands after the write, with server-side normalisation applied
|
|
113194
|
+
*/
|
|
112514
113195
|
config: {
|
|
113196
|
+
/**
|
|
113197
|
+
* How our uploads sit beside your own tag: `existing_pixel` only fills gaps it left, `fresh_pixel` reports our data alone
|
|
113198
|
+
*/
|
|
112515
113199
|
mode: ("existing_pixel" | "fresh_pixel")
|
|
113200
|
+
/**
|
|
113201
|
+
* The event-to-conversion-action mappings, each with its own value source
|
|
113202
|
+
*/
|
|
112516
113203
|
rules: {
|
|
113204
|
+
/**
|
|
113205
|
+
* Tracked event-name this rule uploads, as listed by tracking_event-names_list
|
|
113206
|
+
*/
|
|
112517
113207
|
event: string
|
|
113208
|
+
/**
|
|
113209
|
+
* What monetary value is reported to Google for each conversion this rule uploads
|
|
113210
|
+
*/
|
|
112518
113211
|
value: ({
|
|
113212
|
+
/**
|
|
113213
|
+
* 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
|
|
113214
|
+
*/
|
|
112519
113215
|
source: "revenue"
|
|
112520
113216
|
} | {
|
|
113217
|
+
/**
|
|
113218
|
+
* 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
|
|
113219
|
+
*/
|
|
112521
113220
|
source: "dynamic"
|
|
112522
113221
|
} | {
|
|
113222
|
+
/**
|
|
113223
|
+
* 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
|
|
113224
|
+
*/
|
|
112523
113225
|
source: "fixed"
|
|
113226
|
+
/**
|
|
113227
|
+
* ISO-4217 currency the fixed amount is denominated in, e.g. USD
|
|
113228
|
+
*/
|
|
112524
113229
|
currency: string
|
|
113230
|
+
/**
|
|
113231
|
+
* The fixed value in minor units (e.g. cents); 0 means a value-less lead conversion
|
|
113232
|
+
*/
|
|
112525
113233
|
amountMinor: number
|
|
112526
113234
|
})
|
|
113235
|
+
/**
|
|
113236
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
113237
|
+
*/
|
|
112527
113238
|
enabled: boolean
|
|
113239
|
+
/**
|
|
113240
|
+
* Google conversion action the event is reported as, in the form customers/<cid>/conversionActions/<id>
|
|
113241
|
+
*/
|
|
112528
113242
|
conversionAction: string
|
|
112529
113243
|
}[]
|
|
113244
|
+
/**
|
|
113245
|
+
* Master switch: with it off no rule uploads anything, however the individual rules are set
|
|
113246
|
+
*/
|
|
112530
113247
|
enabled: boolean
|
|
113248
|
+
/**
|
|
113249
|
+
* Product this conversion-feedback config belongs to
|
|
113250
|
+
*/
|
|
112531
113251
|
productId: string
|
|
113252
|
+
/**
|
|
113253
|
+
* How many days back a click may have happened and still be matched to a conversion (max 90)
|
|
113254
|
+
*/
|
|
112532
113255
|
lookbackDays: number
|
|
113256
|
+
/**
|
|
113257
|
+
* The connected Google Ads account's currency, best-effort; null or absent when it could not be read
|
|
113258
|
+
*/
|
|
112533
113259
|
accountCurrency?: (string | null)
|
|
113260
|
+
/**
|
|
113261
|
+
* Whether hashed email and phone are sent alongside gclid as additional match keys, which raises match rates
|
|
113262
|
+
*/
|
|
112534
113263
|
enhancedConversions: boolean
|
|
112535
113264
|
}
|
|
113265
|
+
/**
|
|
113266
|
+
* Plain-language safety notes about what this combination of mode and match keys will do to the connected account
|
|
113267
|
+
*/
|
|
112536
113268
|
guidance: string[]
|
|
112537
113269
|
}
|
|
112538
113270
|
|
|
@@ -112541,15 +113273,48 @@ export interface TrackingGoogleadsFeedbackRunInput {
|
|
|
112541
113273
|
}
|
|
112542
113274
|
|
|
112543
113275
|
export interface TrackingGoogleadsFeedbackRunOutput {
|
|
113276
|
+
/**
|
|
113277
|
+
* 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.
|
|
113278
|
+
*/
|
|
113279
|
+
runId: string
|
|
113280
|
+
/**
|
|
113281
|
+
* Rows Google rejected in this pass.
|
|
113282
|
+
*/
|
|
112544
113283
|
failed: number
|
|
113284
|
+
/**
|
|
113285
|
+
* Of those, the ones that had a usable click id and a value, so a payload was actually built for them.
|
|
113286
|
+
*/
|
|
112545
113287
|
matched: number
|
|
113288
|
+
/**
|
|
113289
|
+
* Conversions dropped because no Google click could be tied to the person. A high count here is a tagging problem, not a Google one.
|
|
113290
|
+
*/
|
|
112546
113291
|
noGclid: number
|
|
113292
|
+
/**
|
|
113293
|
+
* 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.
|
|
113294
|
+
*/
|
|
112547
113295
|
skipped?: ("disabled" | "no_rules" | "not_connected")
|
|
113296
|
+
/**
|
|
113297
|
+
* Conversions in the lookback window that an enabled rule applied to.
|
|
113298
|
+
*/
|
|
112548
113299
|
selected: number
|
|
113300
|
+
/**
|
|
113301
|
+
* Rows Google accepted in this pass.
|
|
113302
|
+
*/
|
|
112549
113303
|
uploaded: number
|
|
113304
|
+
/**
|
|
113305
|
+
* The tenant whose conversions this pass uploaded.
|
|
113306
|
+
*/
|
|
112550
113307
|
productId: string
|
|
113308
|
+
/**
|
|
113309
|
+
* Conversions held back because their money value had not landed yet. They are retried on a later pass.
|
|
113310
|
+
*/
|
|
112551
113311
|
zeroValue: number
|
|
112552
|
-
|
|
113312
|
+
/**
|
|
113313
|
+
* Google's own rejection detail, passed through unchanged, when it refused part of the batch. Absent when it accepted everything.
|
|
113314
|
+
*/
|
|
113315
|
+
partialFailureError?: {
|
|
113316
|
+
[k: string]: unknown
|
|
113317
|
+
}
|
|
112553
113318
|
}
|
|
112554
113319
|
|
|
112555
113320
|
export interface TrackingGoogleadsFeedbackStatusInput {
|
|
@@ -112557,25 +113322,82 @@ export interface TrackingGoogleadsFeedbackStatusInput {
|
|
|
112557
113322
|
}
|
|
112558
113323
|
|
|
112559
113324
|
export interface TrackingGoogleadsFeedbackStatusOutput {
|
|
113325
|
+
/**
|
|
113326
|
+
* 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.
|
|
113327
|
+
*/
|
|
112560
113328
|
mode: ("existing_pixel" | "fresh_pixel")
|
|
113329
|
+
/**
|
|
113330
|
+
* Rows Google has rejected since this product was connected, across every pass.
|
|
113331
|
+
*/
|
|
112561
113332
|
failed: number
|
|
113333
|
+
/**
|
|
113334
|
+
* Whether conversions are being sent to Google Ads at all.
|
|
113335
|
+
*/
|
|
112562
113336
|
enabled: boolean
|
|
113337
|
+
/**
|
|
113338
|
+
* Coverage of the most recent pass. Null when no pass has run for this product yet.
|
|
113339
|
+
*/
|
|
112563
113340
|
lastRun: ({
|
|
113341
|
+
/**
|
|
113342
|
+
* When the last pass finished. Null when the stored summary predates this field.
|
|
113343
|
+
*/
|
|
112564
113344
|
ranAt: (string | null)
|
|
113345
|
+
/**
|
|
113346
|
+
* Rows Google rejected. Anything above zero is what makes the status partial.
|
|
113347
|
+
*/
|
|
112565
113348
|
failed: number
|
|
113349
|
+
/**
|
|
113350
|
+
* 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.
|
|
113351
|
+
*/
|
|
112566
113352
|
status: ("ok" | "partial" | "not_connected")
|
|
113353
|
+
/**
|
|
113354
|
+
* Of those, the ones that had a usable click id and a value, so a payload was actually built for them.
|
|
113355
|
+
*/
|
|
112567
113356
|
matched: number
|
|
113357
|
+
/**
|
|
113358
|
+
* Conversions dropped because no Google click could be tied to the person. A high count here is a tagging problem, not a Google one.
|
|
113359
|
+
*/
|
|
112568
113360
|
noGclid: number
|
|
113361
|
+
/**
|
|
113362
|
+
* Conversions in the lookback window that an enabled rule applied to.
|
|
113363
|
+
*/
|
|
112569
113364
|
selected: number
|
|
113365
|
+
/**
|
|
113366
|
+
* Rows Google accepted.
|
|
113367
|
+
*/
|
|
112570
113368
|
uploaded: number
|
|
113369
|
+
/**
|
|
113370
|
+
* Conversions held back because their money value had not landed yet. They are retried on a later pass.
|
|
113371
|
+
*/
|
|
112571
113372
|
zeroValue: number
|
|
112572
113373
|
} | null)
|
|
113374
|
+
/**
|
|
113375
|
+
* 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.
|
|
113376
|
+
*/
|
|
112573
113377
|
guidance: string[]
|
|
113378
|
+
/**
|
|
113379
|
+
* Rows Google has accepted since this product was connected, across every pass.
|
|
113380
|
+
*/
|
|
112574
113381
|
uploaded: number
|
|
113382
|
+
/**
|
|
113383
|
+
* How many event-to-conversion-action rules are configured, enabled or not.
|
|
113384
|
+
*/
|
|
112575
113385
|
ruleCount: number
|
|
113386
|
+
/**
|
|
113387
|
+
* How many days back each pass looks for conversions to send, and how far back a click may be matched.
|
|
113388
|
+
*/
|
|
112576
113389
|
lookbackDays: number
|
|
113390
|
+
/**
|
|
113391
|
+
* 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.
|
|
113392
|
+
*/
|
|
112577
113393
|
accountCurrency: (string | null)
|
|
112578
|
-
|
|
113394
|
+
/**
|
|
113395
|
+
* The event names that may use the Dynamic value source, because revenue is known for them.
|
|
113396
|
+
*/
|
|
113397
|
+
dynamicValueEvents: string[]
|
|
113398
|
+
/**
|
|
113399
|
+
* Whether a stored email or phone number is sent alongside the click, so Google can match conversions the click id alone would miss.
|
|
113400
|
+
*/
|
|
112579
113401
|
enhancedConversions: boolean
|
|
112580
113402
|
}
|
|
112581
113403
|
|
|
@@ -112597,65 +113419,228 @@ conversionDatetime: string
|
|
|
112597
113419
|
}[]
|
|
112598
113420
|
|
|
112599
113421
|
export interface TrackingGoogleadsRoasReportInput {
|
|
112600
|
-
|
|
112601
|
-
|
|
113422
|
+
/**
|
|
113423
|
+
* 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.
|
|
113424
|
+
*/
|
|
113425
|
+
to?: string
|
|
113426
|
+
/**
|
|
113427
|
+
* 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.
|
|
113428
|
+
*/
|
|
113429
|
+
from?: string
|
|
113430
|
+
/**
|
|
113431
|
+
* Which touchpoint gets the credit for a conversion: the last paid click before it, or the first. Defaults to last_click.
|
|
113432
|
+
*/
|
|
112602
113433
|
model?: ("last_click" | "first_click")
|
|
113434
|
+
/**
|
|
113435
|
+
* Restrict to conversions tracked on this installed site, e.g. acme.com. Omit to cover every domain of the product.
|
|
113436
|
+
*/
|
|
112603
113437
|
domain?: string
|
|
113438
|
+
/**
|
|
113439
|
+
* Restrict to one Google Ads account, by its customer id without dashes. Omit to cover every connected account.
|
|
113440
|
+
*/
|
|
112604
113441
|
customerId?: string
|
|
113442
|
+
/**
|
|
113443
|
+
* 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.
|
|
113444
|
+
*/
|
|
112605
113445
|
lookbackDays?: number
|
|
112606
113446
|
}
|
|
112607
113447
|
|
|
112608
113448
|
export interface TrackingGoogleadsRoasReportOutput {
|
|
113449
|
+
/**
|
|
113450
|
+
* End of the window this report covers, echoed back as an ISO-8601 UTC timestamp.
|
|
113451
|
+
*/
|
|
112609
113452
|
to: string
|
|
113453
|
+
/**
|
|
113454
|
+
* Start of the window this report covers, echoed back as an ISO-8601 UTC timestamp.
|
|
113455
|
+
*/
|
|
112610
113456
|
from: string
|
|
113457
|
+
/**
|
|
113458
|
+
* Which touchpoint earned the credit in these numbers: the last paid click before the conversion, or the first.
|
|
113459
|
+
*/
|
|
112611
113460
|
model: ("last_click" | "first_click")
|
|
113461
|
+
/**
|
|
113462
|
+
* 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.
|
|
113463
|
+
*/
|
|
113464
|
+
stale: boolean
|
|
113465
|
+
/**
|
|
113466
|
+
* The installed site this report was restricted to; null when it covers every domain of the product.
|
|
113467
|
+
*/
|
|
112612
113468
|
domain: (string | null)
|
|
113469
|
+
/**
|
|
113470
|
+
* One entry per Google Ads account and currency. Kept apart on purpose: amounts in different currencies are never added together.
|
|
113471
|
+
*/
|
|
112613
113472
|
accounts: {
|
|
113473
|
+
/**
|
|
113474
|
+
* 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.
|
|
113475
|
+
*/
|
|
112614
113476
|
stale: boolean
|
|
113477
|
+
/**
|
|
113478
|
+
* 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.
|
|
113479
|
+
*/
|
|
112615
113480
|
currency: string
|
|
113481
|
+
/**
|
|
113482
|
+
* This account's campaigns, each with its ad groups and ads nested underneath.
|
|
113483
|
+
*/
|
|
112616
113484
|
campaigns: TrackingGoogleadsRoasReportOutputItems[]
|
|
113485
|
+
/**
|
|
113486
|
+
* Google Ads account these campaigns belong to, by customer id without dashes.
|
|
113487
|
+
*/
|
|
112617
113488
|
customerId: string
|
|
113489
|
+
/**
|
|
113490
|
+
* When cost was last pulled from Google Ads for this account (ISO-8601 UTC); null when it has never been pulled.
|
|
113491
|
+
*/
|
|
112618
113492
|
costLastSyncedAt: (string | null)
|
|
112619
113493
|
}[]
|
|
113494
|
+
/**
|
|
113495
|
+
* ISO-4217 code every amount in this report is expressed in, when all accounts share one; null when the report spans several currencies.
|
|
113496
|
+
*/
|
|
113497
|
+
currency: (string | null)
|
|
113498
|
+
/**
|
|
113499
|
+
* When this report was calculated (ISO-8601 UTC). The figures are a snapshot at this moment, not live.
|
|
113500
|
+
*/
|
|
112620
113501
|
computedAt: string
|
|
113502
|
+
/**
|
|
113503
|
+
* Google Ads account this whole report covers, when it covers exactly one; null when it spans several accounts.
|
|
113504
|
+
*/
|
|
113505
|
+
customerId: (string | null)
|
|
113506
|
+
/**
|
|
113507
|
+
* How far back before a conversion a paid click was allowed to sit and still earn the credit, in days.
|
|
113508
|
+
*/
|
|
112621
113509
|
lookbackDays: number
|
|
113510
|
+
/**
|
|
113511
|
+
* Oldest moment cost was pulled from Google Ads across the accounts below (ISO-8601 UTC); null when any account has never synced.
|
|
113512
|
+
*/
|
|
113513
|
+
costLastSyncedAt: (string | null)
|
|
113514
|
+
/**
|
|
113515
|
+
* 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.
|
|
113516
|
+
*/
|
|
112622
113517
|
unmatchedAttributed: {
|
|
113518
|
+
/**
|
|
113519
|
+
* Revenue that stayed outside every campaign, one row per currency. Never cross-summed.
|
|
113520
|
+
*/
|
|
112623
113521
|
revenue: TrackingGoogleadsRoasReportOutputItems1[]
|
|
113522
|
+
/**
|
|
113523
|
+
* How many distinct customers paid but could not be traced to any Google Ads campaign.
|
|
113524
|
+
*/
|
|
112624
113525
|
conversions: number
|
|
113526
|
+
/**
|
|
113527
|
+
* 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.
|
|
113528
|
+
*/
|
|
112625
113529
|
utmCampaign: (string | null)
|
|
112626
113530
|
}[]
|
|
112627
113531
|
}
|
|
112628
113532
|
export interface TrackingGoogleadsRoasReportOutputItems {
|
|
113533
|
+
/**
|
|
113534
|
+
* What one attributed customer cost: cost divided by attributed conversions, in minor units of the account currency. null when there were no attributed conversions.
|
|
113535
|
+
*/
|
|
112629
113536
|
cpa: (number | null)
|
|
113537
|
+
/**
|
|
113538
|
+
* Google Ads ad this node is, by its numeric id; null on a campaign or ad group node.
|
|
113539
|
+
*/
|
|
112630
113540
|
adId: (string | null)
|
|
113541
|
+
/**
|
|
113542
|
+
* What Google charged and what Google itself counted for this node over the window.
|
|
113543
|
+
*/
|
|
112631
113544
|
cost: {
|
|
113545
|
+
/**
|
|
113546
|
+
* How many times someone clicked through from Google over the window.
|
|
113547
|
+
*/
|
|
112632
113548
|
clicks: number
|
|
113549
|
+
/**
|
|
113550
|
+
* ISO-4217 code of the Google Ads account these numbers come from, e.g. USD. Fixed per account.
|
|
113551
|
+
*/
|
|
112633
113552
|
currency: string
|
|
113553
|
+
/**
|
|
113554
|
+
* What Google charged for this campaign, ad group or ad over the window, in minor units (1250 = 12.50).
|
|
113555
|
+
*/
|
|
112634
113556
|
costMinor: number
|
|
113557
|
+
/**
|
|
113558
|
+
* How many times Google showed this ad over the window.
|
|
113559
|
+
*/
|
|
112635
113560
|
impressions: number
|
|
113561
|
+
/**
|
|
113562
|
+
* Conversions GOOGLE counted for this node — its own attribution, not ours. May be fractional, because Google splits credit across touchpoints.
|
|
113563
|
+
*/
|
|
112636
113564
|
platformConversions: number
|
|
113565
|
+
/**
|
|
113566
|
+
* Conversion value GOOGLE reports for this node, in minor units of the account currency. Compare it with our attributed revenue; the two rarely agree.
|
|
113567
|
+
*/
|
|
112637
113568
|
platformConversionsValueMinor: number
|
|
112638
113569
|
}
|
|
113570
|
+
/**
|
|
113571
|
+
* What this campaign, ad group or ad is called in Google Ads; null when the name has not been synced.
|
|
113572
|
+
*/
|
|
112639
113573
|
name: (string | null)
|
|
113574
|
+
/**
|
|
113575
|
+
* 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.
|
|
113576
|
+
*/
|
|
112640
113577
|
roas: (number | null)
|
|
113578
|
+
/**
|
|
113579
|
+
* 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.
|
|
113580
|
+
*/
|
|
112641
113581
|
level: ("campaign" | "ad_group" | "ad")
|
|
113582
|
+
/**
|
|
113583
|
+
* Google Ads campaign state, passed through raw: ENABLED, PAUSED, REMOVED. Present on campaign nodes only — the key is absent below.
|
|
113584
|
+
*/
|
|
112642
113585
|
status?: string
|
|
113586
|
+
/**
|
|
113587
|
+
* The level below this one: ad groups under a campaign, ads under an ad group, empty on an ad.
|
|
113588
|
+
*/
|
|
112643
113589
|
children: TrackingGoogleadsRoasReportOutputItems[]
|
|
113590
|
+
/**
|
|
113591
|
+
* Google Ads ad group this node belongs to, by its numeric id; null on a campaign node.
|
|
113592
|
+
*/
|
|
112644
113593
|
adGroupId: (string | null)
|
|
113594
|
+
/**
|
|
113595
|
+
* What WE traced back to this node from our own tracking. null below campaign level, and null on a campaign nothing was traced to.
|
|
113596
|
+
*/
|
|
112645
113597
|
attributed: ({
|
|
113598
|
+
/**
|
|
113599
|
+
* What WE traced back to this campaign, one row per currency the customers paid in. Never cross-summed — use accountCurrencyNetMinor for a single figure.
|
|
113600
|
+
*/
|
|
112646
113601
|
revenue: TrackingGoogleadsRoasReportOutputItems1[]
|
|
112647
|
-
|
|
113602
|
+
/**
|
|
113603
|
+
* 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.
|
|
113604
|
+
*/
|
|
113605
|
+
matchedBy: (("lt_campaign_id" | "campaign_id" | "campaign_name" | "gclid") | null)
|
|
113606
|
+
/**
|
|
113607
|
+
* 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.
|
|
113608
|
+
*/
|
|
112648
113609
|
conversions: number
|
|
113610
|
+
/**
|
|
113611
|
+
* 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.
|
|
113612
|
+
*/
|
|
112649
113613
|
accountCurrencyNetMinor: number
|
|
112650
113614
|
} | null)
|
|
113615
|
+
/**
|
|
113616
|
+
* Google Ads campaign this node belongs to, by its numeric id. Set at every level.
|
|
113617
|
+
*/
|
|
112651
113618
|
campaignId: string
|
|
113619
|
+
/**
|
|
113620
|
+
* Google Ads account this node belongs to, by customer id without dashes.
|
|
113621
|
+
*/
|
|
112652
113622
|
customerId: string
|
|
113623
|
+
/**
|
|
113624
|
+
* 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.
|
|
113625
|
+
*/
|
|
112653
113626
|
channelType?: (string | null)
|
|
112654
113627
|
}
|
|
112655
113628
|
export interface TrackingGoogleadsRoasReportOutputItems1 {
|
|
113629
|
+
/**
|
|
113630
|
+
* ISO-4217 code the three amounts on this row are denominated in, e.g. USD. One row per currency; rows are never added together.
|
|
113631
|
+
*/
|
|
112656
113632
|
currency: string
|
|
113633
|
+
/**
|
|
113634
|
+
* Money kept after refunds (gross minus refunded), in minor units of this row's currency. This is what ROAS is calculated from.
|
|
113635
|
+
*/
|
|
112657
113636
|
netMinor: number
|
|
113637
|
+
/**
|
|
113638
|
+
* Money taken before refunds, in minor units of this row's currency (1250 = 12.50).
|
|
113639
|
+
*/
|
|
112658
113640
|
grossMinor: number
|
|
113641
|
+
/**
|
|
113642
|
+
* Money given back within the window, in minor units of this row's currency; already subtracted from netMinor.
|
|
113643
|
+
*/
|
|
112659
113644
|
refundedMinor: number
|
|
112660
113645
|
}
|
|
112661
113646
|
|
|
@@ -112664,21 +113649,67 @@ export interface TrackingGoogleadsSyncNowInput {
|
|
|
112664
113649
|
}
|
|
112665
113650
|
|
|
112666
113651
|
export interface TrackingGoogleadsSyncNowOutput {
|
|
113652
|
+
/**
|
|
113653
|
+
* 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.
|
|
113654
|
+
*/
|
|
112667
113655
|
rows: {
|
|
113656
|
+
/**
|
|
113657
|
+
* Ads written.
|
|
113658
|
+
*/
|
|
112668
113659
|
ads: number
|
|
113660
|
+
/**
|
|
113661
|
+
* Day-by-day ad spend and metric rows written.
|
|
113662
|
+
*/
|
|
112669
113663
|
adDaily: number
|
|
113664
|
+
/**
|
|
113665
|
+
* Ad groups written.
|
|
113666
|
+
*/
|
|
112670
113667
|
adGroups: number
|
|
113668
|
+
/**
|
|
113669
|
+
* Campaigns written, names and status included.
|
|
113670
|
+
*/
|
|
112671
113671
|
campaigns: number
|
|
113672
|
+
/**
|
|
113673
|
+
* Day-by-day ad-group spend and metric rows written.
|
|
113674
|
+
*/
|
|
112672
113675
|
adGroupDaily: number
|
|
113676
|
+
/**
|
|
113677
|
+
* Day-by-day campaign spend and metric rows written.
|
|
113678
|
+
*/
|
|
112673
113679
|
campaignDaily: number
|
|
112674
113680
|
}
|
|
113681
|
+
/**
|
|
113682
|
+
* 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.
|
|
113683
|
+
*/
|
|
113684
|
+
runId: string
|
|
113685
|
+
/**
|
|
113686
|
+
* 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.
|
|
113687
|
+
*/
|
|
112675
113688
|
reason?: string
|
|
113689
|
+
/**
|
|
113690
|
+
* Whether the sweep ran. skipped means the Google Ads account could not be reached and nothing at all was written.
|
|
113691
|
+
*/
|
|
112676
113692
|
status: ("ok" | "skipped")
|
|
113693
|
+
/**
|
|
113694
|
+
* The range of days this sweep read spend and metrics for.
|
|
113695
|
+
*/
|
|
112677
113696
|
window: {
|
|
113697
|
+
/**
|
|
113698
|
+
* Last day covered, inclusive, as YYYY-MM-DD.
|
|
113699
|
+
*/
|
|
112678
113700
|
end: string
|
|
113701
|
+
/**
|
|
113702
|
+
* First day covered, inclusive, as YYYY-MM-DD.
|
|
113703
|
+
*/
|
|
112679
113704
|
start: string
|
|
112680
113705
|
}
|
|
113706
|
+
/**
|
|
113707
|
+
* The tenant whose Google Ads account was swept.
|
|
113708
|
+
*/
|
|
112681
113709
|
productId: string
|
|
113710
|
+
/**
|
|
113711
|
+
* When the sweep finished. Null when nothing was written.
|
|
113712
|
+
*/
|
|
112682
113713
|
lastSyncedAt: (string | null)
|
|
112683
113714
|
}
|
|
112684
113715
|
|
|
@@ -112694,54 +113725,187 @@ from?: string
|
|
|
112694
113725
|
}
|
|
112695
113726
|
|
|
112696
113727
|
export interface TrackingGoogleadsTrackingHealthOutput {
|
|
113728
|
+
/**
|
|
113729
|
+
* End of the range these figures cover, as an instant.
|
|
113730
|
+
*/
|
|
112697
113731
|
to: string
|
|
113732
|
+
/**
|
|
113733
|
+
* Start of the range these figures cover, as an instant. Echoes back the range that was asked for.
|
|
113734
|
+
*/
|
|
112698
113735
|
from: string
|
|
113736
|
+
/**
|
|
113737
|
+
* Whether the tracking template has been seen working live: true once at least one tagged click has arrived.
|
|
113738
|
+
*/
|
|
112699
113739
|
installed: boolean
|
|
113740
|
+
/**
|
|
113741
|
+
* Whether the sample above was cut short. True means more untagged URLs exist than are listed.
|
|
113742
|
+
*/
|
|
112700
113743
|
truncated: boolean
|
|
113744
|
+
/**
|
|
113745
|
+
* Google paid clicks that arrived on the site in this range. The denominator for everything below.
|
|
113746
|
+
*/
|
|
112701
113747
|
paidClicks: number
|
|
113748
|
+
/**
|
|
113749
|
+
* 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.
|
|
113750
|
+
*/
|
|
112702
113751
|
dataQuality: {
|
|
113752
|
+
/**
|
|
113753
|
+
* 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.
|
|
113754
|
+
*/
|
|
112703
113755
|
cookielessPaidClicks: number
|
|
112704
113756
|
}
|
|
113757
|
+
/**
|
|
113758
|
+
* Share of paid clicks that arrived untagged, between 0 and 1. Anything much above zero means the tracking template needs fixing.
|
|
113759
|
+
*/
|
|
112705
113760
|
breakageRate: number
|
|
113761
|
+
/**
|
|
113762
|
+
* Of those, the ones that arrived carrying our URL tracking parameters, so the campaign behind them is known.
|
|
113763
|
+
*/
|
|
112706
113764
|
taggedClicks: number
|
|
113765
|
+
/**
|
|
113766
|
+
* When the most recent untagged click arrived. Close to now means the breakage is still live. Null when none did.
|
|
113767
|
+
*/
|
|
112707
113768
|
lastUntaggedAt: (string | null)
|
|
113769
|
+
/**
|
|
113770
|
+
* 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.
|
|
113771
|
+
*/
|
|
112708
113772
|
untaggedClicks: number
|
|
113773
|
+
/**
|
|
113774
|
+
* When the first untagged click of the range arrived — roughly when the breakage started. Null when none did.
|
|
113775
|
+
*/
|
|
112709
113776
|
firstUntaggedAt: (string | null)
|
|
113777
|
+
/**
|
|
113778
|
+
* 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.
|
|
113779
|
+
*/
|
|
112710
113780
|
sampleUntaggedUrls: string[]
|
|
112711
113781
|
}
|
|
112712
113782
|
|
|
112713
113783
|
export interface TrackingGoogleadsUsVsPlatformInput {
|
|
112714
|
-
|
|
112715
|
-
|
|
113784
|
+
/**
|
|
113785
|
+
* 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.
|
|
113786
|
+
*/
|
|
113787
|
+
to?: string
|
|
113788
|
+
/**
|
|
113789
|
+
* 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.
|
|
113790
|
+
*/
|
|
113791
|
+
from?: string
|
|
113792
|
+
/**
|
|
113793
|
+
* Which touchpoint gets the credit for a conversion: the last paid click before it, or the first. Defaults to last_click.
|
|
113794
|
+
*/
|
|
112716
113795
|
model?: ("last_click" | "first_click")
|
|
113796
|
+
/**
|
|
113797
|
+
* Restrict to conversions tracked on this installed site, e.g. acme.com. Omit to cover every domain of the product.
|
|
113798
|
+
*/
|
|
112717
113799
|
domain?: string
|
|
113800
|
+
/**
|
|
113801
|
+
* Restrict to one Google Ads account, by its customer id without dashes. Omit to cover every connected account.
|
|
113802
|
+
*/
|
|
112718
113803
|
customerId?: string
|
|
113804
|
+
/**
|
|
113805
|
+
* 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.
|
|
113806
|
+
*/
|
|
112719
113807
|
lookbackDays?: number
|
|
112720
113808
|
}
|
|
112721
113809
|
|
|
112722
113810
|
export interface TrackingGoogleadsUsVsPlatformOutput {
|
|
113811
|
+
/**
|
|
113812
|
+
* End of the window this comparison covers, echoed back as an ISO-8601 UTC timestamp.
|
|
113813
|
+
*/
|
|
112723
113814
|
to: string
|
|
113815
|
+
/**
|
|
113816
|
+
* Start of the window this comparison covers, echoed back as an ISO-8601 UTC timestamp.
|
|
113817
|
+
*/
|
|
112724
113818
|
from: string
|
|
113819
|
+
/**
|
|
113820
|
+
* 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.
|
|
113821
|
+
*/
|
|
112725
113822
|
model: ("last_click" | "first_click")
|
|
113823
|
+
/**
|
|
113824
|
+
* 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.
|
|
113825
|
+
*/
|
|
113826
|
+
stale: boolean
|
|
113827
|
+
/**
|
|
113828
|
+
* The installed site this comparison was restricted to; null when it covers every domain of the product.
|
|
113829
|
+
*/
|
|
112726
113830
|
domain: (string | null)
|
|
113831
|
+
/**
|
|
113832
|
+
* One entry per Google Ads account and currency, each holding its per-campaign comparison rows. Currencies are never added together.
|
|
113833
|
+
*/
|
|
112727
113834
|
accounts: {
|
|
113835
|
+
/**
|
|
113836
|
+
* One row per campaign in this account, ours beside Google's.
|
|
113837
|
+
*/
|
|
112728
113838
|
rows: {
|
|
113839
|
+
/**
|
|
113840
|
+
* What this campaign is called in Google Ads; null when the name has not been synced.
|
|
113841
|
+
*/
|
|
112729
113842
|
name: (string | null)
|
|
113843
|
+
/**
|
|
113844
|
+
* ISO-4217 code both sides of this comparison are expressed in, e.g. USD. Ours and Google's are never converted.
|
|
113845
|
+
*/
|
|
112730
113846
|
currency: string
|
|
113847
|
+
/**
|
|
113848
|
+
* The Google Ads campaign this row compares, by its numeric id.
|
|
113849
|
+
*/
|
|
112731
113850
|
campaignId: string
|
|
113851
|
+
/**
|
|
113852
|
+
* Google Ads account this campaign belongs to, by customer id without dashes.
|
|
113853
|
+
*/
|
|
112732
113854
|
customerId: string
|
|
113855
|
+
/**
|
|
113856
|
+
* How many distinct customers WE traced to this campaign. A whole number: we never split a customer across campaigns.
|
|
113857
|
+
*/
|
|
112733
113858
|
ourConversions: number
|
|
113859
|
+
/**
|
|
113860
|
+
* Net revenue WE traced to this campaign, in minor units of the account currency (1250 = 12.50). 0 when we traced none.
|
|
113861
|
+
*/
|
|
112734
113862
|
ourRevenueNetMinor: number
|
|
113863
|
+
/**
|
|
113864
|
+
* 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.
|
|
113865
|
+
*/
|
|
112735
113866
|
platformConversions: number
|
|
113867
|
+
/**
|
|
113868
|
+
* Conversion value GOOGLE reports for the same campaign, in minor units of the account currency. The counterpart of ourRevenueNetMinor.
|
|
113869
|
+
*/
|
|
112736
113870
|
platformConversionsValueMinor: number
|
|
112737
113871
|
}[]
|
|
113872
|
+
/**
|
|
113873
|
+
* 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.
|
|
113874
|
+
*/
|
|
112738
113875
|
stale: boolean
|
|
113876
|
+
/**
|
|
113877
|
+
* 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.
|
|
113878
|
+
*/
|
|
112739
113879
|
currency: string
|
|
113880
|
+
/**
|
|
113881
|
+
* Google Ads account these comparison rows belong to, by customer id without dashes.
|
|
113882
|
+
*/
|
|
112740
113883
|
customerId: string
|
|
113884
|
+
/**
|
|
113885
|
+
* When cost was last pulled from Google Ads for this account (ISO-8601 UTC); null when it has never been pulled.
|
|
113886
|
+
*/
|
|
112741
113887
|
costLastSyncedAt: (string | null)
|
|
112742
113888
|
}[]
|
|
113889
|
+
/**
|
|
113890
|
+
* ISO-4217 code every amount in this report is expressed in, when all accounts share one; null when the report spans several currencies.
|
|
113891
|
+
*/
|
|
113892
|
+
currency: (string | null)
|
|
113893
|
+
/**
|
|
113894
|
+
* When this comparison was calculated (ISO-8601 UTC). The figures are a snapshot at this moment, not live.
|
|
113895
|
+
*/
|
|
112743
113896
|
computedAt: string
|
|
113897
|
+
/**
|
|
113898
|
+
* Google Ads account this whole report covers, when it covers exactly one; null when it spans several accounts.
|
|
113899
|
+
*/
|
|
113900
|
+
customerId: (string | null)
|
|
113901
|
+
/**
|
|
113902
|
+
* How far back before a conversion a paid click was allowed to sit and still earn the credit on our side, in days.
|
|
113903
|
+
*/
|
|
112744
113904
|
lookbackDays: number
|
|
113905
|
+
/**
|
|
113906
|
+
* Oldest moment cost was pulled from Google Ads across the accounts below (ISO-8601 UTC); null when any account has never synced.
|
|
113907
|
+
*/
|
|
113908
|
+
costLastSyncedAt: (string | null)
|
|
112745
113909
|
}
|
|
112746
113910
|
|
|
112747
113911
|
export interface TrackingIdentityHealthInput {
|
|
@@ -112749,11 +113913,29 @@ export interface TrackingIdentityHealthInput {
|
|
|
112749
113913
|
}
|
|
112750
113914
|
|
|
112751
113915
|
export interface TrackingIdentityHealthOutput {
|
|
113916
|
+
/**
|
|
113917
|
+
* When these numbers were computed, ISO 8601 UTC. They are a live count, so this is effectively the moment of the call.
|
|
113918
|
+
*/
|
|
112752
113919
|
computedAt: string
|
|
113920
|
+
/**
|
|
113921
|
+
* How many people the product holds in total, anonymous ones included. The denominator of both rates below.
|
|
113922
|
+
*/
|
|
112753
113923
|
totalProfiles: number
|
|
113924
|
+
/**
|
|
113925
|
+
* 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.
|
|
113926
|
+
*/
|
|
112754
113927
|
identifiedRate: number
|
|
113928
|
+
/**
|
|
113929
|
+
* 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.
|
|
113930
|
+
*/
|
|
112755
113931
|
adTouchpointRate: number
|
|
113932
|
+
/**
|
|
113933
|
+
* How many of them an email or phone is known for — the people a message can actually be sent to.
|
|
113934
|
+
*/
|
|
112756
113935
|
identifiedProfiles: number
|
|
113936
|
+
/**
|
|
113937
|
+
* 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.
|
|
113938
|
+
*/
|
|
112757
113939
|
adTouchpointProfiles: number
|
|
112758
113940
|
}
|
|
112759
113941
|
|
|
@@ -112765,6 +113947,9 @@ domain: string
|
|
|
112765
113947
|
}
|
|
112766
113948
|
|
|
112767
113949
|
export interface TrackingInstallDomainsCreateOutput {
|
|
113950
|
+
/**
|
|
113951
|
+
* The domain as stored after normalisation, which may differ from what was submitted
|
|
113952
|
+
*/
|
|
112768
113953
|
domain: string
|
|
112769
113954
|
}
|
|
112770
113955
|
|
|
@@ -112776,6 +113961,9 @@ domain: string
|
|
|
112776
113961
|
}
|
|
112777
113962
|
|
|
112778
113963
|
export interface TrackingInstallDomainsDeleteOutput {
|
|
113964
|
+
/**
|
|
113965
|
+
* Always true — the domain was removed; a failure arrives as an error, not as false
|
|
113966
|
+
*/
|
|
112779
113967
|
ok: true
|
|
112780
113968
|
}
|
|
112781
113969
|
|
|
@@ -112784,14 +113972,35 @@ export interface TrackingInstallDomainsListInput {
|
|
|
112784
113972
|
}
|
|
112785
113973
|
|
|
112786
113974
|
export interface TrackingInstallDomainsListOutput {
|
|
113975
|
+
/**
|
|
113976
|
+
* Domains sending events that nobody registered — usually a staging host, a typo, or an install worth adding
|
|
113977
|
+
*/
|
|
112787
113978
|
discovered: TrackingInstallDomainsListOutputItems[]
|
|
113979
|
+
/**
|
|
113980
|
+
* Domains deliberately put on the install checklist, each with whether its script has been seen
|
|
113981
|
+
*/
|
|
112788
113982
|
registered: TrackingInstallDomainsListOutputItems[]
|
|
113983
|
+
/**
|
|
113984
|
+
* Length in days of the lookback window the `seen` and `lastSeen` figures are measured over
|
|
113985
|
+
*/
|
|
112789
113986
|
windowDays: number
|
|
112790
113987
|
}
|
|
112791
113988
|
export interface TrackingInstallDomainsListOutputItems {
|
|
113989
|
+
/**
|
|
113990
|
+
* Whether the tracking script actually sent an event from this domain inside the lookback window
|
|
113991
|
+
*/
|
|
112792
113992
|
seen: boolean
|
|
113993
|
+
/**
|
|
113994
|
+
* Normalised domain name the status is reported for
|
|
113995
|
+
*/
|
|
112793
113996
|
domain: string
|
|
113997
|
+
/**
|
|
113998
|
+
* ISO-8601 timestamp of the most recent event from this domain, or null if none arrived in the window
|
|
113999
|
+
*/
|
|
112794
114000
|
lastSeen: (string | null)
|
|
114001
|
+
/**
|
|
114002
|
+
* Whether the domain is on the install checklist on purpose, as opposed to merely observed sending events
|
|
114003
|
+
*/
|
|
112795
114004
|
registered: boolean
|
|
112796
114005
|
}
|
|
112797
114006
|
|
|
@@ -112803,6 +114012,9 @@ domain: string
|
|
|
112803
114012
|
}
|
|
112804
114013
|
|
|
112805
114014
|
export interface TrackingLinkDomainsCreateOutput {
|
|
114015
|
+
/**
|
|
114016
|
+
* The domain as stored after normalisation, which may differ from what was submitted
|
|
114017
|
+
*/
|
|
112806
114018
|
domain: string
|
|
112807
114019
|
}
|
|
112808
114020
|
|
|
@@ -112814,6 +114026,9 @@ domain: string
|
|
|
112814
114026
|
}
|
|
112815
114027
|
|
|
112816
114028
|
export interface TrackingLinkDomainsDeleteOutput {
|
|
114029
|
+
/**
|
|
114030
|
+
* Always true — the domain left the linking group; a failure arrives as an error, not as false
|
|
114031
|
+
*/
|
|
112817
114032
|
ok: true
|
|
112818
114033
|
}
|
|
112819
114034
|
|
|
@@ -112822,6 +114037,9 @@ export interface TrackingLinkDomainsListInput {
|
|
|
112822
114037
|
}
|
|
112823
114038
|
|
|
112824
114039
|
export interface TrackingLinkDomainsListOutput {
|
|
114040
|
+
/**
|
|
114041
|
+
* Root domains in the linking group; the tracking script decorates links between any two of them so one visitor stays one visitor
|
|
114042
|
+
*/
|
|
112825
114043
|
domains: string[]
|
|
112826
114044
|
}
|
|
112827
114045
|
|
|
@@ -112841,22 +114059,70 @@ domain?: string
|
|
|
112841
114059
|
}
|
|
112842
114060
|
|
|
112843
114061
|
export interface TrackingLiveEventsListOutput {
|
|
114062
|
+
/**
|
|
114063
|
+
* Pass back as `since` to fetch what arrived after this page. Null when there is nothing older to page into.
|
|
114064
|
+
*/
|
|
112844
114065
|
cursor: (string | null)
|
|
114066
|
+
/**
|
|
114067
|
+
* The page of events, newest first.
|
|
114068
|
+
*/
|
|
112845
114069
|
events: {
|
|
114070
|
+
/**
|
|
114071
|
+
* Stable identifier of this single event; unique within the product and safe to deduplicate on across polls.
|
|
114072
|
+
*/
|
|
112846
114073
|
id: string
|
|
114074
|
+
/**
|
|
114075
|
+
* When the event happened, as reported by the tracker (ISO 8601, UTC).
|
|
114076
|
+
*/
|
|
112847
114077
|
ts: string
|
|
114078
|
+
/**
|
|
114079
|
+
* Page address the event fired on, query string included. Free text from the customer site, so it can carry personal data.
|
|
114080
|
+
*/
|
|
112848
114081
|
url: (string | null)
|
|
114082
|
+
/**
|
|
114083
|
+
* Event name as sent by the site, e.g. 'pageview' or a custom conversion name.
|
|
114084
|
+
*/
|
|
112849
114085
|
name: string
|
|
114086
|
+
/**
|
|
114087
|
+
* Document title of that page at the time. Free text from the customer site, so it can carry personal data.
|
|
114088
|
+
*/
|
|
112850
114089
|
title: (string | null)
|
|
114090
|
+
/**
|
|
114091
|
+
* Site the event came from; null when the tracker could not determine one.
|
|
114092
|
+
*/
|
|
112851
114093
|
domain: (string | null)
|
|
114094
|
+
/**
|
|
114095
|
+
* Where this visit came from, as read off the landing URL and referrer. Every field is null when the visit carried nothing.
|
|
114096
|
+
*/
|
|
112852
114097
|
source: {
|
|
114098
|
+
/**
|
|
114099
|
+
* Address the visitor arrived from; null on a direct visit. Free text from the customer site, so it can carry personal data.
|
|
114100
|
+
*/
|
|
112853
114101
|
referrer: (string | null)
|
|
114102
|
+
/**
|
|
114103
|
+
* utm_medium of the landing URL, e.g. cpc; null when absent.
|
|
114104
|
+
*/
|
|
112854
114105
|
utmMedium: (string | null)
|
|
114106
|
+
/**
|
|
114107
|
+
* utm_source of the landing URL, e.g. newsletter; null when absent.
|
|
114108
|
+
*/
|
|
112855
114109
|
utmSource: (string | null)
|
|
114110
|
+
/**
|
|
114111
|
+
* Which ad-network click id was present on the landing URL, e.g. 'gclid'. Null when the visit carried none.
|
|
114112
|
+
*/
|
|
112856
114113
|
clickIdType: (string | null)
|
|
114114
|
+
/**
|
|
114115
|
+
* utm_campaign of the landing URL; null when absent.
|
|
114116
|
+
*/
|
|
112857
114117
|
utmCampaign: (string | null)
|
|
112858
114118
|
}
|
|
114119
|
+
/**
|
|
114120
|
+
* Two-letter ISO 3166-1 alpha-2 country resolved from the request, e.g. DE; null when it could not be resolved.
|
|
114121
|
+
*/
|
|
112859
114122
|
country: (string | null)
|
|
114123
|
+
/**
|
|
114124
|
+
* 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.
|
|
114125
|
+
*/
|
|
112860
114126
|
anonymousId: (string | null)
|
|
112861
114127
|
}[]
|
|
112862
114128
|
}
|
|
@@ -112869,18 +114135,52 @@ profileId: string
|
|
|
112869
114135
|
}
|
|
112870
114136
|
|
|
112871
114137
|
export interface TrackingProfilesDeleteOutput {
|
|
114138
|
+
/**
|
|
114139
|
+
* Always true: the response only exists when the erasure ran. A failure arrives as an error, not as ok=false.
|
|
114140
|
+
*/
|
|
112872
114141
|
ok: true
|
|
114142
|
+
/**
|
|
114143
|
+
* What happened to the archived copy of the events. Postgres is erased synchronously; the archive is not, and this says so out loud.
|
|
114144
|
+
*/
|
|
112873
114145
|
archive: {
|
|
114146
|
+
/**
|
|
114147
|
+
* Plain-language reason the archived copy could not be deleted in the same breath — text meant to be quoted into a compliance record.
|
|
114148
|
+
*/
|
|
112874
114149
|
note: string
|
|
114150
|
+
/**
|
|
114151
|
+
* Always gap_flagged: the archived copy is known to still hold this person and the gap has been recorded rather than silently ignored.
|
|
114152
|
+
*/
|
|
112875
114153
|
status: "gap_flagged"
|
|
112876
114154
|
}
|
|
114155
|
+
/**
|
|
114156
|
+
* How much was actually destroyed, by kind. Worth recording: it is the evidence that the erasure did something.
|
|
114157
|
+
*/
|
|
112877
114158
|
deleted: {
|
|
114159
|
+
/**
|
|
114160
|
+
* Tracked events removed, found through the anonymous ids this person browsed under.
|
|
114161
|
+
*/
|
|
112878
114162
|
events: number
|
|
114163
|
+
/**
|
|
114164
|
+
* Merge records removed — the history of this person having been joined with another.
|
|
114165
|
+
*/
|
|
112879
114166
|
merges: number
|
|
114167
|
+
/**
|
|
114168
|
+
* Profile rows removed: 1 in practice, and 0 only if the row vanished between the lookup and the delete.
|
|
114169
|
+
*/
|
|
112880
114170
|
profile: number
|
|
114171
|
+
/**
|
|
114172
|
+
* Emails, phones, anonymous ids and click ids removed for this person.
|
|
114173
|
+
*/
|
|
112881
114174
|
identifiers: number
|
|
112882
114175
|
}
|
|
114176
|
+
/**
|
|
114177
|
+
* The person who was erased. Nothing else of them remains, so this is all there is left to name them by.
|
|
114178
|
+
*/
|
|
112883
114179
|
profileId: string
|
|
114180
|
+
/**
|
|
114181
|
+
* 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.
|
|
114182
|
+
*/
|
|
114183
|
+
requestId: string
|
|
112884
114184
|
}
|
|
112885
114185
|
|
|
112886
114186
|
export interface TrackingProfilesExportInput {
|
|
@@ -112891,52 +114191,172 @@ profileId: string
|
|
|
112891
114191
|
}
|
|
112892
114192
|
|
|
112893
114193
|
export interface TrackingProfilesExportOutput {
|
|
114194
|
+
/**
|
|
114195
|
+
* The complete history, newest event first, capped at 50000 events — check `truncated` before treating it as complete.
|
|
114196
|
+
*/
|
|
112894
114197
|
journey: {
|
|
114198
|
+
/**
|
|
114199
|
+
* When the event happened, ISO 8601 UTC. The journey is ordered by this, newest first.
|
|
114200
|
+
*/
|
|
112895
114201
|
ts: string
|
|
114202
|
+
/**
|
|
114203
|
+
* Opaque handle for this one event, unique inside the product. Use it to deduplicate, not to sort — it carries no order.
|
|
114204
|
+
*/
|
|
112896
114205
|
ref: string
|
|
114206
|
+
/**
|
|
114207
|
+
* Full address of the page, query string included. Personal data — it can carry an email in a link. Null off-page.
|
|
114208
|
+
*/
|
|
112897
114209
|
url: (string | null)
|
|
114210
|
+
/**
|
|
114211
|
+
* What happened, as the tracking snippet named it: page_view, signup, purchase, or any custom name the product sends.
|
|
114212
|
+
*/
|
|
112898
114213
|
name: string
|
|
114214
|
+
/**
|
|
114215
|
+
* Custom properties the product attached to this event. Free-form: the keys are whatever the snippet sent, and they differ by event name.
|
|
114216
|
+
*/
|
|
112899
114217
|
props: {
|
|
112900
114218
|
[k: string]: unknown
|
|
112901
114219
|
}
|
|
114220
|
+
/**
|
|
114221
|
+
* Title of the page as the browser reported it. Null off-page.
|
|
114222
|
+
*/
|
|
112902
114223
|
title: (string | null)
|
|
114224
|
+
/**
|
|
114225
|
+
* Hostname the event was sent from. Null for an event with no page behind it, such as a server-side call.
|
|
114226
|
+
*/
|
|
112903
114227
|
domain: (string | null)
|
|
114228
|
+
/**
|
|
114229
|
+
* Campaign tags and ad click carried by this event, as they were on the URL at the time.
|
|
114230
|
+
*/
|
|
112904
114231
|
source: {
|
|
114232
|
+
/**
|
|
114233
|
+
* The ad click identifier on this URL, raw. Personal data: it resolves to one individual inside the ad network.
|
|
114234
|
+
*/
|
|
112905
114235
|
clickId: (string | null)
|
|
114236
|
+
/**
|
|
114237
|
+
* utm_term on the URL of this event — the keyword bought, on a paid-search arrival.
|
|
114238
|
+
*/
|
|
112906
114239
|
utmTerm: (string | null)
|
|
114240
|
+
/**
|
|
114241
|
+
* utm_medium on the URL of this event.
|
|
114242
|
+
*/
|
|
112907
114243
|
utmMedium: (string | null)
|
|
114244
|
+
/**
|
|
114245
|
+
* utm_source on the URL of THIS event — the campaign at this moment, not the one that first acquired the person.
|
|
114246
|
+
*/
|
|
112908
114247
|
utmSource: (string | null)
|
|
114248
|
+
/**
|
|
114249
|
+
* utm_content on the URL of this event — which creative or link variant was clicked.
|
|
114250
|
+
*/
|
|
112909
114251
|
utmContent: (string | null)
|
|
114252
|
+
/**
|
|
114253
|
+
* Which ad network stamped the click id below: gclid for Google Ads, fbclid for Meta. Null on a non-ad arrival.
|
|
114254
|
+
*/
|
|
112910
114255
|
clickIdType: (string | null)
|
|
114256
|
+
/**
|
|
114257
|
+
* utm_campaign on the URL of this event.
|
|
114258
|
+
*/
|
|
112911
114259
|
utmCampaign: (string | null)
|
|
112912
114260
|
}
|
|
114261
|
+
/**
|
|
114262
|
+
* Two-letter ISO 3166-1 country the request came from, resolved from the IP at collection time. Null when it could not be resolved.
|
|
114263
|
+
*/
|
|
112913
114264
|
country: (string | null)
|
|
114265
|
+
/**
|
|
114266
|
+
* Where the person came from immediately before this event. Null on a direct arrival or off-page.
|
|
114267
|
+
*/
|
|
112914
114268
|
referrer: (string | null)
|
|
114269
|
+
/**
|
|
114270
|
+
* Handle for the browsing session this event belongs to; events sharing it happened in one sitting. Null for an event collected outside a session.
|
|
114271
|
+
*/
|
|
112915
114272
|
sessionId: (string | null)
|
|
112916
114273
|
}[]
|
|
114274
|
+
/**
|
|
114275
|
+
* The person themselves: their handle, how far they have come, and when they were seen.
|
|
114276
|
+
*/
|
|
112917
114277
|
profile: {
|
|
114278
|
+
/**
|
|
114279
|
+
* 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.
|
|
114280
|
+
*/
|
|
112918
114281
|
status: ("anonymous" | "identified" | "customer")
|
|
114282
|
+
/**
|
|
114283
|
+
* When this product first created the profile row, ISO 8601 UTC. Later than firstSeenAt when events were backfilled.
|
|
114284
|
+
*/
|
|
112919
114285
|
createdAt: string
|
|
114286
|
+
/**
|
|
114287
|
+
* Stable handle for this person inside the product. Pass it to any other people step; it survives identity merges.
|
|
114288
|
+
*/
|
|
112920
114289
|
profileId: string
|
|
114290
|
+
/**
|
|
114291
|
+
* Timestamp of their most recent event, ISO 8601 UTC — the freshness of everything else here.
|
|
114292
|
+
*/
|
|
112921
114293
|
lastSeenAt: string
|
|
114294
|
+
/**
|
|
114295
|
+
* Timestamp of the earliest event on record for this person, ISO 8601 UTC.
|
|
114296
|
+
*/
|
|
112922
114297
|
firstSeenAt: string
|
|
112923
114298
|
}
|
|
114299
|
+
/**
|
|
114300
|
+
* 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.
|
|
114301
|
+
*/
|
|
112924
114302
|
signals: {
|
|
114303
|
+
/**
|
|
114304
|
+
* 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.
|
|
114305
|
+
*/
|
|
112925
114306
|
emails: string[]
|
|
114307
|
+
/**
|
|
114308
|
+
* Every phone number this person has been identified by. Stably ordered for display and diffing only, with no primary among them.
|
|
114309
|
+
*/
|
|
112926
114310
|
phones: string[]
|
|
114311
|
+
/**
|
|
114312
|
+
* Distinct hostnames this person browsed, taken from their events — not an identifier type, just where they were.
|
|
114313
|
+
*/
|
|
112927
114314
|
domains: string[]
|
|
114315
|
+
/**
|
|
114316
|
+
* 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.
|
|
114317
|
+
*/
|
|
112928
114318
|
clickIds: {
|
|
114319
|
+
/**
|
|
114320
|
+
* Which ad network the click came from — gclid for Google Ads, fbclid for Meta. Open set.
|
|
114321
|
+
*/
|
|
112929
114322
|
type: string
|
|
114323
|
+
/**
|
|
114324
|
+
* The click identifier itself, raw, as the network stamped it on the landing URL.
|
|
114325
|
+
*/
|
|
112930
114326
|
value: string
|
|
112931
114327
|
}[]
|
|
112932
114328
|
}
|
|
114329
|
+
/**
|
|
114330
|
+
* True when the history hit the 50000-event cap and older events were left out. False means this export is everything held.
|
|
114331
|
+
*/
|
|
112933
114332
|
truncated: boolean
|
|
114333
|
+
/**
|
|
114334
|
+
* When this export was produced, ISO 8601 UTC — the as-of date to put on a subject-access response.
|
|
114335
|
+
*/
|
|
112934
114336
|
exportedAt: string
|
|
114337
|
+
/**
|
|
114338
|
+
* 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.
|
|
114339
|
+
*/
|
|
112935
114340
|
acquisition: ({
|
|
114341
|
+
/**
|
|
114342
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
114343
|
+
*/
|
|
112936
114344
|
utmMedium: (string | null)
|
|
114345
|
+
/**
|
|
114346
|
+
* 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.
|
|
114347
|
+
*/
|
|
112937
114348
|
utmSource: (string | null)
|
|
114349
|
+
/**
|
|
114350
|
+
* 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.
|
|
114351
|
+
*/
|
|
112938
114352
|
clickIdType: (string | null)
|
|
114353
|
+
/**
|
|
114354
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
114355
|
+
*/
|
|
112939
114356
|
firstSeenAt: string
|
|
114357
|
+
/**
|
|
114358
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
114359
|
+
*/
|
|
112940
114360
|
utmCampaign: (string | null)
|
|
112941
114361
|
} | null)
|
|
112942
114362
|
}
|
|
@@ -112951,78 +114371,228 @@ profileId: string
|
|
|
112951
114371
|
*/
|
|
112952
114372
|
journeyLimit?: number
|
|
112953
114373
|
/**
|
|
112954
|
-
*
|
|
114374
|
+
* Continue paging back through the journey: pass the cursor the previous page returned. Omit to start at the most recent event.
|
|
112955
114375
|
*/
|
|
112956
114376
|
journeyCursor?: string
|
|
112957
114377
|
}
|
|
112958
114378
|
|
|
112959
114379
|
export interface TrackingProfilesGetOutput {
|
|
114380
|
+
/**
|
|
114381
|
+
* Lifetime value of this person, per currency. Null when revenue tracking is not in use for the product.
|
|
114382
|
+
*/
|
|
112960
114383
|
ltv: ({
|
|
114384
|
+
/**
|
|
114385
|
+
* 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.
|
|
114386
|
+
*/
|
|
112961
114387
|
entries: {
|
|
114388
|
+
/**
|
|
114389
|
+
* ISO 4217 code the amounts beside it are denominated in, e.g. EUR. One entry per code the person ever paid in.
|
|
114390
|
+
*/
|
|
112962
114391
|
currency: string
|
|
114392
|
+
/**
|
|
114393
|
+
* What the business actually kept: gross minus refunded, in minor units. This is the number to rank customers by.
|
|
114394
|
+
*/
|
|
112963
114395
|
netMinor: number
|
|
114396
|
+
/**
|
|
114397
|
+
* Everything the person was ever charged, in minor units (1250 = 12.50 EUR). Refunds are not subtracted here.
|
|
114398
|
+
*/
|
|
112964
114399
|
grossMinor: number
|
|
114400
|
+
/**
|
|
114401
|
+
* Their most recent payment in this currency, ISO 8601 UTC — how live the relationship is.
|
|
114402
|
+
*/
|
|
112965
114403
|
lastPaymentAt: (string | null)
|
|
114404
|
+
/**
|
|
114405
|
+
* How much of the gross went back to them, in minor units. Zero for a person who never had a refund.
|
|
114406
|
+
*/
|
|
112966
114407
|
refundedMinor: number
|
|
114408
|
+
/**
|
|
114409
|
+
* When this person first paid in this currency, ISO 8601 UTC. Null when the totals were computed without a dated payment.
|
|
114410
|
+
*/
|
|
112967
114411
|
firstPaymentAt: (string | null)
|
|
112968
114412
|
}[]
|
|
114413
|
+
/**
|
|
114414
|
+
* The person these totals belong to — the same handle as profile.profileId.
|
|
114415
|
+
*/
|
|
112969
114416
|
profileId: string
|
|
114417
|
+
/**
|
|
114418
|
+
* When these totals were last recomputed, ISO 8601 UTC. Null when they have never been computed.
|
|
114419
|
+
*/
|
|
112970
114420
|
computedAt: (string | null)
|
|
112971
114421
|
} | null)
|
|
114422
|
+
/**
|
|
114423
|
+
* 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.
|
|
114424
|
+
*/
|
|
112972
114425
|
journey: {
|
|
114426
|
+
/**
|
|
114427
|
+
* Pass back as `journeyCursor` to page further back in time. Null once the journey is exhausted.
|
|
114428
|
+
*/
|
|
112973
114429
|
cursor: (string | null)
|
|
114430
|
+
/**
|
|
114431
|
+
* This page of the journey, newest event first.
|
|
114432
|
+
*/
|
|
112974
114433
|
events: {
|
|
114434
|
+
/**
|
|
114435
|
+
* When the event happened, ISO 8601 UTC. The journey is ordered by this, newest first.
|
|
114436
|
+
*/
|
|
112975
114437
|
ts: string
|
|
114438
|
+
/**
|
|
114439
|
+
* Opaque handle for this one event, unique inside the product. Use it to deduplicate, not to sort — it carries no order.
|
|
114440
|
+
*/
|
|
112976
114441
|
ref: string
|
|
114442
|
+
/**
|
|
114443
|
+
* Full address of the page, query string included. Personal data — it can carry an email in a link. Null off-page.
|
|
114444
|
+
*/
|
|
112977
114445
|
url: (string | null)
|
|
114446
|
+
/**
|
|
114447
|
+
* What happened, as the tracking snippet named it: page_view, signup, purchase, or any custom name the product sends.
|
|
114448
|
+
*/
|
|
112978
114449
|
name: string
|
|
114450
|
+
/**
|
|
114451
|
+
* Custom properties the product attached to this event. Free-form: the keys are whatever the snippet sent, and they differ by event name.
|
|
114452
|
+
*/
|
|
112979
114453
|
props: {
|
|
112980
114454
|
[k: string]: unknown
|
|
112981
114455
|
}
|
|
114456
|
+
/**
|
|
114457
|
+
* Title of the page as the browser reported it. Null off-page.
|
|
114458
|
+
*/
|
|
112982
114459
|
title: (string | null)
|
|
114460
|
+
/**
|
|
114461
|
+
* Hostname the event was sent from. Null for an event with no page behind it, such as a server-side call.
|
|
114462
|
+
*/
|
|
112983
114463
|
domain: (string | null)
|
|
114464
|
+
/**
|
|
114465
|
+
* Campaign tags and ad click carried by this event, as they were on the URL at the time.
|
|
114466
|
+
*/
|
|
112984
114467
|
source: {
|
|
114468
|
+
/**
|
|
114469
|
+
* The ad click identifier on this URL, raw. Personal data: it resolves to one individual inside the ad network.
|
|
114470
|
+
*/
|
|
112985
114471
|
clickId: (string | null)
|
|
114472
|
+
/**
|
|
114473
|
+
* utm_term on the URL of this event — the keyword bought, on a paid-search arrival.
|
|
114474
|
+
*/
|
|
112986
114475
|
utmTerm: (string | null)
|
|
114476
|
+
/**
|
|
114477
|
+
* utm_medium on the URL of this event.
|
|
114478
|
+
*/
|
|
112987
114479
|
utmMedium: (string | null)
|
|
114480
|
+
/**
|
|
114481
|
+
* utm_source on the URL of THIS event — the campaign at this moment, not the one that first acquired the person.
|
|
114482
|
+
*/
|
|
112988
114483
|
utmSource: (string | null)
|
|
114484
|
+
/**
|
|
114485
|
+
* utm_content on the URL of this event — which creative or link variant was clicked.
|
|
114486
|
+
*/
|
|
112989
114487
|
utmContent: (string | null)
|
|
114488
|
+
/**
|
|
114489
|
+
* Which ad network stamped the click id below: gclid for Google Ads, fbclid for Meta. Null on a non-ad arrival.
|
|
114490
|
+
*/
|
|
112990
114491
|
clickIdType: (string | null)
|
|
114492
|
+
/**
|
|
114493
|
+
* utm_campaign on the URL of this event.
|
|
114494
|
+
*/
|
|
112991
114495
|
utmCampaign: (string | null)
|
|
112992
114496
|
}
|
|
114497
|
+
/**
|
|
114498
|
+
* Two-letter ISO 3166-1 country the request came from, resolved from the IP at collection time. Null when it could not be resolved.
|
|
114499
|
+
*/
|
|
112993
114500
|
country: (string | null)
|
|
114501
|
+
/**
|
|
114502
|
+
* Where the person came from immediately before this event. Null on a direct arrival or off-page.
|
|
114503
|
+
*/
|
|
112994
114504
|
referrer: (string | null)
|
|
114505
|
+
/**
|
|
114506
|
+
* Handle for the browsing session this event belongs to; events sharing it happened in one sitting. Null for an event collected outside a session.
|
|
114507
|
+
*/
|
|
112995
114508
|
sessionId: (string | null)
|
|
112996
114509
|
}[]
|
|
112997
114510
|
}
|
|
114511
|
+
/**
|
|
114512
|
+
* The person themselves: their handle, how far they have come, and when they were seen.
|
|
114513
|
+
*/
|
|
112998
114514
|
profile: {
|
|
114515
|
+
/**
|
|
114516
|
+
* 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.
|
|
114517
|
+
*/
|
|
112999
114518
|
status: ("anonymous" | "identified" | "customer")
|
|
114519
|
+
/**
|
|
114520
|
+
* When this product first created the profile row, ISO 8601 UTC. Later than firstSeenAt when events were backfilled.
|
|
114521
|
+
*/
|
|
113000
114522
|
createdAt: string
|
|
114523
|
+
/**
|
|
114524
|
+
* Stable handle for this person inside the product. Pass it to any other people step; it survives identity merges.
|
|
114525
|
+
*/
|
|
113001
114526
|
profileId: string
|
|
114527
|
+
/**
|
|
114528
|
+
* Timestamp of their most recent event, ISO 8601 UTC — the freshness of everything else here.
|
|
114529
|
+
*/
|
|
113002
114530
|
lastSeenAt: string
|
|
114531
|
+
/**
|
|
114532
|
+
* Timestamp of the earliest event on record for this person, ISO 8601 UTC.
|
|
114533
|
+
*/
|
|
113003
114534
|
firstSeenAt: string
|
|
113004
114535
|
}
|
|
114536
|
+
/**
|
|
114537
|
+
* 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.
|
|
114538
|
+
*/
|
|
113005
114539
|
signals: {
|
|
114540
|
+
/**
|
|
114541
|
+
* 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.
|
|
114542
|
+
*/
|
|
113006
114543
|
emails: string[]
|
|
114544
|
+
/**
|
|
114545
|
+
* Every phone number this person has been identified by. Stably ordered for display and diffing only, with no primary among them.
|
|
114546
|
+
*/
|
|
113007
114547
|
phones: string[]
|
|
114548
|
+
/**
|
|
114549
|
+
* Distinct hostnames this person browsed, taken from their events — not an identifier type, just where they were.
|
|
114550
|
+
*/
|
|
113008
114551
|
domains: string[]
|
|
114552
|
+
/**
|
|
114553
|
+
* 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.
|
|
114554
|
+
*/
|
|
113009
114555
|
clickIds: {
|
|
114556
|
+
/**
|
|
114557
|
+
* Which ad network the click came from — gclid for Google Ads, fbclid for Meta. Open set.
|
|
114558
|
+
*/
|
|
113010
114559
|
type: string
|
|
114560
|
+
/**
|
|
114561
|
+
* The click identifier itself, raw, as the network stamped it on the landing URL.
|
|
114562
|
+
*/
|
|
113011
114563
|
value: string
|
|
113012
114564
|
}[]
|
|
113013
114565
|
}
|
|
114566
|
+
/**
|
|
114567
|
+
* 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.
|
|
114568
|
+
*/
|
|
113014
114569
|
acquisition: ({
|
|
114570
|
+
/**
|
|
114571
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
114572
|
+
*/
|
|
113015
114573
|
utmMedium: (string | null)
|
|
114574
|
+
/**
|
|
114575
|
+
* 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.
|
|
114576
|
+
*/
|
|
113016
114577
|
utmSource: (string | null)
|
|
114578
|
+
/**
|
|
114579
|
+
* 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.
|
|
114580
|
+
*/
|
|
113017
114581
|
clickIdType: (string | null)
|
|
114582
|
+
/**
|
|
114583
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
114584
|
+
*/
|
|
113018
114585
|
firstSeenAt: string
|
|
114586
|
+
/**
|
|
114587
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
114588
|
+
*/
|
|
113019
114589
|
utmCampaign: (string | null)
|
|
113020
114590
|
} | null)
|
|
113021
114591
|
}
|
|
113022
114592
|
|
|
113023
114593
|
export interface TrackingProfilesListInput {
|
|
113024
114594
|
/**
|
|
113025
|
-
*
|
|
114595
|
+
* Email to search people by — the whole address by default, or its beginning when emailMatch is prefix. Omit to search across everyone.
|
|
113026
114596
|
*/
|
|
113027
114597
|
email?: string
|
|
113028
114598
|
/**
|
|
@@ -113030,132 +114600,363 @@ email?: string
|
|
|
113030
114600
|
*/
|
|
113031
114601
|
limit?: number
|
|
113032
114602
|
/**
|
|
113033
|
-
*
|
|
114603
|
+
* Continue a previous page: pass the cursor that page returned. Omit to start from the most recently seen person.
|
|
113034
114604
|
*/
|
|
113035
114605
|
cursor?: string
|
|
113036
114606
|
/**
|
|
113037
|
-
*
|
|
114607
|
+
* Keep only people at this stage — anonymous, identified or customer. Omit to get all three.
|
|
113038
114608
|
*/
|
|
113039
114609
|
status?: ("anonymous" | "identified" | "customer")
|
|
113040
114610
|
/**
|
|
113041
|
-
* How
|
|
114611
|
+
* How the email filter is matched: exact (default) compares the whole address case-insensitively, prefix matches everyone whose address starts with what you typed.
|
|
113042
114612
|
*/
|
|
113043
114613
|
emailMatch?: ("exact" | "prefix")
|
|
113044
114614
|
}
|
|
113045
114615
|
|
|
113046
114616
|
export interface TrackingProfilesListOutput {
|
|
114617
|
+
/**
|
|
114618
|
+
* Pass this back as `cursor` to fetch the next page. Null on the last page — that null is how a loop knows to stop.
|
|
114619
|
+
*/
|
|
113047
114620
|
cursor: (string | null)
|
|
114621
|
+
/**
|
|
114622
|
+
* The page of people, most recently seen first. Shorter than the requested limit on the last page.
|
|
114623
|
+
*/
|
|
113048
114624
|
profiles: {
|
|
114625
|
+
/**
|
|
114626
|
+
* 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.
|
|
114627
|
+
*/
|
|
113049
114628
|
emails: string[]
|
|
114629
|
+
/**
|
|
114630
|
+
* How far this person has come: anonymous = only a browser, identified = an email or phone is known, customer = they have paid.
|
|
114631
|
+
*/
|
|
113050
114632
|
status: ("anonymous" | "identified" | "customer")
|
|
114633
|
+
/**
|
|
114634
|
+
* Stable handle for this person. Feed it to a get, export or erase step.
|
|
114635
|
+
*/
|
|
113051
114636
|
profileId: string
|
|
114637
|
+
/**
|
|
114638
|
+
* Timestamp of their most recent event, ISO 8601 UTC. The page is ordered by this, newest first.
|
|
114639
|
+
*/
|
|
113052
114640
|
lastSeenAt: string
|
|
114641
|
+
/**
|
|
114642
|
+
* 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.
|
|
114643
|
+
*/
|
|
113053
114644
|
acquisition: ({
|
|
114645
|
+
/**
|
|
114646
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
114647
|
+
*/
|
|
113054
114648
|
utmMedium: (string | null)
|
|
114649
|
+
/**
|
|
114650
|
+
* 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.
|
|
114651
|
+
*/
|
|
113055
114652
|
utmSource: (string | null)
|
|
114653
|
+
/**
|
|
114654
|
+
* 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.
|
|
114655
|
+
*/
|
|
113056
114656
|
clickIdType: (string | null)
|
|
114657
|
+
/**
|
|
114658
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
114659
|
+
*/
|
|
113057
114660
|
firstSeenAt: string
|
|
114661
|
+
/**
|
|
114662
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
114663
|
+
*/
|
|
113058
114664
|
utmCampaign: (string | null)
|
|
113059
114665
|
} | null)
|
|
114666
|
+
/**
|
|
114667
|
+
* Timestamp of their earliest event, ISO 8601 UTC.
|
|
114668
|
+
*/
|
|
113060
114669
|
firstSeenAt: string
|
|
113061
114670
|
}[]
|
|
113062
114671
|
}
|
|
113063
114672
|
|
|
113064
114673
|
export interface TrackingReportsAttributedJourneyInput {
|
|
114674
|
+
/**
|
|
114675
|
+
* Show only journey events at or before this instant (ISO). Omit for the whole history.
|
|
114676
|
+
*/
|
|
113065
114677
|
to?: string
|
|
114678
|
+
/**
|
|
114679
|
+
* Show only journey events at or after this instant (ISO). Omit for the whole history.
|
|
114680
|
+
*/
|
|
113066
114681
|
from?: string
|
|
114682
|
+
/**
|
|
114683
|
+
* Attribution model to explain the decision under; re-reads the same history, so switching it is free (default 'last_click').
|
|
114684
|
+
*/
|
|
113067
114685
|
model?: ("last_click" | "first_click")
|
|
113068
114686
|
/**
|
|
113069
114687
|
* The profile id (uuid)
|
|
113070
114688
|
*/
|
|
113071
114689
|
profileId: string
|
|
114690
|
+
/**
|
|
114691
|
+
* How far back before the conversion a touchpoint may be credited, in days (default 30).
|
|
114692
|
+
*/
|
|
113072
114693
|
lookbackDays?: number
|
|
113073
114694
|
}
|
|
113074
114695
|
|
|
113075
114696
|
export interface TrackingReportsAttributedJourneyOutput {
|
|
114697
|
+
/**
|
|
114698
|
+
* What this person actually did, in order.
|
|
114699
|
+
*/
|
|
113076
114700
|
journey: {
|
|
114701
|
+
/**
|
|
114702
|
+
* Every tracked event for this person inside the requested window, oldest first.
|
|
114703
|
+
*/
|
|
113077
114704
|
events: {
|
|
114705
|
+
/**
|
|
114706
|
+
* When the event happened (ISO 8601, UTC). Events are ordered oldest first.
|
|
114707
|
+
*/
|
|
113078
114708
|
ts: string
|
|
114709
|
+
/**
|
|
114710
|
+
* Handle for this event within the journey; `decisions[].winnerRef` points back at one of these to name the winning touchpoint.
|
|
114711
|
+
*/
|
|
113079
114712
|
ref: string
|
|
114713
|
+
/**
|
|
114714
|
+
* Page address the event fired on. Free text from the customer site, so it can carry personal data.
|
|
114715
|
+
*/
|
|
113080
114716
|
url: (string | null)
|
|
114717
|
+
/**
|
|
114718
|
+
* Event name as sent by the site, e.g. 'pageview' or a custom conversion name.
|
|
114719
|
+
*/
|
|
113081
114720
|
name: string
|
|
114721
|
+
/**
|
|
114722
|
+
* Custom properties the site attached to this event. Shape is the customer's, so it can carry anything, personal data included.
|
|
114723
|
+
*/
|
|
113082
114724
|
props: {
|
|
113083
114725
|
[k: string]: unknown
|
|
113084
114726
|
}
|
|
114727
|
+
/**
|
|
114728
|
+
* Document title of that page. Free text from the customer site, so it can carry personal data.
|
|
114729
|
+
*/
|
|
113085
114730
|
title: (string | null)
|
|
114731
|
+
/**
|
|
114732
|
+
* Site the event came from; null when the tracker could not determine one.
|
|
114733
|
+
*/
|
|
113086
114734
|
domain: (string | null)
|
|
114735
|
+
/**
|
|
114736
|
+
* Where this event's visit came from, as read off the landing URL. Every field is null when the visit carried nothing.
|
|
114737
|
+
*/
|
|
113087
114738
|
source: {
|
|
114739
|
+
/**
|
|
114740
|
+
* The click id value itself. Identifies one ad click by this person, so treat it as personal data.
|
|
114741
|
+
*/
|
|
113088
114742
|
clickId: (string | null)
|
|
114743
|
+
/**
|
|
114744
|
+
* utm_term of the landing URL, the paid keyword; null when absent.
|
|
114745
|
+
*/
|
|
113089
114746
|
utmTerm: (string | null)
|
|
114747
|
+
/**
|
|
114748
|
+
* utm_medium of the landing URL; null when absent.
|
|
114749
|
+
*/
|
|
113090
114750
|
utmMedium: (string | null)
|
|
114751
|
+
/**
|
|
114752
|
+
* utm_source of the landing URL; null when absent.
|
|
114753
|
+
*/
|
|
113091
114754
|
utmSource: (string | null)
|
|
114755
|
+
/**
|
|
114756
|
+
* utm_content of the landing URL, the creative variant; null when absent.
|
|
114757
|
+
*/
|
|
113092
114758
|
utmContent: (string | null)
|
|
114759
|
+
/**
|
|
114760
|
+
* Which ad-network click id was present, e.g. 'gclid'; null when the visit carried none.
|
|
114761
|
+
*/
|
|
113093
114762
|
clickIdType: (string | null)
|
|
114763
|
+
/**
|
|
114764
|
+
* utm_campaign of the landing URL; null when absent.
|
|
114765
|
+
*/
|
|
113094
114766
|
utmCampaign: (string | null)
|
|
113095
114767
|
}
|
|
114768
|
+
/**
|
|
114769
|
+
* Two-letter ISO 3166-1 alpha-2 country resolved from the request, e.g. DE; null when it could not be resolved.
|
|
114770
|
+
*/
|
|
113096
114771
|
country: (string | null)
|
|
114772
|
+
/**
|
|
114773
|
+
* Address the visitor arrived from; null on a direct visit. Free text from the customer site, so it can carry personal data.
|
|
114774
|
+
*/
|
|
113097
114775
|
referrer: (string | null)
|
|
114776
|
+
/**
|
|
114777
|
+
* Visit this event belongs to; events sharing one happened in the same sitting. Null when no session could be established.
|
|
114778
|
+
*/
|
|
113098
114779
|
sessionId: (string | null)
|
|
113099
114780
|
}[]
|
|
113100
114781
|
}
|
|
113101
|
-
|
|
114782
|
+
/**
|
|
114783
|
+
* 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.
|
|
114784
|
+
*/
|
|
114785
|
+
decisions: TrackingReportsAttributedJourneyOutputItems[]
|
|
114786
|
+
/**
|
|
114787
|
+
* The person this journey belongs to, echoed back from the request.
|
|
114788
|
+
*/
|
|
114789
|
+
profileId: string
|
|
114790
|
+
/**
|
|
114791
|
+
* 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.
|
|
114792
|
+
*/
|
|
114793
|
+
originatingDecision: (TrackingReportsAttributedJourneyOutputItems | null)
|
|
114794
|
+
}
|
|
114795
|
+
export interface TrackingReportsAttributedJourneyOutputItems {
|
|
114796
|
+
/**
|
|
114797
|
+
* Attribution model the winner was picked under, echoed back from the request.
|
|
114798
|
+
*/
|
|
113102
114799
|
model: ("last_click" | "first_click")
|
|
114800
|
+
/**
|
|
114801
|
+
* Why this touchpoint won, or why nothing did, in a sentence a person can read.
|
|
114802
|
+
*/
|
|
113103
114803
|
reason: string
|
|
114804
|
+
/**
|
|
114805
|
+
* Revenue of that conversion, one row per currency.
|
|
114806
|
+
*/
|
|
113104
114807
|
revenue: {
|
|
114808
|
+
/**
|
|
114809
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
114810
|
+
*/
|
|
113105
114811
|
currency: string
|
|
114812
|
+
/**
|
|
114813
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
114814
|
+
*/
|
|
113106
114815
|
netMinor: number
|
|
114816
|
+
/**
|
|
114817
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
114818
|
+
*/
|
|
113107
114819
|
grossMinor: number
|
|
114820
|
+
/**
|
|
114821
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
114822
|
+
*/
|
|
113108
114823
|
refundedMinor: number
|
|
113109
114824
|
}[]
|
|
114825
|
+
/**
|
|
114826
|
+
* `journey.events[].ref` of the touchpoint that won the credit. Null when nothing inside the window qualified.
|
|
114827
|
+
*/
|
|
113110
114828
|
winnerRef: (string | null)
|
|
114829
|
+
/**
|
|
114830
|
+
* When the conversion this decision explains happened (ISO 8601, UTC).
|
|
114831
|
+
*/
|
|
113111
114832
|
conversionTs: string
|
|
114833
|
+
/**
|
|
114834
|
+
* How far back before `conversionTs` a touchpoint was allowed to be credited, in days; echoed back.
|
|
114835
|
+
*/
|
|
113112
114836
|
lookbackDays: number
|
|
114837
|
+
/**
|
|
114838
|
+
* The winning touchpoint spelled out, so a reader need not resolve `winnerRef`. Null exactly when `winnerRef` is null.
|
|
114839
|
+
*/
|
|
113113
114840
|
winningTouchpoint: ({
|
|
114841
|
+
/**
|
|
114842
|
+
* When the winning touchpoint happened (ISO 8601, UTC).
|
|
114843
|
+
*/
|
|
113114
114844
|
ts: string
|
|
114845
|
+
/**
|
|
114846
|
+
* Channel the winning touchpoint belongs to.
|
|
114847
|
+
*/
|
|
113115
114848
|
channel: ("paid" | "organic" | "direct" | "email")
|
|
114849
|
+
/**
|
|
114850
|
+
* utm_medium of the winning touchpoint; null when it carried none.
|
|
114851
|
+
*/
|
|
113116
114852
|
utmMedium: (string | null)
|
|
114853
|
+
/**
|
|
114854
|
+
* utm_source of the winning touchpoint; null when it carried none.
|
|
114855
|
+
*/
|
|
113117
114856
|
utmSource: (string | null)
|
|
114857
|
+
/**
|
|
114858
|
+
* Campaign id carried by our own `_lt_campaign` landing-URL parameter; null when the visit carried none.
|
|
114859
|
+
*/
|
|
114860
|
+
ltCampaign?: (string | null)
|
|
114861
|
+
/**
|
|
114862
|
+
* Ad-network click id present on the winning touchpoint, e.g. 'gclid'; null when it carried none.
|
|
114863
|
+
*/
|
|
113118
114864
|
clickIdType: (string | null)
|
|
114865
|
+
/**
|
|
114866
|
+
* utm_campaign of the winning touchpoint; null when it carried none.
|
|
114867
|
+
*/
|
|
113119
114868
|
utmCampaign: (string | null)
|
|
113120
114869
|
} | null)
|
|
113121
|
-
}[]
|
|
113122
|
-
profileId: string
|
|
113123
114870
|
}
|
|
113124
114871
|
|
|
113125
114872
|
export interface TrackingReportsEventVolumeInput {
|
|
113126
|
-
|
|
113127
|
-
|
|
114873
|
+
/**
|
|
114874
|
+
* End of the range to count, inclusive (ISO 8601). Optional — defaults to the moment of the call.
|
|
114875
|
+
*/
|
|
114876
|
+
to?: string
|
|
114877
|
+
/**
|
|
114878
|
+
* Start of the range to count, inclusive (ISO 8601). Optional — defaults to 30 days back, the start of that UTC day.
|
|
114879
|
+
*/
|
|
114880
|
+
from?: string
|
|
114881
|
+
/**
|
|
114882
|
+
* Count only this site. Omit to count every site the product sends from.
|
|
114883
|
+
*/
|
|
113128
114884
|
domain?: string
|
|
113129
114885
|
}
|
|
113130
114886
|
|
|
113131
114887
|
export interface TrackingReportsEventVolumeOutput {
|
|
114888
|
+
/**
|
|
114889
|
+
* End of the range the figures cover, echoed back (ISO 8601, UTC).
|
|
114890
|
+
*/
|
|
113132
114891
|
to: string
|
|
114892
|
+
/**
|
|
114893
|
+
* Start of the range the figures cover, echoed back (ISO 8601, UTC).
|
|
114894
|
+
*/
|
|
113133
114895
|
from: string
|
|
114896
|
+
/**
|
|
114897
|
+
* Site the figures were restricted to; null when every site of the product is included.
|
|
114898
|
+
*/
|
|
113134
114899
|
domain: (string | null)
|
|
114900
|
+
/**
|
|
114901
|
+
* When this report was computed (ISO 8601, UTC).
|
|
114902
|
+
*/
|
|
113135
114903
|
computedAt: string
|
|
114904
|
+
/**
|
|
114905
|
+
* 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.
|
|
114906
|
+
*/
|
|
113136
114907
|
dataQuality: {
|
|
114908
|
+
/**
|
|
114909
|
+
* Fraction of `totalEvents` (0..1) that came from sites running no consent banner, where nobody was ever asked.
|
|
114910
|
+
*/
|
|
113137
114911
|
noBannerShare: number
|
|
114912
|
+
/**
|
|
114913
|
+
* Events from sites with no consent banner. Kept apart from `cookielessEvents` on purpose: nobody refused here, nobody was asked.
|
|
114914
|
+
*/
|
|
113138
114915
|
noBannerEvents: number
|
|
114916
|
+
/**
|
|
114917
|
+
* How many UTC days the range spans; each one re-counts a returning declining visitor.
|
|
114918
|
+
*/
|
|
113139
114919
|
utcDaysInRange: number
|
|
114920
|
+
/**
|
|
114921
|
+
* Fraction of `totalEvents` (0..1) that came from visitors who declined statistics consent.
|
|
114922
|
+
*/
|
|
113140
114923
|
cookielessShare: number
|
|
114924
|
+
/**
|
|
114925
|
+
* Events from visitors who declined; no cookie was written and no identifier sent.
|
|
114926
|
+
*/
|
|
113141
114927
|
cookielessEvents: number
|
|
114928
|
+
/**
|
|
114929
|
+
* 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.
|
|
114930
|
+
*/
|
|
113142
114931
|
identifiedEvents: number
|
|
114932
|
+
/**
|
|
114933
|
+
* True when `visitorsDeduplicatedPerUtcDay` over-counts for this range: the range spans more than one UTC day and there is declining traffic in it.
|
|
114934
|
+
*/
|
|
113143
114935
|
visitorsOverstated: boolean
|
|
114936
|
+
/**
|
|
114937
|
+
* Events from visitors who granted statistics consent.
|
|
114938
|
+
*/
|
|
113144
114939
|
consentGrantedEvents: number
|
|
113145
114940
|
}
|
|
114941
|
+
/**
|
|
114942
|
+
* How many events arrived in the range, across every consent state.
|
|
114943
|
+
*/
|
|
113146
114944
|
totalEvents: number
|
|
114945
|
+
/**
|
|
114946
|
+
* 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.
|
|
114947
|
+
*/
|
|
113147
114948
|
visitorsDeduplicatedPerUtcDay: number
|
|
113148
114949
|
}
|
|
113149
114950
|
|
|
113150
114951
|
export interface TrackingReportsRevenueBySourceInput {
|
|
113151
114952
|
/**
|
|
113152
|
-
* Cohort window end (ISO)
|
|
114953
|
+
* Cohort window end (ISO). Optional — defaults to the moment of the call.
|
|
113153
114954
|
*/
|
|
113154
|
-
to
|
|
114955
|
+
to?: string
|
|
113155
114956
|
/**
|
|
113156
|
-
* Cohort window start (ISO); selects conversions by subscription start
|
|
114957
|
+
* Cohort window start (ISO); selects conversions by subscription start. Optional — defaults to 30 days back, the start of that UTC day.
|
|
113157
114958
|
*/
|
|
113158
|
-
from
|
|
114959
|
+
from?: string
|
|
113159
114960
|
/**
|
|
113160
114961
|
* Attribution model
|
|
113161
114962
|
*/
|
|
@@ -113171,54 +114972,150 @@ lookbackDays?: number
|
|
|
113171
114972
|
}
|
|
113172
114973
|
|
|
113173
114974
|
export interface TrackingReportsRevenueBySourceOutput {
|
|
114975
|
+
/**
|
|
114976
|
+
* End of the cohort window the figures cover, echoed back (ISO 8601, UTC).
|
|
114977
|
+
*/
|
|
113174
114978
|
to: string
|
|
114979
|
+
/**
|
|
114980
|
+
* Start of the cohort window the figures cover, echoed back (ISO 8601, UTC).
|
|
114981
|
+
*/
|
|
113175
114982
|
from: string
|
|
114983
|
+
/**
|
|
114984
|
+
* Attribution model the credit was assigned under, echoed back. Pass the same value to `tracking_reports_source_people` to drill into a row.
|
|
114985
|
+
*/
|
|
113176
114986
|
model: ("last_click" | "first_click")
|
|
114987
|
+
/**
|
|
114988
|
+
* Site touchpoints were restricted to; null when every site of the product was considered.
|
|
114989
|
+
*/
|
|
113177
114990
|
domain: (string | null)
|
|
114991
|
+
/**
|
|
114992
|
+
* Every channel plus `unattributed`. This is the whole window, not the attributed part of it.
|
|
114993
|
+
*/
|
|
113178
114994
|
totals: {
|
|
114995
|
+
/**
|
|
114996
|
+
* Revenue over every channel plus `unattributed`, one row per currency.
|
|
114997
|
+
*/
|
|
113179
114998
|
revenue: TrackingReportsRevenueBySourceOutputItems[]
|
|
114999
|
+
/**
|
|
115000
|
+
* Distinct paying people over every channel plus `unattributed`.
|
|
115001
|
+
*/
|
|
113180
115002
|
customers: number
|
|
113181
115003
|
}
|
|
115004
|
+
/**
|
|
115005
|
+
* One row per channel that earned revenue in the window. Channels with none are omitted.
|
|
115006
|
+
*/
|
|
113182
115007
|
channels: {
|
|
115008
|
+
/**
|
|
115009
|
+
* Which acquisition channel this row aggregates.
|
|
115010
|
+
*/
|
|
113183
115011
|
channel: ("paid" | "organic" | "direct" | "email")
|
|
115012
|
+
/**
|
|
115013
|
+
* 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.
|
|
115014
|
+
*/
|
|
113184
115015
|
revenue: TrackingReportsRevenueBySourceOutputItems[]
|
|
115016
|
+
/**
|
|
115017
|
+
* Distinct paying people credited to this channel.
|
|
115018
|
+
*/
|
|
113185
115019
|
customers: number
|
|
115020
|
+
/**
|
|
115021
|
+
* The channel split by UTM combination. Each row is a drill-down target for `tracking_reports_source_people`.
|
|
115022
|
+
*/
|
|
113186
115023
|
utmBreakdown: {
|
|
115024
|
+
/**
|
|
115025
|
+
* Revenue credited to this UTM combination, one row per currency.
|
|
115026
|
+
*/
|
|
113187
115027
|
revenue: TrackingReportsRevenueBySourceOutputItems[]
|
|
115028
|
+
/**
|
|
115029
|
+
* Distinct paying people credited to this UTM combination.
|
|
115030
|
+
*/
|
|
113188
115031
|
customers: number
|
|
115032
|
+
/**
|
|
115033
|
+
* utm_medium of this row; null when the visit carried none.
|
|
115034
|
+
*/
|
|
113189
115035
|
utmMedium: (string | null)
|
|
115036
|
+
/**
|
|
115037
|
+
* utm_source of this row; null when the visit carried none.
|
|
115038
|
+
*/
|
|
113190
115039
|
utmSource: (string | null)
|
|
115040
|
+
/**
|
|
115041
|
+
* Ad-network click id present on the visit, e.g. 'gclid'; null when it carried none.
|
|
115042
|
+
*/
|
|
113191
115043
|
clickIdType: (string | null)
|
|
115044
|
+
/**
|
|
115045
|
+
* utm_campaign of this row; null when the visit carried none.
|
|
115046
|
+
*/
|
|
113192
115047
|
utmCampaign: (string | null)
|
|
113193
115048
|
}[]
|
|
113194
115049
|
}[]
|
|
115050
|
+
/**
|
|
115051
|
+
* Fraction of paying people (0..1) a touchpoint could be found for: attributed customers over `totals.customers`. Count-based, never revenue-weighted.
|
|
115052
|
+
*/
|
|
113195
115053
|
matchRate: number
|
|
115054
|
+
/**
|
|
115055
|
+
* When this report was computed (ISO 8601, UTC).
|
|
115056
|
+
*/
|
|
113196
115057
|
computedAt: string
|
|
115058
|
+
/**
|
|
115059
|
+
* How far back before a conversion a touchpoint was allowed to be credited, in days; echoed back.
|
|
115060
|
+
*/
|
|
113197
115061
|
lookbackDays: number
|
|
115062
|
+
/**
|
|
115063
|
+
* Revenue that reached no channel — kept as its own row so the channel rows are never quietly inflated to cover it.
|
|
115064
|
+
*/
|
|
113198
115065
|
unattributed: {
|
|
115066
|
+
/**
|
|
115067
|
+
* Revenue no touchpoint could be credited for, one row per currency.
|
|
115068
|
+
*/
|
|
113199
115069
|
revenue: TrackingReportsRevenueBySourceOutputItems[]
|
|
115070
|
+
/**
|
|
115071
|
+
* Distinct paying people no touchpoint could be credited for.
|
|
115072
|
+
*/
|
|
113200
115073
|
customers: number
|
|
113201
115074
|
}
|
|
113202
115075
|
}
|
|
113203
115076
|
export interface TrackingReportsRevenueBySourceOutputItems {
|
|
115077
|
+
/**
|
|
115078
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
115079
|
+
*/
|
|
113204
115080
|
currency: string
|
|
115081
|
+
/**
|
|
115082
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
115083
|
+
*/
|
|
113205
115084
|
netMinor: number
|
|
115085
|
+
/**
|
|
115086
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
115087
|
+
*/
|
|
113206
115088
|
grossMinor: number
|
|
115089
|
+
/**
|
|
115090
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
115091
|
+
*/
|
|
113207
115092
|
refundedMinor: number
|
|
113208
115093
|
}
|
|
113209
115094
|
|
|
113210
115095
|
export interface TrackingReportsSourcePeopleInput {
|
|
113211
|
-
|
|
113212
|
-
from
|
|
115096
|
+
/**
|
|
115097
|
+
* Cohort window end (ISO); must match the report this row came from. Optional — defaults to the moment of the call.
|
|
115098
|
+
*/
|
|
115099
|
+
to?: string
|
|
115100
|
+
/**
|
|
115101
|
+
* Cohort window start (ISO); must match the report this row came from. Optional — defaults to 30 days back, the start of that UTC day.
|
|
115102
|
+
*/
|
|
115103
|
+
from?: string
|
|
113213
115104
|
/**
|
|
113214
115105
|
* People per page (default 50, max 200)
|
|
113215
115106
|
*/
|
|
113216
115107
|
limit?: number
|
|
115108
|
+
/**
|
|
115109
|
+
* Attribution model to credit the touchpoint under; must match the report this row came from (default 'last_click').
|
|
115110
|
+
*/
|
|
113217
115111
|
model?: ("last_click" | "first_click")
|
|
113218
115112
|
/**
|
|
113219
115113
|
* Opaque keyset cursor from a previous page
|
|
113220
115114
|
*/
|
|
113221
115115
|
cursor?: string
|
|
115116
|
+
/**
|
|
115117
|
+
* Only consider touchpoints on this domain; must match the report this row came from. Omit for no restriction.
|
|
115118
|
+
*/
|
|
113222
115119
|
domain?: string
|
|
113223
115120
|
/**
|
|
113224
115121
|
* Channel to drill into
|
|
@@ -113228,27 +115125,72 @@ channel: ("paid" | "organic" | "direct" | "email")
|
|
|
113228
115125
|
* Comma-separated dimension names (utmSource,utmMedium,utmCampaign,clickIdType) that must be IS NULL
|
|
113229
115126
|
*/
|
|
113230
115127
|
utmNulls?: string
|
|
115128
|
+
/**
|
|
115129
|
+
* utm_medium of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
115130
|
+
*/
|
|
113231
115131
|
utmMedium?: string
|
|
115132
|
+
/**
|
|
115133
|
+
* utm_source of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
115134
|
+
*/
|
|
113232
115135
|
utmSource?: string
|
|
113233
115136
|
/**
|
|
113234
115137
|
* 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.
|
|
113235
115138
|
*/
|
|
113236
115139
|
clickIdType?: string
|
|
115140
|
+
/**
|
|
115141
|
+
* utm_campaign of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
115142
|
+
*/
|
|
113237
115143
|
utmCampaign?: string
|
|
115144
|
+
/**
|
|
115145
|
+
* How far back before a conversion a touchpoint may be credited, in days; must match the report this row came from (default 30).
|
|
115146
|
+
*/
|
|
113238
115147
|
lookbackDays?: number
|
|
113239
115148
|
}
|
|
113240
115149
|
|
|
113241
115150
|
export interface TrackingReportsSourcePeopleOutput {
|
|
115151
|
+
/**
|
|
115152
|
+
* Pass back as `cursor` for the next page. Null on the last page.
|
|
115153
|
+
*/
|
|
113242
115154
|
cursor: (string | null)
|
|
115155
|
+
/**
|
|
115156
|
+
* The page of people behind the requested row, ordered by the keyset the cursor walks.
|
|
115157
|
+
*/
|
|
113243
115158
|
people: {
|
|
115159
|
+
/**
|
|
115160
|
+
* Where this person stands in their subscription lifecycle, e.g. active or churned.
|
|
115161
|
+
*/
|
|
113244
115162
|
status: string
|
|
115163
|
+
/**
|
|
115164
|
+
* Identifier of this person; pass it to `tracking_reports_attributed_journey` to see why they were credited here.
|
|
115165
|
+
*/
|
|
113245
115166
|
profileId: string
|
|
115167
|
+
/**
|
|
115168
|
+
* Most recent tracked activity for this person (ISO 8601, UTC); null when none was recorded.
|
|
115169
|
+
*/
|
|
113246
115170
|
lastSeenAt: (string | null)
|
|
115171
|
+
/**
|
|
115172
|
+
* Earliest tracked activity for this person (ISO 8601, UTC); null when none was recorded.
|
|
115173
|
+
*/
|
|
113247
115174
|
firstSeenAt: (string | null)
|
|
115175
|
+
/**
|
|
115176
|
+
* Lifetime revenue credited to this person under the requested model, one row per currency.
|
|
115177
|
+
*/
|
|
113248
115178
|
attributedRevenue: {
|
|
115179
|
+
/**
|
|
115180
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
115181
|
+
*/
|
|
113249
115182
|
currency: string
|
|
115183
|
+
/**
|
|
115184
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
115185
|
+
*/
|
|
113250
115186
|
netMinor: number
|
|
115187
|
+
/**
|
|
115188
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
115189
|
+
*/
|
|
113251
115190
|
grossMinor: number
|
|
115191
|
+
/**
|
|
115192
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
115193
|
+
*/
|
|
113252
115194
|
refundedMinor: number
|
|
113253
115195
|
}[]
|
|
113254
115196
|
}[]
|
|
@@ -113259,9 +115201,21 @@ export interface TrackingSnippetsGetInput {
|
|
|
113259
115201
|
}
|
|
113260
115202
|
|
|
113261
115203
|
export interface TrackingSnippetsGetOutput {
|
|
115204
|
+
/**
|
|
115205
|
+
* Tracking host the snippet sends to — the customer-facing domain events and the bundle are served from.
|
|
115206
|
+
*/
|
|
113262
115207
|
host: string
|
|
115208
|
+
/**
|
|
115209
|
+
* The tag to paste into every page, verbatim, before </head>. Includes the consent-aware bootstrap; install it unconditionally rather than behind a consent gate.
|
|
115210
|
+
*/
|
|
113263
115211
|
snippet: string
|
|
115212
|
+
/**
|
|
115213
|
+
* Absolute URL of the tracker bundle the snippet loads; already points at this product's own tracking host.
|
|
115214
|
+
*/
|
|
113264
115215
|
scriptUrl: string
|
|
115216
|
+
/**
|
|
115217
|
+
* 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.
|
|
115218
|
+
*/
|
|
113265
115219
|
minimalSnippet: string
|
|
113266
115220
|
}
|
|
113267
115221
|
|
|
@@ -113277,13 +115231,75 @@ type: ("server" | "publishable")
|
|
|
113277
115231
|
}
|
|
113278
115232
|
|
|
113279
115233
|
export interface UsersApikeysCreateOutput {
|
|
115234
|
+
/**
|
|
115235
|
+
* Id of the key. Pass it to users_apikeys_revoke.
|
|
115236
|
+
*/
|
|
113280
115237
|
id: string
|
|
115238
|
+
/**
|
|
115239
|
+
* 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.
|
|
115240
|
+
*/
|
|
113281
115241
|
key: string
|
|
115242
|
+
/**
|
|
115243
|
+
* The label a human gave this key — which backend or environment holds it.
|
|
115244
|
+
*/
|
|
115245
|
+
name: string
|
|
115246
|
+
/**
|
|
115247
|
+
* `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
|
|
115248
|
+
*/
|
|
115249
|
+
type: ("server" | "publishable")
|
|
115250
|
+
/**
|
|
115251
|
+
* 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.
|
|
115252
|
+
*/
|
|
115253
|
+
value: (string | null)
|
|
115254
|
+
/**
|
|
115255
|
+
* `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
|
|
115256
|
+
*/
|
|
115257
|
+
prefix: string
|
|
115258
|
+
/**
|
|
115259
|
+
* When the key was issued (ISO 8601).
|
|
115260
|
+
*/
|
|
115261
|
+
createdAt: string
|
|
115262
|
+
/**
|
|
115263
|
+
* When the key was revoked (ISO 8601). Null while it still works.
|
|
115264
|
+
*/
|
|
115265
|
+
revokedAt: (string | null)
|
|
115266
|
+
}
|
|
115267
|
+
|
|
115268
|
+
export interface UsersApikeysGetInput {
|
|
115269
|
+
/**
|
|
115270
|
+
* Id of the key to read — the `id` from users_apikeys_list.
|
|
115271
|
+
*/
|
|
115272
|
+
id: string
|
|
115273
|
+
}
|
|
115274
|
+
|
|
115275
|
+
export interface UsersApikeysGetOutput {
|
|
115276
|
+
/**
|
|
115277
|
+
* Id of the key. Pass it to users_apikeys_revoke.
|
|
115278
|
+
*/
|
|
115279
|
+
id: string
|
|
115280
|
+
/**
|
|
115281
|
+
* The label a human gave this key — which backend or environment holds it.
|
|
115282
|
+
*/
|
|
113282
115283
|
name: string
|
|
115284
|
+
/**
|
|
115285
|
+
* `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
|
|
115286
|
+
*/
|
|
113283
115287
|
type: ("server" | "publishable")
|
|
115288
|
+
/**
|
|
115289
|
+
* 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.
|
|
115290
|
+
*/
|
|
113284
115291
|
value: (string | null)
|
|
115292
|
+
/**
|
|
115293
|
+
* `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
|
|
115294
|
+
*/
|
|
113285
115295
|
prefix: string
|
|
115296
|
+
/**
|
|
115297
|
+
* When the key was issued (ISO 8601).
|
|
115298
|
+
*/
|
|
113286
115299
|
createdAt: string
|
|
115300
|
+
/**
|
|
115301
|
+
* When the key was revoked (ISO 8601). Null while it still works.
|
|
115302
|
+
*/
|
|
113287
115303
|
revokedAt: (string | null)
|
|
113288
115304
|
}
|
|
113289
115305
|
|
|
@@ -113293,12 +115309,33 @@ export interface UsersApikeysListInput {
|
|
|
113293
115309
|
|
|
113294
115310
|
export interface UsersApikeysListOutput {
|
|
113295
115311
|
keys: {
|
|
115312
|
+
/**
|
|
115313
|
+
* Id of the key. Pass it to users_apikeys_revoke.
|
|
115314
|
+
*/
|
|
113296
115315
|
id: string
|
|
115316
|
+
/**
|
|
115317
|
+
* The label a human gave this key — which backend or environment holds it.
|
|
115318
|
+
*/
|
|
113297
115319
|
name: string
|
|
115320
|
+
/**
|
|
115321
|
+
* `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
|
|
115322
|
+
*/
|
|
113298
115323
|
type: ("server" | "publishable")
|
|
115324
|
+
/**
|
|
115325
|
+
* 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.
|
|
115326
|
+
*/
|
|
113299
115327
|
value: (string | null)
|
|
115328
|
+
/**
|
|
115329
|
+
* `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
|
|
115330
|
+
*/
|
|
113300
115331
|
prefix: string
|
|
115332
|
+
/**
|
|
115333
|
+
* When the key was issued (ISO 8601).
|
|
115334
|
+
*/
|
|
113301
115335
|
createdAt: string
|
|
115336
|
+
/**
|
|
115337
|
+
* When the key was revoked (ISO 8601). Null while it still works.
|
|
115338
|
+
*/
|
|
113302
115339
|
revokedAt: (string | null)
|
|
113303
115340
|
}[]
|
|
113304
115341
|
}
|
|
@@ -113311,7 +115348,13 @@ id: string
|
|
|
113311
115348
|
}
|
|
113312
115349
|
|
|
113313
115350
|
export interface UsersApikeysRevokeOutput {
|
|
115351
|
+
/**
|
|
115352
|
+
* Id of the key that was revoked.
|
|
115353
|
+
*/
|
|
113314
115354
|
id: string
|
|
115355
|
+
/**
|
|
115356
|
+
* Always true — revocation is immediate and final.
|
|
115357
|
+
*/
|
|
113315
115358
|
revoked: true
|
|
113316
115359
|
}
|
|
113317
115360
|
|
|
@@ -113347,21 +115390,60 @@ targetType?: string
|
|
|
113347
115390
|
}
|
|
113348
115391
|
|
|
113349
115392
|
export interface UsersAuditListOutput {
|
|
115393
|
+
/**
|
|
115394
|
+
* The page of audit events, newest first.
|
|
115395
|
+
*/
|
|
113350
115396
|
events: {
|
|
115397
|
+
/**
|
|
115398
|
+
* Id of this audit row.
|
|
115399
|
+
*/
|
|
113351
115400
|
id: string
|
|
115401
|
+
/**
|
|
115402
|
+
* IP the action came from. Null when it was not an HTTP action.
|
|
115403
|
+
*/
|
|
113352
115404
|
ip: (string | null)
|
|
115405
|
+
/**
|
|
115406
|
+
* What happened, as a dotted name — `user.created`, `passkey.deleted`, `email_change.override_applied`.
|
|
115407
|
+
*/
|
|
113353
115408
|
action: string
|
|
115409
|
+
/**
|
|
115410
|
+
* Id of the actor. Null for a system action.
|
|
115411
|
+
*/
|
|
113354
115412
|
actorId: (string | null)
|
|
115413
|
+
/**
|
|
115414
|
+
* Action-specific detail — the reason text, counts, whatever the action recorded.
|
|
115415
|
+
*/
|
|
113355
115416
|
metadata: {
|
|
113356
115417
|
[k: string]: unknown
|
|
113357
115418
|
}
|
|
115419
|
+
/**
|
|
115420
|
+
* Id of the row the action was about. Null when there was none.
|
|
115421
|
+
*/
|
|
113358
115422
|
targetId: (string | null)
|
|
115423
|
+
/**
|
|
115424
|
+
* Who acted: `operator` (a human or agent on the management plane), `end_user`, or `system`.
|
|
115425
|
+
*/
|
|
113359
115426
|
actorType: ("operator" | "system" | "end_user")
|
|
115427
|
+
/**
|
|
115428
|
+
* When the action happened (ISO 8601).
|
|
115429
|
+
*/
|
|
113360
115430
|
createdAt: string
|
|
115431
|
+
/**
|
|
115432
|
+
* Product the audited action happened in.
|
|
115433
|
+
*/
|
|
113361
115434
|
productId: string
|
|
115435
|
+
/**
|
|
115436
|
+
* User agent the action came from. Null when none was sent.
|
|
115437
|
+
*/
|
|
113362
115438
|
userAgent: (string | null)
|
|
115439
|
+
/**
|
|
115440
|
+
* What kind of row the action was about — `user` or `product`. Null when it was about nothing in particular.
|
|
115441
|
+
*/
|
|
113363
115442
|
targetType: (string | null)
|
|
113364
115443
|
}[]
|
|
115444
|
+
/**
|
|
115445
|
+
* Pass back as `cursor` to fetch the next page. Null when this page is the last.
|
|
115446
|
+
*/
|
|
113365
115447
|
nextCursor: (string | null)
|
|
113366
115448
|
}
|
|
113367
115449
|
|
|
@@ -114344,12 +116426,33 @@ userId: string
|
|
|
114344
116426
|
}
|
|
114345
116427
|
|
|
114346
116428
|
export interface UsersFactorsListOutput {
|
|
116429
|
+
/**
|
|
116430
|
+
* Every second factor this user has — types and status only, never material.
|
|
116431
|
+
*/
|
|
114347
116432
|
factors: {
|
|
116433
|
+
/**
|
|
116434
|
+
* Kind of second factor: `totp` or `backup_codes`. No key material is ever returned.
|
|
116435
|
+
*/
|
|
114348
116436
|
type: ("totp" | "backup_codes" | "webauthn")
|
|
116437
|
+
/**
|
|
116438
|
+
* Whether this factor is enrolled and usable, or still pending verification.
|
|
116439
|
+
*/
|
|
114349
116440
|
status: ("unverified" | "verified")
|
|
116441
|
+
/**
|
|
116442
|
+
* When the factor was enrolled (ISO 8601).
|
|
116443
|
+
*/
|
|
114350
116444
|
createdAt: string
|
|
116445
|
+
/**
|
|
116446
|
+
* `backup_codes` only: how many of the batch are still unspent. Null for any other factor type.
|
|
116447
|
+
*/
|
|
114351
116448
|
remaining: (number | null)
|
|
116449
|
+
/**
|
|
116450
|
+
* When the factor was last used to sign in (ISO 8601). Null if it never was.
|
|
116451
|
+
*/
|
|
114352
116452
|
lastUsedAt: (string | null)
|
|
116453
|
+
/**
|
|
116454
|
+
* When the user first proved the factor works (ISO 8601). Null while it is unverified.
|
|
116455
|
+
*/
|
|
114353
116456
|
verifiedAt: (string | null)
|
|
114354
116457
|
}[]
|
|
114355
116458
|
}
|
|
@@ -114366,7 +116469,13 @@ userId: string
|
|
|
114366
116469
|
}
|
|
114367
116470
|
|
|
114368
116471
|
export interface UsersFactorsResetOutput {
|
|
116472
|
+
/**
|
|
116473
|
+
* Id of the scheduled reset. The same value arrives on `users/mfa.reset-settled`, which is what finishes this step.
|
|
116474
|
+
*/
|
|
114369
116475
|
requestId: string
|
|
116476
|
+
/**
|
|
116477
|
+
* When the removal happens, if nobody aborts it first (ISO 8601). The delay is this product's, not a fixed one.
|
|
116478
|
+
*/
|
|
114370
116479
|
scheduledFor: string
|
|
114371
116480
|
}
|
|
114372
116481
|
|
|
@@ -114662,6 +116771,52 @@ signInFailureBaseline: (number | null)
|
|
|
114662
116771
|
}
|
|
114663
116772
|
}
|
|
114664
116773
|
|
|
116774
|
+
export interface UsersPasskeysGetInput {
|
|
116775
|
+
/**
|
|
116776
|
+
* The end user the credential belongs to.
|
|
116777
|
+
*/
|
|
116778
|
+
userId: string
|
|
116779
|
+
/**
|
|
116780
|
+
* Which credential to read — the `id` from `users_passkeys_list`.
|
|
116781
|
+
*/
|
|
116782
|
+
passkeyId: string
|
|
116783
|
+
}
|
|
116784
|
+
|
|
116785
|
+
export interface UsersPasskeysGetOutput {
|
|
116786
|
+
/**
|
|
116787
|
+
* Id of the credential. Pass it to users_passkeys_revoke.
|
|
116788
|
+
*/
|
|
116789
|
+
id: string
|
|
116790
|
+
/**
|
|
116791
|
+
* The name the user gave this credential, so a person can tell their devices apart. Null when they never named it.
|
|
116792
|
+
*/
|
|
116793
|
+
name: (string | null)
|
|
116794
|
+
/**
|
|
116795
|
+
* The authenticator MODEL’s identifier, which says what kind of device this is, never which one. Null when the authenticator withheld it.
|
|
116796
|
+
*/
|
|
116797
|
+
aaguid: (string | null)
|
|
116798
|
+
/**
|
|
116799
|
+
* True when the platform syncs this credential, so it survives losing the device. False means it lives on that device alone.
|
|
116800
|
+
*/
|
|
116801
|
+
backedUp: boolean
|
|
116802
|
+
/**
|
|
116803
|
+
* When the credential was registered (ISO 8601).
|
|
116804
|
+
*/
|
|
116805
|
+
createdAt: string
|
|
116806
|
+
/**
|
|
116807
|
+
* The authenticator’s own counter as of the last assertion. 0 when the authenticator does not count.
|
|
116808
|
+
*/
|
|
116809
|
+
signCount: number
|
|
116810
|
+
/**
|
|
116811
|
+
* When it last signed in (ISO 8601). Null when it never has.
|
|
116812
|
+
*/
|
|
116813
|
+
lastUsedAt: (string | null)
|
|
116814
|
+
/**
|
|
116815
|
+
* 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.
|
|
116816
|
+
*/
|
|
116817
|
+
transports: string[]
|
|
116818
|
+
}
|
|
116819
|
+
|
|
114665
116820
|
export interface UsersPasskeysListInput {
|
|
114666
116821
|
/**
|
|
114667
116822
|
* The end user whose passkeys to list.
|
|
@@ -114670,14 +116825,41 @@ userId: string
|
|
|
114670
116825
|
}
|
|
114671
116826
|
|
|
114672
116827
|
export interface UsersPasskeysListOutput {
|
|
116828
|
+
/**
|
|
116829
|
+
* The credentials this user has registered, newest first. Empty when they have none.
|
|
116830
|
+
*/
|
|
114673
116831
|
passkeys: {
|
|
116832
|
+
/**
|
|
116833
|
+
* Id of the credential. Pass it to users_passkeys_revoke.
|
|
116834
|
+
*/
|
|
114674
116835
|
id: string
|
|
116836
|
+
/**
|
|
116837
|
+
* The name the user gave this credential, so a person can tell their devices apart. Null when they never named it.
|
|
116838
|
+
*/
|
|
114675
116839
|
name: (string | null)
|
|
116840
|
+
/**
|
|
116841
|
+
* The authenticator MODEL’s identifier, which says what kind of device this is, never which one. Null when the authenticator withheld it.
|
|
116842
|
+
*/
|
|
114676
116843
|
aaguid: (string | null)
|
|
116844
|
+
/**
|
|
116845
|
+
* True when the platform syncs this credential, so it survives losing the device. False means it lives on that device alone.
|
|
116846
|
+
*/
|
|
114677
116847
|
backedUp: boolean
|
|
116848
|
+
/**
|
|
116849
|
+
* When the credential was registered (ISO 8601).
|
|
116850
|
+
*/
|
|
114678
116851
|
createdAt: string
|
|
116852
|
+
/**
|
|
116853
|
+
* The authenticator’s own counter as of the last assertion. 0 when the authenticator does not count.
|
|
116854
|
+
*/
|
|
114679
116855
|
signCount: number
|
|
116856
|
+
/**
|
|
116857
|
+
* When it last signed in (ISO 8601). Null when it never has.
|
|
116858
|
+
*/
|
|
114680
116859
|
lastUsedAt: (string | null)
|
|
116860
|
+
/**
|
|
116861
|
+
* 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.
|
|
116862
|
+
*/
|
|
114681
116863
|
transports: string[]
|
|
114682
116864
|
}[]
|
|
114683
116865
|
}
|
|
@@ -114702,9 +116884,18 @@ export interface UsersPasskeysRevokeOutput {
|
|
|
114702
116884
|
* Present when the revoke was refused — today, only because it was the last way in.
|
|
114703
116885
|
*/
|
|
114704
116886
|
error: ({
|
|
116887
|
+
/**
|
|
116888
|
+
* Why it was refused. Today only `passkey_last_way_in`.
|
|
116889
|
+
*/
|
|
114705
116890
|
code: string
|
|
116891
|
+
/**
|
|
116892
|
+
* The refusal in a sentence, safe to show a human.
|
|
116893
|
+
*/
|
|
114706
116894
|
message: string
|
|
114707
116895
|
} | null)
|
|
116896
|
+
/**
|
|
116897
|
+
* `deleted` when the credential is gone, `failed` when the revoke was refused.
|
|
116898
|
+
*/
|
|
114708
116899
|
status: ("deleted" | "failed")
|
|
114709
116900
|
}
|
|
114710
116901
|
|
|
@@ -114716,7 +116907,13 @@ sessionId: string
|
|
|
114716
116907
|
}
|
|
114717
116908
|
|
|
114718
116909
|
export interface UsersSessionsGetOutput {
|
|
116910
|
+
/**
|
|
116911
|
+
* Id of this session. Pass it to users_sessions_revoke.
|
|
116912
|
+
*/
|
|
114719
116913
|
id: string
|
|
116914
|
+
/**
|
|
116915
|
+
* IP the session was opened from. Null when it was not recorded.
|
|
116916
|
+
*/
|
|
114720
116917
|
ip: (string | null)
|
|
114721
116918
|
/**
|
|
114722
116919
|
* `aal2` only if a verified second factor completed.
|
|
@@ -114726,18 +116923,45 @@ aal: ("aal1" | "aal2")
|
|
|
114726
116923
|
* The factors this session was established with.
|
|
114727
116924
|
*/
|
|
114728
116925
|
amr: string[]
|
|
116926
|
+
/**
|
|
116927
|
+
* Whether the session is still usable, expired, or revoked.
|
|
116928
|
+
*/
|
|
114729
116929
|
status: ("active" | "revoked")
|
|
116930
|
+
/**
|
|
116931
|
+
* The end user this session belongs to.
|
|
116932
|
+
*/
|
|
114730
116933
|
userId: string
|
|
116934
|
+
/**
|
|
116935
|
+
* When the session was opened (ISO 8601).
|
|
116936
|
+
*/
|
|
114731
116937
|
createdAt: string
|
|
116938
|
+
/**
|
|
116939
|
+
* When the current token stops working unless refreshed (ISO 8601).
|
|
116940
|
+
*/
|
|
114732
116941
|
expiresAt: string
|
|
116942
|
+
/**
|
|
116943
|
+
* When the session was revoked (ISO 8601). Null while it is live.
|
|
116944
|
+
*/
|
|
114733
116945
|
revokedAt: (string | null)
|
|
116946
|
+
/**
|
|
116947
|
+
* User agent the session was opened from. Null when none was sent.
|
|
116948
|
+
*/
|
|
114734
116949
|
userAgent: (string | null)
|
|
116950
|
+
/**
|
|
116951
|
+
* 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.
|
|
116952
|
+
*/
|
|
114735
116953
|
revokedReason: (string | null)
|
|
114736
116954
|
/**
|
|
114737
116955
|
* The operator behind an impersonated session, or null for an ordinary one.
|
|
114738
116956
|
*/
|
|
114739
116957
|
impersonatedBy: (string | null)
|
|
116958
|
+
/**
|
|
116959
|
+
* When the session last refreshed its tokens (ISO 8601). Null if it never has.
|
|
116960
|
+
*/
|
|
114740
116961
|
lastRefreshedAt: (string | null)
|
|
116962
|
+
/**
|
|
116963
|
+
* When the session ends no matter how often it refreshes (ISO 8601).
|
|
116964
|
+
*/
|
|
114741
116965
|
absoluteExpiresAt: string
|
|
114742
116966
|
}
|
|
114743
116967
|
|
|
@@ -114777,16 +117001,49 @@ userId: string
|
|
|
114777
117001
|
}
|
|
114778
117002
|
|
|
114779
117003
|
export interface UsersSessionsListOutput {
|
|
117004
|
+
/**
|
|
117005
|
+
* The sessions matching the filter, newest first.
|
|
117006
|
+
*/
|
|
114780
117007
|
sessions: {
|
|
117008
|
+
/**
|
|
117009
|
+
* Id of this session. Pass it to users_sessions_revoke.
|
|
117010
|
+
*/
|
|
114781
117011
|
id: string
|
|
117012
|
+
/**
|
|
117013
|
+
* IP the session was opened from. Null when it was not recorded.
|
|
117014
|
+
*/
|
|
114782
117015
|
ip: (string | null)
|
|
117016
|
+
/**
|
|
117017
|
+
* Whether the session is still usable, expired, or revoked.
|
|
117018
|
+
*/
|
|
114783
117019
|
status: ("active" | "revoked")
|
|
117020
|
+
/**
|
|
117021
|
+
* The end user this session belongs to.
|
|
117022
|
+
*/
|
|
114784
117023
|
userId: string
|
|
117024
|
+
/**
|
|
117025
|
+
* When the session was opened (ISO 8601).
|
|
117026
|
+
*/
|
|
114785
117027
|
createdAt: string
|
|
117028
|
+
/**
|
|
117029
|
+
* When the current token stops working unless refreshed (ISO 8601).
|
|
117030
|
+
*/
|
|
114786
117031
|
expiresAt: string
|
|
117032
|
+
/**
|
|
117033
|
+
* When the session was revoked (ISO 8601). Null while it is live.
|
|
117034
|
+
*/
|
|
114787
117035
|
revokedAt: (string | null)
|
|
117036
|
+
/**
|
|
117037
|
+
* User agent the session was opened from. Null when none was sent.
|
|
117038
|
+
*/
|
|
114788
117039
|
userAgent: (string | null)
|
|
117040
|
+
/**
|
|
117041
|
+
* When the session last refreshed its tokens (ISO 8601). Null if it never has.
|
|
117042
|
+
*/
|
|
114789
117043
|
lastRefreshedAt: (string | null)
|
|
117044
|
+
/**
|
|
117045
|
+
* When the session ends no matter how often it refreshes (ISO 8601).
|
|
117046
|
+
*/
|
|
114790
117047
|
absoluteExpiresAt: string
|
|
114791
117048
|
}[]
|
|
114792
117049
|
}
|
|
@@ -114803,6 +117060,9 @@ sessionId?: string
|
|
|
114803
117060
|
}
|
|
114804
117061
|
|
|
114805
117062
|
export interface UsersSessionsRevokeOutput {
|
|
117063
|
+
/**
|
|
117064
|
+
* How many sessions were revoked. Zero when there was nothing live to revoke.
|
|
117065
|
+
*/
|
|
114806
117066
|
revoked: number
|
|
114807
117067
|
}
|
|
114808
117068
|
|
|
@@ -114929,37 +117189,126 @@ userId: string
|
|
|
114929
117189
|
}
|
|
114930
117190
|
|
|
114931
117191
|
export interface UsersUsersBanOutput {
|
|
117192
|
+
/**
|
|
117193
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
117194
|
+
*/
|
|
114932
117195
|
id: string
|
|
117196
|
+
/**
|
|
117197
|
+
* The user's display name. Null when nobody set one.
|
|
117198
|
+
*/
|
|
114933
117199
|
name: (string | null)
|
|
117200
|
+
/**
|
|
117201
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
117202
|
+
*/
|
|
114934
117203
|
bannedAt: (string | null)
|
|
117204
|
+
/**
|
|
117205
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
117206
|
+
*/
|
|
114935
117207
|
erasedAt: (string | null)
|
|
117208
|
+
/**
|
|
117209
|
+
* URL of the user's avatar. Null when there is none.
|
|
117210
|
+
*/
|
|
114936
117211
|
imageUrl: (string | null)
|
|
117212
|
+
/**
|
|
117213
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
117214
|
+
*/
|
|
114937
117215
|
testUser: boolean
|
|
117216
|
+
/**
|
|
117217
|
+
* When the user was created (ISO 8601).
|
|
117218
|
+
*/
|
|
114938
117219
|
createdAt: string
|
|
117220
|
+
/**
|
|
117221
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
117222
|
+
*/
|
|
114939
117223
|
deletedAt: (string | null)
|
|
117224
|
+
/**
|
|
117225
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
117226
|
+
*/
|
|
114940
117227
|
productId: string
|
|
117228
|
+
/**
|
|
117229
|
+
* When the user was last changed (ISO 8601).
|
|
117230
|
+
*/
|
|
114941
117231
|
updatedAt: string
|
|
117232
|
+
/**
|
|
117233
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
117234
|
+
*/
|
|
114942
117235
|
waitlisted: boolean
|
|
117236
|
+
/**
|
|
117237
|
+
* 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".
|
|
117238
|
+
*/
|
|
114943
117239
|
identifiers: {
|
|
117240
|
+
/**
|
|
117241
|
+
* Id of this identifier row.
|
|
117242
|
+
*/
|
|
114944
117243
|
id: string
|
|
117244
|
+
/**
|
|
117245
|
+
* What kind of identifier this is. Today always `email`.
|
|
117246
|
+
*/
|
|
114945
117247
|
type: "email"
|
|
117248
|
+
/**
|
|
117249
|
+
* The address as the user typed it, for display.
|
|
117250
|
+
*/
|
|
114946
117251
|
value: string
|
|
117252
|
+
/**
|
|
117253
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
117254
|
+
*/
|
|
114947
117255
|
isPrimary: boolean
|
|
117256
|
+
/**
|
|
117257
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
117258
|
+
*/
|
|
114948
117259
|
verifiedAt: (string | null)
|
|
117260
|
+
/**
|
|
117261
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
117262
|
+
*/
|
|
114949
117263
|
valueCanonical: string
|
|
117264
|
+
/**
|
|
117265
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
117266
|
+
*/
|
|
114950
117267
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
114951
117268
|
}[]
|
|
117269
|
+
/**
|
|
117270
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
117271
|
+
*/
|
|
114952
117272
|
lockedUntil: (string | null)
|
|
117273
|
+
/**
|
|
117274
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
117275
|
+
*/
|
|
114953
117276
|
lastSignInAt: (string | null)
|
|
117277
|
+
/**
|
|
117278
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
117279
|
+
*/
|
|
117280
|
+
primaryEmail: (string | null)
|
|
117281
|
+
/**
|
|
117282
|
+
* Whether the user must set a new password at their next sign-in.
|
|
117283
|
+
*/
|
|
114954
117284
|
requiresReset: boolean
|
|
114955
|
-
|
|
114956
|
-
|
|
114957
|
-
|
|
114958
|
-
|
|
117285
|
+
/**
|
|
117286
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
117287
|
+
*/
|
|
117288
|
+
publicMetadata: {
|
|
117289
|
+
[k: string]: unknown
|
|
114959
117290
|
}
|
|
114960
|
-
|
|
117291
|
+
/**
|
|
117292
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
117293
|
+
*/
|
|
117294
|
+
unsafeMetadata: {
|
|
117295
|
+
[k: string]: unknown
|
|
117296
|
+
}
|
|
117297
|
+
/**
|
|
117298
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
117299
|
+
*/
|
|
117300
|
+
privateMetadata: {
|
|
114961
117301
|
[k: string]: unknown
|
|
114962
117302
|
}
|
|
117303
|
+
/**
|
|
117304
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
117305
|
+
*/
|
|
117306
|
+
primaryIdentifierId: (string | null)
|
|
117307
|
+
/**
|
|
117308
|
+
* 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.
|
|
117309
|
+
*/
|
|
117310
|
+
emailChangeLockedUntil: (string | null)
|
|
117311
|
+
}
|
|
114963
117312
|
|
|
114964
117313
|
export interface UsersUsersCreateInput {
|
|
114965
117314
|
/**
|
|
@@ -115062,37 +117411,126 @@ export interface UsersUsersCreateInputPublicMetadata1 {
|
|
|
115062
117411
|
}
|
|
115063
117412
|
|
|
115064
117413
|
export interface UsersUsersCreateOutput {
|
|
117414
|
+
/**
|
|
117415
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
117416
|
+
*/
|
|
115065
117417
|
id: string
|
|
117418
|
+
/**
|
|
117419
|
+
* The user's display name. Null when nobody set one.
|
|
117420
|
+
*/
|
|
115066
117421
|
name: (string | null)
|
|
117422
|
+
/**
|
|
117423
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
117424
|
+
*/
|
|
115067
117425
|
bannedAt: (string | null)
|
|
117426
|
+
/**
|
|
117427
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
117428
|
+
*/
|
|
115068
117429
|
erasedAt: (string | null)
|
|
117430
|
+
/**
|
|
117431
|
+
* URL of the user's avatar. Null when there is none.
|
|
117432
|
+
*/
|
|
115069
117433
|
imageUrl: (string | null)
|
|
117434
|
+
/**
|
|
117435
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
117436
|
+
*/
|
|
115070
117437
|
testUser: boolean
|
|
117438
|
+
/**
|
|
117439
|
+
* When the user was created (ISO 8601).
|
|
117440
|
+
*/
|
|
115071
117441
|
createdAt: string
|
|
117442
|
+
/**
|
|
117443
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
117444
|
+
*/
|
|
115072
117445
|
deletedAt: (string | null)
|
|
117446
|
+
/**
|
|
117447
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
117448
|
+
*/
|
|
115073
117449
|
productId: string
|
|
117450
|
+
/**
|
|
117451
|
+
* When the user was last changed (ISO 8601).
|
|
117452
|
+
*/
|
|
115074
117453
|
updatedAt: string
|
|
117454
|
+
/**
|
|
117455
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
117456
|
+
*/
|
|
115075
117457
|
waitlisted: boolean
|
|
117458
|
+
/**
|
|
117459
|
+
* 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".
|
|
117460
|
+
*/
|
|
115076
117461
|
identifiers: {
|
|
117462
|
+
/**
|
|
117463
|
+
* Id of this identifier row.
|
|
117464
|
+
*/
|
|
115077
117465
|
id: string
|
|
117466
|
+
/**
|
|
117467
|
+
* What kind of identifier this is. Today always `email`.
|
|
117468
|
+
*/
|
|
115078
117469
|
type: "email"
|
|
117470
|
+
/**
|
|
117471
|
+
* The address as the user typed it, for display.
|
|
117472
|
+
*/
|
|
115079
117473
|
value: string
|
|
117474
|
+
/**
|
|
117475
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
117476
|
+
*/
|
|
115080
117477
|
isPrimary: boolean
|
|
117478
|
+
/**
|
|
117479
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
117480
|
+
*/
|
|
115081
117481
|
verifiedAt: (string | null)
|
|
117482
|
+
/**
|
|
117483
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
117484
|
+
*/
|
|
115082
117485
|
valueCanonical: string
|
|
117486
|
+
/**
|
|
117487
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
117488
|
+
*/
|
|
115083
117489
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
115084
117490
|
}[]
|
|
117491
|
+
/**
|
|
117492
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
117493
|
+
*/
|
|
115085
117494
|
lockedUntil: (string | null)
|
|
117495
|
+
/**
|
|
117496
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
117497
|
+
*/
|
|
115086
117498
|
lastSignInAt: (string | null)
|
|
117499
|
+
/**
|
|
117500
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
117501
|
+
*/
|
|
117502
|
+
primaryEmail: (string | null)
|
|
117503
|
+
/**
|
|
117504
|
+
* Whether the user must set a new password at their next sign-in.
|
|
117505
|
+
*/
|
|
115087
117506
|
requiresReset: boolean
|
|
115088
|
-
|
|
115089
|
-
|
|
115090
|
-
|
|
115091
|
-
|
|
117507
|
+
/**
|
|
117508
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
117509
|
+
*/
|
|
117510
|
+
publicMetadata: {
|
|
117511
|
+
[k: string]: unknown
|
|
117512
|
+
}
|
|
117513
|
+
/**
|
|
117514
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
117515
|
+
*/
|
|
117516
|
+
unsafeMetadata: {
|
|
117517
|
+
[k: string]: unknown
|
|
115092
117518
|
}
|
|
115093
|
-
|
|
117519
|
+
/**
|
|
117520
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
117521
|
+
*/
|
|
117522
|
+
privateMetadata: {
|
|
115094
117523
|
[k: string]: unknown
|
|
115095
117524
|
}
|
|
117525
|
+
/**
|
|
117526
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
117527
|
+
*/
|
|
117528
|
+
primaryIdentifierId: (string | null)
|
|
117529
|
+
/**
|
|
117530
|
+
* 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.
|
|
117531
|
+
*/
|
|
117532
|
+
emailChangeLockedUntil: (string | null)
|
|
117533
|
+
}
|
|
115096
117534
|
|
|
115097
117535
|
export interface UsersUsersDeleteInput {
|
|
115098
117536
|
/**
|
|
@@ -115102,37 +117540,126 @@ userId: string
|
|
|
115102
117540
|
}
|
|
115103
117541
|
|
|
115104
117542
|
export interface UsersUsersDeleteOutput {
|
|
117543
|
+
/**
|
|
117544
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
117545
|
+
*/
|
|
115105
117546
|
id: string
|
|
117547
|
+
/**
|
|
117548
|
+
* The user's display name. Null when nobody set one.
|
|
117549
|
+
*/
|
|
115106
117550
|
name: (string | null)
|
|
117551
|
+
/**
|
|
117552
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
117553
|
+
*/
|
|
115107
117554
|
bannedAt: (string | null)
|
|
117555
|
+
/**
|
|
117556
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
117557
|
+
*/
|
|
115108
117558
|
erasedAt: (string | null)
|
|
117559
|
+
/**
|
|
117560
|
+
* URL of the user's avatar. Null when there is none.
|
|
117561
|
+
*/
|
|
115109
117562
|
imageUrl: (string | null)
|
|
117563
|
+
/**
|
|
117564
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
117565
|
+
*/
|
|
115110
117566
|
testUser: boolean
|
|
117567
|
+
/**
|
|
117568
|
+
* When the user was created (ISO 8601).
|
|
117569
|
+
*/
|
|
115111
117570
|
createdAt: string
|
|
117571
|
+
/**
|
|
117572
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
117573
|
+
*/
|
|
115112
117574
|
deletedAt: (string | null)
|
|
117575
|
+
/**
|
|
117576
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
117577
|
+
*/
|
|
115113
117578
|
productId: string
|
|
117579
|
+
/**
|
|
117580
|
+
* When the user was last changed (ISO 8601).
|
|
117581
|
+
*/
|
|
115114
117582
|
updatedAt: string
|
|
117583
|
+
/**
|
|
117584
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
117585
|
+
*/
|
|
115115
117586
|
waitlisted: boolean
|
|
117587
|
+
/**
|
|
117588
|
+
* 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".
|
|
117589
|
+
*/
|
|
115116
117590
|
identifiers: {
|
|
117591
|
+
/**
|
|
117592
|
+
* Id of this identifier row.
|
|
117593
|
+
*/
|
|
115117
117594
|
id: string
|
|
117595
|
+
/**
|
|
117596
|
+
* What kind of identifier this is. Today always `email`.
|
|
117597
|
+
*/
|
|
115118
117598
|
type: "email"
|
|
117599
|
+
/**
|
|
117600
|
+
* The address as the user typed it, for display.
|
|
117601
|
+
*/
|
|
115119
117602
|
value: string
|
|
117603
|
+
/**
|
|
117604
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
117605
|
+
*/
|
|
115120
117606
|
isPrimary: boolean
|
|
117607
|
+
/**
|
|
117608
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
117609
|
+
*/
|
|
115121
117610
|
verifiedAt: (string | null)
|
|
117611
|
+
/**
|
|
117612
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
117613
|
+
*/
|
|
115122
117614
|
valueCanonical: string
|
|
117615
|
+
/**
|
|
117616
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
117617
|
+
*/
|
|
115123
117618
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
115124
117619
|
}[]
|
|
117620
|
+
/**
|
|
117621
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
117622
|
+
*/
|
|
115125
117623
|
lockedUntil: (string | null)
|
|
117624
|
+
/**
|
|
117625
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
117626
|
+
*/
|
|
115126
117627
|
lastSignInAt: (string | null)
|
|
117628
|
+
/**
|
|
117629
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
117630
|
+
*/
|
|
117631
|
+
primaryEmail: (string | null)
|
|
117632
|
+
/**
|
|
117633
|
+
* Whether the user must set a new password at their next sign-in.
|
|
117634
|
+
*/
|
|
115127
117635
|
requiresReset: boolean
|
|
115128
|
-
|
|
115129
|
-
|
|
115130
|
-
|
|
115131
|
-
|
|
117636
|
+
/**
|
|
117637
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
117638
|
+
*/
|
|
117639
|
+
publicMetadata: {
|
|
117640
|
+
[k: string]: unknown
|
|
117641
|
+
}
|
|
117642
|
+
/**
|
|
117643
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
117644
|
+
*/
|
|
117645
|
+
unsafeMetadata: {
|
|
117646
|
+
[k: string]: unknown
|
|
115132
117647
|
}
|
|
115133
|
-
|
|
117648
|
+
/**
|
|
117649
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
117650
|
+
*/
|
|
117651
|
+
privateMetadata: {
|
|
115134
117652
|
[k: string]: unknown
|
|
115135
117653
|
}
|
|
117654
|
+
/**
|
|
117655
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
117656
|
+
*/
|
|
117657
|
+
primaryIdentifierId: (string | null)
|
|
117658
|
+
/**
|
|
117659
|
+
* 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.
|
|
117660
|
+
*/
|
|
117661
|
+
emailChangeLockedUntil: (string | null)
|
|
117662
|
+
}
|
|
115136
117663
|
|
|
115137
117664
|
export interface UsersUsersExportInput {
|
|
115138
117665
|
/**
|
|
@@ -115160,40 +117687,129 @@ includeDeleted?: boolean
|
|
|
115160
117687
|
export interface UsersUsersExportOutput {
|
|
115161
117688
|
count: number
|
|
115162
117689
|
users: {
|
|
117690
|
+
/**
|
|
117691
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
117692
|
+
*/
|
|
115163
117693
|
id: string
|
|
117694
|
+
/**
|
|
117695
|
+
* The user's display name. Null when nobody set one.
|
|
117696
|
+
*/
|
|
115164
117697
|
name: (string | null)
|
|
117698
|
+
/**
|
|
117699
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
117700
|
+
*/
|
|
115165
117701
|
bannedAt: (string | null)
|
|
117702
|
+
/**
|
|
117703
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
117704
|
+
*/
|
|
115166
117705
|
erasedAt: (string | null)
|
|
117706
|
+
/**
|
|
117707
|
+
* URL of the user's avatar. Null when there is none.
|
|
117708
|
+
*/
|
|
115167
117709
|
imageUrl: (string | null)
|
|
117710
|
+
/**
|
|
117711
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
117712
|
+
*/
|
|
115168
117713
|
testUser: boolean
|
|
117714
|
+
/**
|
|
117715
|
+
* When the user was created (ISO 8601).
|
|
117716
|
+
*/
|
|
115169
117717
|
createdAt: string
|
|
117718
|
+
/**
|
|
117719
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
117720
|
+
*/
|
|
115170
117721
|
deletedAt: (string | null)
|
|
117722
|
+
/**
|
|
117723
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
117724
|
+
*/
|
|
115171
117725
|
productId: string
|
|
117726
|
+
/**
|
|
117727
|
+
* When the user was last changed (ISO 8601).
|
|
117728
|
+
*/
|
|
115172
117729
|
updatedAt: string
|
|
117730
|
+
/**
|
|
117731
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
117732
|
+
*/
|
|
115173
117733
|
waitlisted: boolean
|
|
117734
|
+
/**
|
|
117735
|
+
* 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".
|
|
117736
|
+
*/
|
|
115174
117737
|
identifiers: {
|
|
117738
|
+
/**
|
|
117739
|
+
* Id of this identifier row.
|
|
117740
|
+
*/
|
|
115175
117741
|
id: string
|
|
117742
|
+
/**
|
|
117743
|
+
* What kind of identifier this is. Today always `email`.
|
|
117744
|
+
*/
|
|
115176
117745
|
type: "email"
|
|
117746
|
+
/**
|
|
117747
|
+
* The address as the user typed it, for display.
|
|
117748
|
+
*/
|
|
115177
117749
|
value: string
|
|
117750
|
+
/**
|
|
117751
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
117752
|
+
*/
|
|
115178
117753
|
isPrimary: boolean
|
|
117754
|
+
/**
|
|
117755
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
117756
|
+
*/
|
|
115179
117757
|
verifiedAt: (string | null)
|
|
117758
|
+
/**
|
|
117759
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
117760
|
+
*/
|
|
115180
117761
|
valueCanonical: string
|
|
117762
|
+
/**
|
|
117763
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
117764
|
+
*/
|
|
115181
117765
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
115182
117766
|
}[]
|
|
117767
|
+
/**
|
|
117768
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
117769
|
+
*/
|
|
115183
117770
|
lockedUntil: (string | null)
|
|
117771
|
+
/**
|
|
117772
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
117773
|
+
*/
|
|
115184
117774
|
lastSignInAt: (string | null)
|
|
117775
|
+
/**
|
|
117776
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
117777
|
+
*/
|
|
117778
|
+
primaryEmail: (string | null)
|
|
117779
|
+
/**
|
|
117780
|
+
* Whether the user must set a new password at their next sign-in.
|
|
117781
|
+
*/
|
|
115185
117782
|
requiresReset: boolean
|
|
115186
|
-
|
|
115187
|
-
|
|
115188
|
-
|
|
117783
|
+
/**
|
|
117784
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
117785
|
+
*/
|
|
117786
|
+
publicMetadata: {
|
|
117787
|
+
[k: string]: unknown
|
|
117788
|
+
}
|
|
117789
|
+
/**
|
|
117790
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
117791
|
+
*/
|
|
117792
|
+
unsafeMetadata: {
|
|
117793
|
+
[k: string]: unknown
|
|
117794
|
+
}
|
|
117795
|
+
/**
|
|
117796
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
117797
|
+
*/
|
|
117798
|
+
privateMetadata: {
|
|
117799
|
+
[k: string]: unknown
|
|
117800
|
+
}
|
|
117801
|
+
/**
|
|
117802
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
117803
|
+
*/
|
|
117804
|
+
primaryIdentifierId: (string | null)
|
|
117805
|
+
/**
|
|
117806
|
+
* 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.
|
|
117807
|
+
*/
|
|
115189
117808
|
emailChangeLockedUntil: (string | null)
|
|
115190
117809
|
}[]
|
|
115191
117810
|
exportedAt: string
|
|
115192
117811
|
nextCursor: (string | null)
|
|
115193
117812
|
}
|
|
115194
|
-
export interface UsersUsersExportOutputPublicMetadata {
|
|
115195
|
-
[k: string]: unknown
|
|
115196
|
-
}
|
|
115197
117813
|
|
|
115198
117814
|
export interface UsersUsersGetInput {
|
|
115199
117815
|
/**
|
|
@@ -115203,37 +117819,126 @@ userId: string
|
|
|
115203
117819
|
}
|
|
115204
117820
|
|
|
115205
117821
|
export interface UsersUsersGetOutput {
|
|
117822
|
+
/**
|
|
117823
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
117824
|
+
*/
|
|
115206
117825
|
id: string
|
|
117826
|
+
/**
|
|
117827
|
+
* The user's display name. Null when nobody set one.
|
|
117828
|
+
*/
|
|
115207
117829
|
name: (string | null)
|
|
117830
|
+
/**
|
|
117831
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
117832
|
+
*/
|
|
115208
117833
|
bannedAt: (string | null)
|
|
117834
|
+
/**
|
|
117835
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
117836
|
+
*/
|
|
115209
117837
|
erasedAt: (string | null)
|
|
117838
|
+
/**
|
|
117839
|
+
* URL of the user's avatar. Null when there is none.
|
|
117840
|
+
*/
|
|
115210
117841
|
imageUrl: (string | null)
|
|
117842
|
+
/**
|
|
117843
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
117844
|
+
*/
|
|
115211
117845
|
testUser: boolean
|
|
117846
|
+
/**
|
|
117847
|
+
* When the user was created (ISO 8601).
|
|
117848
|
+
*/
|
|
115212
117849
|
createdAt: string
|
|
117850
|
+
/**
|
|
117851
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
117852
|
+
*/
|
|
115213
117853
|
deletedAt: (string | null)
|
|
117854
|
+
/**
|
|
117855
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
117856
|
+
*/
|
|
115214
117857
|
productId: string
|
|
117858
|
+
/**
|
|
117859
|
+
* When the user was last changed (ISO 8601).
|
|
117860
|
+
*/
|
|
115215
117861
|
updatedAt: string
|
|
117862
|
+
/**
|
|
117863
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
117864
|
+
*/
|
|
115216
117865
|
waitlisted: boolean
|
|
117866
|
+
/**
|
|
117867
|
+
* 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".
|
|
117868
|
+
*/
|
|
115217
117869
|
identifiers: {
|
|
117870
|
+
/**
|
|
117871
|
+
* Id of this identifier row.
|
|
117872
|
+
*/
|
|
115218
117873
|
id: string
|
|
117874
|
+
/**
|
|
117875
|
+
* What kind of identifier this is. Today always `email`.
|
|
117876
|
+
*/
|
|
115219
117877
|
type: "email"
|
|
117878
|
+
/**
|
|
117879
|
+
* The address as the user typed it, for display.
|
|
117880
|
+
*/
|
|
115220
117881
|
value: string
|
|
117882
|
+
/**
|
|
117883
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
117884
|
+
*/
|
|
115221
117885
|
isPrimary: boolean
|
|
117886
|
+
/**
|
|
117887
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
117888
|
+
*/
|
|
115222
117889
|
verifiedAt: (string | null)
|
|
117890
|
+
/**
|
|
117891
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
117892
|
+
*/
|
|
115223
117893
|
valueCanonical: string
|
|
117894
|
+
/**
|
|
117895
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
117896
|
+
*/
|
|
115224
117897
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
115225
117898
|
}[]
|
|
117899
|
+
/**
|
|
117900
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
117901
|
+
*/
|
|
115226
117902
|
lockedUntil: (string | null)
|
|
117903
|
+
/**
|
|
117904
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
117905
|
+
*/
|
|
115227
117906
|
lastSignInAt: (string | null)
|
|
117907
|
+
/**
|
|
117908
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
117909
|
+
*/
|
|
117910
|
+
primaryEmail: (string | null)
|
|
117911
|
+
/**
|
|
117912
|
+
* Whether the user must set a new password at their next sign-in.
|
|
117913
|
+
*/
|
|
115228
117914
|
requiresReset: boolean
|
|
115229
|
-
|
|
115230
|
-
|
|
115231
|
-
|
|
115232
|
-
|
|
117915
|
+
/**
|
|
117916
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
117917
|
+
*/
|
|
117918
|
+
publicMetadata: {
|
|
117919
|
+
[k: string]: unknown
|
|
117920
|
+
}
|
|
117921
|
+
/**
|
|
117922
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
117923
|
+
*/
|
|
117924
|
+
unsafeMetadata: {
|
|
117925
|
+
[k: string]: unknown
|
|
115233
117926
|
}
|
|
115234
|
-
|
|
117927
|
+
/**
|
|
117928
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
117929
|
+
*/
|
|
117930
|
+
privateMetadata: {
|
|
115235
117931
|
[k: string]: unknown
|
|
115236
117932
|
}
|
|
117933
|
+
/**
|
|
117934
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
117935
|
+
*/
|
|
117936
|
+
primaryIdentifierId: (string | null)
|
|
117937
|
+
/**
|
|
117938
|
+
* 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.
|
|
117939
|
+
*/
|
|
117940
|
+
emailChangeLockedUntil: (string | null)
|
|
117941
|
+
}
|
|
115237
117942
|
|
|
115238
117943
|
export interface UsersUsersImportInput {
|
|
115239
117944
|
/**
|
|
@@ -115246,15 +117951,42 @@ users: [unknown, ...(unknown)[]]
|
|
|
115246
117951
|
}
|
|
115247
117952
|
|
|
115248
117953
|
export interface UsersUsersImportOutput {
|
|
117954
|
+
/**
|
|
117955
|
+
* How many rows could not be imported at all.
|
|
117956
|
+
*/
|
|
115249
117957
|
failed: number
|
|
117958
|
+
/**
|
|
117959
|
+
* How many users were created.
|
|
117960
|
+
*/
|
|
115250
117961
|
created: number
|
|
117962
|
+
/**
|
|
117963
|
+
* One row per submitted row, in the order you sent them.
|
|
117964
|
+
*/
|
|
115251
117965
|
results: {
|
|
117966
|
+
/**
|
|
117967
|
+
* Zero-based index of the row in the `users` array you sent.
|
|
117968
|
+
*/
|
|
115252
117969
|
row: number
|
|
117970
|
+
/**
|
|
117971
|
+
* Why it was skipped, or what went wrong. Null for a created row.
|
|
117972
|
+
*/
|
|
115253
117973
|
reason: (string | null)
|
|
117974
|
+
/**
|
|
117975
|
+
* What happened to this row.
|
|
117976
|
+
*/
|
|
115254
117977
|
status: ("created" | "skipped" | "failed")
|
|
117978
|
+
/**
|
|
117979
|
+
* The created user's id. Null for skipped and failed rows.
|
|
117980
|
+
*/
|
|
115255
117981
|
userId: (string | null)
|
|
115256
117982
|
}[]
|
|
117983
|
+
/**
|
|
117984
|
+
* How many rows were passed over — an address already in the directory, typically.
|
|
117985
|
+
*/
|
|
115257
117986
|
skipped: number
|
|
117987
|
+
/**
|
|
117988
|
+
* How many rows you submitted.
|
|
117989
|
+
*/
|
|
115258
117990
|
requested: number
|
|
115259
117991
|
}
|
|
115260
117992
|
|
|
@@ -115282,9 +118014,21 @@ privateMetadata?: {
|
|
|
115282
118014
|
}
|
|
115283
118015
|
|
|
115284
118016
|
export interface UsersUsersInviteOutput {
|
|
118017
|
+
/**
|
|
118018
|
+
* False when the re-invite cooldown or the mail toolkit refused the send. The invite is still live.
|
|
118019
|
+
*/
|
|
115285
118020
|
mailed: boolean
|
|
118021
|
+
/**
|
|
118022
|
+
* The invited user, created immediately and listed straight away — they simply cannot sign in until they accept.
|
|
118023
|
+
*/
|
|
115286
118024
|
userId: string
|
|
118025
|
+
/**
|
|
118026
|
+
* False when this address had already been invited; the same user is returned.
|
|
118027
|
+
*/
|
|
115287
118028
|
created: boolean
|
|
118029
|
+
/**
|
|
118030
|
+
* When the invite link stops working (ISO 8601).
|
|
118031
|
+
*/
|
|
115288
118032
|
expiresAt: string
|
|
115289
118033
|
}
|
|
115290
118034
|
|
|
@@ -115320,40 +118064,135 @@ includeWaitlisted?: boolean
|
|
|
115320
118064
|
}
|
|
115321
118065
|
|
|
115322
118066
|
export interface UsersUsersListOutput {
|
|
118067
|
+
/**
|
|
118068
|
+
* The page of users, newest first.
|
|
118069
|
+
*/
|
|
115323
118070
|
users: {
|
|
118071
|
+
/**
|
|
118072
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
118073
|
+
*/
|
|
115324
118074
|
id: string
|
|
118075
|
+
/**
|
|
118076
|
+
* The user's display name. Null when nobody set one.
|
|
118077
|
+
*/
|
|
115325
118078
|
name: (string | null)
|
|
118079
|
+
/**
|
|
118080
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
118081
|
+
*/
|
|
115326
118082
|
bannedAt: (string | null)
|
|
118083
|
+
/**
|
|
118084
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
118085
|
+
*/
|
|
115327
118086
|
erasedAt: (string | null)
|
|
118087
|
+
/**
|
|
118088
|
+
* URL of the user's avatar. Null when there is none.
|
|
118089
|
+
*/
|
|
115328
118090
|
imageUrl: (string | null)
|
|
118091
|
+
/**
|
|
118092
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
118093
|
+
*/
|
|
115329
118094
|
testUser: boolean
|
|
118095
|
+
/**
|
|
118096
|
+
* When the user was created (ISO 8601).
|
|
118097
|
+
*/
|
|
115330
118098
|
createdAt: string
|
|
118099
|
+
/**
|
|
118100
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
118101
|
+
*/
|
|
115331
118102
|
deletedAt: (string | null)
|
|
118103
|
+
/**
|
|
118104
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
118105
|
+
*/
|
|
115332
118106
|
productId: string
|
|
118107
|
+
/**
|
|
118108
|
+
* When the user was last changed (ISO 8601).
|
|
118109
|
+
*/
|
|
115333
118110
|
updatedAt: string
|
|
118111
|
+
/**
|
|
118112
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
118113
|
+
*/
|
|
115334
118114
|
waitlisted: boolean
|
|
118115
|
+
/**
|
|
118116
|
+
* 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".
|
|
118117
|
+
*/
|
|
115335
118118
|
identifiers: {
|
|
118119
|
+
/**
|
|
118120
|
+
* Id of this identifier row.
|
|
118121
|
+
*/
|
|
115336
118122
|
id: string
|
|
118123
|
+
/**
|
|
118124
|
+
* What kind of identifier this is. Today always `email`.
|
|
118125
|
+
*/
|
|
115337
118126
|
type: "email"
|
|
118127
|
+
/**
|
|
118128
|
+
* The address as the user typed it, for display.
|
|
118129
|
+
*/
|
|
115338
118130
|
value: string
|
|
118131
|
+
/**
|
|
118132
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
118133
|
+
*/
|
|
115339
118134
|
isPrimary: boolean
|
|
118135
|
+
/**
|
|
118136
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
118137
|
+
*/
|
|
115340
118138
|
verifiedAt: (string | null)
|
|
118139
|
+
/**
|
|
118140
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
118141
|
+
*/
|
|
115341
118142
|
valueCanonical: string
|
|
118143
|
+
/**
|
|
118144
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
118145
|
+
*/
|
|
115342
118146
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
115343
118147
|
}[]
|
|
118148
|
+
/**
|
|
118149
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
118150
|
+
*/
|
|
115344
118151
|
lockedUntil: (string | null)
|
|
118152
|
+
/**
|
|
118153
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
118154
|
+
*/
|
|
115345
118155
|
lastSignInAt: (string | null)
|
|
118156
|
+
/**
|
|
118157
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
118158
|
+
*/
|
|
118159
|
+
primaryEmail: (string | null)
|
|
118160
|
+
/**
|
|
118161
|
+
* Whether the user must set a new password at their next sign-in.
|
|
118162
|
+
*/
|
|
115346
118163
|
requiresReset: boolean
|
|
115347
|
-
|
|
115348
|
-
|
|
115349
|
-
|
|
118164
|
+
/**
|
|
118165
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
118166
|
+
*/
|
|
118167
|
+
publicMetadata: {
|
|
118168
|
+
[k: string]: unknown
|
|
118169
|
+
}
|
|
118170
|
+
/**
|
|
118171
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
118172
|
+
*/
|
|
118173
|
+
unsafeMetadata: {
|
|
118174
|
+
[k: string]: unknown
|
|
118175
|
+
}
|
|
118176
|
+
/**
|
|
118177
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
118178
|
+
*/
|
|
118179
|
+
privateMetadata: {
|
|
118180
|
+
[k: string]: unknown
|
|
118181
|
+
}
|
|
118182
|
+
/**
|
|
118183
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
118184
|
+
*/
|
|
118185
|
+
primaryIdentifierId: (string | null)
|
|
118186
|
+
/**
|
|
118187
|
+
* 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.
|
|
118188
|
+
*/
|
|
115350
118189
|
emailChangeLockedUntil: (string | null)
|
|
115351
118190
|
}[]
|
|
118191
|
+
/**
|
|
118192
|
+
* Pass back as `cursor` to fetch the next page. Null when this page is the last.
|
|
118193
|
+
*/
|
|
115352
118194
|
nextCursor: (string | null)
|
|
115353
118195
|
}
|
|
115354
|
-
export interface UsersUsersListOutputPublicMetadata {
|
|
115355
|
-
[k: string]: unknown
|
|
115356
|
-
}
|
|
115357
118196
|
|
|
115358
118197
|
export interface UsersUsersSetPrimaryIdentifierInput {
|
|
115359
118198
|
/**
|
|
@@ -115371,7 +118210,13 @@ userId: string
|
|
|
115371
118210
|
}
|
|
115372
118211
|
|
|
115373
118212
|
export interface UsersUsersSetPrimaryIdentifierOutput {
|
|
118213
|
+
/**
|
|
118214
|
+
* Id of the scheduled change. It appears in the audit rows and in the abort link mailed to the old address.
|
|
118215
|
+
*/
|
|
115374
118216
|
requestId: string
|
|
118217
|
+
/**
|
|
118218
|
+
* When the swap becomes applicable, if nobody aborts it first (ISO 8601). The delay is this product's `emailChange.overrideDelayHours`, 72 by default.
|
|
118219
|
+
*/
|
|
115375
118220
|
scheduledFor: string
|
|
115376
118221
|
}
|
|
115377
118222
|
|
|
@@ -115383,37 +118228,126 @@ userId: string
|
|
|
115383
118228
|
}
|
|
115384
118229
|
|
|
115385
118230
|
export interface UsersUsersUnbanOutput {
|
|
118231
|
+
/**
|
|
118232
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
118233
|
+
*/
|
|
115386
118234
|
id: string
|
|
118235
|
+
/**
|
|
118236
|
+
* The user's display name. Null when nobody set one.
|
|
118237
|
+
*/
|
|
115387
118238
|
name: (string | null)
|
|
118239
|
+
/**
|
|
118240
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
118241
|
+
*/
|
|
115388
118242
|
bannedAt: (string | null)
|
|
118243
|
+
/**
|
|
118244
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
118245
|
+
*/
|
|
115389
118246
|
erasedAt: (string | null)
|
|
118247
|
+
/**
|
|
118248
|
+
* URL of the user's avatar. Null when there is none.
|
|
118249
|
+
*/
|
|
115390
118250
|
imageUrl: (string | null)
|
|
118251
|
+
/**
|
|
118252
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
118253
|
+
*/
|
|
115391
118254
|
testUser: boolean
|
|
118255
|
+
/**
|
|
118256
|
+
* When the user was created (ISO 8601).
|
|
118257
|
+
*/
|
|
115392
118258
|
createdAt: string
|
|
118259
|
+
/**
|
|
118260
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
118261
|
+
*/
|
|
115393
118262
|
deletedAt: (string | null)
|
|
118263
|
+
/**
|
|
118264
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
118265
|
+
*/
|
|
115394
118266
|
productId: string
|
|
118267
|
+
/**
|
|
118268
|
+
* When the user was last changed (ISO 8601).
|
|
118269
|
+
*/
|
|
115395
118270
|
updatedAt: string
|
|
118271
|
+
/**
|
|
118272
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
118273
|
+
*/
|
|
115396
118274
|
waitlisted: boolean
|
|
118275
|
+
/**
|
|
118276
|
+
* 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".
|
|
118277
|
+
*/
|
|
115397
118278
|
identifiers: {
|
|
118279
|
+
/**
|
|
118280
|
+
* Id of this identifier row.
|
|
118281
|
+
*/
|
|
115398
118282
|
id: string
|
|
118283
|
+
/**
|
|
118284
|
+
* What kind of identifier this is. Today always `email`.
|
|
118285
|
+
*/
|
|
115399
118286
|
type: "email"
|
|
118287
|
+
/**
|
|
118288
|
+
* The address as the user typed it, for display.
|
|
118289
|
+
*/
|
|
115400
118290
|
value: string
|
|
118291
|
+
/**
|
|
118292
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
118293
|
+
*/
|
|
115401
118294
|
isPrimary: boolean
|
|
118295
|
+
/**
|
|
118296
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
118297
|
+
*/
|
|
115402
118298
|
verifiedAt: (string | null)
|
|
118299
|
+
/**
|
|
118300
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
118301
|
+
*/
|
|
115403
118302
|
valueCanonical: string
|
|
118303
|
+
/**
|
|
118304
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
118305
|
+
*/
|
|
115404
118306
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
115405
118307
|
}[]
|
|
118308
|
+
/**
|
|
118309
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
118310
|
+
*/
|
|
115406
118311
|
lockedUntil: (string | null)
|
|
118312
|
+
/**
|
|
118313
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
118314
|
+
*/
|
|
115407
118315
|
lastSignInAt: (string | null)
|
|
118316
|
+
/**
|
|
118317
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
118318
|
+
*/
|
|
118319
|
+
primaryEmail: (string | null)
|
|
118320
|
+
/**
|
|
118321
|
+
* Whether the user must set a new password at their next sign-in.
|
|
118322
|
+
*/
|
|
115408
118323
|
requiresReset: boolean
|
|
115409
|
-
|
|
115410
|
-
|
|
115411
|
-
|
|
115412
|
-
|
|
118324
|
+
/**
|
|
118325
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
118326
|
+
*/
|
|
118327
|
+
publicMetadata: {
|
|
118328
|
+
[k: string]: unknown
|
|
118329
|
+
}
|
|
118330
|
+
/**
|
|
118331
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
118332
|
+
*/
|
|
118333
|
+
unsafeMetadata: {
|
|
118334
|
+
[k: string]: unknown
|
|
115413
118335
|
}
|
|
115414
|
-
|
|
118336
|
+
/**
|
|
118337
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
118338
|
+
*/
|
|
118339
|
+
privateMetadata: {
|
|
115415
118340
|
[k: string]: unknown
|
|
115416
118341
|
}
|
|
118342
|
+
/**
|
|
118343
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
118344
|
+
*/
|
|
118345
|
+
primaryIdentifierId: (string | null)
|
|
118346
|
+
/**
|
|
118347
|
+
* 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.
|
|
118348
|
+
*/
|
|
118349
|
+
emailChangeLockedUntil: (string | null)
|
|
118350
|
+
}
|
|
115417
118351
|
|
|
115418
118352
|
export interface UsersUsersUpdateInput {
|
|
115419
118353
|
/**
|
|
@@ -115463,37 +118397,126 @@ export interface UsersUsersUpdateInputPublicMetadata1 {
|
|
|
115463
118397
|
}
|
|
115464
118398
|
|
|
115465
118399
|
export interface UsersUsersUpdateOutput {
|
|
118400
|
+
/**
|
|
118401
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
118402
|
+
*/
|
|
115466
118403
|
id: string
|
|
118404
|
+
/**
|
|
118405
|
+
* The user's display name. Null when nobody set one.
|
|
118406
|
+
*/
|
|
115467
118407
|
name: (string | null)
|
|
118408
|
+
/**
|
|
118409
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
118410
|
+
*/
|
|
115468
118411
|
bannedAt: (string | null)
|
|
118412
|
+
/**
|
|
118413
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
118414
|
+
*/
|
|
115469
118415
|
erasedAt: (string | null)
|
|
118416
|
+
/**
|
|
118417
|
+
* URL of the user's avatar. Null when there is none.
|
|
118418
|
+
*/
|
|
115470
118419
|
imageUrl: (string | null)
|
|
118420
|
+
/**
|
|
118421
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
118422
|
+
*/
|
|
115471
118423
|
testUser: boolean
|
|
118424
|
+
/**
|
|
118425
|
+
* When the user was created (ISO 8601).
|
|
118426
|
+
*/
|
|
115472
118427
|
createdAt: string
|
|
118428
|
+
/**
|
|
118429
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
118430
|
+
*/
|
|
115473
118431
|
deletedAt: (string | null)
|
|
118432
|
+
/**
|
|
118433
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
118434
|
+
*/
|
|
115474
118435
|
productId: string
|
|
118436
|
+
/**
|
|
118437
|
+
* When the user was last changed (ISO 8601).
|
|
118438
|
+
*/
|
|
115475
118439
|
updatedAt: string
|
|
118440
|
+
/**
|
|
118441
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
118442
|
+
*/
|
|
115476
118443
|
waitlisted: boolean
|
|
118444
|
+
/**
|
|
118445
|
+
* 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".
|
|
118446
|
+
*/
|
|
115477
118447
|
identifiers: {
|
|
118448
|
+
/**
|
|
118449
|
+
* Id of this identifier row.
|
|
118450
|
+
*/
|
|
115478
118451
|
id: string
|
|
118452
|
+
/**
|
|
118453
|
+
* What kind of identifier this is. Today always `email`.
|
|
118454
|
+
*/
|
|
115479
118455
|
type: "email"
|
|
118456
|
+
/**
|
|
118457
|
+
* The address as the user typed it, for display.
|
|
118458
|
+
*/
|
|
115480
118459
|
value: string
|
|
118460
|
+
/**
|
|
118461
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
118462
|
+
*/
|
|
115481
118463
|
isPrimary: boolean
|
|
118464
|
+
/**
|
|
118465
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
118466
|
+
*/
|
|
115482
118467
|
verifiedAt: (string | null)
|
|
118468
|
+
/**
|
|
118469
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
118470
|
+
*/
|
|
115483
118471
|
valueCanonical: string
|
|
118472
|
+
/**
|
|
118473
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
118474
|
+
*/
|
|
115484
118475
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
115485
118476
|
}[]
|
|
118477
|
+
/**
|
|
118478
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
118479
|
+
*/
|
|
115486
118480
|
lockedUntil: (string | null)
|
|
118481
|
+
/**
|
|
118482
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
118483
|
+
*/
|
|
115487
118484
|
lastSignInAt: (string | null)
|
|
118485
|
+
/**
|
|
118486
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
118487
|
+
*/
|
|
118488
|
+
primaryEmail: (string | null)
|
|
118489
|
+
/**
|
|
118490
|
+
* Whether the user must set a new password at their next sign-in.
|
|
118491
|
+
*/
|
|
115488
118492
|
requiresReset: boolean
|
|
115489
|
-
|
|
115490
|
-
|
|
115491
|
-
|
|
115492
|
-
|
|
118493
|
+
/**
|
|
118494
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
118495
|
+
*/
|
|
118496
|
+
publicMetadata: {
|
|
118497
|
+
[k: string]: unknown
|
|
115493
118498
|
}
|
|
115494
|
-
|
|
118499
|
+
/**
|
|
118500
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
118501
|
+
*/
|
|
118502
|
+
unsafeMetadata: {
|
|
118503
|
+
[k: string]: unknown
|
|
118504
|
+
}
|
|
118505
|
+
/**
|
|
118506
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
118507
|
+
*/
|
|
118508
|
+
privateMetadata: {
|
|
115495
118509
|
[k: string]: unknown
|
|
115496
118510
|
}
|
|
118511
|
+
/**
|
|
118512
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
118513
|
+
*/
|
|
118514
|
+
primaryIdentifierId: (string | null)
|
|
118515
|
+
/**
|
|
118516
|
+
* 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.
|
|
118517
|
+
*/
|
|
118518
|
+
emailChangeLockedUntil: (string | null)
|
|
118519
|
+
}
|
|
115497
118520
|
|
|
115498
118521
|
export interface UsersWaitlistFunnelInput {
|
|
115499
118522
|
|
|
@@ -115508,6 +118531,64 @@ registered: number
|
|
|
115508
118531
|
unconfirmed: number
|
|
115509
118532
|
}
|
|
115510
118533
|
|
|
118534
|
+
export interface UsersWaitlistGetInput {
|
|
118535
|
+
/**
|
|
118536
|
+
* The waitlisted user to read — the `userId` from `users_waitlist_list`.
|
|
118537
|
+
*/
|
|
118538
|
+
userId: string
|
|
118539
|
+
}
|
|
118540
|
+
|
|
118541
|
+
export interface UsersWaitlistGetOutput {
|
|
118542
|
+
/**
|
|
118543
|
+
* Where in the funnel this entry is: `pending`, `invited`, `registered` or `withdrawn`.
|
|
118544
|
+
*/
|
|
118545
|
+
status: ("pending" | "invited" | "registered" | "withdrawn")
|
|
118546
|
+
/**
|
|
118547
|
+
* The waitlisted user. Every users_users_* tool takes this id.
|
|
118548
|
+
*/
|
|
118549
|
+
userId: string
|
|
118550
|
+
/**
|
|
118551
|
+
* When the entry joined the waitlist (ISO 8601).
|
|
118552
|
+
*/
|
|
118553
|
+
createdAt: string
|
|
118554
|
+
/**
|
|
118555
|
+
* When the invite was sent (ISO 8601). Null while the entry is pending.
|
|
118556
|
+
*/
|
|
118557
|
+
invitedAt: (string | null)
|
|
118558
|
+
/**
|
|
118559
|
+
* The email address that signed up.
|
|
118560
|
+
*/
|
|
118561
|
+
identifier: string
|
|
118562
|
+
/**
|
|
118563
|
+
* Where the signup came from — the campaign, referrer and landing page recorded at the time.
|
|
118564
|
+
*/
|
|
118565
|
+
attribution: {
|
|
118566
|
+
[k: string]: unknown
|
|
118567
|
+
}
|
|
118568
|
+
/**
|
|
118569
|
+
* When the address confirmed a double opt-in (ISO 8601). Null when it never did.
|
|
118570
|
+
*/
|
|
118571
|
+
confirmedAt: (string | null)
|
|
118572
|
+
/**
|
|
118573
|
+
* When the address asked to be taken off the list (ISO 8601). Null when it did not.
|
|
118574
|
+
*/
|
|
118575
|
+
withdrawnAt: (string | null)
|
|
118576
|
+
/**
|
|
118577
|
+
* What was recorded to show this address consented: when, from where, and under which wording.
|
|
118578
|
+
*/
|
|
118579
|
+
consentProof: {
|
|
118580
|
+
[k: string]: unknown
|
|
118581
|
+
}
|
|
118582
|
+
/**
|
|
118583
|
+
* When the invitee finished signing up (ISO 8601). Null until they do.
|
|
118584
|
+
*/
|
|
118585
|
+
registeredAt: (string | null)
|
|
118586
|
+
/**
|
|
118587
|
+
* Id of the live invite token. Null while the entry has not been invited.
|
|
118588
|
+
*/
|
|
118589
|
+
inviteTokenId: (string | null)
|
|
118590
|
+
}
|
|
118591
|
+
|
|
115511
118592
|
export interface UsersWaitlistImportInput {
|
|
115512
118593
|
/**
|
|
115513
118594
|
* The legacy signups to import, at most 500 per call — batch client-side beyond that.
|
|
@@ -115673,15 +118754,42 @@ unsafeMetadata?: {
|
|
|
115673
118754
|
}
|
|
115674
118755
|
|
|
115675
118756
|
export interface UsersWaitlistImportOutput {
|
|
118757
|
+
/**
|
|
118758
|
+
* How many could not be imported at all.
|
|
118759
|
+
*/
|
|
115676
118760
|
failed: number
|
|
118761
|
+
/**
|
|
118762
|
+
* One row per submitted row, in the order you sent them.
|
|
118763
|
+
*/
|
|
115677
118764
|
results: {
|
|
118765
|
+
/**
|
|
118766
|
+
* Zero-based index of the row in the array you sent.
|
|
118767
|
+
*/
|
|
115678
118768
|
row: number
|
|
118769
|
+
/**
|
|
118770
|
+
* Why it was skipped, or what went wrong. Null for an imported row.
|
|
118771
|
+
*/
|
|
115679
118772
|
reason: (string | null)
|
|
118773
|
+
/**
|
|
118774
|
+
* What happened to this row.
|
|
118775
|
+
*/
|
|
115680
118776
|
status: ("imported" | "skipped" | "failed")
|
|
118777
|
+
/**
|
|
118778
|
+
* The waitlisted user this row created. Null for skipped and failed rows.
|
|
118779
|
+
*/
|
|
115681
118780
|
userId: (string | null)
|
|
115682
118781
|
}[]
|
|
118782
|
+
/**
|
|
118783
|
+
* How many were already on the list or otherwise passed over.
|
|
118784
|
+
*/
|
|
115683
118785
|
skipped: number
|
|
118786
|
+
/**
|
|
118787
|
+
* How many became waitlist entries.
|
|
118788
|
+
*/
|
|
115684
118789
|
imported: number
|
|
118790
|
+
/**
|
|
118791
|
+
* How many rows you submitted.
|
|
118792
|
+
*/
|
|
115685
118793
|
requested: number
|
|
115686
118794
|
}
|
|
115687
118795
|
|
|
@@ -115696,12 +118804,30 @@ userIds: [string, ...(string)[]]
|
|
|
115696
118804
|
}
|
|
115697
118805
|
|
|
115698
118806
|
export interface UsersWaitlistInviteOutput {
|
|
118807
|
+
/**
|
|
118808
|
+
* How many of the requested users were invited.
|
|
118809
|
+
*/
|
|
115699
118810
|
invited: number
|
|
118811
|
+
/**
|
|
118812
|
+
* One row per user you asked for, in the order you sent them.
|
|
118813
|
+
*/
|
|
115700
118814
|
results: {
|
|
118815
|
+
/**
|
|
118816
|
+
* Why this user was skipped. Null for an invited row.
|
|
118817
|
+
*/
|
|
115701
118818
|
reason: (("suppressed" | "not_found" | "already_registered") | null)
|
|
118819
|
+
/**
|
|
118820
|
+
* Whether this user was invited or passed over.
|
|
118821
|
+
*/
|
|
115702
118822
|
status: ("invited" | "skipped")
|
|
118823
|
+
/**
|
|
118824
|
+
* The user this row is about.
|
|
118825
|
+
*/
|
|
115703
118826
|
userId: string
|
|
115704
118827
|
}[]
|
|
118828
|
+
/**
|
|
118829
|
+
* How many were passed over — see each row's `reason`.
|
|
118830
|
+
*/
|
|
115705
118831
|
skipped: number
|
|
115706
118832
|
}
|
|
115707
118833
|
|
|
@@ -115725,23 +118851,62 @@ confirmed?: boolean
|
|
|
115725
118851
|
}
|
|
115726
118852
|
|
|
115727
118853
|
export interface UsersWaitlistListOutput {
|
|
118854
|
+
/**
|
|
118855
|
+
* The page of waitlist entries, newest first.
|
|
118856
|
+
*/
|
|
115728
118857
|
entries: {
|
|
118858
|
+
/**
|
|
118859
|
+
* Where in the funnel this entry is: `pending`, `invited`, `registered` or `withdrawn`.
|
|
118860
|
+
*/
|
|
115729
118861
|
status: ("pending" | "invited" | "registered" | "withdrawn")
|
|
118862
|
+
/**
|
|
118863
|
+
* The waitlisted user. Every users_users_* tool takes this id.
|
|
118864
|
+
*/
|
|
115730
118865
|
userId: string
|
|
118866
|
+
/**
|
|
118867
|
+
* When the entry joined the waitlist (ISO 8601).
|
|
118868
|
+
*/
|
|
115731
118869
|
createdAt: string
|
|
118870
|
+
/**
|
|
118871
|
+
* When the invite was sent (ISO 8601). Null while the entry is pending.
|
|
118872
|
+
*/
|
|
115732
118873
|
invitedAt: (string | null)
|
|
118874
|
+
/**
|
|
118875
|
+
* The email address that signed up.
|
|
118876
|
+
*/
|
|
115733
118877
|
identifier: string
|
|
118878
|
+
/**
|
|
118879
|
+
* Where the signup came from — the campaign, referrer and landing page recorded at the time.
|
|
118880
|
+
*/
|
|
115734
118881
|
attribution: {
|
|
115735
118882
|
[k: string]: unknown
|
|
115736
118883
|
}
|
|
118884
|
+
/**
|
|
118885
|
+
* When the address confirmed a double opt-in (ISO 8601). Null when it never did.
|
|
118886
|
+
*/
|
|
115737
118887
|
confirmedAt: (string | null)
|
|
118888
|
+
/**
|
|
118889
|
+
* When the address asked to be taken off the list (ISO 8601). Null when it did not.
|
|
118890
|
+
*/
|
|
115738
118891
|
withdrawnAt: (string | null)
|
|
118892
|
+
/**
|
|
118893
|
+
* What was recorded to show this address consented: when, from where, and under which wording.
|
|
118894
|
+
*/
|
|
115739
118895
|
consentProof: {
|
|
115740
118896
|
[k: string]: unknown
|
|
115741
118897
|
}
|
|
118898
|
+
/**
|
|
118899
|
+
* When the invitee finished signing up (ISO 8601). Null until they do.
|
|
118900
|
+
*/
|
|
115742
118901
|
registeredAt: (string | null)
|
|
118902
|
+
/**
|
|
118903
|
+
* Id of the live invite token. Null while the entry has not been invited.
|
|
118904
|
+
*/
|
|
115743
118905
|
inviteTokenId: (string | null)
|
|
115744
118906
|
}[]
|
|
118907
|
+
/**
|
|
118908
|
+
* Pass back as `cursor` to fetch the next page. Null when this page is the last.
|
|
118909
|
+
*/
|
|
115745
118910
|
nextCursor: (string | null)
|
|
115746
118911
|
}
|
|
115747
118912
|
|
|
@@ -115896,194 +119061,6 @@ description: (string | null)
|
|
|
115896
119061
|
secretPrefix: string
|
|
115897
119062
|
}
|
|
115898
119063
|
|
|
115899
|
-
export interface WaitlistConfigGetInput {
|
|
115900
|
-
|
|
115901
|
-
}
|
|
115902
|
-
|
|
115903
|
-
export type WaitlistConfigGetOutput = ({
|
|
115904
|
-
createdAt: string
|
|
115905
|
-
policyUrl: (string | null)
|
|
115906
|
-
productId: string
|
|
115907
|
-
updatedAt: string
|
|
115908
|
-
senderName: (string | null)
|
|
115909
|
-
consentText: string
|
|
115910
|
-
policyLabel: (string | null)
|
|
115911
|
-
siteBaseUrl: (string | null)
|
|
115912
|
-
senderDomain: (string | null)
|
|
115913
|
-
inviteSubject: (string | null)
|
|
115914
|
-
policyVersion: string
|
|
115915
|
-
inviteTemplate: (string | null)
|
|
115916
|
-
} | null)
|
|
115917
|
-
|
|
115918
|
-
export interface WaitlistConfigUpsertInput {
|
|
115919
|
-
/**
|
|
115920
|
-
* Policy link URL (http/https/mailto). Rendered as a structured link in the form. Null to clear.
|
|
115921
|
-
*/
|
|
115922
|
-
policyUrl?: (string | null)
|
|
115923
|
-
/**
|
|
115924
|
-
* Controller display name shown as the invite From name and in the default email body (A7§64 controller identity). Stored as-is. Null to clear (falls back to a generic sender name).
|
|
115925
|
-
*/
|
|
115926
|
-
senderName?: (string | null)
|
|
115927
|
-
/**
|
|
115928
|
-
* Plain-text consent statement shown at signup. May contain a {policy} placeholder marking the policy link. Stored as-is (no HTML sanitization).
|
|
115929
|
-
*/
|
|
115930
|
-
consentText: string
|
|
115931
|
-
/**
|
|
115932
|
-
* Visible text for the policy link. Falls back to the URL itself if absent.
|
|
115933
|
-
*/
|
|
115934
|
-
policyLabel?: (string | null)
|
|
115935
|
-
/**
|
|
115936
|
-
* Per-product public base URL of the tenant site; invite (/signup) and opt-out (/withdraw) links are built from it. http/https only, path allowed, trailing slash stripped. Stored as-is (DP-013); not content-verified. Null to clear.
|
|
115937
|
-
*/
|
|
115938
|
-
siteBaseUrl?: (string | null)
|
|
115939
|
-
/**
|
|
115940
|
-
* Sender domain for invite emails (bare hostname). Verification happens at send time, not here. Null to clear.
|
|
115941
|
-
*/
|
|
115942
|
-
senderDomain?: (string | null)
|
|
115943
|
-
/**
|
|
115944
|
-
* Invite email subject line. Plain text, stored as-is; CR/LF stripped at send time. Null to clear (falls back to a default subject).
|
|
115945
|
-
*/
|
|
115946
|
-
inviteSubject?: (string | null)
|
|
115947
|
-
/**
|
|
115948
|
-
* Policy version label, controller-owned free string. Stored as-is, not validated for monotonicity.
|
|
115949
|
-
*/
|
|
115950
|
-
policyVersion: string
|
|
115951
|
-
/**
|
|
115952
|
-
* Invite email template ({{vars}}). Stored as-is; rendered/validated at send time. Null to clear.
|
|
115953
|
-
*/
|
|
115954
|
-
inviteTemplate?: (string | null)
|
|
115955
|
-
}
|
|
115956
|
-
|
|
115957
|
-
export interface WaitlistConfigUpsertOutput {
|
|
115958
|
-
createdAt: string
|
|
115959
|
-
policyUrl: (string | null)
|
|
115960
|
-
productId: string
|
|
115961
|
-
updatedAt: string
|
|
115962
|
-
senderName: (string | null)
|
|
115963
|
-
consentText: string
|
|
115964
|
-
policyLabel: (string | null)
|
|
115965
|
-
siteBaseUrl: (string | null)
|
|
115966
|
-
senderDomain: (string | null)
|
|
115967
|
-
inviteSubject: (string | null)
|
|
115968
|
-
policyVersion: string
|
|
115969
|
-
inviteTemplate: (string | null)
|
|
115970
|
-
}
|
|
115971
|
-
|
|
115972
|
-
export interface WaitlistEmbedGetInput {
|
|
115973
|
-
|
|
115974
|
-
}
|
|
115975
|
-
|
|
115976
|
-
export interface WaitlistEmbedGetOutput {
|
|
115977
|
-
product_id: string
|
|
115978
|
-
script_tag: string
|
|
115979
|
-
public_edge_url: string
|
|
115980
|
-
}
|
|
115981
|
-
|
|
115982
|
-
export interface WaitlistInvitesSendInput {
|
|
115983
|
-
/**
|
|
115984
|
-
* Resend even when a live invite token already exists (mints a fresh token).
|
|
115985
|
-
*/
|
|
115986
|
-
force?: boolean
|
|
115987
|
-
/**
|
|
115988
|
-
* Explicit recipient emails (e.g. from waitlist_signups_list). Combined with filter if both given.
|
|
115989
|
-
*/
|
|
115990
|
-
emails?: string[]
|
|
115991
|
-
/**
|
|
115992
|
-
* Selection filter over signups; resolved server-side with pagination.
|
|
115993
|
-
*/
|
|
115994
|
-
filter?: {
|
|
115995
|
-
/**
|
|
115996
|
-
* Prefix match on email (case-insensitive).
|
|
115997
|
-
*/
|
|
115998
|
-
q?: string
|
|
115999
|
-
/**
|
|
116000
|
-
* Select signups by status (single value or array).
|
|
116001
|
-
*/
|
|
116002
|
-
status?: (("pending" | "invited" | "registered") | ("pending" | "invited" | "registered")[])
|
|
116003
|
-
}
|
|
116004
|
-
}
|
|
116005
|
-
|
|
116006
|
-
export interface WaitlistInvitesSendOutput {
|
|
116007
|
-
sent: {
|
|
116008
|
-
email: string
|
|
116009
|
-
emailId: string
|
|
116010
|
-
}[]
|
|
116011
|
-
failed: {
|
|
116012
|
-
email: string
|
|
116013
|
-
reason: ("quota_exceeded" | "reputation_throttled" | "send_failed")
|
|
116014
|
-
}[]
|
|
116015
|
-
skipped: {
|
|
116016
|
-
email: string
|
|
116017
|
-
reason: ("suppressed" | "already_invited" | "already_registered")
|
|
116018
|
-
}[]
|
|
116019
|
-
}
|
|
116020
|
-
|
|
116021
|
-
export interface WaitlistSignupsEraseInput {
|
|
116022
|
-
/**
|
|
116023
|
-
* Email address to erase (GDPR Art.17) within the current product. Normalized (trimmed + lowercased) server-side. The operation is idempotent.
|
|
116024
|
-
*/
|
|
116025
|
-
email: string
|
|
116026
|
-
}
|
|
116027
|
-
|
|
116028
|
-
export interface WaitlistSignupsEraseOutput {
|
|
116029
|
-
suppressed: boolean
|
|
116030
|
-
deletedTokens: number
|
|
116031
|
-
deletedSignups: number
|
|
116032
|
-
reducedConsents: number
|
|
116033
|
-
}
|
|
116034
|
-
|
|
116035
|
-
export interface WaitlistSignupsFunnelInput {
|
|
116036
|
-
/**
|
|
116037
|
-
* Time window. "7d"/"30d"/"90d" = trailing N days ending now; "all" = all time. Default "30d".
|
|
116038
|
-
*/
|
|
116039
|
-
period?: ("7d" | "30d" | "90d" | "all")
|
|
116040
|
-
}
|
|
116041
|
-
|
|
116042
|
-
export interface WaitlistSignupsFunnelOutput {
|
|
116043
|
-
to: string
|
|
116044
|
-
from: (string | null)
|
|
116045
|
-
period: string
|
|
116046
|
-
signup: number
|
|
116047
|
-
invited: number
|
|
116048
|
-
registered: number
|
|
116049
|
-
non_monotonic: boolean
|
|
116050
|
-
}
|
|
116051
|
-
|
|
116052
|
-
export interface WaitlistSignupsListInput {
|
|
116053
|
-
/**
|
|
116054
|
-
* Prefix search on email (case-insensitive). Returns signups whose email starts with this value. Audited as PII access (DP-009).
|
|
116055
|
-
*/
|
|
116056
|
-
q?: string
|
|
116057
|
-
/**
|
|
116058
|
-
* Page size, 1–200. Default 50.
|
|
116059
|
-
*/
|
|
116060
|
-
limit?: number
|
|
116061
|
-
/**
|
|
116062
|
-
* Sort by created_at. newest = most recent first. Default newest.
|
|
116063
|
-
*/
|
|
116064
|
-
order?: ("newest" | "oldest")
|
|
116065
|
-
/**
|
|
116066
|
-
* Keyset cursor from a previous response next_cursor. Omit to start from the beginning.
|
|
116067
|
-
*/
|
|
116068
|
-
cursor?: string
|
|
116069
|
-
/**
|
|
116070
|
-
* Fields to include per row. Default ["status","created_at"]; id is always included. email and ip_hash are PII and audited when requested.
|
|
116071
|
-
*/
|
|
116072
|
-
fields?: ("status" | "created_at" | "source" | "country" | "email" | "ip_hash")[]
|
|
116073
|
-
/**
|
|
116074
|
-
* Filter by status. A single value or an array. Omit to return all statuses.
|
|
116075
|
-
*/
|
|
116076
|
-
status?: (("pending" | "invited" | "registered") | ("pending" | "invited" | "registered")[])
|
|
116077
|
-
}
|
|
116078
|
-
|
|
116079
|
-
export interface WaitlistSignupsListOutput {
|
|
116080
|
-
items: {
|
|
116081
|
-
[k: string]: unknown
|
|
116082
|
-
}[]
|
|
116083
|
-
has_more: boolean
|
|
116084
|
-
next_cursor: (string | null)
|
|
116085
|
-
}
|
|
116086
|
-
|
|
116087
119064
|
export interface WorkflowCapListInput {
|
|
116088
119065
|
|
|
116089
119066
|
}
|