@lessly/sdk-app 83.0.0 → 83.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_types/gen/client.gen.d.ts +41 -1
- package/dist/_types/gen/manifest.gen.d.ts +1 -1
- package/dist/_types/gen/playground/connect.gen.d.ts +3 -0
- package/dist/_types/gen/playground/index.d.ts +3 -0
- package/dist/_types/gen/playground/queryOptions.gen.d.ts +70 -0
- package/dist/_types/gen/types.gen.d.ts +3222 -89
- package/dist/_types/gen/users/index.d.ts +1 -1
- package/dist/_types/gen/users/queryOptions.gen.d.ts +13 -1
- package/dist/chunk-RUEYSS2X.js +11486 -0
- package/dist/chunk-RUEYSS2X.js.map +1 -0
- package/dist/index.cjs +295 -28
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +47 -11252
- package/dist/index.js.map +1 -1
- package/dist/playground/index.cjs +106 -0
- package/dist/playground/index.cjs.map +1 -0
- package/dist/playground/index.d.cts +1 -0
- package/dist/playground/index.d.ts +1 -0
- package/dist/playground/index.js +78 -0
- package/dist/playground/index.js.map +1 -0
- package/dist/users/index.cjs +15 -0
- package/dist/users/index.cjs.map +1 -1
- package/dist/users/index.js +13 -1
- package/dist/users/index.js.map +1 -1
- package/package.json +12 -2
- package/src/gen/bindings.gen.ts +259 -1
- package/src/gen/client.gen.ts +80 -0
- package/src/gen/manifest.gen.ts +46 -29
- package/src/gen/playground/connect.gen.ts +9 -0
- package/src/gen/playground/index.ts +4 -0
- package/src/gen/playground/queryOptions.gen.ts +119 -0
- package/src/gen/types.gen.ts +3250 -65
- package/src/gen/users/index.ts +1 -1
- package/src/gen/users/queryOptions.gen.ts +21 -0
|
@@ -81398,6 +81398,10 @@ export interface MailDomainCreateOutput {
|
|
|
81398
81398
|
* True if links are rewritten through the tracking host to record clicks
|
|
81399
81399
|
*/
|
|
81400
81400
|
clickTracking: boolean;
|
|
81401
|
+
/**
|
|
81402
|
+
* Id of the separate binding that publishes this domain's DMARC record; null on external domains, which publish DMARC themselves, and when the _dmarc host could not be claimed
|
|
81403
|
+
*/
|
|
81404
|
+
dmarcBindingId: (string | null);
|
|
81401
81405
|
/**
|
|
81402
81406
|
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
81403
81407
|
*/
|
|
@@ -81535,6 +81539,10 @@ export interface MailDomainGetOutput {
|
|
|
81535
81539
|
* True if links are rewritten through the tracking host to record clicks
|
|
81536
81540
|
*/
|
|
81537
81541
|
clickTracking: boolean;
|
|
81542
|
+
/**
|
|
81543
|
+
* Id of the separate binding that publishes this domain's DMARC record; null on external domains, which publish DMARC themselves, and when the _dmarc host could not be claimed
|
|
81544
|
+
*/
|
|
81545
|
+
dmarcBindingId: (string | null);
|
|
81538
81546
|
/**
|
|
81539
81547
|
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
81540
81548
|
*/
|
|
@@ -81659,6 +81667,10 @@ export type MailDomainListOutput = {
|
|
|
81659
81667
|
* True if links are rewritten through the tracking host to record clicks
|
|
81660
81668
|
*/
|
|
81661
81669
|
clickTracking: boolean;
|
|
81670
|
+
/**
|
|
81671
|
+
* Id of the separate binding that publishes this domain's DMARC record; null on external domains, which publish DMARC themselves, and when the _dmarc host could not be claimed
|
|
81672
|
+
*/
|
|
81673
|
+
dmarcBindingId: (string | null);
|
|
81662
81674
|
/**
|
|
81663
81675
|
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
81664
81676
|
*/
|
|
@@ -81800,6 +81812,10 @@ export interface MailDomainUpdateOutput {
|
|
|
81800
81812
|
* True if links are rewritten through the tracking host to record clicks
|
|
81801
81813
|
*/
|
|
81802
81814
|
clickTracking: boolean;
|
|
81815
|
+
/**
|
|
81816
|
+
* Id of the separate binding that publishes this domain's DMARC record; null on external domains, which publish DMARC themselves, and when the _dmarc host could not be claimed
|
|
81817
|
+
*/
|
|
81818
|
+
dmarcBindingId: (string | null);
|
|
81803
81819
|
/**
|
|
81804
81820
|
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
81805
81821
|
*/
|
|
@@ -81925,6 +81941,10 @@ export interface MailDomainVerifyOutput {
|
|
|
81925
81941
|
* True if links are rewritten through the tracking host to record clicks
|
|
81926
81942
|
*/
|
|
81927
81943
|
clickTracking: boolean;
|
|
81944
|
+
/**
|
|
81945
|
+
* Id of the separate binding that publishes this domain's DMARC record; null on external domains, which publish DMARC themselves, and when the _dmarc host could not be claimed
|
|
81946
|
+
*/
|
|
81947
|
+
dmarcBindingId: (string | null);
|
|
81928
81948
|
/**
|
|
81929
81949
|
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
81930
81950
|
*/
|
|
@@ -96052,6 +96072,332 @@ export interface OrganizationYoutubeInstallInput {
|
|
|
96052
96072
|
export interface OrganizationYoutubeInstallOutput {
|
|
96053
96073
|
url: string;
|
|
96054
96074
|
}
|
|
96075
|
+
export interface PlaygroundAnalyticsOverviewInput {
|
|
96076
|
+
/**
|
|
96077
|
+
* Max records per entity in recent[]; omit for the endpoint default
|
|
96078
|
+
*/
|
|
96079
|
+
limit?: number;
|
|
96080
|
+
}
|
|
96081
|
+
export interface PlaygroundAnalyticsOverviewOutput {
|
|
96082
|
+
ok: boolean;
|
|
96083
|
+
minted: boolean;
|
|
96084
|
+
overview?: unknown;
|
|
96085
|
+
http_status: number;
|
|
96086
|
+
}
|
|
96087
|
+
export interface PlaygroundBillingEntitlementsInput {
|
|
96088
|
+
}
|
|
96089
|
+
export interface PlaygroundBillingEntitlementsOutput {
|
|
96090
|
+
ok: boolean;
|
|
96091
|
+
minted: boolean;
|
|
96092
|
+
http_status: number;
|
|
96093
|
+
entitlements?: unknown;
|
|
96094
|
+
}
|
|
96095
|
+
export interface PlaygroundBillingRecordUsageInput {
|
|
96096
|
+
/**
|
|
96097
|
+
* Quantity of events to record against playground-events (SUM); defaults to 1
|
|
96098
|
+
*/
|
|
96099
|
+
value?: number;
|
|
96100
|
+
}
|
|
96101
|
+
export interface PlaygroundBillingRecordUsageOutput {
|
|
96102
|
+
minted: boolean;
|
|
96103
|
+
accepted: (number | null);
|
|
96104
|
+
recorded: boolean;
|
|
96105
|
+
duplicates: (number | null);
|
|
96106
|
+
http_status: number;
|
|
96107
|
+
}
|
|
96108
|
+
export interface PlaygroundClickupCreateTaskInput {
|
|
96109
|
+
/**
|
|
96110
|
+
* Task title; defaults to a fixture label
|
|
96111
|
+
*/
|
|
96112
|
+
name?: string;
|
|
96113
|
+
/**
|
|
96114
|
+
* ClickUp list id; falls back to CLICKUP_TEST_LIST_ID
|
|
96115
|
+
*/
|
|
96116
|
+
listId?: string;
|
|
96117
|
+
}
|
|
96118
|
+
export interface PlaygroundClickupCreateTaskOutput {
|
|
96119
|
+
minted: boolean;
|
|
96120
|
+
task_id: (string | null);
|
|
96121
|
+
list_status: number;
|
|
96122
|
+
vend_status: number;
|
|
96123
|
+
clickup_status: number;
|
|
96124
|
+
installation_count: number;
|
|
96125
|
+
}
|
|
96126
|
+
export interface PlaygroundClickupGetLastWebhookInput {
|
|
96127
|
+
}
|
|
96128
|
+
export type PlaygroundClickupGetLastWebhookOutput = ({
|
|
96129
|
+
payload: string;
|
|
96130
|
+
event_id: string;
|
|
96131
|
+
provider: string;
|
|
96132
|
+
verified: boolean;
|
|
96133
|
+
product_id: string;
|
|
96134
|
+
occurred_at: string;
|
|
96135
|
+
connector_id: string;
|
|
96136
|
+
clickup_event: (string | null);
|
|
96137
|
+
receipt_count: number;
|
|
96138
|
+
} | {
|
|
96139
|
+
found: false;
|
|
96140
|
+
});
|
|
96141
|
+
export interface PlaygroundClickupGetOverviewInput {
|
|
96142
|
+
}
|
|
96143
|
+
export interface PlaygroundClickupGetOverviewOutput {
|
|
96144
|
+
team: ({
|
|
96145
|
+
teamId: string;
|
|
96146
|
+
teamName: string;
|
|
96147
|
+
} | null);
|
|
96148
|
+
lists: PlaygroundClickupGetOverviewOutputItems[];
|
|
96149
|
+
tasks: {
|
|
96150
|
+
id: string;
|
|
96151
|
+
name: string;
|
|
96152
|
+
status: (string | null);
|
|
96153
|
+
}[];
|
|
96154
|
+
minted: boolean;
|
|
96155
|
+
spaces: PlaygroundClickupGetOverviewOutputItems[];
|
|
96156
|
+
list_status: number;
|
|
96157
|
+
vend_status: number;
|
|
96158
|
+
lists_status: number;
|
|
96159
|
+
tasks_status: number;
|
|
96160
|
+
spaces_status: number;
|
|
96161
|
+
folders_status: number;
|
|
96162
|
+
installation_count: number;
|
|
96163
|
+
}
|
|
96164
|
+
export interface PlaygroundClickupGetOverviewOutputItems {
|
|
96165
|
+
id: string;
|
|
96166
|
+
name: string;
|
|
96167
|
+
}
|
|
96168
|
+
export interface PlaygroundEchoPingInput {
|
|
96169
|
+
/**
|
|
96170
|
+
* The text to echo back, 1–1024 characters
|
|
96171
|
+
*/
|
|
96172
|
+
message: string;
|
|
96173
|
+
}
|
|
96174
|
+
export interface PlaygroundEchoPingOutput {
|
|
96175
|
+
/**
|
|
96176
|
+
* The message exactly as it was received
|
|
96177
|
+
*/
|
|
96178
|
+
message: string;
|
|
96179
|
+
/**
|
|
96180
|
+
* The product the call was resolved to
|
|
96181
|
+
*/
|
|
96182
|
+
productId: string;
|
|
96183
|
+
/**
|
|
96184
|
+
* ISO-8601 instant (UTC) at which the call reached the service
|
|
96185
|
+
*/
|
|
96186
|
+
receivedAt: string;
|
|
96187
|
+
}
|
|
96188
|
+
export interface PlaygroundGdriveGetLastChangeInput {
|
|
96189
|
+
}
|
|
96190
|
+
export type PlaygroundGdriveGetLastChangeOutput = ({
|
|
96191
|
+
file_id: string;
|
|
96192
|
+
removed: boolean;
|
|
96193
|
+
file_name: (string | null);
|
|
96194
|
+
mime_type: (string | null);
|
|
96195
|
+
product_id: string;
|
|
96196
|
+
occurred_at: string;
|
|
96197
|
+
connector_id: string;
|
|
96198
|
+
resource_state: string;
|
|
96199
|
+
} | {
|
|
96200
|
+
found: false;
|
|
96201
|
+
});
|
|
96202
|
+
export interface PlaygroundGdriveReadFileInput {
|
|
96203
|
+
/**
|
|
96204
|
+
* Drive file id; falls back to GDRIVE_TEST_FILE_ID, then the first picked file
|
|
96205
|
+
*/
|
|
96206
|
+
fileId?: string;
|
|
96207
|
+
}
|
|
96208
|
+
export interface PlaygroundGdriveReadFileOutput {
|
|
96209
|
+
minted: boolean;
|
|
96210
|
+
file_id: (string | null);
|
|
96211
|
+
file_name: (string | null);
|
|
96212
|
+
mime_type: (string | null);
|
|
96213
|
+
file_count: number;
|
|
96214
|
+
get_status: number;
|
|
96215
|
+
list_status: number;
|
|
96216
|
+
vend_status: number;
|
|
96217
|
+
content_bytes: (number | null);
|
|
96218
|
+
}
|
|
96219
|
+
export interface PlaygroundGoogleadsReadCustomerInput {
|
|
96220
|
+
}
|
|
96221
|
+
export interface PlaygroundGoogleadsReadCustomerOutput {
|
|
96222
|
+
minted: boolean;
|
|
96223
|
+
vended: boolean;
|
|
96224
|
+
customer_id: (string | null);
|
|
96225
|
+
vend_status: number;
|
|
96226
|
+
result_count: number;
|
|
96227
|
+
search_status: number;
|
|
96228
|
+
login_customer_id: (string | null);
|
|
96229
|
+
}
|
|
96230
|
+
export interface PlaygroundLifecycleGetStateInput {
|
|
96231
|
+
}
|
|
96232
|
+
export interface PlaygroundLifecycleGetStateOutput {
|
|
96233
|
+
blocked: boolean;
|
|
96234
|
+
archived: boolean;
|
|
96235
|
+
productId: string;
|
|
96236
|
+
lastBlockTransition: ({
|
|
96237
|
+
eventId: string;
|
|
96238
|
+
eventName: string;
|
|
96239
|
+
productId: string;
|
|
96240
|
+
occurredAt: string;
|
|
96241
|
+
recordedAt: string;
|
|
96242
|
+
receiptCount: number;
|
|
96243
|
+
organizationId: string;
|
|
96244
|
+
cascadedFromOrg: boolean;
|
|
96245
|
+
} | null);
|
|
96246
|
+
lastArchiveTransition: ({
|
|
96247
|
+
eventId: string;
|
|
96248
|
+
eventName: string;
|
|
96249
|
+
productId: string;
|
|
96250
|
+
occurredAt: string;
|
|
96251
|
+
recordedAt: string;
|
|
96252
|
+
receiptCount: number;
|
|
96253
|
+
organizationId: string;
|
|
96254
|
+
cascadedFromOrg: boolean;
|
|
96255
|
+
} | null);
|
|
96256
|
+
}
|
|
96257
|
+
export interface PlaygroundLifecycleListEventsInput {
|
|
96258
|
+
}
|
|
96259
|
+
export type PlaygroundLifecycleListEventsOutput = {
|
|
96260
|
+
eventId: string;
|
|
96261
|
+
eventName: string;
|
|
96262
|
+
productId: string;
|
|
96263
|
+
occurredAt: string;
|
|
96264
|
+
recordedAt: string;
|
|
96265
|
+
receiptCount: number;
|
|
96266
|
+
organizationId: string;
|
|
96267
|
+
cascadedFromOrg: boolean;
|
|
96268
|
+
}[];
|
|
96269
|
+
export interface PlaygroundWebhookGetLastInput {
|
|
96270
|
+
}
|
|
96271
|
+
export type PlaygroundWebhookGetLastOutput = ({
|
|
96272
|
+
payload?: unknown;
|
|
96273
|
+
event_id: string;
|
|
96274
|
+
provider: string;
|
|
96275
|
+
verified: boolean;
|
|
96276
|
+
product_id: string;
|
|
96277
|
+
occurred_at: string;
|
|
96278
|
+
connector_id: string;
|
|
96279
|
+
delivery_count: number;
|
|
96280
|
+
} | {
|
|
96281
|
+
found: false;
|
|
96282
|
+
});
|
|
96283
|
+
export interface PlaygroundWorkflowEchoInput {
|
|
96284
|
+
/**
|
|
96285
|
+
* The text to store, 1–1024 characters
|
|
96286
|
+
*/
|
|
96287
|
+
note: string;
|
|
96288
|
+
/**
|
|
96289
|
+
* Optional labels stored alongside the note, at most 20
|
|
96290
|
+
*
|
|
96291
|
+
* @maxItems 20
|
|
96292
|
+
*/
|
|
96293
|
+
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];
|
|
96294
|
+
}
|
|
96295
|
+
export interface PlaygroundWorkflowEchoOutput {
|
|
96296
|
+
/**
|
|
96297
|
+
* Identifier of the stored echo
|
|
96298
|
+
*/
|
|
96299
|
+
id: string;
|
|
96300
|
+
/**
|
|
96301
|
+
* The note exactly as it was received
|
|
96302
|
+
*/
|
|
96303
|
+
note: string;
|
|
96304
|
+
/**
|
|
96305
|
+
* The tags exactly as they were received
|
|
96306
|
+
*/
|
|
96307
|
+
tags: string[];
|
|
96308
|
+
/**
|
|
96309
|
+
* 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.
|
|
96310
|
+
*/
|
|
96311
|
+
echo_id: string;
|
|
96312
|
+
/**
|
|
96313
|
+
* ISO-8601 instant (UTC) at which the echo was stored
|
|
96314
|
+
*/
|
|
96315
|
+
received_at: string;
|
|
96316
|
+
}
|
|
96317
|
+
export interface PlaygroundWorkflowEchoListInput {
|
|
96318
|
+
}
|
|
96319
|
+
export type PlaygroundWorkflowEchoListOutput = {
|
|
96320
|
+
/**
|
|
96321
|
+
* Identifier of the stored echo
|
|
96322
|
+
*/
|
|
96323
|
+
id: string;
|
|
96324
|
+
/**
|
|
96325
|
+
* The note exactly as it was received
|
|
96326
|
+
*/
|
|
96327
|
+
note: string;
|
|
96328
|
+
/**
|
|
96329
|
+
* The tags exactly as they were received
|
|
96330
|
+
*/
|
|
96331
|
+
tags: string[];
|
|
96332
|
+
/**
|
|
96333
|
+
* ISO-8601 instant (UTC) at which the echo was stored
|
|
96334
|
+
*/
|
|
96335
|
+
received_at: string;
|
|
96336
|
+
}[];
|
|
96337
|
+
export interface PlaygroundWorkflowPingInput {
|
|
96338
|
+
/**
|
|
96339
|
+
* Class of ping, echoed on the emitted event and filterable on the trigger. Defaults to 'manual'.
|
|
96340
|
+
*/
|
|
96341
|
+
kind?: string;
|
|
96342
|
+
}
|
|
96343
|
+
export interface PlaygroundWorkflowPingOutput {
|
|
96344
|
+
/**
|
|
96345
|
+
* 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.
|
|
96346
|
+
*/
|
|
96347
|
+
id: string;
|
|
96348
|
+
/**
|
|
96349
|
+
* The name of the event that was published
|
|
96350
|
+
*/
|
|
96351
|
+
event: string;
|
|
96352
|
+
}
|
|
96353
|
+
export interface PlaygroundWorkflowSubjectsListInput {
|
|
96354
|
+
/**
|
|
96355
|
+
* How many subjects to return, 1–100. Defaults to 25.
|
|
96356
|
+
*/
|
|
96357
|
+
limit?: number;
|
|
96358
|
+
/**
|
|
96359
|
+
* The next_cursor of the previous page. Opaque — pass it back unchanged. Omit for the first page.
|
|
96360
|
+
*/
|
|
96361
|
+
cursor?: string;
|
|
96362
|
+
/**
|
|
96363
|
+
* 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.
|
|
96364
|
+
*/
|
|
96365
|
+
last_activity_after?: string;
|
|
96366
|
+
/**
|
|
96367
|
+
* 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.
|
|
96368
|
+
*/
|
|
96369
|
+
last_activity_before?: string;
|
|
96370
|
+
}
|
|
96371
|
+
export interface PlaygroundWorkflowSubjectsListOutput {
|
|
96372
|
+
/**
|
|
96373
|
+
* This page of subjects, most recently active first
|
|
96374
|
+
*/
|
|
96375
|
+
items: {
|
|
96376
|
+
/**
|
|
96377
|
+
* 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.
|
|
96378
|
+
*/
|
|
96379
|
+
subject_key: string;
|
|
96380
|
+
/**
|
|
96381
|
+
* Human-readable name of the subject
|
|
96382
|
+
*/
|
|
96383
|
+
display_name: string;
|
|
96384
|
+
/**
|
|
96385
|
+
* ISO-8601 instant (UTC) of the subject last activity
|
|
96386
|
+
*/
|
|
96387
|
+
last_activity_at: string;
|
|
96388
|
+
}[];
|
|
96389
|
+
/**
|
|
96390
|
+
* Whether another page follows. False and a null next_cursor both mark the last page, so a consumer that loops on either terminates.
|
|
96391
|
+
*/
|
|
96392
|
+
has_more: boolean;
|
|
96393
|
+
/**
|
|
96394
|
+
* Pass back as `cursor` to fetch the next page; null on the last page. Always null when has_more is false.
|
|
96395
|
+
*/
|
|
96396
|
+
next_cursor: (string | null);
|
|
96397
|
+
}
|
|
96398
|
+
export interface PlaygroundWsEchoInput {
|
|
96399
|
+
}
|
|
96400
|
+
export type PlaygroundWsEchoOutput = unknown;
|
|
96055
96401
|
export interface RealtimeArchiveExportInput {
|
|
96056
96402
|
/**
|
|
96057
96403
|
* Only entries with ts <= to_ts (epoch ms)
|
|
@@ -118664,87 +119010,267 @@ export interface SupportWebhookUpdateOutput {
|
|
|
118664
119010
|
secretPrefix: string;
|
|
118665
119011
|
}
|
|
118666
119012
|
export interface TrackingDomainsCreateInput {
|
|
119013
|
+
/**
|
|
119014
|
+
* Bare hostname to serve tracking from, which must sit under the chosen domain (e.g. analytics.example.com); a suggestion is used when omitted
|
|
119015
|
+
*/
|
|
118667
119016
|
host?: string;
|
|
119017
|
+
/**
|
|
119018
|
+
* DNS records to request instead of the default CNAME to the tracking edge; leave unset unless the domain needs custom records
|
|
119019
|
+
*/
|
|
118668
119020
|
records?: {
|
|
119021
|
+
/**
|
|
119022
|
+
* Time-to-live in seconds the record should be published with; the platform picks one when omitted
|
|
119023
|
+
*/
|
|
118669
119024
|
ttl?: number;
|
|
119025
|
+
/**
|
|
119026
|
+
* Fully-qualified host the record is published at; defaults to the claimed tracking host
|
|
119027
|
+
*/
|
|
118670
119028
|
name?: string;
|
|
119029
|
+
/**
|
|
119030
|
+
* Value the record points at — the edge hostname for a CNAME, the proof string for a TXT
|
|
119031
|
+
*/
|
|
118671
119032
|
target: string;
|
|
119033
|
+
/**
|
|
119034
|
+
* DNS record type to publish, e.g. CNAME or TXT
|
|
119035
|
+
*/
|
|
118672
119036
|
recordType: string;
|
|
118673
119037
|
}[];
|
|
119038
|
+
/**
|
|
119039
|
+
* Product domain to claim the tracking host under, as listed in `domains[].domainId` by tracking_domains_list
|
|
119040
|
+
*/
|
|
118674
119041
|
domainId: string;
|
|
118675
119042
|
}
|
|
118676
119043
|
export interface TrackingDomainsCreateOutput {
|
|
119044
|
+
/**
|
|
119045
|
+
* The binding as just claimed; it starts `pending` and goes `active` once the DNS is observed live
|
|
119046
|
+
*/
|
|
118677
119047
|
binding: {
|
|
119048
|
+
/**
|
|
119049
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
119050
|
+
*/
|
|
118678
119051
|
host: string;
|
|
119052
|
+
/**
|
|
119053
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
119054
|
+
*/
|
|
118679
119055
|
status: ("pending" | "active" | "failed");
|
|
119056
|
+
/**
|
|
119057
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
119058
|
+
*/
|
|
118680
119059
|
records: unknown[];
|
|
119060
|
+
/**
|
|
119061
|
+
* Product domain this tracking host sits under
|
|
119062
|
+
*/
|
|
118681
119063
|
domainId: string;
|
|
119064
|
+
/**
|
|
119065
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
119066
|
+
*/
|
|
118682
119067
|
bindingId: string;
|
|
119068
|
+
/**
|
|
119069
|
+
* When the binding was claimed
|
|
119070
|
+
*/
|
|
118683
119071
|
createdAt: string;
|
|
119072
|
+
/**
|
|
119073
|
+
* Product the binding belongs to
|
|
119074
|
+
*/
|
|
118684
119075
|
productId: string;
|
|
119076
|
+
/**
|
|
119077
|
+
* When the binding last changed status or records
|
|
119078
|
+
*/
|
|
118685
119079
|
updatedAt: string;
|
|
119080
|
+
/**
|
|
119081
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
119082
|
+
*/
|
|
118686
119083
|
statusDetail: (string | null);
|
|
119084
|
+
/**
|
|
119085
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
119086
|
+
*/
|
|
118687
119087
|
ownerExtension: string;
|
|
118688
119088
|
};
|
|
119089
|
+
/**
|
|
119090
|
+
* Ordered, human-readable steps for publishing the DNS the claim needs; empty when the platform manages the domain itself
|
|
119091
|
+
*/
|
|
118689
119092
|
instructions: string[];
|
|
118690
119093
|
}
|
|
118691
119094
|
export interface TrackingDomainsDeleteInput {
|
|
119095
|
+
/**
|
|
119096
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
119097
|
+
*/
|
|
118692
119098
|
bindingId: string;
|
|
118693
119099
|
}
|
|
118694
119100
|
export interface TrackingDomainsDeleteOutput {
|
|
119101
|
+
/**
|
|
119102
|
+
* Always true — the release succeeded; a failure arrives as an error, not as false
|
|
119103
|
+
*/
|
|
118695
119104
|
ok: true;
|
|
118696
119105
|
}
|
|
118697
119106
|
export interface TrackingDomainsGetInput {
|
|
119107
|
+
/**
|
|
119108
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
119109
|
+
*/
|
|
118698
119110
|
bindingId: string;
|
|
118699
119111
|
}
|
|
118700
119112
|
export interface TrackingDomainsGetOutput {
|
|
119113
|
+
/**
|
|
119114
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
119115
|
+
*/
|
|
118701
119116
|
host: string;
|
|
119117
|
+
/**
|
|
119118
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
119119
|
+
*/
|
|
118702
119120
|
status: ("pending" | "active" | "failed");
|
|
119121
|
+
/**
|
|
119122
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
119123
|
+
*/
|
|
118703
119124
|
records: unknown[];
|
|
119125
|
+
/**
|
|
119126
|
+
* Product domain this tracking host sits under
|
|
119127
|
+
*/
|
|
118704
119128
|
domainId: string;
|
|
119129
|
+
/**
|
|
119130
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
119131
|
+
*/
|
|
118705
119132
|
bindingId: string;
|
|
119133
|
+
/**
|
|
119134
|
+
* When the binding was claimed
|
|
119135
|
+
*/
|
|
118706
119136
|
createdAt: string;
|
|
119137
|
+
/**
|
|
119138
|
+
* Product the binding belongs to
|
|
119139
|
+
*/
|
|
118707
119140
|
productId: string;
|
|
119141
|
+
/**
|
|
119142
|
+
* When the binding last changed status or records
|
|
119143
|
+
*/
|
|
118708
119144
|
updatedAt: string;
|
|
119145
|
+
/**
|
|
119146
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
119147
|
+
*/
|
|
118709
119148
|
statusDetail: (string | null);
|
|
119149
|
+
/**
|
|
119150
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
119151
|
+
*/
|
|
118710
119152
|
ownerExtension: string;
|
|
118711
119153
|
}
|
|
118712
119154
|
export interface TrackingDomainsListInput {
|
|
118713
119155
|
}
|
|
118714
119156
|
export interface TrackingDomainsListOutput {
|
|
119157
|
+
/**
|
|
119158
|
+
* The product's domains as the platform vouches for them — the set a new tracking host may be claimed under
|
|
119159
|
+
*/
|
|
118715
119160
|
domains: {
|
|
119161
|
+
/**
|
|
119162
|
+
* Who runs the DNS: `managed` means the platform publishes records for you, `external` means you publish them yourself
|
|
119163
|
+
*/
|
|
118716
119164
|
mode: ("external" | "managed");
|
|
119165
|
+
/**
|
|
119166
|
+
* Apex domain name the product owns, e.g. example.com
|
|
119167
|
+
*/
|
|
118717
119168
|
domain: string;
|
|
119169
|
+
/**
|
|
119170
|
+
* Stable platform id of the product domain, and what a claim takes as its `domainId`
|
|
119171
|
+
*/
|
|
118718
119172
|
domainId: string;
|
|
119173
|
+
/**
|
|
119174
|
+
* ISO-8601 timestamp of when the domain was added to the product
|
|
119175
|
+
*/
|
|
118719
119176
|
createdAt: string;
|
|
119177
|
+
/**
|
|
119178
|
+
* How many extensions currently hold a host binding under this domain
|
|
119179
|
+
*/
|
|
118720
119180
|
extensionCount: number;
|
|
118721
119181
|
}[];
|
|
119182
|
+
/**
|
|
119183
|
+
* Tracking-host bindings this toolkit currently holds across those domains
|
|
119184
|
+
*/
|
|
118722
119185
|
bindings: {
|
|
119186
|
+
/**
|
|
119187
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
119188
|
+
*/
|
|
118723
119189
|
host: string;
|
|
119190
|
+
/**
|
|
119191
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
119192
|
+
*/
|
|
118724
119193
|
status: ("pending" | "active" | "failed");
|
|
119194
|
+
/**
|
|
119195
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
119196
|
+
*/
|
|
118725
119197
|
records: unknown[];
|
|
119198
|
+
/**
|
|
119199
|
+
* Product domain this tracking host sits under
|
|
119200
|
+
*/
|
|
118726
119201
|
domainId: string;
|
|
119202
|
+
/**
|
|
119203
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
119204
|
+
*/
|
|
118727
119205
|
bindingId: string;
|
|
119206
|
+
/**
|
|
119207
|
+
* When the binding was claimed
|
|
119208
|
+
*/
|
|
118728
119209
|
createdAt: string;
|
|
119210
|
+
/**
|
|
119211
|
+
* Product the binding belongs to
|
|
119212
|
+
*/
|
|
118729
119213
|
productId: string;
|
|
119214
|
+
/**
|
|
119215
|
+
* When the binding last changed status or records
|
|
119216
|
+
*/
|
|
118730
119217
|
updatedAt: string;
|
|
119218
|
+
/**
|
|
119219
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
119220
|
+
*/
|
|
118731
119221
|
statusDetail: (string | null);
|
|
119222
|
+
/**
|
|
119223
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
119224
|
+
*/
|
|
118732
119225
|
ownerExtension: string;
|
|
118733
119226
|
}[];
|
|
118734
119227
|
}
|
|
118735
119228
|
export interface TrackingDomainsVerifyInput {
|
|
119229
|
+
/**
|
|
119230
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
119231
|
+
*/
|
|
118736
119232
|
bindingId: string;
|
|
118737
119233
|
}
|
|
118738
119234
|
export interface TrackingDomainsVerifyOutput {
|
|
119235
|
+
/**
|
|
119236
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
119237
|
+
*/
|
|
118739
119238
|
host: string;
|
|
119239
|
+
/**
|
|
119240
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
119241
|
+
*/
|
|
118740
119242
|
status: ("pending" | "active" | "failed");
|
|
119243
|
+
/**
|
|
119244
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
119245
|
+
*/
|
|
118741
119246
|
records: unknown[];
|
|
119247
|
+
/**
|
|
119248
|
+
* Product domain this tracking host sits under
|
|
119249
|
+
*/
|
|
118742
119250
|
domainId: string;
|
|
119251
|
+
/**
|
|
119252
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
119253
|
+
*/
|
|
118743
119254
|
bindingId: string;
|
|
119255
|
+
/**
|
|
119256
|
+
* When the binding was claimed
|
|
119257
|
+
*/
|
|
118744
119258
|
createdAt: string;
|
|
119259
|
+
/**
|
|
119260
|
+
* Product the binding belongs to
|
|
119261
|
+
*/
|
|
118745
119262
|
productId: string;
|
|
119263
|
+
/**
|
|
119264
|
+
* When the binding last changed status or records
|
|
119265
|
+
*/
|
|
118746
119266
|
updatedAt: string;
|
|
119267
|
+
/**
|
|
119268
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
119269
|
+
*/
|
|
118747
119270
|
statusDetail: (string | null);
|
|
119271
|
+
/**
|
|
119272
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
119273
|
+
*/
|
|
118748
119274
|
ownerExtension: string;
|
|
118749
119275
|
}
|
|
118750
119276
|
export interface TrackingEventNamesArchiveInput {
|
|
@@ -118754,7 +119280,13 @@ export interface TrackingEventNamesArchiveInput {
|
|
|
118754
119280
|
name: string;
|
|
118755
119281
|
}
|
|
118756
119282
|
export interface TrackingEventNamesArchiveOutput {
|
|
119283
|
+
/**
|
|
119284
|
+
* Event name whose status was changed
|
|
119285
|
+
*/
|
|
118757
119286
|
name: string;
|
|
119287
|
+
/**
|
|
119288
|
+
* The status as it now stands: `archived` hides the name from pickers and reports, `active` restores it
|
|
119289
|
+
*/
|
|
118758
119290
|
status: ("active" | "archived");
|
|
118759
119291
|
}
|
|
118760
119292
|
export interface TrackingEventNamesListInput {
|
|
@@ -118776,13 +119308,37 @@ export interface TrackingEventNamesListInput {
|
|
|
118776
119308
|
status?: ("active" | "archived");
|
|
118777
119309
|
}
|
|
118778
119310
|
export interface TrackingEventNamesListOutput {
|
|
119311
|
+
/**
|
|
119312
|
+
* The matching catalogue entries, ordered by the requested sort
|
|
119313
|
+
*/
|
|
118779
119314
|
names: {
|
|
119315
|
+
/**
|
|
119316
|
+
* Event name exactly as the tracking script sends it — the string other tools take as their `event`
|
|
119317
|
+
*/
|
|
118780
119318
|
name: string;
|
|
119319
|
+
/**
|
|
119320
|
+
* How many events with this name have been received in total
|
|
119321
|
+
*/
|
|
118781
119322
|
count: number;
|
|
119323
|
+
/**
|
|
119324
|
+
* `active` for a name in use, `archived` for one hidden from pickers and reports
|
|
119325
|
+
*/
|
|
118782
119326
|
status: string;
|
|
119327
|
+
/**
|
|
119328
|
+
* ISO-8601 timestamp of the most recent event received under this name
|
|
119329
|
+
*/
|
|
118783
119330
|
lastSeen: string;
|
|
119331
|
+
/**
|
|
119332
|
+
* ISO-8601 timestamp of the first event ever received under this name
|
|
119333
|
+
*/
|
|
118784
119334
|
firstSeen: string;
|
|
119335
|
+
/**
|
|
119336
|
+
* Property keys sampled from recent events with this name, so you can see what the payload carries
|
|
119337
|
+
*/
|
|
118785
119338
|
propsKeys: string[];
|
|
119339
|
+
/**
|
|
119340
|
+
* Whether this name is marked a conversion, which is what makes it available as a workflow trigger
|
|
119341
|
+
*/
|
|
118786
119342
|
isConversion: boolean;
|
|
118787
119343
|
}[];
|
|
118788
119344
|
}
|
|
@@ -118797,7 +119353,13 @@ export interface TrackingEventNamesSetConversionInput {
|
|
|
118797
119353
|
isConversion: boolean;
|
|
118798
119354
|
}
|
|
118799
119355
|
export interface TrackingEventNamesSetConversionOutput {
|
|
119356
|
+
/**
|
|
119357
|
+
* Event name the conversion flag was applied to
|
|
119358
|
+
*/
|
|
118800
119359
|
name: string;
|
|
119360
|
+
/**
|
|
119361
|
+
* The flag as it now stands after the change
|
|
119362
|
+
*/
|
|
118801
119363
|
isConversion: boolean;
|
|
118802
119364
|
}
|
|
118803
119365
|
export interface TrackingEventNamesUnarchiveInput {
|
|
@@ -118807,20 +119369,44 @@ export interface TrackingEventNamesUnarchiveInput {
|
|
|
118807
119369
|
name: string;
|
|
118808
119370
|
}
|
|
118809
119371
|
export interface TrackingEventNamesUnarchiveOutput {
|
|
119372
|
+
/**
|
|
119373
|
+
* Event name whose status was changed
|
|
119374
|
+
*/
|
|
118810
119375
|
name: string;
|
|
119376
|
+
/**
|
|
119377
|
+
* The status as it now stands: `archived` hides the name from pickers and reports, `active` restores it
|
|
119378
|
+
*/
|
|
118811
119379
|
status: ("active" | "archived");
|
|
118812
119380
|
}
|
|
118813
119381
|
export interface TrackingGoogleadsConnectionStatusInput {
|
|
118814
119382
|
}
|
|
118815
119383
|
export type TrackingGoogleadsConnectionStatusOutput = ({
|
|
119384
|
+
/**
|
|
119385
|
+
* Where the Google Ads connection stands: connected means an account is chosen and its credential works, so the other tools will run.
|
|
119386
|
+
*/
|
|
118816
119387
|
state: "connected";
|
|
119388
|
+
/**
|
|
119389
|
+
* The Google Ads account the data is read from and conversions are written to, as a customer id. Only present while connected.
|
|
119390
|
+
*/
|
|
118817
119391
|
customerId: string;
|
|
119392
|
+
/**
|
|
119393
|
+
* 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.
|
|
119394
|
+
*/
|
|
118818
119395
|
loginCustomerId: string;
|
|
118819
119396
|
} | {
|
|
119397
|
+
/**
|
|
119398
|
+
* Google is authorised but nobody has picked which Google Ads account to use yet, so nothing can run until someone does.
|
|
119399
|
+
*/
|
|
118820
119400
|
state: "pending_account_selection";
|
|
118821
119401
|
} | {
|
|
119402
|
+
/**
|
|
119403
|
+
* The Google authorisation expired or was revoked and has to be granted again before anything can run.
|
|
119404
|
+
*/
|
|
118822
119405
|
state: "reauth_required";
|
|
118823
119406
|
} | {
|
|
119407
|
+
/**
|
|
119408
|
+
* No Google Ads connection has been set up for this product at all.
|
|
119409
|
+
*/
|
|
118824
119410
|
state: "not_connected";
|
|
118825
119411
|
});
|
|
118826
119412
|
export interface TrackingGoogleadsConversionActionsInput {
|
|
@@ -118835,26 +119421,77 @@ export type TrackingGoogleadsConversionActionsOutput = {
|
|
|
118835
119421
|
export interface TrackingGoogleadsFeedbackConfigGetInput {
|
|
118836
119422
|
}
|
|
118837
119423
|
export interface TrackingGoogleadsFeedbackConfigGetOutput {
|
|
119424
|
+
/**
|
|
119425
|
+
* 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.
|
|
119426
|
+
*/
|
|
118838
119427
|
mode: ("existing_pixel" | "fresh_pixel");
|
|
119428
|
+
/**
|
|
119429
|
+
* Which tracked events become which Google Ads conversion action, and where each one takes its money value from. Disabled rules stay listed.
|
|
119430
|
+
*/
|
|
118839
119431
|
rules: {
|
|
119432
|
+
/**
|
|
119433
|
+
* Tracked event-name this rule uploads, as listed by tracking_event-names_list
|
|
119434
|
+
*/
|
|
118840
119435
|
event: string;
|
|
119436
|
+
/**
|
|
119437
|
+
* What monetary value is reported to Google for each conversion this rule uploads
|
|
119438
|
+
*/
|
|
118841
119439
|
value: ({
|
|
119440
|
+
/**
|
|
119441
|
+
* 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
|
|
119442
|
+
*/
|
|
118842
119443
|
source: "revenue";
|
|
118843
119444
|
} | {
|
|
119445
|
+
/**
|
|
119446
|
+
* 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
|
|
119447
|
+
*/
|
|
118844
119448
|
source: "dynamic";
|
|
118845
119449
|
} | {
|
|
119450
|
+
/**
|
|
119451
|
+
* 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
|
|
119452
|
+
*/
|
|
118846
119453
|
source: "fixed";
|
|
119454
|
+
/**
|
|
119455
|
+
* ISO-4217 currency the fixed amount is denominated in, e.g. USD
|
|
119456
|
+
*/
|
|
118847
119457
|
currency: string;
|
|
119458
|
+
/**
|
|
119459
|
+
* The fixed value in minor units (e.g. cents); 0 means a value-less lead conversion
|
|
119460
|
+
*/
|
|
118848
119461
|
amountMinor: number;
|
|
118849
119462
|
});
|
|
119463
|
+
/**
|
|
119464
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
119465
|
+
*/
|
|
118850
119466
|
enabled: boolean;
|
|
119467
|
+
/**
|
|
119468
|
+
* Google conversion action the event is reported as, in the form customers/<cid>/conversionActions/<id>
|
|
119469
|
+
*/
|
|
118851
119470
|
conversionAction: string;
|
|
118852
119471
|
}[];
|
|
119472
|
+
/**
|
|
119473
|
+
* Whether conversions are being sent to Google Ads at all. False leaves every rule below in place but uploads nothing.
|
|
119474
|
+
*/
|
|
118853
119475
|
enabled: boolean;
|
|
119476
|
+
/**
|
|
119477
|
+
* The tenant this configuration belongs to. Never supplied by a caller — it comes from the authenticated identity.
|
|
119478
|
+
*/
|
|
118854
119479
|
productId: string;
|
|
119480
|
+
/**
|
|
119481
|
+
* 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.
|
|
119482
|
+
*/
|
|
118855
119483
|
lookbackDays: number;
|
|
119484
|
+
/**
|
|
119485
|
+
* 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.
|
|
119486
|
+
*/
|
|
118856
119487
|
accountCurrency: (string | null);
|
|
119488
|
+
/**
|
|
119489
|
+
* The event names that may use the Dynamic value source, because revenue is known for them. Any other event needs a fixed amount.
|
|
119490
|
+
*/
|
|
118857
119491
|
dynamicValueEvents: string[];
|
|
119492
|
+
/**
|
|
119493
|
+
* Whether a stored email or phone number is sent alongside the click, so Google can match conversions the click id alone would miss.
|
|
119494
|
+
*/
|
|
118858
119495
|
enhancedConversions: boolean;
|
|
118859
119496
|
}
|
|
118860
119497
|
export interface TrackingGoogleadsFeedbackConfigSetInput {
|
|
@@ -118870,11 +119507,23 @@ export interface TrackingGoogleadsFeedbackConfigSetInput {
|
|
|
118870
119507
|
* Any tracked event-name for this product (validated against the event-name catalog)
|
|
118871
119508
|
*/
|
|
118872
119509
|
event: string;
|
|
119510
|
+
/**
|
|
119511
|
+
* What monetary value to report to Google for each conversion this rule uploads
|
|
119512
|
+
*/
|
|
118873
119513
|
value: ({
|
|
119514
|
+
/**
|
|
119515
|
+
* 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
|
|
119516
|
+
*/
|
|
118874
119517
|
source: "revenue";
|
|
118875
119518
|
} | {
|
|
119519
|
+
/**
|
|
119520
|
+
* 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
|
|
119521
|
+
*/
|
|
118876
119522
|
source: "dynamic";
|
|
118877
119523
|
} | {
|
|
119524
|
+
/**
|
|
119525
|
+
* 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
|
|
119526
|
+
*/
|
|
118878
119527
|
source: "fixed";
|
|
118879
119528
|
/**
|
|
118880
119529
|
* ISO-4217 currency code, e.g. USD
|
|
@@ -118885,6 +119534,9 @@ export interface TrackingGoogleadsFeedbackConfigSetInput {
|
|
|
118885
119534
|
*/
|
|
118886
119535
|
amountMinor?: number;
|
|
118887
119536
|
});
|
|
119537
|
+
/**
|
|
119538
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
119539
|
+
*/
|
|
118888
119540
|
enabled: boolean;
|
|
118889
119541
|
/**
|
|
118890
119542
|
* Google conversion action resource: customers/<cid>/conversionActions/<id>
|
|
@@ -118905,65 +119557,209 @@ export interface TrackingGoogleadsFeedbackConfigSetInput {
|
|
|
118905
119557
|
enhancedConversions?: boolean;
|
|
118906
119558
|
}
|
|
118907
119559
|
export interface TrackingGoogleadsFeedbackConfigSetOutput {
|
|
119560
|
+
/**
|
|
119561
|
+
* The config as it now stands after the write, with server-side normalisation applied
|
|
119562
|
+
*/
|
|
118908
119563
|
config: {
|
|
119564
|
+
/**
|
|
119565
|
+
* How our uploads sit beside your own tag: `existing_pixel` only fills gaps it left, `fresh_pixel` reports our data alone
|
|
119566
|
+
*/
|
|
118909
119567
|
mode: ("existing_pixel" | "fresh_pixel");
|
|
119568
|
+
/**
|
|
119569
|
+
* The event-to-conversion-action mappings, each with its own value source
|
|
119570
|
+
*/
|
|
118910
119571
|
rules: {
|
|
119572
|
+
/**
|
|
119573
|
+
* Tracked event-name this rule uploads, as listed by tracking_event-names_list
|
|
119574
|
+
*/
|
|
118911
119575
|
event: string;
|
|
119576
|
+
/**
|
|
119577
|
+
* What monetary value is reported to Google for each conversion this rule uploads
|
|
119578
|
+
*/
|
|
118912
119579
|
value: ({
|
|
119580
|
+
/**
|
|
119581
|
+
* 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
|
|
119582
|
+
*/
|
|
118913
119583
|
source: "revenue";
|
|
118914
119584
|
} | {
|
|
119585
|
+
/**
|
|
119586
|
+
* 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
|
|
119587
|
+
*/
|
|
118915
119588
|
source: "dynamic";
|
|
118916
119589
|
} | {
|
|
119590
|
+
/**
|
|
119591
|
+
* 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
|
|
119592
|
+
*/
|
|
118917
119593
|
source: "fixed";
|
|
119594
|
+
/**
|
|
119595
|
+
* ISO-4217 currency the fixed amount is denominated in, e.g. USD
|
|
119596
|
+
*/
|
|
118918
119597
|
currency: string;
|
|
119598
|
+
/**
|
|
119599
|
+
* The fixed value in minor units (e.g. cents); 0 means a value-less lead conversion
|
|
119600
|
+
*/
|
|
118919
119601
|
amountMinor: number;
|
|
118920
119602
|
});
|
|
119603
|
+
/**
|
|
119604
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
119605
|
+
*/
|
|
118921
119606
|
enabled: boolean;
|
|
119607
|
+
/**
|
|
119608
|
+
* Google conversion action the event is reported as, in the form customers/<cid>/conversionActions/<id>
|
|
119609
|
+
*/
|
|
118922
119610
|
conversionAction: string;
|
|
118923
119611
|
}[];
|
|
119612
|
+
/**
|
|
119613
|
+
* Master switch: with it off no rule uploads anything, however the individual rules are set
|
|
119614
|
+
*/
|
|
118924
119615
|
enabled: boolean;
|
|
119616
|
+
/**
|
|
119617
|
+
* Product this conversion-feedback config belongs to
|
|
119618
|
+
*/
|
|
118925
119619
|
productId: string;
|
|
119620
|
+
/**
|
|
119621
|
+
* How many days back a click may have happened and still be matched to a conversion (max 90)
|
|
119622
|
+
*/
|
|
118926
119623
|
lookbackDays: number;
|
|
119624
|
+
/**
|
|
119625
|
+
* The connected Google Ads account's currency, best-effort; null or absent when it could not be read
|
|
119626
|
+
*/
|
|
118927
119627
|
accountCurrency?: (string | null);
|
|
119628
|
+
/**
|
|
119629
|
+
* Whether hashed email and phone are sent alongside gclid as additional match keys, which raises match rates
|
|
119630
|
+
*/
|
|
118928
119631
|
enhancedConversions: boolean;
|
|
118929
119632
|
};
|
|
119633
|
+
/**
|
|
119634
|
+
* Plain-language safety notes about what this combination of mode and match keys will do to the connected account
|
|
119635
|
+
*/
|
|
118930
119636
|
guidance: string[];
|
|
118931
119637
|
}
|
|
118932
119638
|
export interface TrackingGoogleadsFeedbackRunInput {
|
|
118933
119639
|
}
|
|
118934
119640
|
export interface TrackingGoogleadsFeedbackRunOutput {
|
|
119641
|
+
/**
|
|
119642
|
+
* 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.
|
|
119643
|
+
*/
|
|
119644
|
+
runId: string;
|
|
119645
|
+
/**
|
|
119646
|
+
* Rows Google rejected in this pass.
|
|
119647
|
+
*/
|
|
118935
119648
|
failed: number;
|
|
119649
|
+
/**
|
|
119650
|
+
* Of those, the ones that had a usable click id and a value, so a payload was actually built for them.
|
|
119651
|
+
*/
|
|
118936
119652
|
matched: number;
|
|
119653
|
+
/**
|
|
119654
|
+
* Conversions dropped because no Google click could be tied to the person. A high count here is a tagging problem, not a Google one.
|
|
119655
|
+
*/
|
|
118937
119656
|
noGclid: number;
|
|
119657
|
+
/**
|
|
119658
|
+
* 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.
|
|
119659
|
+
*/
|
|
118938
119660
|
skipped?: ("disabled" | "no_rules" | "not_connected");
|
|
119661
|
+
/**
|
|
119662
|
+
* Conversions in the lookback window that an enabled rule applied to.
|
|
119663
|
+
*/
|
|
118939
119664
|
selected: number;
|
|
119665
|
+
/**
|
|
119666
|
+
* Rows Google accepted in this pass.
|
|
119667
|
+
*/
|
|
118940
119668
|
uploaded: number;
|
|
119669
|
+
/**
|
|
119670
|
+
* The tenant whose conversions this pass uploaded.
|
|
119671
|
+
*/
|
|
118941
119672
|
productId: string;
|
|
119673
|
+
/**
|
|
119674
|
+
* Conversions held back because their money value had not landed yet. They are retried on a later pass.
|
|
119675
|
+
*/
|
|
118942
119676
|
zeroValue: number;
|
|
118943
|
-
|
|
119677
|
+
/**
|
|
119678
|
+
* Google's own rejection detail, passed through unchanged, when it refused part of the batch. Absent when it accepted everything.
|
|
119679
|
+
*/
|
|
119680
|
+
partialFailureError?: {
|
|
119681
|
+
[k: string]: unknown;
|
|
119682
|
+
};
|
|
118944
119683
|
}
|
|
118945
119684
|
export interface TrackingGoogleadsFeedbackStatusInput {
|
|
118946
119685
|
}
|
|
118947
119686
|
export interface TrackingGoogleadsFeedbackStatusOutput {
|
|
119687
|
+
/**
|
|
119688
|
+
* 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.
|
|
119689
|
+
*/
|
|
118948
119690
|
mode: ("existing_pixel" | "fresh_pixel");
|
|
119691
|
+
/**
|
|
119692
|
+
* Rows Google has rejected since this product was connected, across every pass.
|
|
119693
|
+
*/
|
|
118949
119694
|
failed: number;
|
|
119695
|
+
/**
|
|
119696
|
+
* Whether conversions are being sent to Google Ads at all.
|
|
119697
|
+
*/
|
|
118950
119698
|
enabled: boolean;
|
|
119699
|
+
/**
|
|
119700
|
+
* Coverage of the most recent pass. Null when no pass has run for this product yet.
|
|
119701
|
+
*/
|
|
118951
119702
|
lastRun: ({
|
|
119703
|
+
/**
|
|
119704
|
+
* When the last pass finished. Null when the stored summary predates this field.
|
|
119705
|
+
*/
|
|
118952
119706
|
ranAt: (string | null);
|
|
119707
|
+
/**
|
|
119708
|
+
* Rows Google rejected. Anything above zero is what makes the status partial.
|
|
119709
|
+
*/
|
|
118953
119710
|
failed: number;
|
|
119711
|
+
/**
|
|
119712
|
+
* 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.
|
|
119713
|
+
*/
|
|
118954
119714
|
status: ("ok" | "partial" | "not_connected");
|
|
119715
|
+
/**
|
|
119716
|
+
* Of those, the ones that had a usable click id and a value, so a payload was actually built for them.
|
|
119717
|
+
*/
|
|
118955
119718
|
matched: number;
|
|
119719
|
+
/**
|
|
119720
|
+
* Conversions dropped because no Google click could be tied to the person. A high count here is a tagging problem, not a Google one.
|
|
119721
|
+
*/
|
|
118956
119722
|
noGclid: number;
|
|
119723
|
+
/**
|
|
119724
|
+
* Conversions in the lookback window that an enabled rule applied to.
|
|
119725
|
+
*/
|
|
118957
119726
|
selected: number;
|
|
119727
|
+
/**
|
|
119728
|
+
* Rows Google accepted.
|
|
119729
|
+
*/
|
|
118958
119730
|
uploaded: number;
|
|
119731
|
+
/**
|
|
119732
|
+
* Conversions held back because their money value had not landed yet. They are retried on a later pass.
|
|
119733
|
+
*/
|
|
118959
119734
|
zeroValue: number;
|
|
118960
119735
|
} | null);
|
|
119736
|
+
/**
|
|
119737
|
+
* 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.
|
|
119738
|
+
*/
|
|
118961
119739
|
guidance: string[];
|
|
119740
|
+
/**
|
|
119741
|
+
* Rows Google has accepted since this product was connected, across every pass.
|
|
119742
|
+
*/
|
|
118962
119743
|
uploaded: number;
|
|
119744
|
+
/**
|
|
119745
|
+
* How many event-to-conversion-action rules are configured, enabled or not.
|
|
119746
|
+
*/
|
|
118963
119747
|
ruleCount: number;
|
|
119748
|
+
/**
|
|
119749
|
+
* How many days back each pass looks for conversions to send, and how far back a click may be matched.
|
|
119750
|
+
*/
|
|
118964
119751
|
lookbackDays: number;
|
|
119752
|
+
/**
|
|
119753
|
+
* 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.
|
|
119754
|
+
*/
|
|
118965
119755
|
accountCurrency: (string | null);
|
|
119756
|
+
/**
|
|
119757
|
+
* The event names that may use the Dynamic value source, because revenue is known for them.
|
|
119758
|
+
*/
|
|
118966
119759
|
dynamicValueEvents: string[];
|
|
119760
|
+
/**
|
|
119761
|
+
* Whether a stored email or phone number is sent alongside the click, so Google can match conversions the click id alone would miss.
|
|
119762
|
+
*/
|
|
118967
119763
|
enhancedConversions: boolean;
|
|
118968
119764
|
}
|
|
118969
119765
|
export interface TrackingGoogleadsFeedbackUploadsInput {
|
|
@@ -118982,84 +119778,293 @@ export type TrackingGoogleadsFeedbackUploadsOutput = {
|
|
|
118982
119778
|
conversionDatetime: string;
|
|
118983
119779
|
}[];
|
|
118984
119780
|
export interface TrackingGoogleadsRoasReportInput {
|
|
118985
|
-
|
|
118986
|
-
|
|
119781
|
+
/**
|
|
119782
|
+
* 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.
|
|
119783
|
+
*/
|
|
119784
|
+
to?: string;
|
|
119785
|
+
/**
|
|
119786
|
+
* 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.
|
|
119787
|
+
*/
|
|
119788
|
+
from?: string;
|
|
119789
|
+
/**
|
|
119790
|
+
* Which touchpoint gets the credit for a conversion: the last paid click before it, or the first. Defaults to last_click.
|
|
119791
|
+
*/
|
|
118987
119792
|
model?: ("last_click" | "first_click");
|
|
119793
|
+
/**
|
|
119794
|
+
* Restrict to conversions tracked on this installed site, e.g. acme.com. Omit to cover every domain of the product.
|
|
119795
|
+
*/
|
|
118988
119796
|
domain?: string;
|
|
119797
|
+
/**
|
|
119798
|
+
* Restrict to one Google Ads account, by its customer id without dashes. Omit to cover every connected account.
|
|
119799
|
+
*/
|
|
118989
119800
|
customerId?: string;
|
|
119801
|
+
/**
|
|
119802
|
+
* 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.
|
|
119803
|
+
*/
|
|
118990
119804
|
lookbackDays?: number;
|
|
118991
119805
|
}
|
|
118992
119806
|
export interface TrackingGoogleadsRoasReportOutput {
|
|
119807
|
+
/**
|
|
119808
|
+
* End of the window this report covers, echoed back as an ISO-8601 UTC timestamp.
|
|
119809
|
+
*/
|
|
118993
119810
|
to: string;
|
|
119811
|
+
/**
|
|
119812
|
+
* Start of the window this report covers, echoed back as an ISO-8601 UTC timestamp.
|
|
119813
|
+
*/
|
|
118994
119814
|
from: string;
|
|
119815
|
+
/**
|
|
119816
|
+
* Which touchpoint earned the credit in these numbers: the last paid click before the conversion, or the first.
|
|
119817
|
+
*/
|
|
118995
119818
|
model: ("last_click" | "first_click");
|
|
119819
|
+
/**
|
|
119820
|
+
* 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.
|
|
119821
|
+
*/
|
|
119822
|
+
stale: boolean;
|
|
119823
|
+
/**
|
|
119824
|
+
* The installed site this report was restricted to; null when it covers every domain of the product.
|
|
119825
|
+
*/
|
|
118996
119826
|
domain: (string | null);
|
|
119827
|
+
/**
|
|
119828
|
+
* One entry per Google Ads account and currency. Kept apart on purpose: amounts in different currencies are never added together.
|
|
119829
|
+
*/
|
|
118997
119830
|
accounts: {
|
|
119831
|
+
/**
|
|
119832
|
+
* 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.
|
|
119833
|
+
*/
|
|
118998
119834
|
stale: boolean;
|
|
119835
|
+
/**
|
|
119836
|
+
* 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.
|
|
119837
|
+
*/
|
|
118999
119838
|
currency: string;
|
|
119839
|
+
/**
|
|
119840
|
+
* This account's campaigns, each with its ad groups and ads nested underneath.
|
|
119841
|
+
*/
|
|
119000
119842
|
campaigns: TrackingGoogleadsRoasReportOutputItems[];
|
|
119843
|
+
/**
|
|
119844
|
+
* Google Ads account these campaigns belong to, by customer id without dashes.
|
|
119845
|
+
*/
|
|
119001
119846
|
customerId: string;
|
|
119847
|
+
/**
|
|
119848
|
+
* When cost was last pulled from Google Ads for this account (ISO-8601 UTC); null when it has never been pulled.
|
|
119849
|
+
*/
|
|
119002
119850
|
costLastSyncedAt: (string | null);
|
|
119003
119851
|
}[];
|
|
119852
|
+
/**
|
|
119853
|
+
* ISO-4217 code every amount in this report is expressed in, when all accounts share one; null when the report spans several currencies.
|
|
119854
|
+
*/
|
|
119855
|
+
currency: (string | null);
|
|
119856
|
+
/**
|
|
119857
|
+
* When this report was calculated (ISO-8601 UTC). The figures are a snapshot at this moment, not live.
|
|
119858
|
+
*/
|
|
119004
119859
|
computedAt: string;
|
|
119860
|
+
/**
|
|
119861
|
+
* Google Ads account this whole report covers, when it covers exactly one; null when it spans several accounts.
|
|
119862
|
+
*/
|
|
119863
|
+
customerId: (string | null);
|
|
119864
|
+
/**
|
|
119865
|
+
* How far back before a conversion a paid click was allowed to sit and still earn the credit, in days.
|
|
119866
|
+
*/
|
|
119005
119867
|
lookbackDays: number;
|
|
119868
|
+
/**
|
|
119869
|
+
* Oldest moment cost was pulled from Google Ads across the accounts below (ISO-8601 UTC); null when any account has never synced.
|
|
119870
|
+
*/
|
|
119871
|
+
costLastSyncedAt: (string | null);
|
|
119872
|
+
/**
|
|
119873
|
+
* 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.
|
|
119874
|
+
*/
|
|
119006
119875
|
unmatchedAttributed: {
|
|
119876
|
+
/**
|
|
119877
|
+
* Revenue that stayed outside every campaign, one row per currency. Never cross-summed.
|
|
119878
|
+
*/
|
|
119007
119879
|
revenue: TrackingGoogleadsRoasReportOutputItems1[];
|
|
119880
|
+
/**
|
|
119881
|
+
* How many distinct customers paid but could not be traced to any Google Ads campaign.
|
|
119882
|
+
*/
|
|
119008
119883
|
conversions: number;
|
|
119884
|
+
/**
|
|
119885
|
+
* 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.
|
|
119886
|
+
*/
|
|
119009
119887
|
utmCampaign: (string | null);
|
|
119010
119888
|
}[];
|
|
119011
119889
|
}
|
|
119012
119890
|
export interface TrackingGoogleadsRoasReportOutputItems {
|
|
119891
|
+
/**
|
|
119892
|
+
* What one attributed customer cost: cost divided by attributed conversions, in minor units of the account currency. null when there were no attributed conversions.
|
|
119893
|
+
*/
|
|
119013
119894
|
cpa: (number | null);
|
|
119895
|
+
/**
|
|
119896
|
+
* Google Ads ad this node is, by its numeric id; null on a campaign or ad group node.
|
|
119897
|
+
*/
|
|
119014
119898
|
adId: (string | null);
|
|
119899
|
+
/**
|
|
119900
|
+
* What Google charged and what Google itself counted for this node over the window.
|
|
119901
|
+
*/
|
|
119015
119902
|
cost: {
|
|
119903
|
+
/**
|
|
119904
|
+
* How many times someone clicked through from Google over the window.
|
|
119905
|
+
*/
|
|
119016
119906
|
clicks: number;
|
|
119907
|
+
/**
|
|
119908
|
+
* ISO-4217 code of the Google Ads account these numbers come from, e.g. USD. Fixed per account.
|
|
119909
|
+
*/
|
|
119017
119910
|
currency: string;
|
|
119911
|
+
/**
|
|
119912
|
+
* What Google charged for this campaign, ad group or ad over the window, in minor units (1250 = 12.50).
|
|
119913
|
+
*/
|
|
119018
119914
|
costMinor: number;
|
|
119915
|
+
/**
|
|
119916
|
+
* How many times Google showed this ad over the window.
|
|
119917
|
+
*/
|
|
119019
119918
|
impressions: number;
|
|
119919
|
+
/**
|
|
119920
|
+
* Conversions GOOGLE counted for this node — its own attribution, not ours. May be fractional, because Google splits credit across touchpoints.
|
|
119921
|
+
*/
|
|
119020
119922
|
platformConversions: number;
|
|
119923
|
+
/**
|
|
119924
|
+
* Conversion value GOOGLE reports for this node, in minor units of the account currency. Compare it with our attributed revenue; the two rarely agree.
|
|
119925
|
+
*/
|
|
119021
119926
|
platformConversionsValueMinor: number;
|
|
119022
119927
|
};
|
|
119928
|
+
/**
|
|
119929
|
+
* What this campaign, ad group or ad is called in Google Ads; null when the name has not been synced.
|
|
119930
|
+
*/
|
|
119023
119931
|
name: (string | null);
|
|
119932
|
+
/**
|
|
119933
|
+
* 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.
|
|
119934
|
+
*/
|
|
119024
119935
|
roas: (number | null);
|
|
119936
|
+
/**
|
|
119937
|
+
* 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.
|
|
119938
|
+
*/
|
|
119025
119939
|
level: ("campaign" | "ad_group" | "ad");
|
|
119940
|
+
/**
|
|
119941
|
+
* Google Ads campaign state, passed through raw: ENABLED, PAUSED, REMOVED. Present on campaign nodes only — the key is absent below.
|
|
119942
|
+
*/
|
|
119026
119943
|
status?: string;
|
|
119944
|
+
/**
|
|
119945
|
+
* The level below this one: ad groups under a campaign, ads under an ad group, empty on an ad.
|
|
119946
|
+
*/
|
|
119027
119947
|
children: TrackingGoogleadsRoasReportOutputItems[];
|
|
119948
|
+
/**
|
|
119949
|
+
* Google Ads ad group this node belongs to, by its numeric id; null on a campaign node.
|
|
119950
|
+
*/
|
|
119028
119951
|
adGroupId: (string | null);
|
|
119952
|
+
/**
|
|
119953
|
+
* What WE traced back to this node from our own tracking. null below campaign level, and null on a campaign nothing was traced to.
|
|
119954
|
+
*/
|
|
119029
119955
|
attributed: ({
|
|
119956
|
+
/**
|
|
119957
|
+
* What WE traced back to this campaign, one row per currency the customers paid in. Never cross-summed — use accountCurrencyNetMinor for a single figure.
|
|
119958
|
+
*/
|
|
119030
119959
|
revenue: TrackingGoogleadsRoasReportOutputItems1[];
|
|
119031
|
-
|
|
119960
|
+
/**
|
|
119961
|
+
* 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.
|
|
119962
|
+
*/
|
|
119963
|
+
matchedBy: (("lt_campaign_id" | "campaign_id" | "campaign_name" | "gclid") | null);
|
|
119964
|
+
/**
|
|
119965
|
+
* 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.
|
|
119966
|
+
*/
|
|
119032
119967
|
conversions: number;
|
|
119968
|
+
/**
|
|
119969
|
+
* 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.
|
|
119970
|
+
*/
|
|
119033
119971
|
accountCurrencyNetMinor: number;
|
|
119034
119972
|
} | null);
|
|
119973
|
+
/**
|
|
119974
|
+
* Google Ads campaign this node belongs to, by its numeric id. Set at every level.
|
|
119975
|
+
*/
|
|
119035
119976
|
campaignId: string;
|
|
119977
|
+
/**
|
|
119978
|
+
* Google Ads account this node belongs to, by customer id without dashes.
|
|
119979
|
+
*/
|
|
119036
119980
|
customerId: string;
|
|
119981
|
+
/**
|
|
119982
|
+
* 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.
|
|
119983
|
+
*/
|
|
119037
119984
|
channelType?: (string | null);
|
|
119038
119985
|
}
|
|
119039
119986
|
export interface TrackingGoogleadsRoasReportOutputItems1 {
|
|
119987
|
+
/**
|
|
119988
|
+
* ISO-4217 code the three amounts on this row are denominated in, e.g. USD. One row per currency; rows are never added together.
|
|
119989
|
+
*/
|
|
119040
119990
|
currency: string;
|
|
119991
|
+
/**
|
|
119992
|
+
* Money kept after refunds (gross minus refunded), in minor units of this row's currency. This is what ROAS is calculated from.
|
|
119993
|
+
*/
|
|
119041
119994
|
netMinor: number;
|
|
119995
|
+
/**
|
|
119996
|
+
* Money taken before refunds, in minor units of this row's currency (1250 = 12.50).
|
|
119997
|
+
*/
|
|
119042
119998
|
grossMinor: number;
|
|
119999
|
+
/**
|
|
120000
|
+
* Money given back within the window, in minor units of this row's currency; already subtracted from netMinor.
|
|
120001
|
+
*/
|
|
119043
120002
|
refundedMinor: number;
|
|
119044
120003
|
}
|
|
119045
120004
|
export interface TrackingGoogleadsSyncNowInput {
|
|
119046
120005
|
}
|
|
119047
120006
|
export interface TrackingGoogleadsSyncNowOutput {
|
|
120007
|
+
/**
|
|
120008
|
+
* 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.
|
|
120009
|
+
*/
|
|
119048
120010
|
rows: {
|
|
120011
|
+
/**
|
|
120012
|
+
* Ads written.
|
|
120013
|
+
*/
|
|
119049
120014
|
ads: number;
|
|
120015
|
+
/**
|
|
120016
|
+
* Day-by-day ad spend and metric rows written.
|
|
120017
|
+
*/
|
|
119050
120018
|
adDaily: number;
|
|
120019
|
+
/**
|
|
120020
|
+
* Ad groups written.
|
|
120021
|
+
*/
|
|
119051
120022
|
adGroups: number;
|
|
120023
|
+
/**
|
|
120024
|
+
* Campaigns written, names and status included.
|
|
120025
|
+
*/
|
|
119052
120026
|
campaigns: number;
|
|
120027
|
+
/**
|
|
120028
|
+
* Day-by-day ad-group spend and metric rows written.
|
|
120029
|
+
*/
|
|
119053
120030
|
adGroupDaily: number;
|
|
120031
|
+
/**
|
|
120032
|
+
* Day-by-day campaign spend and metric rows written.
|
|
120033
|
+
*/
|
|
119054
120034
|
campaignDaily: number;
|
|
119055
120035
|
};
|
|
120036
|
+
/**
|
|
120037
|
+
* 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.
|
|
120038
|
+
*/
|
|
120039
|
+
runId: string;
|
|
120040
|
+
/**
|
|
120041
|
+
* 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.
|
|
120042
|
+
*/
|
|
119056
120043
|
reason?: string;
|
|
120044
|
+
/**
|
|
120045
|
+
* Whether the sweep ran. skipped means the Google Ads account could not be reached and nothing at all was written.
|
|
120046
|
+
*/
|
|
119057
120047
|
status: ("ok" | "skipped");
|
|
120048
|
+
/**
|
|
120049
|
+
* The range of days this sweep read spend and metrics for.
|
|
120050
|
+
*/
|
|
119058
120051
|
window: {
|
|
120052
|
+
/**
|
|
120053
|
+
* Last day covered, inclusive, as YYYY-MM-DD.
|
|
120054
|
+
*/
|
|
119059
120055
|
end: string;
|
|
120056
|
+
/**
|
|
120057
|
+
* First day covered, inclusive, as YYYY-MM-DD.
|
|
120058
|
+
*/
|
|
119060
120059
|
start: string;
|
|
119061
120060
|
};
|
|
120061
|
+
/**
|
|
120062
|
+
* The tenant whose Google Ads account was swept.
|
|
120063
|
+
*/
|
|
119062
120064
|
productId: string;
|
|
120065
|
+
/**
|
|
120066
|
+
* When the sweep finished. Null when nothing was written.
|
|
120067
|
+
*/
|
|
119063
120068
|
lastSyncedAt: (string | null);
|
|
119064
120069
|
}
|
|
119065
120070
|
export interface TrackingGoogleadsTrackingHealthInput {
|
|
@@ -119073,61 +120078,212 @@ export interface TrackingGoogleadsTrackingHealthInput {
|
|
|
119073
120078
|
from?: string;
|
|
119074
120079
|
}
|
|
119075
120080
|
export interface TrackingGoogleadsTrackingHealthOutput {
|
|
120081
|
+
/**
|
|
120082
|
+
* End of the range these figures cover, as an instant.
|
|
120083
|
+
*/
|
|
119076
120084
|
to: string;
|
|
120085
|
+
/**
|
|
120086
|
+
* Start of the range these figures cover, as an instant. Echoes back the range that was asked for.
|
|
120087
|
+
*/
|
|
119077
120088
|
from: string;
|
|
120089
|
+
/**
|
|
120090
|
+
* Whether the tracking template has been seen working live: true once at least one tagged click has arrived.
|
|
120091
|
+
*/
|
|
119078
120092
|
installed: boolean;
|
|
120093
|
+
/**
|
|
120094
|
+
* Whether the sample above was cut short. True means more untagged URLs exist than are listed.
|
|
120095
|
+
*/
|
|
119079
120096
|
truncated: boolean;
|
|
120097
|
+
/**
|
|
120098
|
+
* Google paid clicks that arrived on the site in this range. The denominator for everything below.
|
|
120099
|
+
*/
|
|
119080
120100
|
paidClicks: number;
|
|
120101
|
+
/**
|
|
120102
|
+
* 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.
|
|
120103
|
+
*/
|
|
119081
120104
|
dataQuality: {
|
|
120105
|
+
/**
|
|
120106
|
+
* 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.
|
|
120107
|
+
*/
|
|
119082
120108
|
cookielessPaidClicks: number;
|
|
119083
120109
|
};
|
|
120110
|
+
/**
|
|
120111
|
+
* Share of paid clicks that arrived untagged, between 0 and 1. Anything much above zero means the tracking template needs fixing.
|
|
120112
|
+
*/
|
|
119084
120113
|
breakageRate: number;
|
|
120114
|
+
/**
|
|
120115
|
+
* Of those, the ones that arrived carrying our URL tracking parameters, so the campaign behind them is known.
|
|
120116
|
+
*/
|
|
119085
120117
|
taggedClicks: number;
|
|
120118
|
+
/**
|
|
120119
|
+
* When the most recent untagged click arrived. Close to now means the breakage is still live. Null when none did.
|
|
120120
|
+
*/
|
|
119086
120121
|
lastUntaggedAt: (string | null);
|
|
120122
|
+
/**
|
|
120123
|
+
* 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.
|
|
120124
|
+
*/
|
|
119087
120125
|
untaggedClicks: number;
|
|
120126
|
+
/**
|
|
120127
|
+
* When the first untagged click of the range arrived — roughly when the breakage started. Null when none did.
|
|
120128
|
+
*/
|
|
119088
120129
|
firstUntaggedAt: (string | null);
|
|
120130
|
+
/**
|
|
120131
|
+
* 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.
|
|
120132
|
+
*/
|
|
119089
120133
|
sampleUntaggedUrls: string[];
|
|
119090
120134
|
}
|
|
119091
120135
|
export interface TrackingGoogleadsUsVsPlatformInput {
|
|
119092
|
-
|
|
119093
|
-
|
|
120136
|
+
/**
|
|
120137
|
+
* 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.
|
|
120138
|
+
*/
|
|
120139
|
+
to?: string;
|
|
120140
|
+
/**
|
|
120141
|
+
* 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.
|
|
120142
|
+
*/
|
|
120143
|
+
from?: string;
|
|
120144
|
+
/**
|
|
120145
|
+
* Which touchpoint gets the credit for a conversion: the last paid click before it, or the first. Defaults to last_click.
|
|
120146
|
+
*/
|
|
119094
120147
|
model?: ("last_click" | "first_click");
|
|
120148
|
+
/**
|
|
120149
|
+
* Restrict to conversions tracked on this installed site, e.g. acme.com. Omit to cover every domain of the product.
|
|
120150
|
+
*/
|
|
119095
120151
|
domain?: string;
|
|
120152
|
+
/**
|
|
120153
|
+
* Restrict to one Google Ads account, by its customer id without dashes. Omit to cover every connected account.
|
|
120154
|
+
*/
|
|
119096
120155
|
customerId?: string;
|
|
120156
|
+
/**
|
|
120157
|
+
* 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.
|
|
120158
|
+
*/
|
|
119097
120159
|
lookbackDays?: number;
|
|
119098
120160
|
}
|
|
119099
120161
|
export interface TrackingGoogleadsUsVsPlatformOutput {
|
|
120162
|
+
/**
|
|
120163
|
+
* End of the window this comparison covers, echoed back as an ISO-8601 UTC timestamp.
|
|
120164
|
+
*/
|
|
119100
120165
|
to: string;
|
|
120166
|
+
/**
|
|
120167
|
+
* Start of the window this comparison covers, echoed back as an ISO-8601 UTC timestamp.
|
|
120168
|
+
*/
|
|
119101
120169
|
from: string;
|
|
120170
|
+
/**
|
|
120171
|
+
* 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.
|
|
120172
|
+
*/
|
|
119102
120173
|
model: ("last_click" | "first_click");
|
|
120174
|
+
/**
|
|
120175
|
+
* 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.
|
|
120176
|
+
*/
|
|
120177
|
+
stale: boolean;
|
|
120178
|
+
/**
|
|
120179
|
+
* The installed site this comparison was restricted to; null when it covers every domain of the product.
|
|
120180
|
+
*/
|
|
119103
120181
|
domain: (string | null);
|
|
120182
|
+
/**
|
|
120183
|
+
* One entry per Google Ads account and currency, each holding its per-campaign comparison rows. Currencies are never added together.
|
|
120184
|
+
*/
|
|
119104
120185
|
accounts: {
|
|
120186
|
+
/**
|
|
120187
|
+
* One row per campaign in this account, ours beside Google's.
|
|
120188
|
+
*/
|
|
119105
120189
|
rows: {
|
|
120190
|
+
/**
|
|
120191
|
+
* What this campaign is called in Google Ads; null when the name has not been synced.
|
|
120192
|
+
*/
|
|
119106
120193
|
name: (string | null);
|
|
120194
|
+
/**
|
|
120195
|
+
* ISO-4217 code both sides of this comparison are expressed in, e.g. USD. Ours and Google's are never converted.
|
|
120196
|
+
*/
|
|
119107
120197
|
currency: string;
|
|
120198
|
+
/**
|
|
120199
|
+
* The Google Ads campaign this row compares, by its numeric id.
|
|
120200
|
+
*/
|
|
119108
120201
|
campaignId: string;
|
|
120202
|
+
/**
|
|
120203
|
+
* Google Ads account this campaign belongs to, by customer id without dashes.
|
|
120204
|
+
*/
|
|
119109
120205
|
customerId: string;
|
|
120206
|
+
/**
|
|
120207
|
+
* How many distinct customers WE traced to this campaign. A whole number: we never split a customer across campaigns.
|
|
120208
|
+
*/
|
|
119110
120209
|
ourConversions: number;
|
|
120210
|
+
/**
|
|
120211
|
+
* Net revenue WE traced to this campaign, in minor units of the account currency (1250 = 12.50). 0 when we traced none.
|
|
120212
|
+
*/
|
|
119111
120213
|
ourRevenueNetMinor: number;
|
|
120214
|
+
/**
|
|
120215
|
+
* 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.
|
|
120216
|
+
*/
|
|
119112
120217
|
platformConversions: number;
|
|
120218
|
+
/**
|
|
120219
|
+
* Conversion value GOOGLE reports for the same campaign, in minor units of the account currency. The counterpart of ourRevenueNetMinor.
|
|
120220
|
+
*/
|
|
119113
120221
|
platformConversionsValueMinor: number;
|
|
119114
120222
|
}[];
|
|
120223
|
+
/**
|
|
120224
|
+
* 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.
|
|
120225
|
+
*/
|
|
119115
120226
|
stale: boolean;
|
|
120227
|
+
/**
|
|
120228
|
+
* 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.
|
|
120229
|
+
*/
|
|
119116
120230
|
currency: string;
|
|
120231
|
+
/**
|
|
120232
|
+
* Google Ads account these comparison rows belong to, by customer id without dashes.
|
|
120233
|
+
*/
|
|
119117
120234
|
customerId: string;
|
|
120235
|
+
/**
|
|
120236
|
+
* When cost was last pulled from Google Ads for this account (ISO-8601 UTC); null when it has never been pulled.
|
|
120237
|
+
*/
|
|
119118
120238
|
costLastSyncedAt: (string | null);
|
|
119119
120239
|
}[];
|
|
120240
|
+
/**
|
|
120241
|
+
* ISO-4217 code every amount in this report is expressed in, when all accounts share one; null when the report spans several currencies.
|
|
120242
|
+
*/
|
|
120243
|
+
currency: (string | null);
|
|
120244
|
+
/**
|
|
120245
|
+
* When this comparison was calculated (ISO-8601 UTC). The figures are a snapshot at this moment, not live.
|
|
120246
|
+
*/
|
|
119120
120247
|
computedAt: string;
|
|
120248
|
+
/**
|
|
120249
|
+
* Google Ads account this whole report covers, when it covers exactly one; null when it spans several accounts.
|
|
120250
|
+
*/
|
|
120251
|
+
customerId: (string | null);
|
|
120252
|
+
/**
|
|
120253
|
+
* How far back before a conversion a paid click was allowed to sit and still earn the credit on our side, in days.
|
|
120254
|
+
*/
|
|
119121
120255
|
lookbackDays: number;
|
|
120256
|
+
/**
|
|
120257
|
+
* Oldest moment cost was pulled from Google Ads across the accounts below (ISO-8601 UTC); null when any account has never synced.
|
|
120258
|
+
*/
|
|
120259
|
+
costLastSyncedAt: (string | null);
|
|
119122
120260
|
}
|
|
119123
120261
|
export interface TrackingIdentityHealthInput {
|
|
119124
120262
|
}
|
|
119125
120263
|
export interface TrackingIdentityHealthOutput {
|
|
120264
|
+
/**
|
|
120265
|
+
* When these numbers were computed, ISO 8601 UTC. They are a live count, so this is effectively the moment of the call.
|
|
120266
|
+
*/
|
|
119126
120267
|
computedAt: string;
|
|
120268
|
+
/**
|
|
120269
|
+
* How many people the product holds in total, anonymous ones included. The denominator of both rates below.
|
|
120270
|
+
*/
|
|
119127
120271
|
totalProfiles: number;
|
|
120272
|
+
/**
|
|
120273
|
+
* 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.
|
|
120274
|
+
*/
|
|
119128
120275
|
identifiedRate: number;
|
|
120276
|
+
/**
|
|
120277
|
+
* 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.
|
|
120278
|
+
*/
|
|
119129
120279
|
adTouchpointRate: number;
|
|
120280
|
+
/**
|
|
120281
|
+
* How many of them an email or phone is known for — the people a message can actually be sent to.
|
|
120282
|
+
*/
|
|
119130
120283
|
identifiedProfiles: number;
|
|
120284
|
+
/**
|
|
120285
|
+
* 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.
|
|
120286
|
+
*/
|
|
119131
120287
|
adTouchpointProfiles: number;
|
|
119132
120288
|
}
|
|
119133
120289
|
export interface TrackingInstallDomainsCreateInput {
|
|
@@ -119137,6 +120293,9 @@ export interface TrackingInstallDomainsCreateInput {
|
|
|
119137
120293
|
domain: string;
|
|
119138
120294
|
}
|
|
119139
120295
|
export interface TrackingInstallDomainsCreateOutput {
|
|
120296
|
+
/**
|
|
120297
|
+
* The domain as stored after normalisation, which may differ from what was submitted
|
|
120298
|
+
*/
|
|
119140
120299
|
domain: string;
|
|
119141
120300
|
}
|
|
119142
120301
|
export interface TrackingInstallDomainsDeleteInput {
|
|
@@ -119146,19 +120305,43 @@ export interface TrackingInstallDomainsDeleteInput {
|
|
|
119146
120305
|
domain: string;
|
|
119147
120306
|
}
|
|
119148
120307
|
export interface TrackingInstallDomainsDeleteOutput {
|
|
120308
|
+
/**
|
|
120309
|
+
* Always true — the domain was removed; a failure arrives as an error, not as false
|
|
120310
|
+
*/
|
|
119149
120311
|
ok: true;
|
|
119150
120312
|
}
|
|
119151
120313
|
export interface TrackingInstallDomainsListInput {
|
|
119152
120314
|
}
|
|
119153
120315
|
export interface TrackingInstallDomainsListOutput {
|
|
120316
|
+
/**
|
|
120317
|
+
* Domains sending events that nobody registered — usually a staging host, a typo, or an install worth adding
|
|
120318
|
+
*/
|
|
119154
120319
|
discovered: TrackingInstallDomainsListOutputItems[];
|
|
120320
|
+
/**
|
|
120321
|
+
* Domains deliberately put on the install checklist, each with whether its script has been seen
|
|
120322
|
+
*/
|
|
119155
120323
|
registered: TrackingInstallDomainsListOutputItems[];
|
|
120324
|
+
/**
|
|
120325
|
+
* Length in days of the lookback window the `seen` and `lastSeen` figures are measured over
|
|
120326
|
+
*/
|
|
119156
120327
|
windowDays: number;
|
|
119157
120328
|
}
|
|
119158
120329
|
export interface TrackingInstallDomainsListOutputItems {
|
|
120330
|
+
/**
|
|
120331
|
+
* Whether the tracking script actually sent an event from this domain inside the lookback window
|
|
120332
|
+
*/
|
|
119159
120333
|
seen: boolean;
|
|
120334
|
+
/**
|
|
120335
|
+
* Normalised domain name the status is reported for
|
|
120336
|
+
*/
|
|
119160
120337
|
domain: string;
|
|
120338
|
+
/**
|
|
120339
|
+
* ISO-8601 timestamp of the most recent event from this domain, or null if none arrived in the window
|
|
120340
|
+
*/
|
|
119161
120341
|
lastSeen: (string | null);
|
|
120342
|
+
/**
|
|
120343
|
+
* Whether the domain is on the install checklist on purpose, as opposed to merely observed sending events
|
|
120344
|
+
*/
|
|
119162
120345
|
registered: boolean;
|
|
119163
120346
|
}
|
|
119164
120347
|
export interface TrackingLinkDomainsCreateInput {
|
|
@@ -119168,6 +120351,9 @@ export interface TrackingLinkDomainsCreateInput {
|
|
|
119168
120351
|
domain: string;
|
|
119169
120352
|
}
|
|
119170
120353
|
export interface TrackingLinkDomainsCreateOutput {
|
|
120354
|
+
/**
|
|
120355
|
+
* The domain as stored after normalisation, which may differ from what was submitted
|
|
120356
|
+
*/
|
|
119171
120357
|
domain: string;
|
|
119172
120358
|
}
|
|
119173
120359
|
export interface TrackingLinkDomainsDeleteInput {
|
|
@@ -119177,11 +120363,17 @@ export interface TrackingLinkDomainsDeleteInput {
|
|
|
119177
120363
|
domain: string;
|
|
119178
120364
|
}
|
|
119179
120365
|
export interface TrackingLinkDomainsDeleteOutput {
|
|
120366
|
+
/**
|
|
120367
|
+
* Always true — the domain left the linking group; a failure arrives as an error, not as false
|
|
120368
|
+
*/
|
|
119180
120369
|
ok: true;
|
|
119181
120370
|
}
|
|
119182
120371
|
export interface TrackingLinkDomainsListInput {
|
|
119183
120372
|
}
|
|
119184
120373
|
export interface TrackingLinkDomainsListOutput {
|
|
120374
|
+
/**
|
|
120375
|
+
* Root domains in the linking group; the tracking script decorates links between any two of them so one visitor stays one visitor
|
|
120376
|
+
*/
|
|
119185
120377
|
domains: string[];
|
|
119186
120378
|
}
|
|
119187
120379
|
export interface TrackingLiveEventsListInput {
|
|
@@ -119199,22 +120391,70 @@ export interface TrackingLiveEventsListInput {
|
|
|
119199
120391
|
domain?: string;
|
|
119200
120392
|
}
|
|
119201
120393
|
export interface TrackingLiveEventsListOutput {
|
|
120394
|
+
/**
|
|
120395
|
+
* Pass back as `since` to fetch what arrived after this page. Null when there is nothing older to page into.
|
|
120396
|
+
*/
|
|
119202
120397
|
cursor: (string | null);
|
|
120398
|
+
/**
|
|
120399
|
+
* The page of events, newest first.
|
|
120400
|
+
*/
|
|
119203
120401
|
events: {
|
|
120402
|
+
/**
|
|
120403
|
+
* Stable identifier of this single event; unique within the product and safe to deduplicate on across polls.
|
|
120404
|
+
*/
|
|
119204
120405
|
id: string;
|
|
120406
|
+
/**
|
|
120407
|
+
* When the event happened, as reported by the tracker (ISO 8601, UTC).
|
|
120408
|
+
*/
|
|
119205
120409
|
ts: string;
|
|
120410
|
+
/**
|
|
120411
|
+
* Page address the event fired on, query string included. Free text from the customer site, so it can carry personal data.
|
|
120412
|
+
*/
|
|
119206
120413
|
url: (string | null);
|
|
120414
|
+
/**
|
|
120415
|
+
* Event name as sent by the site, e.g. 'pageview' or a custom conversion name.
|
|
120416
|
+
*/
|
|
119207
120417
|
name: string;
|
|
120418
|
+
/**
|
|
120419
|
+
* Document title of that page at the time. Free text from the customer site, so it can carry personal data.
|
|
120420
|
+
*/
|
|
119208
120421
|
title: (string | null);
|
|
120422
|
+
/**
|
|
120423
|
+
* Site the event came from; null when the tracker could not determine one.
|
|
120424
|
+
*/
|
|
119209
120425
|
domain: (string | null);
|
|
120426
|
+
/**
|
|
120427
|
+
* Where this visit came from, as read off the landing URL and referrer. Every field is null when the visit carried nothing.
|
|
120428
|
+
*/
|
|
119210
120429
|
source: {
|
|
120430
|
+
/**
|
|
120431
|
+
* Address the visitor arrived from; null on a direct visit. Free text from the customer site, so it can carry personal data.
|
|
120432
|
+
*/
|
|
119211
120433
|
referrer: (string | null);
|
|
120434
|
+
/**
|
|
120435
|
+
* utm_medium of the landing URL, e.g. cpc; null when absent.
|
|
120436
|
+
*/
|
|
119212
120437
|
utmMedium: (string | null);
|
|
120438
|
+
/**
|
|
120439
|
+
* utm_source of the landing URL, e.g. newsletter; null when absent.
|
|
120440
|
+
*/
|
|
119213
120441
|
utmSource: (string | null);
|
|
120442
|
+
/**
|
|
120443
|
+
* Which ad-network click id was present on the landing URL, e.g. 'gclid'. Null when the visit carried none.
|
|
120444
|
+
*/
|
|
119214
120445
|
clickIdType: (string | null);
|
|
120446
|
+
/**
|
|
120447
|
+
* utm_campaign of the landing URL; null when absent.
|
|
120448
|
+
*/
|
|
119215
120449
|
utmCampaign: (string | null);
|
|
119216
120450
|
};
|
|
120451
|
+
/**
|
|
120452
|
+
* Two-letter ISO 3166-1 alpha-2 country resolved from the request, e.g. DE; null when it could not be resolved.
|
|
120453
|
+
*/
|
|
119217
120454
|
country: (string | null);
|
|
120455
|
+
/**
|
|
120456
|
+
* 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.
|
|
120457
|
+
*/
|
|
119218
120458
|
anonymousId: (string | null);
|
|
119219
120459
|
}[];
|
|
119220
120460
|
}
|
|
@@ -119225,18 +120465,52 @@ export interface TrackingProfilesDeleteInput {
|
|
|
119225
120465
|
profileId: string;
|
|
119226
120466
|
}
|
|
119227
120467
|
export interface TrackingProfilesDeleteOutput {
|
|
120468
|
+
/**
|
|
120469
|
+
* Always true: the response only exists when the erasure ran. A failure arrives as an error, not as ok=false.
|
|
120470
|
+
*/
|
|
119228
120471
|
ok: true;
|
|
120472
|
+
/**
|
|
120473
|
+
* What happened to the archived copy of the events. Postgres is erased synchronously; the archive is not, and this says so out loud.
|
|
120474
|
+
*/
|
|
119229
120475
|
archive: {
|
|
120476
|
+
/**
|
|
120477
|
+
* Plain-language reason the archived copy could not be deleted in the same breath — text meant to be quoted into a compliance record.
|
|
120478
|
+
*/
|
|
119230
120479
|
note: string;
|
|
120480
|
+
/**
|
|
120481
|
+
* Always gap_flagged: the archived copy is known to still hold this person and the gap has been recorded rather than silently ignored.
|
|
120482
|
+
*/
|
|
119231
120483
|
status: "gap_flagged";
|
|
119232
120484
|
};
|
|
120485
|
+
/**
|
|
120486
|
+
* How much was actually destroyed, by kind. Worth recording: it is the evidence that the erasure did something.
|
|
120487
|
+
*/
|
|
119233
120488
|
deleted: {
|
|
120489
|
+
/**
|
|
120490
|
+
* Tracked events removed, found through the anonymous ids this person browsed under.
|
|
120491
|
+
*/
|
|
119234
120492
|
events: number;
|
|
120493
|
+
/**
|
|
120494
|
+
* Merge records removed — the history of this person having been joined with another.
|
|
120495
|
+
*/
|
|
119235
120496
|
merges: number;
|
|
120497
|
+
/**
|
|
120498
|
+
* Profile rows removed: 1 in practice, and 0 only if the row vanished between the lookup and the delete.
|
|
120499
|
+
*/
|
|
119236
120500
|
profile: number;
|
|
120501
|
+
/**
|
|
120502
|
+
* Emails, phones, anonymous ids and click ids removed for this person.
|
|
120503
|
+
*/
|
|
119237
120504
|
identifiers: number;
|
|
119238
120505
|
};
|
|
120506
|
+
/**
|
|
120507
|
+
* The person who was erased. Nothing else of them remains, so this is all there is left to name them by.
|
|
120508
|
+
*/
|
|
119239
120509
|
profileId: string;
|
|
120510
|
+
/**
|
|
120511
|
+
* 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.
|
|
120512
|
+
*/
|
|
120513
|
+
requestId: string;
|
|
119240
120514
|
}
|
|
119241
120515
|
export interface TrackingProfilesExportInput {
|
|
119242
120516
|
/**
|
|
@@ -119245,52 +120519,172 @@ export interface TrackingProfilesExportInput {
|
|
|
119245
120519
|
profileId: string;
|
|
119246
120520
|
}
|
|
119247
120521
|
export interface TrackingProfilesExportOutput {
|
|
120522
|
+
/**
|
|
120523
|
+
* The complete history, newest event first, capped at 50000 events — check `truncated` before treating it as complete.
|
|
120524
|
+
*/
|
|
119248
120525
|
journey: {
|
|
120526
|
+
/**
|
|
120527
|
+
* When the event happened, ISO 8601 UTC. The journey is ordered by this, newest first.
|
|
120528
|
+
*/
|
|
119249
120529
|
ts: string;
|
|
120530
|
+
/**
|
|
120531
|
+
* Opaque handle for this one event, unique inside the product. Use it to deduplicate, not to sort — it carries no order.
|
|
120532
|
+
*/
|
|
119250
120533
|
ref: string;
|
|
120534
|
+
/**
|
|
120535
|
+
* Full address of the page, query string included. Personal data — it can carry an email in a link. Null off-page.
|
|
120536
|
+
*/
|
|
119251
120537
|
url: (string | null);
|
|
120538
|
+
/**
|
|
120539
|
+
* What happened, as the tracking snippet named it: page_view, signup, purchase, or any custom name the product sends.
|
|
120540
|
+
*/
|
|
119252
120541
|
name: string;
|
|
119253
|
-
|
|
120542
|
+
/**
|
|
120543
|
+
* Custom properties the product attached to this event. Free-form: the keys are whatever the snippet sent, and they differ by event name.
|
|
120544
|
+
*/
|
|
120545
|
+
props: {
|
|
119254
120546
|
[k: string]: unknown;
|
|
119255
120547
|
};
|
|
120548
|
+
/**
|
|
120549
|
+
* Title of the page as the browser reported it. Null off-page.
|
|
120550
|
+
*/
|
|
119256
120551
|
title: (string | null);
|
|
120552
|
+
/**
|
|
120553
|
+
* Hostname the event was sent from. Null for an event with no page behind it, such as a server-side call.
|
|
120554
|
+
*/
|
|
119257
120555
|
domain: (string | null);
|
|
120556
|
+
/**
|
|
120557
|
+
* Campaign tags and ad click carried by this event, as they were on the URL at the time.
|
|
120558
|
+
*/
|
|
119258
120559
|
source: {
|
|
120560
|
+
/**
|
|
120561
|
+
* The ad click identifier on this URL, raw. Personal data: it resolves to one individual inside the ad network.
|
|
120562
|
+
*/
|
|
119259
120563
|
clickId: (string | null);
|
|
120564
|
+
/**
|
|
120565
|
+
* utm_term on the URL of this event — the keyword bought, on a paid-search arrival.
|
|
120566
|
+
*/
|
|
119260
120567
|
utmTerm: (string | null);
|
|
120568
|
+
/**
|
|
120569
|
+
* utm_medium on the URL of this event.
|
|
120570
|
+
*/
|
|
119261
120571
|
utmMedium: (string | null);
|
|
120572
|
+
/**
|
|
120573
|
+
* utm_source on the URL of THIS event — the campaign at this moment, not the one that first acquired the person.
|
|
120574
|
+
*/
|
|
119262
120575
|
utmSource: (string | null);
|
|
120576
|
+
/**
|
|
120577
|
+
* utm_content on the URL of this event — which creative or link variant was clicked.
|
|
120578
|
+
*/
|
|
119263
120579
|
utmContent: (string | null);
|
|
120580
|
+
/**
|
|
120581
|
+
* Which ad network stamped the click id below: gclid for Google Ads, fbclid for Meta. Null on a non-ad arrival.
|
|
120582
|
+
*/
|
|
119264
120583
|
clickIdType: (string | null);
|
|
120584
|
+
/**
|
|
120585
|
+
* utm_campaign on the URL of this event.
|
|
120586
|
+
*/
|
|
119265
120587
|
utmCampaign: (string | null);
|
|
119266
120588
|
};
|
|
120589
|
+
/**
|
|
120590
|
+
* Two-letter ISO 3166-1 country the request came from, resolved from the IP at collection time. Null when it could not be resolved.
|
|
120591
|
+
*/
|
|
119267
120592
|
country: (string | null);
|
|
120593
|
+
/**
|
|
120594
|
+
* Where the person came from immediately before this event. Null on a direct arrival or off-page.
|
|
120595
|
+
*/
|
|
119268
120596
|
referrer: (string | null);
|
|
120597
|
+
/**
|
|
120598
|
+
* Handle for the browsing session this event belongs to; events sharing it happened in one sitting. Null for an event collected outside a session.
|
|
120599
|
+
*/
|
|
119269
120600
|
sessionId: (string | null);
|
|
119270
120601
|
}[];
|
|
120602
|
+
/**
|
|
120603
|
+
* The person themselves: their handle, how far they have come, and when they were seen.
|
|
120604
|
+
*/
|
|
119271
120605
|
profile: {
|
|
120606
|
+
/**
|
|
120607
|
+
* 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.
|
|
120608
|
+
*/
|
|
119272
120609
|
status: ("anonymous" | "identified" | "customer");
|
|
120610
|
+
/**
|
|
120611
|
+
* When this product first created the profile row, ISO 8601 UTC. Later than firstSeenAt when events were backfilled.
|
|
120612
|
+
*/
|
|
119273
120613
|
createdAt: string;
|
|
120614
|
+
/**
|
|
120615
|
+
* Stable handle for this person inside the product. Pass it to any other people step; it survives identity merges.
|
|
120616
|
+
*/
|
|
119274
120617
|
profileId: string;
|
|
120618
|
+
/**
|
|
120619
|
+
* Timestamp of their most recent event, ISO 8601 UTC — the freshness of everything else here.
|
|
120620
|
+
*/
|
|
119275
120621
|
lastSeenAt: string;
|
|
120622
|
+
/**
|
|
120623
|
+
* Timestamp of the earliest event on record for this person, ISO 8601 UTC.
|
|
120624
|
+
*/
|
|
119276
120625
|
firstSeenAt: string;
|
|
119277
120626
|
};
|
|
120627
|
+
/**
|
|
120628
|
+
* 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.
|
|
120629
|
+
*/
|
|
119278
120630
|
signals: {
|
|
120631
|
+
/**
|
|
120632
|
+
* 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.
|
|
120633
|
+
*/
|
|
119279
120634
|
emails: string[];
|
|
120635
|
+
/**
|
|
120636
|
+
* Every phone number this person has been identified by. Stably ordered for display and diffing only, with no primary among them.
|
|
120637
|
+
*/
|
|
119280
120638
|
phones: string[];
|
|
120639
|
+
/**
|
|
120640
|
+
* Distinct hostnames this person browsed, taken from their events — not an identifier type, just where they were.
|
|
120641
|
+
*/
|
|
119281
120642
|
domains: string[];
|
|
120643
|
+
/**
|
|
120644
|
+
* 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.
|
|
120645
|
+
*/
|
|
119282
120646
|
clickIds: {
|
|
120647
|
+
/**
|
|
120648
|
+
* Which ad network the click came from — gclid for Google Ads, fbclid for Meta. Open set.
|
|
120649
|
+
*/
|
|
119283
120650
|
type: string;
|
|
120651
|
+
/**
|
|
120652
|
+
* The click identifier itself, raw, as the network stamped it on the landing URL.
|
|
120653
|
+
*/
|
|
119284
120654
|
value: string;
|
|
119285
120655
|
}[];
|
|
119286
120656
|
};
|
|
120657
|
+
/**
|
|
120658
|
+
* True when the history hit the 50000-event cap and older events were left out. False means this export is everything held.
|
|
120659
|
+
*/
|
|
119287
120660
|
truncated: boolean;
|
|
120661
|
+
/**
|
|
120662
|
+
* When this export was produced, ISO 8601 UTC — the as-of date to put on a subject-access response.
|
|
120663
|
+
*/
|
|
119288
120664
|
exportedAt: string;
|
|
120665
|
+
/**
|
|
120666
|
+
* 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.
|
|
120667
|
+
*/
|
|
119289
120668
|
acquisition: ({
|
|
120669
|
+
/**
|
|
120670
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
120671
|
+
*/
|
|
119290
120672
|
utmMedium: (string | null);
|
|
120673
|
+
/**
|
|
120674
|
+
* 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.
|
|
120675
|
+
*/
|
|
119291
120676
|
utmSource: (string | null);
|
|
120677
|
+
/**
|
|
120678
|
+
* 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.
|
|
120679
|
+
*/
|
|
119292
120680
|
clickIdType: (string | null);
|
|
120681
|
+
/**
|
|
120682
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
120683
|
+
*/
|
|
119293
120684
|
firstSeenAt: string;
|
|
120685
|
+
/**
|
|
120686
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
120687
|
+
*/
|
|
119294
120688
|
utmCampaign: (string | null);
|
|
119295
120689
|
} | null);
|
|
119296
120690
|
}
|
|
@@ -119304,76 +120698,226 @@ export interface TrackingProfilesGetInput {
|
|
|
119304
120698
|
*/
|
|
119305
120699
|
journeyLimit?: number;
|
|
119306
120700
|
/**
|
|
119307
|
-
*
|
|
120701
|
+
* Continue paging back through the journey: pass the cursor the previous page returned. Omit to start at the most recent event.
|
|
119308
120702
|
*/
|
|
119309
120703
|
journeyCursor?: string;
|
|
119310
120704
|
}
|
|
119311
120705
|
export interface TrackingProfilesGetOutput {
|
|
120706
|
+
/**
|
|
120707
|
+
* Lifetime value of this person, per currency. Null when revenue tracking is not in use for the product.
|
|
120708
|
+
*/
|
|
119312
120709
|
ltv: ({
|
|
120710
|
+
/**
|
|
120711
|
+
* 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.
|
|
120712
|
+
*/
|
|
119313
120713
|
entries: {
|
|
120714
|
+
/**
|
|
120715
|
+
* ISO 4217 code the amounts beside it are denominated in, e.g. EUR. One entry per code the person ever paid in.
|
|
120716
|
+
*/
|
|
119314
120717
|
currency: string;
|
|
120718
|
+
/**
|
|
120719
|
+
* What the business actually kept: gross minus refunded, in minor units. This is the number to rank customers by.
|
|
120720
|
+
*/
|
|
119315
120721
|
netMinor: number;
|
|
120722
|
+
/**
|
|
120723
|
+
* Everything the person was ever charged, in minor units (1250 = 12.50 EUR). Refunds are not subtracted here.
|
|
120724
|
+
*/
|
|
119316
120725
|
grossMinor: number;
|
|
120726
|
+
/**
|
|
120727
|
+
* Their most recent payment in this currency, ISO 8601 UTC — how live the relationship is.
|
|
120728
|
+
*/
|
|
119317
120729
|
lastPaymentAt: (string | null);
|
|
120730
|
+
/**
|
|
120731
|
+
* How much of the gross went back to them, in minor units. Zero for a person who never had a refund.
|
|
120732
|
+
*/
|
|
119318
120733
|
refundedMinor: number;
|
|
120734
|
+
/**
|
|
120735
|
+
* When this person first paid in this currency, ISO 8601 UTC. Null when the totals were computed without a dated payment.
|
|
120736
|
+
*/
|
|
119319
120737
|
firstPaymentAt: (string | null);
|
|
119320
120738
|
}[];
|
|
120739
|
+
/**
|
|
120740
|
+
* The person these totals belong to — the same handle as profile.profileId.
|
|
120741
|
+
*/
|
|
119321
120742
|
profileId: string;
|
|
120743
|
+
/**
|
|
120744
|
+
* When these totals were last recomputed, ISO 8601 UTC. Null when they have never been computed.
|
|
120745
|
+
*/
|
|
119322
120746
|
computedAt: (string | null);
|
|
119323
120747
|
} | null);
|
|
120748
|
+
/**
|
|
120749
|
+
* 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.
|
|
120750
|
+
*/
|
|
119324
120751
|
journey: {
|
|
120752
|
+
/**
|
|
120753
|
+
* Pass back as `journeyCursor` to page further back in time. Null once the journey is exhausted.
|
|
120754
|
+
*/
|
|
119325
120755
|
cursor: (string | null);
|
|
120756
|
+
/**
|
|
120757
|
+
* This page of the journey, newest event first.
|
|
120758
|
+
*/
|
|
119326
120759
|
events: {
|
|
120760
|
+
/**
|
|
120761
|
+
* When the event happened, ISO 8601 UTC. The journey is ordered by this, newest first.
|
|
120762
|
+
*/
|
|
119327
120763
|
ts: string;
|
|
120764
|
+
/**
|
|
120765
|
+
* Opaque handle for this one event, unique inside the product. Use it to deduplicate, not to sort — it carries no order.
|
|
120766
|
+
*/
|
|
119328
120767
|
ref: string;
|
|
120768
|
+
/**
|
|
120769
|
+
* Full address of the page, query string included. Personal data — it can carry an email in a link. Null off-page.
|
|
120770
|
+
*/
|
|
119329
120771
|
url: (string | null);
|
|
120772
|
+
/**
|
|
120773
|
+
* What happened, as the tracking snippet named it: page_view, signup, purchase, or any custom name the product sends.
|
|
120774
|
+
*/
|
|
119330
120775
|
name: string;
|
|
120776
|
+
/**
|
|
120777
|
+
* Custom properties the product attached to this event. Free-form: the keys are whatever the snippet sent, and they differ by event name.
|
|
120778
|
+
*/
|
|
119331
120779
|
props: {
|
|
119332
120780
|
[k: string]: unknown;
|
|
119333
120781
|
};
|
|
120782
|
+
/**
|
|
120783
|
+
* Title of the page as the browser reported it. Null off-page.
|
|
120784
|
+
*/
|
|
119334
120785
|
title: (string | null);
|
|
120786
|
+
/**
|
|
120787
|
+
* Hostname the event was sent from. Null for an event with no page behind it, such as a server-side call.
|
|
120788
|
+
*/
|
|
119335
120789
|
domain: (string | null);
|
|
120790
|
+
/**
|
|
120791
|
+
* Campaign tags and ad click carried by this event, as they were on the URL at the time.
|
|
120792
|
+
*/
|
|
119336
120793
|
source: {
|
|
120794
|
+
/**
|
|
120795
|
+
* The ad click identifier on this URL, raw. Personal data: it resolves to one individual inside the ad network.
|
|
120796
|
+
*/
|
|
119337
120797
|
clickId: (string | null);
|
|
120798
|
+
/**
|
|
120799
|
+
* utm_term on the URL of this event — the keyword bought, on a paid-search arrival.
|
|
120800
|
+
*/
|
|
119338
120801
|
utmTerm: (string | null);
|
|
120802
|
+
/**
|
|
120803
|
+
* utm_medium on the URL of this event.
|
|
120804
|
+
*/
|
|
119339
120805
|
utmMedium: (string | null);
|
|
120806
|
+
/**
|
|
120807
|
+
* utm_source on the URL of THIS event — the campaign at this moment, not the one that first acquired the person.
|
|
120808
|
+
*/
|
|
119340
120809
|
utmSource: (string | null);
|
|
120810
|
+
/**
|
|
120811
|
+
* utm_content on the URL of this event — which creative or link variant was clicked.
|
|
120812
|
+
*/
|
|
119341
120813
|
utmContent: (string | null);
|
|
120814
|
+
/**
|
|
120815
|
+
* Which ad network stamped the click id below: gclid for Google Ads, fbclid for Meta. Null on a non-ad arrival.
|
|
120816
|
+
*/
|
|
119342
120817
|
clickIdType: (string | null);
|
|
120818
|
+
/**
|
|
120819
|
+
* utm_campaign on the URL of this event.
|
|
120820
|
+
*/
|
|
119343
120821
|
utmCampaign: (string | null);
|
|
119344
120822
|
};
|
|
120823
|
+
/**
|
|
120824
|
+
* Two-letter ISO 3166-1 country the request came from, resolved from the IP at collection time. Null when it could not be resolved.
|
|
120825
|
+
*/
|
|
119345
120826
|
country: (string | null);
|
|
120827
|
+
/**
|
|
120828
|
+
* Where the person came from immediately before this event. Null on a direct arrival or off-page.
|
|
120829
|
+
*/
|
|
119346
120830
|
referrer: (string | null);
|
|
120831
|
+
/**
|
|
120832
|
+
* Handle for the browsing session this event belongs to; events sharing it happened in one sitting. Null for an event collected outside a session.
|
|
120833
|
+
*/
|
|
119347
120834
|
sessionId: (string | null);
|
|
119348
120835
|
}[];
|
|
119349
120836
|
};
|
|
120837
|
+
/**
|
|
120838
|
+
* The person themselves: their handle, how far they have come, and when they were seen.
|
|
120839
|
+
*/
|
|
119350
120840
|
profile: {
|
|
120841
|
+
/**
|
|
120842
|
+
* 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.
|
|
120843
|
+
*/
|
|
119351
120844
|
status: ("anonymous" | "identified" | "customer");
|
|
120845
|
+
/**
|
|
120846
|
+
* When this product first created the profile row, ISO 8601 UTC. Later than firstSeenAt when events were backfilled.
|
|
120847
|
+
*/
|
|
119352
120848
|
createdAt: string;
|
|
120849
|
+
/**
|
|
120850
|
+
* Stable handle for this person inside the product. Pass it to any other people step; it survives identity merges.
|
|
120851
|
+
*/
|
|
119353
120852
|
profileId: string;
|
|
120853
|
+
/**
|
|
120854
|
+
* Timestamp of their most recent event, ISO 8601 UTC — the freshness of everything else here.
|
|
120855
|
+
*/
|
|
119354
120856
|
lastSeenAt: string;
|
|
120857
|
+
/**
|
|
120858
|
+
* Timestamp of the earliest event on record for this person, ISO 8601 UTC.
|
|
120859
|
+
*/
|
|
119355
120860
|
firstSeenAt: string;
|
|
119356
120861
|
};
|
|
120862
|
+
/**
|
|
120863
|
+
* 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.
|
|
120864
|
+
*/
|
|
119357
120865
|
signals: {
|
|
120866
|
+
/**
|
|
120867
|
+
* 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.
|
|
120868
|
+
*/
|
|
119358
120869
|
emails: string[];
|
|
120870
|
+
/**
|
|
120871
|
+
* Every phone number this person has been identified by. Stably ordered for display and diffing only, with no primary among them.
|
|
120872
|
+
*/
|
|
119359
120873
|
phones: string[];
|
|
120874
|
+
/**
|
|
120875
|
+
* Distinct hostnames this person browsed, taken from their events — not an identifier type, just where they were.
|
|
120876
|
+
*/
|
|
119360
120877
|
domains: string[];
|
|
120878
|
+
/**
|
|
120879
|
+
* 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.
|
|
120880
|
+
*/
|
|
119361
120881
|
clickIds: {
|
|
120882
|
+
/**
|
|
120883
|
+
* Which ad network the click came from — gclid for Google Ads, fbclid for Meta. Open set.
|
|
120884
|
+
*/
|
|
119362
120885
|
type: string;
|
|
120886
|
+
/**
|
|
120887
|
+
* The click identifier itself, raw, as the network stamped it on the landing URL.
|
|
120888
|
+
*/
|
|
119363
120889
|
value: string;
|
|
119364
120890
|
}[];
|
|
119365
120891
|
};
|
|
120892
|
+
/**
|
|
120893
|
+
* 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.
|
|
120894
|
+
*/
|
|
119366
120895
|
acquisition: ({
|
|
120896
|
+
/**
|
|
120897
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
120898
|
+
*/
|
|
119367
120899
|
utmMedium: (string | null);
|
|
120900
|
+
/**
|
|
120901
|
+
* 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.
|
|
120902
|
+
*/
|
|
119368
120903
|
utmSource: (string | null);
|
|
120904
|
+
/**
|
|
120905
|
+
* 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.
|
|
120906
|
+
*/
|
|
119369
120907
|
clickIdType: (string | null);
|
|
120908
|
+
/**
|
|
120909
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
120910
|
+
*/
|
|
119370
120911
|
firstSeenAt: string;
|
|
120912
|
+
/**
|
|
120913
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
120914
|
+
*/
|
|
119371
120915
|
utmCampaign: (string | null);
|
|
119372
120916
|
} | null);
|
|
119373
120917
|
}
|
|
119374
120918
|
export interface TrackingProfilesListInput {
|
|
119375
120919
|
/**
|
|
119376
|
-
*
|
|
120920
|
+
* Email to search people by — the whole address by default, or its beginning when emailMatch is prefix. Omit to search across everyone.
|
|
119377
120921
|
*/
|
|
119378
120922
|
email?: string;
|
|
119379
120923
|
/**
|
|
@@ -119381,126 +120925,357 @@ export interface TrackingProfilesListInput {
|
|
|
119381
120925
|
*/
|
|
119382
120926
|
limit?: number;
|
|
119383
120927
|
/**
|
|
119384
|
-
*
|
|
120928
|
+
* Continue a previous page: pass the cursor that page returned. Omit to start from the most recently seen person.
|
|
119385
120929
|
*/
|
|
119386
120930
|
cursor?: string;
|
|
119387
120931
|
/**
|
|
119388
|
-
*
|
|
120932
|
+
* Keep only people at this stage — anonymous, identified or customer. Omit to get all three.
|
|
119389
120933
|
*/
|
|
119390
120934
|
status?: ("anonymous" | "identified" | "customer");
|
|
119391
120935
|
/**
|
|
119392
|
-
* How
|
|
120936
|
+
* How the email filter is matched: exact (default) compares the whole address case-insensitively, prefix matches everyone whose address starts with what you typed.
|
|
119393
120937
|
*/
|
|
119394
120938
|
emailMatch?: ("exact" | "prefix");
|
|
119395
120939
|
}
|
|
119396
120940
|
export interface TrackingProfilesListOutput {
|
|
120941
|
+
/**
|
|
120942
|
+
* Pass this back as `cursor` to fetch the next page. Null on the last page — that null is how a loop knows to stop.
|
|
120943
|
+
*/
|
|
119397
120944
|
cursor: (string | null);
|
|
120945
|
+
/**
|
|
120946
|
+
* The page of people, most recently seen first. Shorter than the requested limit on the last page.
|
|
120947
|
+
*/
|
|
119398
120948
|
profiles: {
|
|
120949
|
+
/**
|
|
120950
|
+
* 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.
|
|
120951
|
+
*/
|
|
119399
120952
|
emails: string[];
|
|
120953
|
+
/**
|
|
120954
|
+
* How far this person has come: anonymous = only a browser, identified = an email or phone is known, customer = they have paid.
|
|
120955
|
+
*/
|
|
119400
120956
|
status: ("anonymous" | "identified" | "customer");
|
|
120957
|
+
/**
|
|
120958
|
+
* Stable handle for this person. Feed it to a get, export or erase step.
|
|
120959
|
+
*/
|
|
119401
120960
|
profileId: string;
|
|
120961
|
+
/**
|
|
120962
|
+
* Timestamp of their most recent event, ISO 8601 UTC. The page is ordered by this, newest first.
|
|
120963
|
+
*/
|
|
119402
120964
|
lastSeenAt: string;
|
|
120965
|
+
/**
|
|
120966
|
+
* 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.
|
|
120967
|
+
*/
|
|
119403
120968
|
acquisition: ({
|
|
120969
|
+
/**
|
|
120970
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
120971
|
+
*/
|
|
119404
120972
|
utmMedium: (string | null);
|
|
120973
|
+
/**
|
|
120974
|
+
* 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.
|
|
120975
|
+
*/
|
|
119405
120976
|
utmSource: (string | null);
|
|
120977
|
+
/**
|
|
120978
|
+
* 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.
|
|
120979
|
+
*/
|
|
119406
120980
|
clickIdType: (string | null);
|
|
120981
|
+
/**
|
|
120982
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
120983
|
+
*/
|
|
119407
120984
|
firstSeenAt: string;
|
|
120985
|
+
/**
|
|
120986
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
120987
|
+
*/
|
|
119408
120988
|
utmCampaign: (string | null);
|
|
119409
120989
|
} | null);
|
|
120990
|
+
/**
|
|
120991
|
+
* Timestamp of their earliest event, ISO 8601 UTC.
|
|
120992
|
+
*/
|
|
119410
120993
|
firstSeenAt: string;
|
|
119411
120994
|
}[];
|
|
119412
120995
|
}
|
|
119413
120996
|
export interface TrackingReportsAttributedJourneyInput {
|
|
120997
|
+
/**
|
|
120998
|
+
* Show only journey events at or before this instant (ISO). Omit for the whole history.
|
|
120999
|
+
*/
|
|
119414
121000
|
to?: string;
|
|
121001
|
+
/**
|
|
121002
|
+
* Show only journey events at or after this instant (ISO). Omit for the whole history.
|
|
121003
|
+
*/
|
|
119415
121004
|
from?: string;
|
|
121005
|
+
/**
|
|
121006
|
+
* Attribution model to explain the decision under; re-reads the same history, so switching it is free (default 'last_click').
|
|
121007
|
+
*/
|
|
119416
121008
|
model?: ("last_click" | "first_click");
|
|
119417
121009
|
/**
|
|
119418
121010
|
* The profile id (uuid)
|
|
119419
121011
|
*/
|
|
119420
121012
|
profileId: string;
|
|
121013
|
+
/**
|
|
121014
|
+
* How far back before the conversion a touchpoint may be credited, in days (default 30).
|
|
121015
|
+
*/
|
|
119421
121016
|
lookbackDays?: number;
|
|
119422
121017
|
}
|
|
119423
121018
|
export interface TrackingReportsAttributedJourneyOutput {
|
|
121019
|
+
/**
|
|
121020
|
+
* What this person actually did, in order.
|
|
121021
|
+
*/
|
|
119424
121022
|
journey: {
|
|
121023
|
+
/**
|
|
121024
|
+
* Every tracked event for this person inside the requested window, oldest first.
|
|
121025
|
+
*/
|
|
119425
121026
|
events: {
|
|
121027
|
+
/**
|
|
121028
|
+
* When the event happened (ISO 8601, UTC). Events are ordered oldest first.
|
|
121029
|
+
*/
|
|
119426
121030
|
ts: string;
|
|
121031
|
+
/**
|
|
121032
|
+
* Handle for this event within the journey; `decisions[].winnerRef` points back at one of these to name the winning touchpoint.
|
|
121033
|
+
*/
|
|
119427
121034
|
ref: string;
|
|
121035
|
+
/**
|
|
121036
|
+
* Page address the event fired on. Free text from the customer site, so it can carry personal data.
|
|
121037
|
+
*/
|
|
119428
121038
|
url: (string | null);
|
|
121039
|
+
/**
|
|
121040
|
+
* Event name as sent by the site, e.g. 'pageview' or a custom conversion name.
|
|
121041
|
+
*/
|
|
119429
121042
|
name: string;
|
|
121043
|
+
/**
|
|
121044
|
+
* Custom properties the site attached to this event. Shape is the customer's, so it can carry anything, personal data included.
|
|
121045
|
+
*/
|
|
119430
121046
|
props: {
|
|
119431
121047
|
[k: string]: unknown;
|
|
119432
121048
|
};
|
|
121049
|
+
/**
|
|
121050
|
+
* Document title of that page. Free text from the customer site, so it can carry personal data.
|
|
121051
|
+
*/
|
|
119433
121052
|
title: (string | null);
|
|
121053
|
+
/**
|
|
121054
|
+
* Site the event came from; null when the tracker could not determine one.
|
|
121055
|
+
*/
|
|
119434
121056
|
domain: (string | null);
|
|
121057
|
+
/**
|
|
121058
|
+
* Where this event's visit came from, as read off the landing URL. Every field is null when the visit carried nothing.
|
|
121059
|
+
*/
|
|
119435
121060
|
source: {
|
|
121061
|
+
/**
|
|
121062
|
+
* The click id value itself. Identifies one ad click by this person, so treat it as personal data.
|
|
121063
|
+
*/
|
|
119436
121064
|
clickId: (string | null);
|
|
121065
|
+
/**
|
|
121066
|
+
* utm_term of the landing URL, the paid keyword; null when absent.
|
|
121067
|
+
*/
|
|
119437
121068
|
utmTerm: (string | null);
|
|
121069
|
+
/**
|
|
121070
|
+
* utm_medium of the landing URL; null when absent.
|
|
121071
|
+
*/
|
|
119438
121072
|
utmMedium: (string | null);
|
|
121073
|
+
/**
|
|
121074
|
+
* utm_source of the landing URL; null when absent.
|
|
121075
|
+
*/
|
|
119439
121076
|
utmSource: (string | null);
|
|
121077
|
+
/**
|
|
121078
|
+
* utm_content of the landing URL, the creative variant; null when absent.
|
|
121079
|
+
*/
|
|
119440
121080
|
utmContent: (string | null);
|
|
121081
|
+
/**
|
|
121082
|
+
* Which ad-network click id was present, e.g. 'gclid'; null when the visit carried none.
|
|
121083
|
+
*/
|
|
119441
121084
|
clickIdType: (string | null);
|
|
121085
|
+
/**
|
|
121086
|
+
* utm_campaign of the landing URL; null when absent.
|
|
121087
|
+
*/
|
|
119442
121088
|
utmCampaign: (string | null);
|
|
119443
121089
|
};
|
|
121090
|
+
/**
|
|
121091
|
+
* Two-letter ISO 3166-1 alpha-2 country resolved from the request, e.g. DE; null when it could not be resolved.
|
|
121092
|
+
*/
|
|
119444
121093
|
country: (string | null);
|
|
121094
|
+
/**
|
|
121095
|
+
* Address the visitor arrived from; null on a direct visit. Free text from the customer site, so it can carry personal data.
|
|
121096
|
+
*/
|
|
119445
121097
|
referrer: (string | null);
|
|
121098
|
+
/**
|
|
121099
|
+
* Visit this event belongs to; events sharing one happened in the same sitting. Null when no session could be established.
|
|
121100
|
+
*/
|
|
119446
121101
|
sessionId: (string | null);
|
|
119447
121102
|
}[];
|
|
119448
121103
|
};
|
|
119449
|
-
|
|
119450
|
-
|
|
119451
|
-
|
|
119452
|
-
|
|
119453
|
-
|
|
119454
|
-
|
|
119455
|
-
|
|
119456
|
-
refundedMinor: number;
|
|
119457
|
-
}[];
|
|
119458
|
-
winnerRef: (string | null);
|
|
119459
|
-
conversionTs: string;
|
|
119460
|
-
lookbackDays: number;
|
|
119461
|
-
winningTouchpoint: ({
|
|
119462
|
-
ts: string;
|
|
119463
|
-
channel: ("paid" | "organic" | "direct" | "email");
|
|
119464
|
-
utmMedium: (string | null);
|
|
119465
|
-
utmSource: (string | null);
|
|
119466
|
-
clickIdType: (string | null);
|
|
119467
|
-
utmCampaign: (string | null);
|
|
119468
|
-
} | null);
|
|
119469
|
-
}[];
|
|
121104
|
+
/**
|
|
121105
|
+
* 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.
|
|
121106
|
+
*/
|
|
121107
|
+
decisions: TrackingReportsAttributedJourneyOutputItems[];
|
|
121108
|
+
/**
|
|
121109
|
+
* The person this journey belongs to, echoed back from the request.
|
|
121110
|
+
*/
|
|
119470
121111
|
profileId: string;
|
|
121112
|
+
/**
|
|
121113
|
+
* 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.
|
|
121114
|
+
*/
|
|
121115
|
+
originatingDecision: (TrackingReportsAttributedJourneyOutputItems | null);
|
|
121116
|
+
}
|
|
121117
|
+
export interface TrackingReportsAttributedJourneyOutputItems {
|
|
121118
|
+
/**
|
|
121119
|
+
* Attribution model the winner was picked under, echoed back from the request.
|
|
121120
|
+
*/
|
|
121121
|
+
model: ("last_click" | "first_click");
|
|
121122
|
+
/**
|
|
121123
|
+
* Why this touchpoint won, or why nothing did, in a sentence a person can read.
|
|
121124
|
+
*/
|
|
121125
|
+
reason: string;
|
|
121126
|
+
/**
|
|
121127
|
+
* Revenue of that conversion, one row per currency.
|
|
121128
|
+
*/
|
|
121129
|
+
revenue: {
|
|
121130
|
+
/**
|
|
121131
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
121132
|
+
*/
|
|
121133
|
+
currency: string;
|
|
121134
|
+
/**
|
|
121135
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
121136
|
+
*/
|
|
121137
|
+
netMinor: number;
|
|
121138
|
+
/**
|
|
121139
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
121140
|
+
*/
|
|
121141
|
+
grossMinor: number;
|
|
121142
|
+
/**
|
|
121143
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
121144
|
+
*/
|
|
121145
|
+
refundedMinor: number;
|
|
121146
|
+
}[];
|
|
121147
|
+
/**
|
|
121148
|
+
* `journey.events[].ref` of the touchpoint that won the credit. Null when nothing inside the window qualified.
|
|
121149
|
+
*/
|
|
121150
|
+
winnerRef: (string | null);
|
|
121151
|
+
/**
|
|
121152
|
+
* When the conversion this decision explains happened (ISO 8601, UTC).
|
|
121153
|
+
*/
|
|
121154
|
+
conversionTs: string;
|
|
121155
|
+
/**
|
|
121156
|
+
* How far back before `conversionTs` a touchpoint was allowed to be credited, in days; echoed back.
|
|
121157
|
+
*/
|
|
121158
|
+
lookbackDays: number;
|
|
121159
|
+
/**
|
|
121160
|
+
* The winning touchpoint spelled out, so a reader need not resolve `winnerRef`. Null exactly when `winnerRef` is null.
|
|
121161
|
+
*/
|
|
121162
|
+
winningTouchpoint: ({
|
|
121163
|
+
/**
|
|
121164
|
+
* When the winning touchpoint happened (ISO 8601, UTC).
|
|
121165
|
+
*/
|
|
121166
|
+
ts: string;
|
|
121167
|
+
/**
|
|
121168
|
+
* Channel the winning touchpoint belongs to.
|
|
121169
|
+
*/
|
|
121170
|
+
channel: ("paid" | "organic" | "direct" | "email");
|
|
121171
|
+
/**
|
|
121172
|
+
* utm_medium of the winning touchpoint; null when it carried none.
|
|
121173
|
+
*/
|
|
121174
|
+
utmMedium: (string | null);
|
|
121175
|
+
/**
|
|
121176
|
+
* utm_source of the winning touchpoint; null when it carried none.
|
|
121177
|
+
*/
|
|
121178
|
+
utmSource: (string | null);
|
|
121179
|
+
/**
|
|
121180
|
+
* Campaign id carried by our own `_lt_campaign` landing-URL parameter; null when the visit carried none.
|
|
121181
|
+
*/
|
|
121182
|
+
ltCampaign?: (string | null);
|
|
121183
|
+
/**
|
|
121184
|
+
* Ad-network click id present on the winning touchpoint, e.g. 'gclid'; null when it carried none.
|
|
121185
|
+
*/
|
|
121186
|
+
clickIdType: (string | null);
|
|
121187
|
+
/**
|
|
121188
|
+
* utm_campaign of the winning touchpoint; null when it carried none.
|
|
121189
|
+
*/
|
|
121190
|
+
utmCampaign: (string | null);
|
|
121191
|
+
} | null);
|
|
119471
121192
|
}
|
|
119472
121193
|
export interface TrackingReportsEventVolumeInput {
|
|
119473
|
-
|
|
119474
|
-
|
|
121194
|
+
/**
|
|
121195
|
+
* End of the range to count, inclusive (ISO 8601). Optional — defaults to the moment of the call.
|
|
121196
|
+
*/
|
|
121197
|
+
to?: string;
|
|
121198
|
+
/**
|
|
121199
|
+
* Start of the range to count, inclusive (ISO 8601). Optional — defaults to 30 days back, the start of that UTC day.
|
|
121200
|
+
*/
|
|
121201
|
+
from?: string;
|
|
121202
|
+
/**
|
|
121203
|
+
* Count only this site. Omit to count every site the product sends from.
|
|
121204
|
+
*/
|
|
119475
121205
|
domain?: string;
|
|
119476
121206
|
}
|
|
119477
121207
|
export interface TrackingReportsEventVolumeOutput {
|
|
121208
|
+
/**
|
|
121209
|
+
* End of the range the figures cover, echoed back (ISO 8601, UTC).
|
|
121210
|
+
*/
|
|
119478
121211
|
to: string;
|
|
121212
|
+
/**
|
|
121213
|
+
* Start of the range the figures cover, echoed back (ISO 8601, UTC).
|
|
121214
|
+
*/
|
|
119479
121215
|
from: string;
|
|
121216
|
+
/**
|
|
121217
|
+
* Site the figures were restricted to; null when every site of the product is included.
|
|
121218
|
+
*/
|
|
119480
121219
|
domain: (string | null);
|
|
121220
|
+
/**
|
|
121221
|
+
* When this report was computed (ISO 8601, UTC).
|
|
121222
|
+
*/
|
|
119481
121223
|
computedAt: string;
|
|
121224
|
+
/**
|
|
121225
|
+
* 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.
|
|
121226
|
+
*/
|
|
119482
121227
|
dataQuality: {
|
|
121228
|
+
/**
|
|
121229
|
+
* Fraction of `totalEvents` (0..1) that came from sites running no consent banner, where nobody was ever asked.
|
|
121230
|
+
*/
|
|
119483
121231
|
noBannerShare: number;
|
|
121232
|
+
/**
|
|
121233
|
+
* Events from sites with no consent banner. Kept apart from `cookielessEvents` on purpose: nobody refused here, nobody was asked.
|
|
121234
|
+
*/
|
|
119484
121235
|
noBannerEvents: number;
|
|
121236
|
+
/**
|
|
121237
|
+
* How many UTC days the range spans; each one re-counts a returning declining visitor.
|
|
121238
|
+
*/
|
|
119485
121239
|
utcDaysInRange: number;
|
|
121240
|
+
/**
|
|
121241
|
+
* Fraction of `totalEvents` (0..1) that came from visitors who declined statistics consent.
|
|
121242
|
+
*/
|
|
119486
121243
|
cookielessShare: number;
|
|
121244
|
+
/**
|
|
121245
|
+
* Events from visitors who declined; no cookie was written and no identifier sent.
|
|
121246
|
+
*/
|
|
119487
121247
|
cookielessEvents: number;
|
|
121248
|
+
/**
|
|
121249
|
+
* 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.
|
|
121250
|
+
*/
|
|
119488
121251
|
identifiedEvents: number;
|
|
121252
|
+
/**
|
|
121253
|
+
* True when `visitorsDeduplicatedPerUtcDay` over-counts for this range: the range spans more than one UTC day and there is declining traffic in it.
|
|
121254
|
+
*/
|
|
119489
121255
|
visitorsOverstated: boolean;
|
|
121256
|
+
/**
|
|
121257
|
+
* Events from visitors who granted statistics consent.
|
|
121258
|
+
*/
|
|
119490
121259
|
consentGrantedEvents: number;
|
|
119491
121260
|
};
|
|
121261
|
+
/**
|
|
121262
|
+
* How many events arrived in the range, across every consent state.
|
|
121263
|
+
*/
|
|
119492
121264
|
totalEvents: number;
|
|
121265
|
+
/**
|
|
121266
|
+
* 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.
|
|
121267
|
+
*/
|
|
119493
121268
|
visitorsDeduplicatedPerUtcDay: number;
|
|
119494
121269
|
}
|
|
119495
121270
|
export interface TrackingReportsRevenueBySourceInput {
|
|
119496
121271
|
/**
|
|
119497
|
-
* Cohort window end (ISO)
|
|
121272
|
+
* Cohort window end (ISO). Optional — defaults to the moment of the call.
|
|
119498
121273
|
*/
|
|
119499
|
-
to
|
|
121274
|
+
to?: string;
|
|
119500
121275
|
/**
|
|
119501
|
-
* Cohort window start (ISO); selects conversions by subscription start
|
|
121276
|
+
* Cohort window start (ISO); selects conversions by subscription start. Optional — defaults to 30 days back, the start of that UTC day.
|
|
119502
121277
|
*/
|
|
119503
|
-
from
|
|
121278
|
+
from?: string;
|
|
119504
121279
|
/**
|
|
119505
121280
|
* Attribution model
|
|
119506
121281
|
*/
|
|
@@ -119515,53 +121290,149 @@ export interface TrackingReportsRevenueBySourceInput {
|
|
|
119515
121290
|
lookbackDays?: number;
|
|
119516
121291
|
}
|
|
119517
121292
|
export interface TrackingReportsRevenueBySourceOutput {
|
|
121293
|
+
/**
|
|
121294
|
+
* End of the cohort window the figures cover, echoed back (ISO 8601, UTC).
|
|
121295
|
+
*/
|
|
119518
121296
|
to: string;
|
|
121297
|
+
/**
|
|
121298
|
+
* Start of the cohort window the figures cover, echoed back (ISO 8601, UTC).
|
|
121299
|
+
*/
|
|
119519
121300
|
from: string;
|
|
121301
|
+
/**
|
|
121302
|
+
* Attribution model the credit was assigned under, echoed back. Pass the same value to `tracking_reports_source_people` to drill into a row.
|
|
121303
|
+
*/
|
|
119520
121304
|
model: ("last_click" | "first_click");
|
|
121305
|
+
/**
|
|
121306
|
+
* Site touchpoints were restricted to; null when every site of the product was considered.
|
|
121307
|
+
*/
|
|
119521
121308
|
domain: (string | null);
|
|
121309
|
+
/**
|
|
121310
|
+
* Every channel plus `unattributed`. This is the whole window, not the attributed part of it.
|
|
121311
|
+
*/
|
|
119522
121312
|
totals: {
|
|
121313
|
+
/**
|
|
121314
|
+
* Revenue over every channel plus `unattributed`, one row per currency.
|
|
121315
|
+
*/
|
|
119523
121316
|
revenue: TrackingReportsRevenueBySourceOutputItems[];
|
|
121317
|
+
/**
|
|
121318
|
+
* Distinct paying people over every channel plus `unattributed`.
|
|
121319
|
+
*/
|
|
119524
121320
|
customers: number;
|
|
119525
121321
|
};
|
|
121322
|
+
/**
|
|
121323
|
+
* One row per channel that earned revenue in the window. Channels with none are omitted.
|
|
121324
|
+
*/
|
|
119526
121325
|
channels: {
|
|
121326
|
+
/**
|
|
121327
|
+
* Which acquisition channel this row aggregates.
|
|
121328
|
+
*/
|
|
119527
121329
|
channel: ("paid" | "organic" | "direct" | "email");
|
|
121330
|
+
/**
|
|
121331
|
+
* 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.
|
|
121332
|
+
*/
|
|
119528
121333
|
revenue: TrackingReportsRevenueBySourceOutputItems[];
|
|
121334
|
+
/**
|
|
121335
|
+
* Distinct paying people credited to this channel.
|
|
121336
|
+
*/
|
|
119529
121337
|
customers: number;
|
|
121338
|
+
/**
|
|
121339
|
+
* The channel split by UTM combination. Each row is a drill-down target for `tracking_reports_source_people`.
|
|
121340
|
+
*/
|
|
119530
121341
|
utmBreakdown: {
|
|
121342
|
+
/**
|
|
121343
|
+
* Revenue credited to this UTM combination, one row per currency.
|
|
121344
|
+
*/
|
|
119531
121345
|
revenue: TrackingReportsRevenueBySourceOutputItems[];
|
|
121346
|
+
/**
|
|
121347
|
+
* Distinct paying people credited to this UTM combination.
|
|
121348
|
+
*/
|
|
119532
121349
|
customers: number;
|
|
121350
|
+
/**
|
|
121351
|
+
* utm_medium of this row; null when the visit carried none.
|
|
121352
|
+
*/
|
|
119533
121353
|
utmMedium: (string | null);
|
|
121354
|
+
/**
|
|
121355
|
+
* utm_source of this row; null when the visit carried none.
|
|
121356
|
+
*/
|
|
119534
121357
|
utmSource: (string | null);
|
|
121358
|
+
/**
|
|
121359
|
+
* Ad-network click id present on the visit, e.g. 'gclid'; null when it carried none.
|
|
121360
|
+
*/
|
|
119535
121361
|
clickIdType: (string | null);
|
|
121362
|
+
/**
|
|
121363
|
+
* utm_campaign of this row; null when the visit carried none.
|
|
121364
|
+
*/
|
|
119536
121365
|
utmCampaign: (string | null);
|
|
119537
121366
|
}[];
|
|
119538
121367
|
}[];
|
|
121368
|
+
/**
|
|
121369
|
+
* Fraction of paying people (0..1) a touchpoint could be found for: attributed customers over `totals.customers`. Count-based, never revenue-weighted.
|
|
121370
|
+
*/
|
|
119539
121371
|
matchRate: number;
|
|
121372
|
+
/**
|
|
121373
|
+
* When this report was computed (ISO 8601, UTC).
|
|
121374
|
+
*/
|
|
119540
121375
|
computedAt: string;
|
|
121376
|
+
/**
|
|
121377
|
+
* How far back before a conversion a touchpoint was allowed to be credited, in days; echoed back.
|
|
121378
|
+
*/
|
|
119541
121379
|
lookbackDays: number;
|
|
121380
|
+
/**
|
|
121381
|
+
* Revenue that reached no channel — kept as its own row so the channel rows are never quietly inflated to cover it.
|
|
121382
|
+
*/
|
|
119542
121383
|
unattributed: {
|
|
121384
|
+
/**
|
|
121385
|
+
* Revenue no touchpoint could be credited for, one row per currency.
|
|
121386
|
+
*/
|
|
119543
121387
|
revenue: TrackingReportsRevenueBySourceOutputItems[];
|
|
121388
|
+
/**
|
|
121389
|
+
* Distinct paying people no touchpoint could be credited for.
|
|
121390
|
+
*/
|
|
119544
121391
|
customers: number;
|
|
119545
121392
|
};
|
|
119546
121393
|
}
|
|
119547
121394
|
export interface TrackingReportsRevenueBySourceOutputItems {
|
|
121395
|
+
/**
|
|
121396
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
121397
|
+
*/
|
|
119548
121398
|
currency: string;
|
|
121399
|
+
/**
|
|
121400
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
121401
|
+
*/
|
|
119549
121402
|
netMinor: number;
|
|
121403
|
+
/**
|
|
121404
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
121405
|
+
*/
|
|
119550
121406
|
grossMinor: number;
|
|
121407
|
+
/**
|
|
121408
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
121409
|
+
*/
|
|
119551
121410
|
refundedMinor: number;
|
|
119552
121411
|
}
|
|
119553
121412
|
export interface TrackingReportsSourcePeopleInput {
|
|
119554
|
-
|
|
119555
|
-
|
|
121413
|
+
/**
|
|
121414
|
+
* Cohort window end (ISO); must match the report this row came from. Optional — defaults to the moment of the call.
|
|
121415
|
+
*/
|
|
121416
|
+
to?: string;
|
|
121417
|
+
/**
|
|
121418
|
+
* Cohort window start (ISO); must match the report this row came from. Optional — defaults to 30 days back, the start of that UTC day.
|
|
121419
|
+
*/
|
|
121420
|
+
from?: string;
|
|
119556
121421
|
/**
|
|
119557
121422
|
* People per page (default 50, max 200)
|
|
119558
121423
|
*/
|
|
119559
121424
|
limit?: number;
|
|
121425
|
+
/**
|
|
121426
|
+
* Attribution model to credit the touchpoint under; must match the report this row came from (default 'last_click').
|
|
121427
|
+
*/
|
|
119560
121428
|
model?: ("last_click" | "first_click");
|
|
119561
121429
|
/**
|
|
119562
121430
|
* Opaque keyset cursor from a previous page
|
|
119563
121431
|
*/
|
|
119564
121432
|
cursor?: string;
|
|
121433
|
+
/**
|
|
121434
|
+
* Only consider touchpoints on this domain; must match the report this row came from. Omit for no restriction.
|
|
121435
|
+
*/
|
|
119565
121436
|
domain?: string;
|
|
119566
121437
|
/**
|
|
119567
121438
|
* Channel to drill into
|
|
@@ -119571,26 +121442,71 @@ export interface TrackingReportsSourcePeopleInput {
|
|
|
119571
121442
|
* Comma-separated dimension names (utmSource,utmMedium,utmCampaign,clickIdType) that must be IS NULL
|
|
119572
121443
|
*/
|
|
119573
121444
|
utmNulls?: string;
|
|
121445
|
+
/**
|
|
121446
|
+
* utm_medium of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
121447
|
+
*/
|
|
119574
121448
|
utmMedium?: string;
|
|
121449
|
+
/**
|
|
121450
|
+
* utm_source of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
121451
|
+
*/
|
|
119575
121452
|
utmSource?: string;
|
|
119576
121453
|
/**
|
|
119577
121454
|
* 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.
|
|
119578
121455
|
*/
|
|
119579
121456
|
clickIdType?: string;
|
|
121457
|
+
/**
|
|
121458
|
+
* utm_campaign of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
121459
|
+
*/
|
|
119580
121460
|
utmCampaign?: string;
|
|
121461
|
+
/**
|
|
121462
|
+
* How far back before a conversion a touchpoint may be credited, in days; must match the report this row came from (default 30).
|
|
121463
|
+
*/
|
|
119581
121464
|
lookbackDays?: number;
|
|
119582
121465
|
}
|
|
119583
121466
|
export interface TrackingReportsSourcePeopleOutput {
|
|
121467
|
+
/**
|
|
121468
|
+
* Pass back as `cursor` for the next page. Null on the last page.
|
|
121469
|
+
*/
|
|
119584
121470
|
cursor: (string | null);
|
|
121471
|
+
/**
|
|
121472
|
+
* The page of people behind the requested row, ordered by the keyset the cursor walks.
|
|
121473
|
+
*/
|
|
119585
121474
|
people: {
|
|
121475
|
+
/**
|
|
121476
|
+
* Where this person stands in their subscription lifecycle, e.g. active or churned.
|
|
121477
|
+
*/
|
|
119586
121478
|
status: string;
|
|
121479
|
+
/**
|
|
121480
|
+
* Identifier of this person; pass it to `tracking_reports_attributed_journey` to see why they were credited here.
|
|
121481
|
+
*/
|
|
119587
121482
|
profileId: string;
|
|
121483
|
+
/**
|
|
121484
|
+
* Most recent tracked activity for this person (ISO 8601, UTC); null when none was recorded.
|
|
121485
|
+
*/
|
|
119588
121486
|
lastSeenAt: (string | null);
|
|
121487
|
+
/**
|
|
121488
|
+
* Earliest tracked activity for this person (ISO 8601, UTC); null when none was recorded.
|
|
121489
|
+
*/
|
|
119589
121490
|
firstSeenAt: (string | null);
|
|
121491
|
+
/**
|
|
121492
|
+
* Lifetime revenue credited to this person under the requested model, one row per currency.
|
|
121493
|
+
*/
|
|
119590
121494
|
attributedRevenue: {
|
|
121495
|
+
/**
|
|
121496
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
121497
|
+
*/
|
|
119591
121498
|
currency: string;
|
|
121499
|
+
/**
|
|
121500
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
121501
|
+
*/
|
|
119592
121502
|
netMinor: number;
|
|
121503
|
+
/**
|
|
121504
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
121505
|
+
*/
|
|
119593
121506
|
grossMinor: number;
|
|
121507
|
+
/**
|
|
121508
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
121509
|
+
*/
|
|
119594
121510
|
refundedMinor: number;
|
|
119595
121511
|
}[];
|
|
119596
121512
|
}[];
|
|
@@ -119598,9 +121514,21 @@ export interface TrackingReportsSourcePeopleOutput {
|
|
|
119598
121514
|
export interface TrackingSnippetsGetInput {
|
|
119599
121515
|
}
|
|
119600
121516
|
export interface TrackingSnippetsGetOutput {
|
|
121517
|
+
/**
|
|
121518
|
+
* Tracking host the snippet sends to — the customer-facing domain events and the bundle are served from.
|
|
121519
|
+
*/
|
|
119601
121520
|
host: string;
|
|
121521
|
+
/**
|
|
121522
|
+
* The tag to paste into every page, verbatim, before </head>. Includes the consent-aware bootstrap; install it unconditionally rather than behind a consent gate.
|
|
121523
|
+
*/
|
|
119602
121524
|
snippet: string;
|
|
121525
|
+
/**
|
|
121526
|
+
* Absolute URL of the tracker bundle the snippet loads; already points at this product's own tracking host.
|
|
121527
|
+
*/
|
|
119603
121528
|
scriptUrl: string;
|
|
121529
|
+
/**
|
|
121530
|
+
* 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.
|
|
121531
|
+
*/
|
|
119604
121532
|
minimalSnippet: string;
|
|
119605
121533
|
}
|
|
119606
121534
|
export interface UsersApikeysCreateInput {
|
|
@@ -119614,25 +121542,106 @@ export interface UsersApikeysCreateInput {
|
|
|
119614
121542
|
type: ("server" | "publishable");
|
|
119615
121543
|
}
|
|
119616
121544
|
export interface UsersApikeysCreateOutput {
|
|
121545
|
+
/**
|
|
121546
|
+
* Id of the key. Pass it to users_apikeys_revoke.
|
|
121547
|
+
*/
|
|
119617
121548
|
id: string;
|
|
121549
|
+
/**
|
|
121550
|
+
* 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.
|
|
121551
|
+
*/
|
|
119618
121552
|
key: string;
|
|
121553
|
+
/**
|
|
121554
|
+
* The label a human gave this key — which backend or environment holds it.
|
|
121555
|
+
*/
|
|
119619
121556
|
name: string;
|
|
121557
|
+
/**
|
|
121558
|
+
* `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
|
|
121559
|
+
*/
|
|
119620
121560
|
type: ("server" | "publishable");
|
|
121561
|
+
/**
|
|
121562
|
+
* 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.
|
|
121563
|
+
*/
|
|
119621
121564
|
value: (string | null);
|
|
121565
|
+
/**
|
|
121566
|
+
* `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
|
|
121567
|
+
*/
|
|
119622
121568
|
prefix: string;
|
|
121569
|
+
/**
|
|
121570
|
+
* When the key was issued (ISO 8601).
|
|
121571
|
+
*/
|
|
119623
121572
|
createdAt: string;
|
|
121573
|
+
/**
|
|
121574
|
+
* When the key was revoked (ISO 8601). Null while it still works.
|
|
121575
|
+
*/
|
|
121576
|
+
revokedAt: (string | null);
|
|
121577
|
+
}
|
|
121578
|
+
export interface UsersApikeysGetInput {
|
|
121579
|
+
/**
|
|
121580
|
+
* Id of the key to read — the `id` from users_apikeys_list.
|
|
121581
|
+
*/
|
|
121582
|
+
id: string;
|
|
121583
|
+
}
|
|
121584
|
+
export interface UsersApikeysGetOutput {
|
|
121585
|
+
/**
|
|
121586
|
+
* Id of the key. Pass it to users_apikeys_revoke.
|
|
121587
|
+
*/
|
|
121588
|
+
id: string;
|
|
121589
|
+
/**
|
|
121590
|
+
* The label a human gave this key — which backend or environment holds it.
|
|
121591
|
+
*/
|
|
121592
|
+
name: string;
|
|
121593
|
+
/**
|
|
121594
|
+
* `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
|
|
121595
|
+
*/
|
|
121596
|
+
type: ("server" | "publishable");
|
|
121597
|
+
/**
|
|
121598
|
+
* 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.
|
|
121599
|
+
*/
|
|
121600
|
+
value: (string | null);
|
|
121601
|
+
/**
|
|
121602
|
+
* `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
|
|
121603
|
+
*/
|
|
121604
|
+
prefix: string;
|
|
121605
|
+
/**
|
|
121606
|
+
* When the key was issued (ISO 8601).
|
|
121607
|
+
*/
|
|
121608
|
+
createdAt: string;
|
|
121609
|
+
/**
|
|
121610
|
+
* When the key was revoked (ISO 8601). Null while it still works.
|
|
121611
|
+
*/
|
|
119624
121612
|
revokedAt: (string | null);
|
|
119625
121613
|
}
|
|
119626
121614
|
export interface UsersApikeysListInput {
|
|
119627
121615
|
}
|
|
119628
121616
|
export interface UsersApikeysListOutput {
|
|
119629
121617
|
keys: {
|
|
121618
|
+
/**
|
|
121619
|
+
* Id of the key. Pass it to users_apikeys_revoke.
|
|
121620
|
+
*/
|
|
119630
121621
|
id: string;
|
|
121622
|
+
/**
|
|
121623
|
+
* The label a human gave this key — which backend or environment holds it.
|
|
121624
|
+
*/
|
|
119631
121625
|
name: string;
|
|
121626
|
+
/**
|
|
121627
|
+
* `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
|
|
121628
|
+
*/
|
|
119632
121629
|
type: ("server" | "publishable");
|
|
121630
|
+
/**
|
|
121631
|
+
* 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.
|
|
121632
|
+
*/
|
|
119633
121633
|
value: (string | null);
|
|
121634
|
+
/**
|
|
121635
|
+
* `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
|
|
121636
|
+
*/
|
|
119634
121637
|
prefix: string;
|
|
121638
|
+
/**
|
|
121639
|
+
* When the key was issued (ISO 8601).
|
|
121640
|
+
*/
|
|
119635
121641
|
createdAt: string;
|
|
121642
|
+
/**
|
|
121643
|
+
* When the key was revoked (ISO 8601). Null while it still works.
|
|
121644
|
+
*/
|
|
119636
121645
|
revokedAt: (string | null);
|
|
119637
121646
|
}[];
|
|
119638
121647
|
}
|
|
@@ -119643,7 +121652,13 @@ export interface UsersApikeysRevokeInput {
|
|
|
119643
121652
|
id: string;
|
|
119644
121653
|
}
|
|
119645
121654
|
export interface UsersApikeysRevokeOutput {
|
|
121655
|
+
/**
|
|
121656
|
+
* Id of the key that was revoked.
|
|
121657
|
+
*/
|
|
119646
121658
|
id: string;
|
|
121659
|
+
/**
|
|
121660
|
+
* Always true — revocation is immediate and final.
|
|
121661
|
+
*/
|
|
119647
121662
|
revoked: true;
|
|
119648
121663
|
}
|
|
119649
121664
|
export interface UsersAuditListInput {
|
|
@@ -119677,21 +121692,60 @@ export interface UsersAuditListInput {
|
|
|
119677
121692
|
targetType?: string;
|
|
119678
121693
|
}
|
|
119679
121694
|
export interface UsersAuditListOutput {
|
|
121695
|
+
/**
|
|
121696
|
+
* The page of audit events, newest first.
|
|
121697
|
+
*/
|
|
119680
121698
|
events: {
|
|
121699
|
+
/**
|
|
121700
|
+
* Id of this audit row.
|
|
121701
|
+
*/
|
|
119681
121702
|
id: string;
|
|
121703
|
+
/**
|
|
121704
|
+
* IP the action came from. Null when it was not an HTTP action.
|
|
121705
|
+
*/
|
|
119682
121706
|
ip: (string | null);
|
|
121707
|
+
/**
|
|
121708
|
+
* What happened, as a dotted name — `user.created`, `passkey.deleted`, `email_change.override_applied`.
|
|
121709
|
+
*/
|
|
119683
121710
|
action: string;
|
|
121711
|
+
/**
|
|
121712
|
+
* Id of the actor. Null for a system action.
|
|
121713
|
+
*/
|
|
119684
121714
|
actorId: (string | null);
|
|
121715
|
+
/**
|
|
121716
|
+
* Action-specific detail — the reason text, counts, whatever the action recorded.
|
|
121717
|
+
*/
|
|
119685
121718
|
metadata: {
|
|
119686
121719
|
[k: string]: unknown;
|
|
119687
121720
|
};
|
|
121721
|
+
/**
|
|
121722
|
+
* Id of the row the action was about. Null when there was none.
|
|
121723
|
+
*/
|
|
119688
121724
|
targetId: (string | null);
|
|
121725
|
+
/**
|
|
121726
|
+
* Who acted: `operator` (a human or agent on the management plane), `end_user`, or `system`.
|
|
121727
|
+
*/
|
|
119689
121728
|
actorType: ("operator" | "system" | "end_user");
|
|
121729
|
+
/**
|
|
121730
|
+
* When the action happened (ISO 8601).
|
|
121731
|
+
*/
|
|
119690
121732
|
createdAt: string;
|
|
121733
|
+
/**
|
|
121734
|
+
* Product the audited action happened in.
|
|
121735
|
+
*/
|
|
119691
121736
|
productId: string;
|
|
121737
|
+
/**
|
|
121738
|
+
* User agent the action came from. Null when none was sent.
|
|
121739
|
+
*/
|
|
119692
121740
|
userAgent: (string | null);
|
|
121741
|
+
/**
|
|
121742
|
+
* What kind of row the action was about — `user` or `product`. Null when it was about nothing in particular.
|
|
121743
|
+
*/
|
|
119693
121744
|
targetType: (string | null);
|
|
119694
121745
|
}[];
|
|
121746
|
+
/**
|
|
121747
|
+
* Pass back as `cursor` to fetch the next page. Null when this page is the last.
|
|
121748
|
+
*/
|
|
119695
121749
|
nextCursor: (string | null);
|
|
119696
121750
|
}
|
|
119697
121751
|
export interface UsersConfigGetInput {
|
|
@@ -120667,12 +122721,33 @@ export interface UsersFactorsListInput {
|
|
|
120667
122721
|
userId: string;
|
|
120668
122722
|
}
|
|
120669
122723
|
export interface UsersFactorsListOutput {
|
|
122724
|
+
/**
|
|
122725
|
+
* Every second factor this user has — types and status only, never material.
|
|
122726
|
+
*/
|
|
120670
122727
|
factors: {
|
|
122728
|
+
/**
|
|
122729
|
+
* Kind of second factor: `totp` or `backup_codes`. No key material is ever returned.
|
|
122730
|
+
*/
|
|
120671
122731
|
type: ("totp" | "backup_codes" | "webauthn");
|
|
122732
|
+
/**
|
|
122733
|
+
* Whether this factor is enrolled and usable, or still pending verification.
|
|
122734
|
+
*/
|
|
120672
122735
|
status: ("unverified" | "verified");
|
|
122736
|
+
/**
|
|
122737
|
+
* When the factor was enrolled (ISO 8601).
|
|
122738
|
+
*/
|
|
120673
122739
|
createdAt: string;
|
|
122740
|
+
/**
|
|
122741
|
+
* `backup_codes` only: how many of the batch are still unspent. Null for any other factor type.
|
|
122742
|
+
*/
|
|
120674
122743
|
remaining: (number | null);
|
|
122744
|
+
/**
|
|
122745
|
+
* When the factor was last used to sign in (ISO 8601). Null if it never was.
|
|
122746
|
+
*/
|
|
120675
122747
|
lastUsedAt: (string | null);
|
|
122748
|
+
/**
|
|
122749
|
+
* When the user first proved the factor works (ISO 8601). Null while it is unverified.
|
|
122750
|
+
*/
|
|
120676
122751
|
verifiedAt: (string | null);
|
|
120677
122752
|
}[];
|
|
120678
122753
|
}
|
|
@@ -120687,7 +122762,13 @@ export interface UsersFactorsResetInput {
|
|
|
120687
122762
|
userId: string;
|
|
120688
122763
|
}
|
|
120689
122764
|
export interface UsersFactorsResetOutput {
|
|
122765
|
+
/**
|
|
122766
|
+
* Id of the scheduled reset. The same value arrives on `users/mfa.reset-settled`, which is what finishes this step.
|
|
122767
|
+
*/
|
|
120690
122768
|
requestId: string;
|
|
122769
|
+
/**
|
|
122770
|
+
* When the removal happens, if nobody aborts it first (ISO 8601). The delay is this product's, not a fixed one.
|
|
122771
|
+
*/
|
|
120691
122772
|
scheduledFor: string;
|
|
120692
122773
|
}
|
|
120693
122774
|
export interface UsersKeysListInput {
|
|
@@ -120968,6 +123049,50 @@ export interface UsersOpsSloGetOutput {
|
|
|
120968
123049
|
signInFailureBaseline: (number | null);
|
|
120969
123050
|
};
|
|
120970
123051
|
}
|
|
123052
|
+
export interface UsersPasskeysGetInput {
|
|
123053
|
+
/**
|
|
123054
|
+
* The end user the credential belongs to.
|
|
123055
|
+
*/
|
|
123056
|
+
userId: string;
|
|
123057
|
+
/**
|
|
123058
|
+
* Which credential to read — the `id` from `users_passkeys_list`.
|
|
123059
|
+
*/
|
|
123060
|
+
passkeyId: string;
|
|
123061
|
+
}
|
|
123062
|
+
export interface UsersPasskeysGetOutput {
|
|
123063
|
+
/**
|
|
123064
|
+
* Id of the credential. Pass it to users_passkeys_revoke.
|
|
123065
|
+
*/
|
|
123066
|
+
id: string;
|
|
123067
|
+
/**
|
|
123068
|
+
* The name the user gave this credential, so a person can tell their devices apart. Null when they never named it.
|
|
123069
|
+
*/
|
|
123070
|
+
name: (string | null);
|
|
123071
|
+
/**
|
|
123072
|
+
* The authenticator MODEL’s identifier, which says what kind of device this is, never which one. Null when the authenticator withheld it.
|
|
123073
|
+
*/
|
|
123074
|
+
aaguid: (string | null);
|
|
123075
|
+
/**
|
|
123076
|
+
* True when the platform syncs this credential, so it survives losing the device. False means it lives on that device alone.
|
|
123077
|
+
*/
|
|
123078
|
+
backedUp: boolean;
|
|
123079
|
+
/**
|
|
123080
|
+
* When the credential was registered (ISO 8601).
|
|
123081
|
+
*/
|
|
123082
|
+
createdAt: string;
|
|
123083
|
+
/**
|
|
123084
|
+
* The authenticator’s own counter as of the last assertion. 0 when the authenticator does not count.
|
|
123085
|
+
*/
|
|
123086
|
+
signCount: number;
|
|
123087
|
+
/**
|
|
123088
|
+
* When it last signed in (ISO 8601). Null when it never has.
|
|
123089
|
+
*/
|
|
123090
|
+
lastUsedAt: (string | null);
|
|
123091
|
+
/**
|
|
123092
|
+
* 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.
|
|
123093
|
+
*/
|
|
123094
|
+
transports: string[];
|
|
123095
|
+
}
|
|
120971
123096
|
export interface UsersPasskeysListInput {
|
|
120972
123097
|
/**
|
|
120973
123098
|
* The end user whose passkeys to list.
|
|
@@ -120975,14 +123100,41 @@ export interface UsersPasskeysListInput {
|
|
|
120975
123100
|
userId: string;
|
|
120976
123101
|
}
|
|
120977
123102
|
export interface UsersPasskeysListOutput {
|
|
123103
|
+
/**
|
|
123104
|
+
* The credentials this user has registered, newest first. Empty when they have none.
|
|
123105
|
+
*/
|
|
120978
123106
|
passkeys: {
|
|
123107
|
+
/**
|
|
123108
|
+
* Id of the credential. Pass it to users_passkeys_revoke.
|
|
123109
|
+
*/
|
|
120979
123110
|
id: string;
|
|
123111
|
+
/**
|
|
123112
|
+
* The name the user gave this credential, so a person can tell their devices apart. Null when they never named it.
|
|
123113
|
+
*/
|
|
120980
123114
|
name: (string | null);
|
|
123115
|
+
/**
|
|
123116
|
+
* The authenticator MODEL’s identifier, which says what kind of device this is, never which one. Null when the authenticator withheld it.
|
|
123117
|
+
*/
|
|
120981
123118
|
aaguid: (string | null);
|
|
123119
|
+
/**
|
|
123120
|
+
* True when the platform syncs this credential, so it survives losing the device. False means it lives on that device alone.
|
|
123121
|
+
*/
|
|
120982
123122
|
backedUp: boolean;
|
|
123123
|
+
/**
|
|
123124
|
+
* When the credential was registered (ISO 8601).
|
|
123125
|
+
*/
|
|
120983
123126
|
createdAt: string;
|
|
123127
|
+
/**
|
|
123128
|
+
* The authenticator’s own counter as of the last assertion. 0 when the authenticator does not count.
|
|
123129
|
+
*/
|
|
120984
123130
|
signCount: number;
|
|
123131
|
+
/**
|
|
123132
|
+
* When it last signed in (ISO 8601). Null when it never has.
|
|
123133
|
+
*/
|
|
120985
123134
|
lastUsedAt: (string | null);
|
|
123135
|
+
/**
|
|
123136
|
+
* 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.
|
|
123137
|
+
*/
|
|
120986
123138
|
transports: string[];
|
|
120987
123139
|
}[];
|
|
120988
123140
|
}
|
|
@@ -121005,9 +123157,18 @@ export interface UsersPasskeysRevokeOutput {
|
|
|
121005
123157
|
* Present when the revoke was refused — today, only because it was the last way in.
|
|
121006
123158
|
*/
|
|
121007
123159
|
error: ({
|
|
123160
|
+
/**
|
|
123161
|
+
* Why it was refused. Today only `passkey_last_way_in`.
|
|
123162
|
+
*/
|
|
121008
123163
|
code: string;
|
|
123164
|
+
/**
|
|
123165
|
+
* The refusal in a sentence, safe to show a human.
|
|
123166
|
+
*/
|
|
121009
123167
|
message: string;
|
|
121010
123168
|
} | null);
|
|
123169
|
+
/**
|
|
123170
|
+
* `deleted` when the credential is gone, `failed` when the revoke was refused.
|
|
123171
|
+
*/
|
|
121011
123172
|
status: ("deleted" | "failed");
|
|
121012
123173
|
}
|
|
121013
123174
|
export interface UsersSessionsGetInput {
|
|
@@ -121017,7 +123178,13 @@ export interface UsersSessionsGetInput {
|
|
|
121017
123178
|
sessionId: string;
|
|
121018
123179
|
}
|
|
121019
123180
|
export interface UsersSessionsGetOutput {
|
|
123181
|
+
/**
|
|
123182
|
+
* Id of this session. Pass it to users_sessions_revoke.
|
|
123183
|
+
*/
|
|
121020
123184
|
id: string;
|
|
123185
|
+
/**
|
|
123186
|
+
* IP the session was opened from. Null when it was not recorded.
|
|
123187
|
+
*/
|
|
121021
123188
|
ip: (string | null);
|
|
121022
123189
|
/**
|
|
121023
123190
|
* `aal2` only if a verified second factor completed.
|
|
@@ -121027,18 +123194,45 @@ export interface UsersSessionsGetOutput {
|
|
|
121027
123194
|
* The factors this session was established with.
|
|
121028
123195
|
*/
|
|
121029
123196
|
amr: string[];
|
|
123197
|
+
/**
|
|
123198
|
+
* Whether the session is still usable, expired, or revoked.
|
|
123199
|
+
*/
|
|
121030
123200
|
status: ("active" | "revoked");
|
|
123201
|
+
/**
|
|
123202
|
+
* The end user this session belongs to.
|
|
123203
|
+
*/
|
|
121031
123204
|
userId: string;
|
|
123205
|
+
/**
|
|
123206
|
+
* When the session was opened (ISO 8601).
|
|
123207
|
+
*/
|
|
121032
123208
|
createdAt: string;
|
|
123209
|
+
/**
|
|
123210
|
+
* When the current token stops working unless refreshed (ISO 8601).
|
|
123211
|
+
*/
|
|
121033
123212
|
expiresAt: string;
|
|
123213
|
+
/**
|
|
123214
|
+
* When the session was revoked (ISO 8601). Null while it is live.
|
|
123215
|
+
*/
|
|
121034
123216
|
revokedAt: (string | null);
|
|
123217
|
+
/**
|
|
123218
|
+
* User agent the session was opened from. Null when none was sent.
|
|
123219
|
+
*/
|
|
121035
123220
|
userAgent: (string | null);
|
|
123221
|
+
/**
|
|
123222
|
+
* 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.
|
|
123223
|
+
*/
|
|
121036
123224
|
revokedReason: (string | null);
|
|
121037
123225
|
/**
|
|
121038
123226
|
* The operator behind an impersonated session, or null for an ordinary one.
|
|
121039
123227
|
*/
|
|
121040
123228
|
impersonatedBy: (string | null);
|
|
123229
|
+
/**
|
|
123230
|
+
* When the session last refreshed its tokens (ISO 8601). Null if it never has.
|
|
123231
|
+
*/
|
|
121041
123232
|
lastRefreshedAt: (string | null);
|
|
123233
|
+
/**
|
|
123234
|
+
* When the session ends no matter how often it refreshes (ISO 8601).
|
|
123235
|
+
*/
|
|
121042
123236
|
absoluteExpiresAt: string;
|
|
121043
123237
|
}
|
|
121044
123238
|
export interface UsersSessionsImpersonateInput {
|
|
@@ -121074,16 +123268,49 @@ export interface UsersSessionsListInput {
|
|
|
121074
123268
|
userId: string;
|
|
121075
123269
|
}
|
|
121076
123270
|
export interface UsersSessionsListOutput {
|
|
123271
|
+
/**
|
|
123272
|
+
* The sessions matching the filter, newest first.
|
|
123273
|
+
*/
|
|
121077
123274
|
sessions: {
|
|
123275
|
+
/**
|
|
123276
|
+
* Id of this session. Pass it to users_sessions_revoke.
|
|
123277
|
+
*/
|
|
121078
123278
|
id: string;
|
|
123279
|
+
/**
|
|
123280
|
+
* IP the session was opened from. Null when it was not recorded.
|
|
123281
|
+
*/
|
|
121079
123282
|
ip: (string | null);
|
|
123283
|
+
/**
|
|
123284
|
+
* Whether the session is still usable, expired, or revoked.
|
|
123285
|
+
*/
|
|
121080
123286
|
status: ("active" | "revoked");
|
|
123287
|
+
/**
|
|
123288
|
+
* The end user this session belongs to.
|
|
123289
|
+
*/
|
|
121081
123290
|
userId: string;
|
|
123291
|
+
/**
|
|
123292
|
+
* When the session was opened (ISO 8601).
|
|
123293
|
+
*/
|
|
121082
123294
|
createdAt: string;
|
|
123295
|
+
/**
|
|
123296
|
+
* When the current token stops working unless refreshed (ISO 8601).
|
|
123297
|
+
*/
|
|
121083
123298
|
expiresAt: string;
|
|
123299
|
+
/**
|
|
123300
|
+
* When the session was revoked (ISO 8601). Null while it is live.
|
|
123301
|
+
*/
|
|
121084
123302
|
revokedAt: (string | null);
|
|
123303
|
+
/**
|
|
123304
|
+
* User agent the session was opened from. Null when none was sent.
|
|
123305
|
+
*/
|
|
121085
123306
|
userAgent: (string | null);
|
|
123307
|
+
/**
|
|
123308
|
+
* When the session last refreshed its tokens (ISO 8601). Null if it never has.
|
|
123309
|
+
*/
|
|
121086
123310
|
lastRefreshedAt: (string | null);
|
|
123311
|
+
/**
|
|
123312
|
+
* When the session ends no matter how often it refreshes (ISO 8601).
|
|
123313
|
+
*/
|
|
121087
123314
|
absoluteExpiresAt: string;
|
|
121088
123315
|
}[];
|
|
121089
123316
|
}
|
|
@@ -121098,6 +123325,9 @@ export interface UsersSessionsRevokeInput {
|
|
|
121098
123325
|
sessionId?: string;
|
|
121099
123326
|
}
|
|
121100
123327
|
export interface UsersSessionsRevokeOutput {
|
|
123328
|
+
/**
|
|
123329
|
+
* How many sessions were revoked. Zero when there was nothing live to revoke.
|
|
123330
|
+
*/
|
|
121101
123331
|
revoked: number;
|
|
121102
123332
|
}
|
|
121103
123333
|
export interface UsersStatsGetInput {
|
|
@@ -121220,37 +123450,126 @@ export interface UsersUsersBanInput {
|
|
|
121220
123450
|
userId: string;
|
|
121221
123451
|
}
|
|
121222
123452
|
export interface UsersUsersBanOutput {
|
|
123453
|
+
/**
|
|
123454
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
123455
|
+
*/
|
|
121223
123456
|
id: string;
|
|
123457
|
+
/**
|
|
123458
|
+
* The user's display name. Null when nobody set one.
|
|
123459
|
+
*/
|
|
121224
123460
|
name: (string | null);
|
|
123461
|
+
/**
|
|
123462
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
123463
|
+
*/
|
|
121225
123464
|
bannedAt: (string | null);
|
|
123465
|
+
/**
|
|
123466
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
123467
|
+
*/
|
|
121226
123468
|
erasedAt: (string | null);
|
|
123469
|
+
/**
|
|
123470
|
+
* URL of the user's avatar. Null when there is none.
|
|
123471
|
+
*/
|
|
121227
123472
|
imageUrl: (string | null);
|
|
123473
|
+
/**
|
|
123474
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
123475
|
+
*/
|
|
121228
123476
|
testUser: boolean;
|
|
123477
|
+
/**
|
|
123478
|
+
* When the user was created (ISO 8601).
|
|
123479
|
+
*/
|
|
121229
123480
|
createdAt: string;
|
|
123481
|
+
/**
|
|
123482
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
123483
|
+
*/
|
|
121230
123484
|
deletedAt: (string | null);
|
|
123485
|
+
/**
|
|
123486
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
123487
|
+
*/
|
|
121231
123488
|
productId: string;
|
|
123489
|
+
/**
|
|
123490
|
+
* When the user was last changed (ISO 8601).
|
|
123491
|
+
*/
|
|
121232
123492
|
updatedAt: string;
|
|
123493
|
+
/**
|
|
123494
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
123495
|
+
*/
|
|
121233
123496
|
waitlisted: boolean;
|
|
123497
|
+
/**
|
|
123498
|
+
* 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".
|
|
123499
|
+
*/
|
|
121234
123500
|
identifiers: {
|
|
123501
|
+
/**
|
|
123502
|
+
* Id of this identifier row.
|
|
123503
|
+
*/
|
|
121235
123504
|
id: string;
|
|
123505
|
+
/**
|
|
123506
|
+
* What kind of identifier this is. Today always `email`.
|
|
123507
|
+
*/
|
|
121236
123508
|
type: "email";
|
|
123509
|
+
/**
|
|
123510
|
+
* The address as the user typed it, for display.
|
|
123511
|
+
*/
|
|
121237
123512
|
value: string;
|
|
123513
|
+
/**
|
|
123514
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
123515
|
+
*/
|
|
121238
123516
|
isPrimary: boolean;
|
|
123517
|
+
/**
|
|
123518
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
123519
|
+
*/
|
|
121239
123520
|
verifiedAt: (string | null);
|
|
123521
|
+
/**
|
|
123522
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
123523
|
+
*/
|
|
121240
123524
|
valueCanonical: string;
|
|
123525
|
+
/**
|
|
123526
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
123527
|
+
*/
|
|
121241
123528
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
121242
123529
|
}[];
|
|
123530
|
+
/**
|
|
123531
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
123532
|
+
*/
|
|
121243
123533
|
lockedUntil: (string | null);
|
|
123534
|
+
/**
|
|
123535
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
123536
|
+
*/
|
|
121244
123537
|
lastSignInAt: (string | null);
|
|
123538
|
+
/**
|
|
123539
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
123540
|
+
*/
|
|
123541
|
+
primaryEmail: (string | null);
|
|
123542
|
+
/**
|
|
123543
|
+
* Whether the user must set a new password at their next sign-in.
|
|
123544
|
+
*/
|
|
121245
123545
|
requiresReset: boolean;
|
|
121246
|
-
|
|
121247
|
-
|
|
121248
|
-
|
|
123546
|
+
/**
|
|
123547
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
123548
|
+
*/
|
|
123549
|
+
publicMetadata: {
|
|
123550
|
+
[k: string]: unknown;
|
|
123551
|
+
};
|
|
123552
|
+
/**
|
|
123553
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
123554
|
+
*/
|
|
123555
|
+
unsafeMetadata: {
|
|
123556
|
+
[k: string]: unknown;
|
|
123557
|
+
};
|
|
123558
|
+
/**
|
|
123559
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
123560
|
+
*/
|
|
123561
|
+
privateMetadata: {
|
|
123562
|
+
[k: string]: unknown;
|
|
123563
|
+
};
|
|
123564
|
+
/**
|
|
123565
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
123566
|
+
*/
|
|
123567
|
+
primaryIdentifierId: (string | null);
|
|
123568
|
+
/**
|
|
123569
|
+
* 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.
|
|
123570
|
+
*/
|
|
121249
123571
|
emailChangeLockedUntil: (string | null);
|
|
121250
123572
|
}
|
|
121251
|
-
export interface UsersUsersBanOutputPublicMetadata {
|
|
121252
|
-
[k: string]: unknown;
|
|
121253
|
-
}
|
|
121254
123573
|
export interface UsersUsersCreateInput {
|
|
121255
123574
|
/**
|
|
121256
123575
|
* The user's display name.
|
|
@@ -121354,37 +123673,126 @@ export interface UsersUsersCreateInputPublicMetadata1 {
|
|
|
121354
123673
|
[k: string]: unknown;
|
|
121355
123674
|
}
|
|
121356
123675
|
export interface UsersUsersCreateOutput {
|
|
123676
|
+
/**
|
|
123677
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
123678
|
+
*/
|
|
121357
123679
|
id: string;
|
|
123680
|
+
/**
|
|
123681
|
+
* The user's display name. Null when nobody set one.
|
|
123682
|
+
*/
|
|
121358
123683
|
name: (string | null);
|
|
123684
|
+
/**
|
|
123685
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
123686
|
+
*/
|
|
121359
123687
|
bannedAt: (string | null);
|
|
123688
|
+
/**
|
|
123689
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
123690
|
+
*/
|
|
121360
123691
|
erasedAt: (string | null);
|
|
123692
|
+
/**
|
|
123693
|
+
* URL of the user's avatar. Null when there is none.
|
|
123694
|
+
*/
|
|
121361
123695
|
imageUrl: (string | null);
|
|
123696
|
+
/**
|
|
123697
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
123698
|
+
*/
|
|
121362
123699
|
testUser: boolean;
|
|
123700
|
+
/**
|
|
123701
|
+
* When the user was created (ISO 8601).
|
|
123702
|
+
*/
|
|
121363
123703
|
createdAt: string;
|
|
123704
|
+
/**
|
|
123705
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
123706
|
+
*/
|
|
121364
123707
|
deletedAt: (string | null);
|
|
123708
|
+
/**
|
|
123709
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
123710
|
+
*/
|
|
121365
123711
|
productId: string;
|
|
123712
|
+
/**
|
|
123713
|
+
* When the user was last changed (ISO 8601).
|
|
123714
|
+
*/
|
|
121366
123715
|
updatedAt: string;
|
|
123716
|
+
/**
|
|
123717
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
123718
|
+
*/
|
|
121367
123719
|
waitlisted: boolean;
|
|
123720
|
+
/**
|
|
123721
|
+
* 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".
|
|
123722
|
+
*/
|
|
121368
123723
|
identifiers: {
|
|
123724
|
+
/**
|
|
123725
|
+
* Id of this identifier row.
|
|
123726
|
+
*/
|
|
121369
123727
|
id: string;
|
|
123728
|
+
/**
|
|
123729
|
+
* What kind of identifier this is. Today always `email`.
|
|
123730
|
+
*/
|
|
121370
123731
|
type: "email";
|
|
123732
|
+
/**
|
|
123733
|
+
* The address as the user typed it, for display.
|
|
123734
|
+
*/
|
|
121371
123735
|
value: string;
|
|
123736
|
+
/**
|
|
123737
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
123738
|
+
*/
|
|
121372
123739
|
isPrimary: boolean;
|
|
123740
|
+
/**
|
|
123741
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
123742
|
+
*/
|
|
121373
123743
|
verifiedAt: (string | null);
|
|
123744
|
+
/**
|
|
123745
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
123746
|
+
*/
|
|
121374
123747
|
valueCanonical: string;
|
|
123748
|
+
/**
|
|
123749
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
123750
|
+
*/
|
|
121375
123751
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
121376
123752
|
}[];
|
|
123753
|
+
/**
|
|
123754
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
123755
|
+
*/
|
|
121377
123756
|
lockedUntil: (string | null);
|
|
123757
|
+
/**
|
|
123758
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
123759
|
+
*/
|
|
121378
123760
|
lastSignInAt: (string | null);
|
|
123761
|
+
/**
|
|
123762
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
123763
|
+
*/
|
|
123764
|
+
primaryEmail: (string | null);
|
|
123765
|
+
/**
|
|
123766
|
+
* Whether the user must set a new password at their next sign-in.
|
|
123767
|
+
*/
|
|
121379
123768
|
requiresReset: boolean;
|
|
121380
|
-
|
|
121381
|
-
|
|
121382
|
-
|
|
123769
|
+
/**
|
|
123770
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
123771
|
+
*/
|
|
123772
|
+
publicMetadata: {
|
|
123773
|
+
[k: string]: unknown;
|
|
123774
|
+
};
|
|
123775
|
+
/**
|
|
123776
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
123777
|
+
*/
|
|
123778
|
+
unsafeMetadata: {
|
|
123779
|
+
[k: string]: unknown;
|
|
123780
|
+
};
|
|
123781
|
+
/**
|
|
123782
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
123783
|
+
*/
|
|
123784
|
+
privateMetadata: {
|
|
123785
|
+
[k: string]: unknown;
|
|
123786
|
+
};
|
|
123787
|
+
/**
|
|
123788
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
123789
|
+
*/
|
|
123790
|
+
primaryIdentifierId: (string | null);
|
|
123791
|
+
/**
|
|
123792
|
+
* 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.
|
|
123793
|
+
*/
|
|
121383
123794
|
emailChangeLockedUntil: (string | null);
|
|
121384
123795
|
}
|
|
121385
|
-
export interface UsersUsersCreateOutputPublicMetadata {
|
|
121386
|
-
[k: string]: unknown;
|
|
121387
|
-
}
|
|
121388
123796
|
export interface UsersUsersDeleteInput {
|
|
121389
123797
|
/**
|
|
121390
123798
|
* The opaque user id returned by users_users_create or _list.
|
|
@@ -121392,37 +123800,126 @@ export interface UsersUsersDeleteInput {
|
|
|
121392
123800
|
userId: string;
|
|
121393
123801
|
}
|
|
121394
123802
|
export interface UsersUsersDeleteOutput {
|
|
123803
|
+
/**
|
|
123804
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
123805
|
+
*/
|
|
121395
123806
|
id: string;
|
|
123807
|
+
/**
|
|
123808
|
+
* The user's display name. Null when nobody set one.
|
|
123809
|
+
*/
|
|
121396
123810
|
name: (string | null);
|
|
123811
|
+
/**
|
|
123812
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
123813
|
+
*/
|
|
121397
123814
|
bannedAt: (string | null);
|
|
123815
|
+
/**
|
|
123816
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
123817
|
+
*/
|
|
121398
123818
|
erasedAt: (string | null);
|
|
123819
|
+
/**
|
|
123820
|
+
* URL of the user's avatar. Null when there is none.
|
|
123821
|
+
*/
|
|
121399
123822
|
imageUrl: (string | null);
|
|
123823
|
+
/**
|
|
123824
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
123825
|
+
*/
|
|
121400
123826
|
testUser: boolean;
|
|
123827
|
+
/**
|
|
123828
|
+
* When the user was created (ISO 8601).
|
|
123829
|
+
*/
|
|
121401
123830
|
createdAt: string;
|
|
123831
|
+
/**
|
|
123832
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
123833
|
+
*/
|
|
121402
123834
|
deletedAt: (string | null);
|
|
123835
|
+
/**
|
|
123836
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
123837
|
+
*/
|
|
121403
123838
|
productId: string;
|
|
123839
|
+
/**
|
|
123840
|
+
* When the user was last changed (ISO 8601).
|
|
123841
|
+
*/
|
|
121404
123842
|
updatedAt: string;
|
|
123843
|
+
/**
|
|
123844
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
123845
|
+
*/
|
|
121405
123846
|
waitlisted: boolean;
|
|
123847
|
+
/**
|
|
123848
|
+
* 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".
|
|
123849
|
+
*/
|
|
121406
123850
|
identifiers: {
|
|
123851
|
+
/**
|
|
123852
|
+
* Id of this identifier row.
|
|
123853
|
+
*/
|
|
121407
123854
|
id: string;
|
|
123855
|
+
/**
|
|
123856
|
+
* What kind of identifier this is. Today always `email`.
|
|
123857
|
+
*/
|
|
121408
123858
|
type: "email";
|
|
123859
|
+
/**
|
|
123860
|
+
* The address as the user typed it, for display.
|
|
123861
|
+
*/
|
|
121409
123862
|
value: string;
|
|
123863
|
+
/**
|
|
123864
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
123865
|
+
*/
|
|
121410
123866
|
isPrimary: boolean;
|
|
123867
|
+
/**
|
|
123868
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
123869
|
+
*/
|
|
121411
123870
|
verifiedAt: (string | null);
|
|
123871
|
+
/**
|
|
123872
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
123873
|
+
*/
|
|
121412
123874
|
valueCanonical: string;
|
|
123875
|
+
/**
|
|
123876
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
123877
|
+
*/
|
|
121413
123878
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
121414
123879
|
}[];
|
|
123880
|
+
/**
|
|
123881
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
123882
|
+
*/
|
|
121415
123883
|
lockedUntil: (string | null);
|
|
123884
|
+
/**
|
|
123885
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
123886
|
+
*/
|
|
121416
123887
|
lastSignInAt: (string | null);
|
|
123888
|
+
/**
|
|
123889
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
123890
|
+
*/
|
|
123891
|
+
primaryEmail: (string | null);
|
|
123892
|
+
/**
|
|
123893
|
+
* Whether the user must set a new password at their next sign-in.
|
|
123894
|
+
*/
|
|
121417
123895
|
requiresReset: boolean;
|
|
121418
|
-
|
|
121419
|
-
|
|
121420
|
-
|
|
123896
|
+
/**
|
|
123897
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
123898
|
+
*/
|
|
123899
|
+
publicMetadata: {
|
|
123900
|
+
[k: string]: unknown;
|
|
123901
|
+
};
|
|
123902
|
+
/**
|
|
123903
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
123904
|
+
*/
|
|
123905
|
+
unsafeMetadata: {
|
|
123906
|
+
[k: string]: unknown;
|
|
123907
|
+
};
|
|
123908
|
+
/**
|
|
123909
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
123910
|
+
*/
|
|
123911
|
+
privateMetadata: {
|
|
123912
|
+
[k: string]: unknown;
|
|
123913
|
+
};
|
|
123914
|
+
/**
|
|
123915
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
123916
|
+
*/
|
|
123917
|
+
primaryIdentifierId: (string | null);
|
|
123918
|
+
/**
|
|
123919
|
+
* 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.
|
|
123920
|
+
*/
|
|
121421
123921
|
emailChangeLockedUntil: (string | null);
|
|
121422
123922
|
}
|
|
121423
|
-
export interface UsersUsersDeleteOutputPublicMetadata {
|
|
121424
|
-
[k: string]: unknown;
|
|
121425
|
-
}
|
|
121426
123923
|
export interface UsersUsersExportInput {
|
|
121427
123924
|
/**
|
|
121428
123925
|
* Rows per page, 1-500. Default 100.
|
|
@@ -121448,40 +123945,129 @@ export interface UsersUsersExportInput {
|
|
|
121448
123945
|
export interface UsersUsersExportOutput {
|
|
121449
123946
|
count: number;
|
|
121450
123947
|
users: {
|
|
123948
|
+
/**
|
|
123949
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
123950
|
+
*/
|
|
121451
123951
|
id: string;
|
|
123952
|
+
/**
|
|
123953
|
+
* The user's display name. Null when nobody set one.
|
|
123954
|
+
*/
|
|
121452
123955
|
name: (string | null);
|
|
123956
|
+
/**
|
|
123957
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
123958
|
+
*/
|
|
121453
123959
|
bannedAt: (string | null);
|
|
123960
|
+
/**
|
|
123961
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
123962
|
+
*/
|
|
121454
123963
|
erasedAt: (string | null);
|
|
123964
|
+
/**
|
|
123965
|
+
* URL of the user's avatar. Null when there is none.
|
|
123966
|
+
*/
|
|
121455
123967
|
imageUrl: (string | null);
|
|
123968
|
+
/**
|
|
123969
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
123970
|
+
*/
|
|
121456
123971
|
testUser: boolean;
|
|
123972
|
+
/**
|
|
123973
|
+
* When the user was created (ISO 8601).
|
|
123974
|
+
*/
|
|
121457
123975
|
createdAt: string;
|
|
123976
|
+
/**
|
|
123977
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
123978
|
+
*/
|
|
121458
123979
|
deletedAt: (string | null);
|
|
123980
|
+
/**
|
|
123981
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
123982
|
+
*/
|
|
121459
123983
|
productId: string;
|
|
123984
|
+
/**
|
|
123985
|
+
* When the user was last changed (ISO 8601).
|
|
123986
|
+
*/
|
|
121460
123987
|
updatedAt: string;
|
|
123988
|
+
/**
|
|
123989
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
123990
|
+
*/
|
|
121461
123991
|
waitlisted: boolean;
|
|
123992
|
+
/**
|
|
123993
|
+
* 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".
|
|
123994
|
+
*/
|
|
121462
123995
|
identifiers: {
|
|
123996
|
+
/**
|
|
123997
|
+
* Id of this identifier row.
|
|
123998
|
+
*/
|
|
121463
123999
|
id: string;
|
|
124000
|
+
/**
|
|
124001
|
+
* What kind of identifier this is. Today always `email`.
|
|
124002
|
+
*/
|
|
121464
124003
|
type: "email";
|
|
124004
|
+
/**
|
|
124005
|
+
* The address as the user typed it, for display.
|
|
124006
|
+
*/
|
|
121465
124007
|
value: string;
|
|
124008
|
+
/**
|
|
124009
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
124010
|
+
*/
|
|
121466
124011
|
isPrimary: boolean;
|
|
124012
|
+
/**
|
|
124013
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
124014
|
+
*/
|
|
121467
124015
|
verifiedAt: (string | null);
|
|
124016
|
+
/**
|
|
124017
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
124018
|
+
*/
|
|
121468
124019
|
valueCanonical: string;
|
|
124020
|
+
/**
|
|
124021
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
124022
|
+
*/
|
|
121469
124023
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
121470
124024
|
}[];
|
|
124025
|
+
/**
|
|
124026
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124027
|
+
*/
|
|
121471
124028
|
lockedUntil: (string | null);
|
|
124029
|
+
/**
|
|
124030
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
124031
|
+
*/
|
|
121472
124032
|
lastSignInAt: (string | null);
|
|
124033
|
+
/**
|
|
124034
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
124035
|
+
*/
|
|
124036
|
+
primaryEmail: (string | null);
|
|
124037
|
+
/**
|
|
124038
|
+
* Whether the user must set a new password at their next sign-in.
|
|
124039
|
+
*/
|
|
121473
124040
|
requiresReset: boolean;
|
|
121474
|
-
|
|
121475
|
-
|
|
121476
|
-
|
|
124041
|
+
/**
|
|
124042
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
124043
|
+
*/
|
|
124044
|
+
publicMetadata: {
|
|
124045
|
+
[k: string]: unknown;
|
|
124046
|
+
};
|
|
124047
|
+
/**
|
|
124048
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
124049
|
+
*/
|
|
124050
|
+
unsafeMetadata: {
|
|
124051
|
+
[k: string]: unknown;
|
|
124052
|
+
};
|
|
124053
|
+
/**
|
|
124054
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
124055
|
+
*/
|
|
124056
|
+
privateMetadata: {
|
|
124057
|
+
[k: string]: unknown;
|
|
124058
|
+
};
|
|
124059
|
+
/**
|
|
124060
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124061
|
+
*/
|
|
124062
|
+
primaryIdentifierId: (string | null);
|
|
124063
|
+
/**
|
|
124064
|
+
* 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.
|
|
124065
|
+
*/
|
|
121477
124066
|
emailChangeLockedUntil: (string | null);
|
|
121478
124067
|
}[];
|
|
121479
124068
|
exportedAt: string;
|
|
121480
124069
|
nextCursor: (string | null);
|
|
121481
124070
|
}
|
|
121482
|
-
export interface UsersUsersExportOutputPublicMetadata {
|
|
121483
|
-
[k: string]: unknown;
|
|
121484
|
-
}
|
|
121485
124071
|
export interface UsersUsersGetInput {
|
|
121486
124072
|
/**
|
|
121487
124073
|
* The opaque user id returned by users_users_create or _list.
|
|
@@ -121489,37 +124075,126 @@ export interface UsersUsersGetInput {
|
|
|
121489
124075
|
userId: string;
|
|
121490
124076
|
}
|
|
121491
124077
|
export interface UsersUsersGetOutput {
|
|
124078
|
+
/**
|
|
124079
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
124080
|
+
*/
|
|
121492
124081
|
id: string;
|
|
124082
|
+
/**
|
|
124083
|
+
* The user's display name. Null when nobody set one.
|
|
124084
|
+
*/
|
|
121493
124085
|
name: (string | null);
|
|
124086
|
+
/**
|
|
124087
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124088
|
+
*/
|
|
121494
124089
|
bannedAt: (string | null);
|
|
124090
|
+
/**
|
|
124091
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
124092
|
+
*/
|
|
121495
124093
|
erasedAt: (string | null);
|
|
124094
|
+
/**
|
|
124095
|
+
* URL of the user's avatar. Null when there is none.
|
|
124096
|
+
*/
|
|
121496
124097
|
imageUrl: (string | null);
|
|
124098
|
+
/**
|
|
124099
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
124100
|
+
*/
|
|
121497
124101
|
testUser: boolean;
|
|
124102
|
+
/**
|
|
124103
|
+
* When the user was created (ISO 8601).
|
|
124104
|
+
*/
|
|
121498
124105
|
createdAt: string;
|
|
124106
|
+
/**
|
|
124107
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
124108
|
+
*/
|
|
121499
124109
|
deletedAt: (string | null);
|
|
124110
|
+
/**
|
|
124111
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
124112
|
+
*/
|
|
121500
124113
|
productId: string;
|
|
124114
|
+
/**
|
|
124115
|
+
* When the user was last changed (ISO 8601).
|
|
124116
|
+
*/
|
|
121501
124117
|
updatedAt: string;
|
|
124118
|
+
/**
|
|
124119
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124120
|
+
*/
|
|
121502
124121
|
waitlisted: boolean;
|
|
124122
|
+
/**
|
|
124123
|
+
* 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".
|
|
124124
|
+
*/
|
|
121503
124125
|
identifiers: {
|
|
124126
|
+
/**
|
|
124127
|
+
* Id of this identifier row.
|
|
124128
|
+
*/
|
|
121504
124129
|
id: string;
|
|
124130
|
+
/**
|
|
124131
|
+
* What kind of identifier this is. Today always `email`.
|
|
124132
|
+
*/
|
|
121505
124133
|
type: "email";
|
|
124134
|
+
/**
|
|
124135
|
+
* The address as the user typed it, for display.
|
|
124136
|
+
*/
|
|
121506
124137
|
value: string;
|
|
124138
|
+
/**
|
|
124139
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
124140
|
+
*/
|
|
121507
124141
|
isPrimary: boolean;
|
|
124142
|
+
/**
|
|
124143
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
124144
|
+
*/
|
|
121508
124145
|
verifiedAt: (string | null);
|
|
124146
|
+
/**
|
|
124147
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
124148
|
+
*/
|
|
121509
124149
|
valueCanonical: string;
|
|
124150
|
+
/**
|
|
124151
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
124152
|
+
*/
|
|
121510
124153
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
121511
124154
|
}[];
|
|
124155
|
+
/**
|
|
124156
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124157
|
+
*/
|
|
121512
124158
|
lockedUntil: (string | null);
|
|
124159
|
+
/**
|
|
124160
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
124161
|
+
*/
|
|
121513
124162
|
lastSignInAt: (string | null);
|
|
124163
|
+
/**
|
|
124164
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
124165
|
+
*/
|
|
124166
|
+
primaryEmail: (string | null);
|
|
124167
|
+
/**
|
|
124168
|
+
* Whether the user must set a new password at their next sign-in.
|
|
124169
|
+
*/
|
|
121514
124170
|
requiresReset: boolean;
|
|
121515
|
-
|
|
121516
|
-
|
|
121517
|
-
|
|
124171
|
+
/**
|
|
124172
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
124173
|
+
*/
|
|
124174
|
+
publicMetadata: {
|
|
124175
|
+
[k: string]: unknown;
|
|
124176
|
+
};
|
|
124177
|
+
/**
|
|
124178
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
124179
|
+
*/
|
|
124180
|
+
unsafeMetadata: {
|
|
124181
|
+
[k: string]: unknown;
|
|
124182
|
+
};
|
|
124183
|
+
/**
|
|
124184
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
124185
|
+
*/
|
|
124186
|
+
privateMetadata: {
|
|
124187
|
+
[k: string]: unknown;
|
|
124188
|
+
};
|
|
124189
|
+
/**
|
|
124190
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124191
|
+
*/
|
|
124192
|
+
primaryIdentifierId: (string | null);
|
|
124193
|
+
/**
|
|
124194
|
+
* 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.
|
|
124195
|
+
*/
|
|
121518
124196
|
emailChangeLockedUntil: (string | null);
|
|
121519
124197
|
}
|
|
121520
|
-
export interface UsersUsersGetOutputPublicMetadata {
|
|
121521
|
-
[k: string]: unknown;
|
|
121522
|
-
}
|
|
121523
124198
|
export interface UsersUsersImportInput {
|
|
121524
124199
|
/**
|
|
121525
124200
|
* The users to import, at most 500 per call — batch client-side beyond that. Each row: identifiers (email), optional profile, optional password HASH, optional flags.
|
|
@@ -121530,15 +124205,42 @@ export interface UsersUsersImportInput {
|
|
|
121530
124205
|
users: [unknown, ...(unknown)[]];
|
|
121531
124206
|
}
|
|
121532
124207
|
export interface UsersUsersImportOutput {
|
|
124208
|
+
/**
|
|
124209
|
+
* How many rows could not be imported at all.
|
|
124210
|
+
*/
|
|
121533
124211
|
failed: number;
|
|
124212
|
+
/**
|
|
124213
|
+
* How many users were created.
|
|
124214
|
+
*/
|
|
121534
124215
|
created: number;
|
|
124216
|
+
/**
|
|
124217
|
+
* One row per submitted row, in the order you sent them.
|
|
124218
|
+
*/
|
|
121535
124219
|
results: {
|
|
124220
|
+
/**
|
|
124221
|
+
* Zero-based index of the row in the `users` array you sent.
|
|
124222
|
+
*/
|
|
121536
124223
|
row: number;
|
|
124224
|
+
/**
|
|
124225
|
+
* Why it was skipped, or what went wrong. Null for a created row.
|
|
124226
|
+
*/
|
|
121537
124227
|
reason: (string | null);
|
|
124228
|
+
/**
|
|
124229
|
+
* What happened to this row.
|
|
124230
|
+
*/
|
|
121538
124231
|
status: ("created" | "skipped" | "failed");
|
|
124232
|
+
/**
|
|
124233
|
+
* The created user's id. Null for skipped and failed rows.
|
|
124234
|
+
*/
|
|
121539
124235
|
userId: (string | null);
|
|
121540
124236
|
}[];
|
|
124237
|
+
/**
|
|
124238
|
+
* How many rows were passed over — an address already in the directory, typically.
|
|
124239
|
+
*/
|
|
121541
124240
|
skipped: number;
|
|
124241
|
+
/**
|
|
124242
|
+
* How many rows you submitted.
|
|
124243
|
+
*/
|
|
121542
124244
|
requested: number;
|
|
121543
124245
|
}
|
|
121544
124246
|
export interface UsersUsersInviteInput {
|
|
@@ -121564,9 +124266,21 @@ export interface UsersUsersInviteInput {
|
|
|
121564
124266
|
};
|
|
121565
124267
|
}
|
|
121566
124268
|
export interface UsersUsersInviteOutput {
|
|
124269
|
+
/**
|
|
124270
|
+
* False when the re-invite cooldown or the mail toolkit refused the send. The invite is still live.
|
|
124271
|
+
*/
|
|
121567
124272
|
mailed: boolean;
|
|
124273
|
+
/**
|
|
124274
|
+
* The invited user, created immediately and listed straight away — they simply cannot sign in until they accept.
|
|
124275
|
+
*/
|
|
121568
124276
|
userId: string;
|
|
124277
|
+
/**
|
|
124278
|
+
* False when this address had already been invited; the same user is returned.
|
|
124279
|
+
*/
|
|
121569
124280
|
created: boolean;
|
|
124281
|
+
/**
|
|
124282
|
+
* When the invite link stops working (ISO 8601).
|
|
124283
|
+
*/
|
|
121570
124284
|
expiresAt: string;
|
|
121571
124285
|
}
|
|
121572
124286
|
export interface UsersUsersListInput {
|
|
@@ -121600,40 +124314,135 @@ export interface UsersUsersListInput {
|
|
|
121600
124314
|
includeWaitlisted?: boolean;
|
|
121601
124315
|
}
|
|
121602
124316
|
export interface UsersUsersListOutput {
|
|
124317
|
+
/**
|
|
124318
|
+
* The page of users, newest first.
|
|
124319
|
+
*/
|
|
121603
124320
|
users: {
|
|
124321
|
+
/**
|
|
124322
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
124323
|
+
*/
|
|
121604
124324
|
id: string;
|
|
124325
|
+
/**
|
|
124326
|
+
* The user's display name. Null when nobody set one.
|
|
124327
|
+
*/
|
|
121605
124328
|
name: (string | null);
|
|
124329
|
+
/**
|
|
124330
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124331
|
+
*/
|
|
121606
124332
|
bannedAt: (string | null);
|
|
124333
|
+
/**
|
|
124334
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
124335
|
+
*/
|
|
121607
124336
|
erasedAt: (string | null);
|
|
124337
|
+
/**
|
|
124338
|
+
* URL of the user's avatar. Null when there is none.
|
|
124339
|
+
*/
|
|
121608
124340
|
imageUrl: (string | null);
|
|
124341
|
+
/**
|
|
124342
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
124343
|
+
*/
|
|
121609
124344
|
testUser: boolean;
|
|
124345
|
+
/**
|
|
124346
|
+
* When the user was created (ISO 8601).
|
|
124347
|
+
*/
|
|
121610
124348
|
createdAt: string;
|
|
124349
|
+
/**
|
|
124350
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
124351
|
+
*/
|
|
121611
124352
|
deletedAt: (string | null);
|
|
124353
|
+
/**
|
|
124354
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
124355
|
+
*/
|
|
121612
124356
|
productId: string;
|
|
124357
|
+
/**
|
|
124358
|
+
* When the user was last changed (ISO 8601).
|
|
124359
|
+
*/
|
|
121613
124360
|
updatedAt: string;
|
|
124361
|
+
/**
|
|
124362
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124363
|
+
*/
|
|
121614
124364
|
waitlisted: boolean;
|
|
124365
|
+
/**
|
|
124366
|
+
* 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".
|
|
124367
|
+
*/
|
|
121615
124368
|
identifiers: {
|
|
124369
|
+
/**
|
|
124370
|
+
* Id of this identifier row.
|
|
124371
|
+
*/
|
|
121616
124372
|
id: string;
|
|
124373
|
+
/**
|
|
124374
|
+
* What kind of identifier this is. Today always `email`.
|
|
124375
|
+
*/
|
|
121617
124376
|
type: "email";
|
|
124377
|
+
/**
|
|
124378
|
+
* The address as the user typed it, for display.
|
|
124379
|
+
*/
|
|
121618
124380
|
value: string;
|
|
124381
|
+
/**
|
|
124382
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
124383
|
+
*/
|
|
121619
124384
|
isPrimary: boolean;
|
|
124385
|
+
/**
|
|
124386
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
124387
|
+
*/
|
|
121620
124388
|
verifiedAt: (string | null);
|
|
124389
|
+
/**
|
|
124390
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
124391
|
+
*/
|
|
121621
124392
|
valueCanonical: string;
|
|
124393
|
+
/**
|
|
124394
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
124395
|
+
*/
|
|
121622
124396
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
121623
124397
|
}[];
|
|
124398
|
+
/**
|
|
124399
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124400
|
+
*/
|
|
121624
124401
|
lockedUntil: (string | null);
|
|
124402
|
+
/**
|
|
124403
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
124404
|
+
*/
|
|
121625
124405
|
lastSignInAt: (string | null);
|
|
124406
|
+
/**
|
|
124407
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
124408
|
+
*/
|
|
124409
|
+
primaryEmail: (string | null);
|
|
124410
|
+
/**
|
|
124411
|
+
* Whether the user must set a new password at their next sign-in.
|
|
124412
|
+
*/
|
|
121626
124413
|
requiresReset: boolean;
|
|
121627
|
-
|
|
121628
|
-
|
|
121629
|
-
|
|
124414
|
+
/**
|
|
124415
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
124416
|
+
*/
|
|
124417
|
+
publicMetadata: {
|
|
124418
|
+
[k: string]: unknown;
|
|
124419
|
+
};
|
|
124420
|
+
/**
|
|
124421
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
124422
|
+
*/
|
|
124423
|
+
unsafeMetadata: {
|
|
124424
|
+
[k: string]: unknown;
|
|
124425
|
+
};
|
|
124426
|
+
/**
|
|
124427
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
124428
|
+
*/
|
|
124429
|
+
privateMetadata: {
|
|
124430
|
+
[k: string]: unknown;
|
|
124431
|
+
};
|
|
124432
|
+
/**
|
|
124433
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124434
|
+
*/
|
|
124435
|
+
primaryIdentifierId: (string | null);
|
|
124436
|
+
/**
|
|
124437
|
+
* 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.
|
|
124438
|
+
*/
|
|
121630
124439
|
emailChangeLockedUntil: (string | null);
|
|
121631
124440
|
}[];
|
|
124441
|
+
/**
|
|
124442
|
+
* Pass back as `cursor` to fetch the next page. Null when this page is the last.
|
|
124443
|
+
*/
|
|
121632
124444
|
nextCursor: (string | null);
|
|
121633
124445
|
}
|
|
121634
|
-
export interface UsersUsersListOutputPublicMetadata {
|
|
121635
|
-
[k: string]: unknown;
|
|
121636
|
-
}
|
|
121637
124446
|
export interface UsersUsersSetPrimaryIdentifierInput {
|
|
121638
124447
|
/**
|
|
121639
124448
|
* The address to make primary. Must not already belong, verified, to another user of this product.
|
|
@@ -121649,7 +124458,13 @@ export interface UsersUsersSetPrimaryIdentifierInput {
|
|
|
121649
124458
|
userId: string;
|
|
121650
124459
|
}
|
|
121651
124460
|
export interface UsersUsersSetPrimaryIdentifierOutput {
|
|
124461
|
+
/**
|
|
124462
|
+
* Id of the scheduled change. It appears in the audit rows and in the abort link mailed to the old address.
|
|
124463
|
+
*/
|
|
121652
124464
|
requestId: string;
|
|
124465
|
+
/**
|
|
124466
|
+
* When the swap becomes applicable, if nobody aborts it first (ISO 8601). The delay is this product's `emailChange.overrideDelayHours`, 72 by default.
|
|
124467
|
+
*/
|
|
121653
124468
|
scheduledFor: string;
|
|
121654
124469
|
}
|
|
121655
124470
|
export interface UsersUsersUnbanInput {
|
|
@@ -121659,37 +124474,126 @@ export interface UsersUsersUnbanInput {
|
|
|
121659
124474
|
userId: string;
|
|
121660
124475
|
}
|
|
121661
124476
|
export interface UsersUsersUnbanOutput {
|
|
124477
|
+
/**
|
|
124478
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
124479
|
+
*/
|
|
121662
124480
|
id: string;
|
|
124481
|
+
/**
|
|
124482
|
+
* The user's display name. Null when nobody set one.
|
|
124483
|
+
*/
|
|
121663
124484
|
name: (string | null);
|
|
124485
|
+
/**
|
|
124486
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124487
|
+
*/
|
|
121664
124488
|
bannedAt: (string | null);
|
|
124489
|
+
/**
|
|
124490
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
124491
|
+
*/
|
|
121665
124492
|
erasedAt: (string | null);
|
|
124493
|
+
/**
|
|
124494
|
+
* URL of the user's avatar. Null when there is none.
|
|
124495
|
+
*/
|
|
121666
124496
|
imageUrl: (string | null);
|
|
124497
|
+
/**
|
|
124498
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
124499
|
+
*/
|
|
121667
124500
|
testUser: boolean;
|
|
124501
|
+
/**
|
|
124502
|
+
* When the user was created (ISO 8601).
|
|
124503
|
+
*/
|
|
121668
124504
|
createdAt: string;
|
|
124505
|
+
/**
|
|
124506
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
124507
|
+
*/
|
|
121669
124508
|
deletedAt: (string | null);
|
|
124509
|
+
/**
|
|
124510
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
124511
|
+
*/
|
|
121670
124512
|
productId: string;
|
|
124513
|
+
/**
|
|
124514
|
+
* When the user was last changed (ISO 8601).
|
|
124515
|
+
*/
|
|
121671
124516
|
updatedAt: string;
|
|
124517
|
+
/**
|
|
124518
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124519
|
+
*/
|
|
121672
124520
|
waitlisted: boolean;
|
|
124521
|
+
/**
|
|
124522
|
+
* 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".
|
|
124523
|
+
*/
|
|
121673
124524
|
identifiers: {
|
|
124525
|
+
/**
|
|
124526
|
+
* Id of this identifier row.
|
|
124527
|
+
*/
|
|
121674
124528
|
id: string;
|
|
124529
|
+
/**
|
|
124530
|
+
* What kind of identifier this is. Today always `email`.
|
|
124531
|
+
*/
|
|
121675
124532
|
type: "email";
|
|
124533
|
+
/**
|
|
124534
|
+
* The address as the user typed it, for display.
|
|
124535
|
+
*/
|
|
121676
124536
|
value: string;
|
|
124537
|
+
/**
|
|
124538
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
124539
|
+
*/
|
|
121677
124540
|
isPrimary: boolean;
|
|
124541
|
+
/**
|
|
124542
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
124543
|
+
*/
|
|
121678
124544
|
verifiedAt: (string | null);
|
|
124545
|
+
/**
|
|
124546
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
124547
|
+
*/
|
|
121679
124548
|
valueCanonical: string;
|
|
124549
|
+
/**
|
|
124550
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
124551
|
+
*/
|
|
121680
124552
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
121681
124553
|
}[];
|
|
124554
|
+
/**
|
|
124555
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124556
|
+
*/
|
|
121682
124557
|
lockedUntil: (string | null);
|
|
124558
|
+
/**
|
|
124559
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
124560
|
+
*/
|
|
121683
124561
|
lastSignInAt: (string | null);
|
|
124562
|
+
/**
|
|
124563
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
124564
|
+
*/
|
|
124565
|
+
primaryEmail: (string | null);
|
|
124566
|
+
/**
|
|
124567
|
+
* Whether the user must set a new password at their next sign-in.
|
|
124568
|
+
*/
|
|
121684
124569
|
requiresReset: boolean;
|
|
121685
|
-
|
|
121686
|
-
|
|
121687
|
-
|
|
124570
|
+
/**
|
|
124571
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
124572
|
+
*/
|
|
124573
|
+
publicMetadata: {
|
|
124574
|
+
[k: string]: unknown;
|
|
124575
|
+
};
|
|
124576
|
+
/**
|
|
124577
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
124578
|
+
*/
|
|
124579
|
+
unsafeMetadata: {
|
|
124580
|
+
[k: string]: unknown;
|
|
124581
|
+
};
|
|
124582
|
+
/**
|
|
124583
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
124584
|
+
*/
|
|
124585
|
+
privateMetadata: {
|
|
124586
|
+
[k: string]: unknown;
|
|
124587
|
+
};
|
|
124588
|
+
/**
|
|
124589
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124590
|
+
*/
|
|
124591
|
+
primaryIdentifierId: (string | null);
|
|
124592
|
+
/**
|
|
124593
|
+
* 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.
|
|
124594
|
+
*/
|
|
121688
124595
|
emailChangeLockedUntil: (string | null);
|
|
121689
124596
|
}
|
|
121690
|
-
export interface UsersUsersUnbanOutputPublicMetadata {
|
|
121691
|
-
[k: string]: unknown;
|
|
121692
|
-
}
|
|
121693
124597
|
export interface UsersUsersUpdateInput {
|
|
121694
124598
|
/**
|
|
121695
124599
|
* The user's display name. Pass null to clear.
|
|
@@ -121737,37 +124641,126 @@ export interface UsersUsersUpdateInputPublicMetadata1 {
|
|
|
121737
124641
|
[k: string]: unknown;
|
|
121738
124642
|
}
|
|
121739
124643
|
export interface UsersUsersUpdateOutput {
|
|
124644
|
+
/**
|
|
124645
|
+
* Id of this end user. Pass it to any users_users_* tool.
|
|
124646
|
+
*/
|
|
121740
124647
|
id: string;
|
|
124648
|
+
/**
|
|
124649
|
+
* The user's display name. Null when nobody set one.
|
|
124650
|
+
*/
|
|
121741
124651
|
name: (string | null);
|
|
124652
|
+
/**
|
|
124653
|
+
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124654
|
+
*/
|
|
121742
124655
|
bannedAt: (string | null);
|
|
124656
|
+
/**
|
|
124657
|
+
* When this user's personal data was purged for good (ISO 8601). Null while it is intact.
|
|
124658
|
+
*/
|
|
121743
124659
|
erasedAt: (string | null);
|
|
124660
|
+
/**
|
|
124661
|
+
* URL of the user's avatar. Null when there is none.
|
|
124662
|
+
*/
|
|
121744
124663
|
imageUrl: (string | null);
|
|
124664
|
+
/**
|
|
124665
|
+
* Whether this is a test fixture — excluded from metering and from the default listing.
|
|
124666
|
+
*/
|
|
121745
124667
|
testUser: boolean;
|
|
124668
|
+
/**
|
|
124669
|
+
* When the user was created (ISO 8601).
|
|
124670
|
+
*/
|
|
121746
124671
|
createdAt: string;
|
|
124672
|
+
/**
|
|
124673
|
+
* When the user was soft-deleted (ISO 8601). Null while the account is live.
|
|
124674
|
+
*/
|
|
121747
124675
|
deletedAt: (string | null);
|
|
124676
|
+
/**
|
|
124677
|
+
* Product this user belongs to. Never an input — it comes from the calling identity.
|
|
124678
|
+
*/
|
|
121748
124679
|
productId: string;
|
|
124680
|
+
/**
|
|
124681
|
+
* When the user was last changed (ISO 8601).
|
|
124682
|
+
*/
|
|
121749
124683
|
updatedAt: string;
|
|
124684
|
+
/**
|
|
124685
|
+
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124686
|
+
*/
|
|
121750
124687
|
waitlisted: boolean;
|
|
124688
|
+
/**
|
|
124689
|
+
* 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".
|
|
124690
|
+
*/
|
|
121751
124691
|
identifiers: {
|
|
124692
|
+
/**
|
|
124693
|
+
* Id of this identifier row.
|
|
124694
|
+
*/
|
|
121752
124695
|
id: string;
|
|
124696
|
+
/**
|
|
124697
|
+
* What kind of identifier this is. Today always `email`.
|
|
124698
|
+
*/
|
|
121753
124699
|
type: "email";
|
|
124700
|
+
/**
|
|
124701
|
+
* The address as the user typed it, for display.
|
|
124702
|
+
*/
|
|
121754
124703
|
value: string;
|
|
124704
|
+
/**
|
|
124705
|
+
* Whether this is the identifier the user signs in with and is contacted at.
|
|
124706
|
+
*/
|
|
121755
124707
|
isPrimary: boolean;
|
|
124708
|
+
/**
|
|
124709
|
+
* When this address was verified (ISO 8601). Null while it never was.
|
|
124710
|
+
*/
|
|
121756
124711
|
verifiedAt: (string | null);
|
|
124712
|
+
/**
|
|
124713
|
+
* The address lowercased and NFC-normalised — what uniqueness is checked against.
|
|
124714
|
+
*/
|
|
121757
124715
|
valueCanonical: string;
|
|
124716
|
+
/**
|
|
124717
|
+
* `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
|
|
124718
|
+
*/
|
|
121758
124719
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
121759
124720
|
}[];
|
|
124721
|
+
/**
|
|
124722
|
+
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124723
|
+
*/
|
|
121760
124724
|
lockedUntil: (string | null);
|
|
124725
|
+
/**
|
|
124726
|
+
* When the user last signed in (ISO 8601). Null if they never have.
|
|
124727
|
+
*/
|
|
121761
124728
|
lastSignInAt: (string | null);
|
|
124729
|
+
/**
|
|
124730
|
+
* The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
|
|
124731
|
+
*/
|
|
124732
|
+
primaryEmail: (string | null);
|
|
124733
|
+
/**
|
|
124734
|
+
* Whether the user must set a new password at their next sign-in.
|
|
124735
|
+
*/
|
|
121762
124736
|
requiresReset: boolean;
|
|
121763
|
-
|
|
121764
|
-
|
|
121765
|
-
|
|
124737
|
+
/**
|
|
124738
|
+
* Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
|
|
124739
|
+
*/
|
|
124740
|
+
publicMetadata: {
|
|
124741
|
+
[k: string]: unknown;
|
|
124742
|
+
};
|
|
124743
|
+
/**
|
|
124744
|
+
* Metadata the end user may write themselves. Treat it as untrusted.
|
|
124745
|
+
*/
|
|
124746
|
+
unsafeMetadata: {
|
|
124747
|
+
[k: string]: unknown;
|
|
124748
|
+
};
|
|
124749
|
+
/**
|
|
124750
|
+
* Metadata for the management plane only. Never reaches the end user or a token.
|
|
124751
|
+
*/
|
|
124752
|
+
privateMetadata: {
|
|
124753
|
+
[k: string]: unknown;
|
|
124754
|
+
};
|
|
124755
|
+
/**
|
|
124756
|
+
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124757
|
+
*/
|
|
124758
|
+
primaryIdentifierId: (string | null);
|
|
124759
|
+
/**
|
|
124760
|
+
* 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.
|
|
124761
|
+
*/
|
|
121766
124762
|
emailChangeLockedUntil: (string | null);
|
|
121767
124763
|
}
|
|
121768
|
-
export interface UsersUsersUpdateOutputPublicMetadata {
|
|
121769
|
-
[k: string]: unknown;
|
|
121770
|
-
}
|
|
121771
124764
|
export interface UsersWaitlistFunnelInput {
|
|
121772
124765
|
}
|
|
121773
124766
|
export interface UsersWaitlistFunnelOutput {
|
|
@@ -121778,6 +124771,62 @@ export interface UsersWaitlistFunnelOutput {
|
|
|
121778
124771
|
registered: number;
|
|
121779
124772
|
unconfirmed: number;
|
|
121780
124773
|
}
|
|
124774
|
+
export interface UsersWaitlistGetInput {
|
|
124775
|
+
/**
|
|
124776
|
+
* The waitlisted user to read — the `userId` from `users_waitlist_list`.
|
|
124777
|
+
*/
|
|
124778
|
+
userId: string;
|
|
124779
|
+
}
|
|
124780
|
+
export interface UsersWaitlistGetOutput {
|
|
124781
|
+
/**
|
|
124782
|
+
* Where in the funnel this entry is: `pending`, `invited`, `registered` or `withdrawn`.
|
|
124783
|
+
*/
|
|
124784
|
+
status: ("pending" | "invited" | "registered" | "withdrawn");
|
|
124785
|
+
/**
|
|
124786
|
+
* The waitlisted user. Every users_users_* tool takes this id.
|
|
124787
|
+
*/
|
|
124788
|
+
userId: string;
|
|
124789
|
+
/**
|
|
124790
|
+
* When the entry joined the waitlist (ISO 8601).
|
|
124791
|
+
*/
|
|
124792
|
+
createdAt: string;
|
|
124793
|
+
/**
|
|
124794
|
+
* When the invite was sent (ISO 8601). Null while the entry is pending.
|
|
124795
|
+
*/
|
|
124796
|
+
invitedAt: (string | null);
|
|
124797
|
+
/**
|
|
124798
|
+
* The email address that signed up.
|
|
124799
|
+
*/
|
|
124800
|
+
identifier: string;
|
|
124801
|
+
/**
|
|
124802
|
+
* Where the signup came from — the campaign, referrer and landing page recorded at the time.
|
|
124803
|
+
*/
|
|
124804
|
+
attribution: {
|
|
124805
|
+
[k: string]: unknown;
|
|
124806
|
+
};
|
|
124807
|
+
/**
|
|
124808
|
+
* When the address confirmed a double opt-in (ISO 8601). Null when it never did.
|
|
124809
|
+
*/
|
|
124810
|
+
confirmedAt: (string | null);
|
|
124811
|
+
/**
|
|
124812
|
+
* When the address asked to be taken off the list (ISO 8601). Null when it did not.
|
|
124813
|
+
*/
|
|
124814
|
+
withdrawnAt: (string | null);
|
|
124815
|
+
/**
|
|
124816
|
+
* What was recorded to show this address consented: when, from where, and under which wording.
|
|
124817
|
+
*/
|
|
124818
|
+
consentProof: {
|
|
124819
|
+
[k: string]: unknown;
|
|
124820
|
+
};
|
|
124821
|
+
/**
|
|
124822
|
+
* When the invitee finished signing up (ISO 8601). Null until they do.
|
|
124823
|
+
*/
|
|
124824
|
+
registeredAt: (string | null);
|
|
124825
|
+
/**
|
|
124826
|
+
* Id of the live invite token. Null while the entry has not been invited.
|
|
124827
|
+
*/
|
|
124828
|
+
inviteTokenId: (string | null);
|
|
124829
|
+
}
|
|
121781
124830
|
export interface UsersWaitlistImportInput {
|
|
121782
124831
|
/**
|
|
121783
124832
|
* The legacy signups to import, at most 500 per call — batch client-side beyond that.
|
|
@@ -121945,15 +124994,42 @@ export interface UsersWaitlistImportInput {
|
|
|
121945
124994
|
];
|
|
121946
124995
|
}
|
|
121947
124996
|
export interface UsersWaitlistImportOutput {
|
|
124997
|
+
/**
|
|
124998
|
+
* How many could not be imported at all.
|
|
124999
|
+
*/
|
|
121948
125000
|
failed: number;
|
|
125001
|
+
/**
|
|
125002
|
+
* One row per submitted row, in the order you sent them.
|
|
125003
|
+
*/
|
|
121949
125004
|
results: {
|
|
125005
|
+
/**
|
|
125006
|
+
* Zero-based index of the row in the array you sent.
|
|
125007
|
+
*/
|
|
121950
125008
|
row: number;
|
|
125009
|
+
/**
|
|
125010
|
+
* Why it was skipped, or what went wrong. Null for an imported row.
|
|
125011
|
+
*/
|
|
121951
125012
|
reason: (string | null);
|
|
125013
|
+
/**
|
|
125014
|
+
* What happened to this row.
|
|
125015
|
+
*/
|
|
121952
125016
|
status: ("imported" | "skipped" | "failed");
|
|
125017
|
+
/**
|
|
125018
|
+
* The waitlisted user this row created. Null for skipped and failed rows.
|
|
125019
|
+
*/
|
|
121953
125020
|
userId: (string | null);
|
|
121954
125021
|
}[];
|
|
125022
|
+
/**
|
|
125023
|
+
* How many were already on the list or otherwise passed over.
|
|
125024
|
+
*/
|
|
121955
125025
|
skipped: number;
|
|
125026
|
+
/**
|
|
125027
|
+
* How many became waitlist entries.
|
|
125028
|
+
*/
|
|
121956
125029
|
imported: number;
|
|
125030
|
+
/**
|
|
125031
|
+
* How many rows you submitted.
|
|
125032
|
+
*/
|
|
121957
125033
|
requested: number;
|
|
121958
125034
|
}
|
|
121959
125035
|
export interface UsersWaitlistInviteInput {
|
|
@@ -121966,12 +125042,30 @@ export interface UsersWaitlistInviteInput {
|
|
|
121966
125042
|
userIds: [string, ...(string)[]];
|
|
121967
125043
|
}
|
|
121968
125044
|
export interface UsersWaitlistInviteOutput {
|
|
125045
|
+
/**
|
|
125046
|
+
* How many of the requested users were invited.
|
|
125047
|
+
*/
|
|
121969
125048
|
invited: number;
|
|
125049
|
+
/**
|
|
125050
|
+
* One row per user you asked for, in the order you sent them.
|
|
125051
|
+
*/
|
|
121970
125052
|
results: {
|
|
125053
|
+
/**
|
|
125054
|
+
* Why this user was skipped. Null for an invited row.
|
|
125055
|
+
*/
|
|
121971
125056
|
reason: (("suppressed" | "not_found" | "already_registered") | null);
|
|
125057
|
+
/**
|
|
125058
|
+
* Whether this user was invited or passed over.
|
|
125059
|
+
*/
|
|
121972
125060
|
status: ("invited" | "skipped");
|
|
125061
|
+
/**
|
|
125062
|
+
* The user this row is about.
|
|
125063
|
+
*/
|
|
121973
125064
|
userId: string;
|
|
121974
125065
|
}[];
|
|
125066
|
+
/**
|
|
125067
|
+
* How many were passed over — see each row's `reason`.
|
|
125068
|
+
*/
|
|
121975
125069
|
skipped: number;
|
|
121976
125070
|
}
|
|
121977
125071
|
export interface UsersWaitlistListInput {
|
|
@@ -121993,23 +125087,62 @@ export interface UsersWaitlistListInput {
|
|
|
121993
125087
|
confirmed?: boolean;
|
|
121994
125088
|
}
|
|
121995
125089
|
export interface UsersWaitlistListOutput {
|
|
125090
|
+
/**
|
|
125091
|
+
* The page of waitlist entries, newest first.
|
|
125092
|
+
*/
|
|
121996
125093
|
entries: {
|
|
125094
|
+
/**
|
|
125095
|
+
* Where in the funnel this entry is: `pending`, `invited`, `registered` or `withdrawn`.
|
|
125096
|
+
*/
|
|
121997
125097
|
status: ("pending" | "invited" | "registered" | "withdrawn");
|
|
125098
|
+
/**
|
|
125099
|
+
* The waitlisted user. Every users_users_* tool takes this id.
|
|
125100
|
+
*/
|
|
121998
125101
|
userId: string;
|
|
125102
|
+
/**
|
|
125103
|
+
* When the entry joined the waitlist (ISO 8601).
|
|
125104
|
+
*/
|
|
121999
125105
|
createdAt: string;
|
|
125106
|
+
/**
|
|
125107
|
+
* When the invite was sent (ISO 8601). Null while the entry is pending.
|
|
125108
|
+
*/
|
|
122000
125109
|
invitedAt: (string | null);
|
|
125110
|
+
/**
|
|
125111
|
+
* The email address that signed up.
|
|
125112
|
+
*/
|
|
122001
125113
|
identifier: string;
|
|
125114
|
+
/**
|
|
125115
|
+
* Where the signup came from — the campaign, referrer and landing page recorded at the time.
|
|
125116
|
+
*/
|
|
122002
125117
|
attribution: {
|
|
122003
125118
|
[k: string]: unknown;
|
|
122004
125119
|
};
|
|
125120
|
+
/**
|
|
125121
|
+
* When the address confirmed a double opt-in (ISO 8601). Null when it never did.
|
|
125122
|
+
*/
|
|
122005
125123
|
confirmedAt: (string | null);
|
|
125124
|
+
/**
|
|
125125
|
+
* When the address asked to be taken off the list (ISO 8601). Null when it did not.
|
|
125126
|
+
*/
|
|
122006
125127
|
withdrawnAt: (string | null);
|
|
125128
|
+
/**
|
|
125129
|
+
* What was recorded to show this address consented: when, from where, and under which wording.
|
|
125130
|
+
*/
|
|
122007
125131
|
consentProof: {
|
|
122008
125132
|
[k: string]: unknown;
|
|
122009
125133
|
};
|
|
125134
|
+
/**
|
|
125135
|
+
* When the invitee finished signing up (ISO 8601). Null until they do.
|
|
125136
|
+
*/
|
|
122010
125137
|
registeredAt: (string | null);
|
|
125138
|
+
/**
|
|
125139
|
+
* Id of the live invite token. Null while the entry has not been invited.
|
|
125140
|
+
*/
|
|
122011
125141
|
inviteTokenId: (string | null);
|
|
122012
125142
|
}[];
|
|
125143
|
+
/**
|
|
125144
|
+
* Pass back as `cursor` to fetch the next page. Null when this page is the last.
|
|
125145
|
+
*/
|
|
122013
125146
|
nextCursor: (string | null);
|
|
122014
125147
|
}
|
|
122015
125148
|
export interface UsersWebhooksCreateInput {
|