@lepsto/sdk-app 91.0.1 → 92.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +92 -4
- package/dist/_types/gen/client.gen.d.ts +7 -1
- package/dist/_types/gen/types.gen.d.ts +534 -45
- package/dist/_types/gen/users/index.d.ts +1 -1
- package/dist/_types/gen/users/queryOptions.gen.d.ts +17 -1
- package/dist/index.cjs +166 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +166 -0
- package/dist/index.js.map +1 -1
- package/dist/users/index.cjs +20 -0
- package/dist/users/index.cjs.map +1 -1
- package/dist/users/index.js +17 -1
- package/dist/users/index.js.map +1 -1
- package/package.json +2 -2
- package/src/gen/bindings.gen.ts +158 -0
- package/src/gen/client.gen.ts +14 -0
- package/src/gen/manifest.gen.ts +8 -0
- package/src/gen/types.gen.ts +542 -45
- package/src/gen/users/index.ts +1 -1
- package/src/gen/users/queryOptions.gen.ts +25 -0
package/src/gen/types.gen.ts
CHANGED
|
@@ -115427,9 +115427,9 @@ export interface UsersApikeysCreateInput {
|
|
|
115427
115427
|
*/
|
|
115428
115428
|
name: string
|
|
115429
115429
|
/**
|
|
115430
|
-
* '
|
|
115430
|
+
* 'publishable' mints a non-secret key (upk_…) that identifies this product in browser flows and stays readable. It is the only key type: the secret server key (usk_…) is retired.
|
|
115431
115431
|
*/
|
|
115432
|
-
type:
|
|
115432
|
+
type: "publishable"
|
|
115433
115433
|
}
|
|
115434
115434
|
|
|
115435
115435
|
export interface UsersApikeysCreateOutput {
|
|
@@ -115446,15 +115446,15 @@ key: string
|
|
|
115446
115446
|
*/
|
|
115447
115447
|
name: string
|
|
115448
115448
|
/**
|
|
115449
|
-
* `
|
|
115449
|
+
* `publishable` — a browser-safe key (upk_…). It is the only type.
|
|
115450
115450
|
*/
|
|
115451
|
-
type:
|
|
115451
|
+
type: "publishable"
|
|
115452
115452
|
/**
|
|
115453
|
-
* The full value of
|
|
115453
|
+
* The full value of the key, which is not a secret and stays readable.
|
|
115454
115454
|
*/
|
|
115455
115455
|
value: (string | null)
|
|
115456
115456
|
/**
|
|
115457
|
-
* `
|
|
115457
|
+
* `upk_` plus six characters — enough to recognise a key, never to use one.
|
|
115458
115458
|
*/
|
|
115459
115459
|
prefix: string
|
|
115460
115460
|
/**
|
|
@@ -115484,15 +115484,15 @@ id: string
|
|
|
115484
115484
|
*/
|
|
115485
115485
|
name: string
|
|
115486
115486
|
/**
|
|
115487
|
-
* `
|
|
115487
|
+
* `publishable` — a browser-safe key (upk_…). It is the only type.
|
|
115488
115488
|
*/
|
|
115489
|
-
type:
|
|
115489
|
+
type: "publishable"
|
|
115490
115490
|
/**
|
|
115491
|
-
* The full value of
|
|
115491
|
+
* The full value of the key, which is not a secret and stays readable.
|
|
115492
115492
|
*/
|
|
115493
115493
|
value: (string | null)
|
|
115494
115494
|
/**
|
|
115495
|
-
* `
|
|
115495
|
+
* `upk_` plus six characters — enough to recognise a key, never to use one.
|
|
115496
115496
|
*/
|
|
115497
115497
|
prefix: string
|
|
115498
115498
|
/**
|
|
@@ -115520,15 +115520,15 @@ id: string
|
|
|
115520
115520
|
*/
|
|
115521
115521
|
name: string
|
|
115522
115522
|
/**
|
|
115523
|
-
* `
|
|
115523
|
+
* `publishable` — a browser-safe key (upk_…). It is the only type.
|
|
115524
115524
|
*/
|
|
115525
|
-
type:
|
|
115525
|
+
type: "publishable"
|
|
115526
115526
|
/**
|
|
115527
|
-
* The full value of
|
|
115527
|
+
* The full value of the key, which is not a secret and stays readable.
|
|
115528
115528
|
*/
|
|
115529
115529
|
value: (string | null)
|
|
115530
115530
|
/**
|
|
115531
|
-
* `
|
|
115531
|
+
* `upk_` plus six characters — enough to recognise a key, never to use one.
|
|
115532
115532
|
*/
|
|
115533
115533
|
prefix: string
|
|
115534
115534
|
/**
|
|
@@ -115694,7 +115694,7 @@ from: (string | null)
|
|
|
115694
115694
|
*/
|
|
115695
115695
|
codeEnabled: boolean
|
|
115696
115696
|
/**
|
|
115697
|
-
* Base URL magic links point at, e.g. "https://public.
|
|
115697
|
+
* Base URL magic links point at, e.g. "https://public.lepsto.com/{productId}/users". Null uses the deployment default.
|
|
115698
115698
|
*/
|
|
115699
115699
|
linkBaseUrl: (string | null)
|
|
115700
115700
|
/**
|
|
@@ -115818,7 +115818,7 @@ successMessage: string
|
|
|
115818
115818
|
*/
|
|
115819
115819
|
doubleOptIn: boolean
|
|
115820
115820
|
/**
|
|
115821
|
-
* How long an UNCONVERTED waitlist entry — still pending, or invited and never registered — is kept, counted from SIGN-UP, before the sweep erases it. Default 180:
|
|
115821
|
+
* How long an UNCONVERTED waitlist entry — still pending, or invited and never registered — is kept, counted from SIGN-UP, before the sweep erases it. Default 180: Lepsto Privacy Policy §6 promises deletion 6 months from sign-up. The bound stays wide because a client Product answers to its own privacy policy, not ours.
|
|
115822
115822
|
*/
|
|
115823
115823
|
retentionDays: number
|
|
115824
115824
|
/**
|
|
@@ -115989,7 +115989,7 @@ from?: (string | null)
|
|
|
115989
115989
|
*/
|
|
115990
115990
|
codeEnabled?: boolean
|
|
115991
115991
|
/**
|
|
115992
|
-
* Base URL magic links point at, e.g. "https://public.
|
|
115992
|
+
* Base URL magic links point at, e.g. "https://public.lepsto.com/{productId}/users". Null uses the deployment default.
|
|
115993
115993
|
*/
|
|
115994
115994
|
linkBaseUrl?: (string | null)
|
|
115995
115995
|
/**
|
|
@@ -116159,7 +116159,7 @@ successMessage?: string
|
|
|
116159
116159
|
*/
|
|
116160
116160
|
doubleOptIn?: boolean
|
|
116161
116161
|
/**
|
|
116162
|
-
* How long an UNCONVERTED waitlist entry — still pending, or invited and never registered — is kept, counted from SIGN-UP, before the sweep erases it. Default 180:
|
|
116162
|
+
* How long an UNCONVERTED waitlist entry — still pending, or invited and never registered — is kept, counted from SIGN-UP, before the sweep erases it. Default 180: Lepsto Privacy Policy §6 promises deletion 6 months from sign-up. The bound stays wide because a client Product answers to its own privacy policy, not ours.
|
|
116163
116163
|
*/
|
|
116164
116164
|
retentionDays?: number
|
|
116165
116165
|
/**
|
|
@@ -116372,7 +116372,7 @@ from: (string | null)
|
|
|
116372
116372
|
*/
|
|
116373
116373
|
codeEnabled: boolean
|
|
116374
116374
|
/**
|
|
116375
|
-
* Base URL magic links point at, e.g. "https://public.
|
|
116375
|
+
* Base URL magic links point at, e.g. "https://public.lepsto.com/{productId}/users". Null uses the deployment default.
|
|
116376
116376
|
*/
|
|
116377
116377
|
linkBaseUrl: (string | null)
|
|
116378
116378
|
/**
|
|
@@ -116496,7 +116496,7 @@ successMessage: string
|
|
|
116496
116496
|
*/
|
|
116497
116497
|
doubleOptIn: boolean
|
|
116498
116498
|
/**
|
|
116499
|
-
* How long an UNCONVERTED waitlist entry — still pending, or invited and never registered — is kept, counted from SIGN-UP, before the sweep erases it. Default 180:
|
|
116499
|
+
* How long an UNCONVERTED waitlist entry — still pending, or invited and never registered — is kept, counted from SIGN-UP, before the sweep erases it. Default 180: Lepsto Privacy Policy §6 promises deletion 6 months from sign-up. The bound stays wide because a client Product answers to its own privacy policy, not ours.
|
|
116500
116500
|
*/
|
|
116501
116501
|
retentionDays: number
|
|
116502
116502
|
/**
|
|
@@ -116841,11 +116841,11 @@ finishedAt: string
|
|
|
116841
116841
|
*/
|
|
116842
116842
|
waitlistRetentionDays: number
|
|
116843
116843
|
/**
|
|
116844
|
-
* What
|
|
116844
|
+
* What Lepsto PUBLISHED, in its Privacy Policy §6: a waitlist address that never converted is deleted 6 months from sign-up. It rides along so the window above can be read against the promise it came from, rather than as a number with no provenance.
|
|
116845
116845
|
*/
|
|
116846
116846
|
waitlistPromisedMaxDays: number
|
|
116847
116847
|
/**
|
|
116848
|
-
* True when this product configured a window WIDER than the published 180 days. Nothing refuses such a value and nothing clamps it — §6 is
|
|
116848
|
+
* True when this product configured a window WIDER than the published 180 days. Nothing refuses such a value and nothing clamps it — §6 is Lepsto’s own policy and a client Product answers to its own, under which a longer window may be perfectly lawful. This flag exists INSTEAD of that ceiling: a deliberate divergence from what Lepsto published must be diagnosable in one call rather than found by comparing two numbers nobody thought to compare.
|
|
116849
116849
|
*/
|
|
116850
116850
|
waitlistWiderThanPromised: boolean
|
|
116851
116851
|
}
|
|
@@ -117306,7 +117306,7 @@ refreshReuseDetected: number
|
|
|
117306
117306
|
*/
|
|
117307
117307
|
since: string
|
|
117308
117308
|
/**
|
|
117309
|
-
* Point-in-time directory populations by DERIVED status — `user` has no status column, these are computed from `waitlisted` and the ban/delete/erase timestamps.
|
|
117309
|
+
* Point-in-time directory populations by DERIVED status — `user` has no status column, these are computed from `kind`, `waitlisted` and the ban/delete/erase timestamps.
|
|
117310
117310
|
*/
|
|
117311
117311
|
users: {
|
|
117312
117312
|
/**
|
|
@@ -117314,7 +117314,7 @@ users: {
|
|
|
117314
117314
|
*/
|
|
117315
117315
|
total: number
|
|
117316
117316
|
/**
|
|
117317
|
-
* Full accounts: not waitlisted, not banned, not deleted, not erased.
|
|
117317
|
+
* Full accounts: kind 'account', not waitlisted, not banned, not deleted, not erased.
|
|
117318
117318
|
*/
|
|
117319
117319
|
active: number
|
|
117320
117320
|
/**
|
|
@@ -117329,6 +117329,10 @@ erased: number
|
|
|
117329
117329
|
* SOFT-deleted and still recoverable — not erased.
|
|
117330
117330
|
*/
|
|
117331
117331
|
deleted: number
|
|
117332
|
+
/**
|
|
117333
|
+
* People the Product knows who have no credential and have never signed in (kind 'contact'), excluding deleted and erased ones. Never part of `active`, and never billed as retained users.
|
|
117334
|
+
*/
|
|
117335
|
+
contacts: number
|
|
117332
117336
|
/**
|
|
117333
117337
|
* Waitlist signups with no credential yet.
|
|
117334
117338
|
*/
|
|
@@ -117383,6 +117387,251 @@ createdInWindow: number
|
|
|
117383
117387
|
}
|
|
117384
117388
|
}
|
|
117385
117389
|
|
|
117390
|
+
export interface UsersTouchesCreateInput {
|
|
117391
|
+
/**
|
|
117392
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
117393
|
+
*/
|
|
117394
|
+
body: string
|
|
117395
|
+
/**
|
|
117396
|
+
* The end user this interaction was with.
|
|
117397
|
+
*/
|
|
117398
|
+
userId: string
|
|
117399
|
+
/**
|
|
117400
|
+
* How the person was touched: 'message', 'call', 'meeting', 'note' (an internal observation nobody sent) or 'email' sent OUTSIDE the platform. Email this toolkit sent is not logged here — read those from the mail toolkit.
|
|
117401
|
+
*/
|
|
117402
|
+
channel: ("message" | "call" | "meeting" | "note" | "email")
|
|
117403
|
+
/**
|
|
117404
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
117405
|
+
*/
|
|
117406
|
+
direction: ("outbound" | "inbound" | "none")
|
|
117407
|
+
/**
|
|
117408
|
+
* When it happened (ISO 8601). Omit to mean now — pass it when logging after the fact, which may be any time in the past.
|
|
117409
|
+
*/
|
|
117410
|
+
occurredAt?: string
|
|
117411
|
+
}
|
|
117412
|
+
|
|
117413
|
+
export interface UsersTouchesCreateOutput {
|
|
117414
|
+
/**
|
|
117415
|
+
* Id of this touch. Pass it to users_touches_update or _delete.
|
|
117416
|
+
*/
|
|
117417
|
+
id: string
|
|
117418
|
+
/**
|
|
117419
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
117420
|
+
*/
|
|
117421
|
+
body: string
|
|
117422
|
+
/**
|
|
117423
|
+
* The end user this interaction was with.
|
|
117424
|
+
*/
|
|
117425
|
+
userId: string
|
|
117426
|
+
/**
|
|
117427
|
+
* Id of the operator or agent that logged it, verbatim.
|
|
117428
|
+
*/
|
|
117429
|
+
actorId: string
|
|
117430
|
+
/**
|
|
117431
|
+
* How the person was touched: 'message', 'call', 'meeting', 'note' (an internal observation nobody sent) or 'email' sent OUTSIDE the platform. Email this toolkit sent is not logged here — read those from the mail toolkit.
|
|
117432
|
+
*/
|
|
117433
|
+
channel: ("message" | "call" | "meeting" | "note" | "email")
|
|
117434
|
+
/**
|
|
117435
|
+
* Who logged it: 'operator' (a human) or 'agent' (a workflow or agent principal).
|
|
117436
|
+
*/
|
|
117437
|
+
actorType: ("operator" | "agent")
|
|
117438
|
+
/**
|
|
117439
|
+
* When the touch was logged (ISO 8601).
|
|
117440
|
+
*/
|
|
117441
|
+
createdAt: string
|
|
117442
|
+
/**
|
|
117443
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
117444
|
+
*/
|
|
117445
|
+
direction: ("outbound" | "inbound" | "none")
|
|
117446
|
+
/**
|
|
117447
|
+
* Product this touch belongs to. Never an input — it comes from the calling identity.
|
|
117448
|
+
*/
|
|
117449
|
+
productId: string
|
|
117450
|
+
/**
|
|
117451
|
+
* When the touch was last edited (ISO 8601).
|
|
117452
|
+
*/
|
|
117453
|
+
updatedAt: string
|
|
117454
|
+
/**
|
|
117455
|
+
* When the interaction happened (ISO 8601) — not when it was logged.
|
|
117456
|
+
*/
|
|
117457
|
+
occurredAt: string
|
|
117458
|
+
}
|
|
117459
|
+
|
|
117460
|
+
export interface UsersTouchesDiscardInput {
|
|
117461
|
+
/**
|
|
117462
|
+
* Act on a touch somebody else logged. Without it a touch you did not author answers 404, exactly as a touch that does not exist does — the refusal must not tell you the row is there. Every forced call is recorded in the audit trail.
|
|
117463
|
+
*/
|
|
117464
|
+
force?: boolean
|
|
117465
|
+
/**
|
|
117466
|
+
* The end user the touch belongs to.
|
|
117467
|
+
*/
|
|
117468
|
+
userId: string
|
|
117469
|
+
/**
|
|
117470
|
+
* The touch to delete, from users_touches_list.
|
|
117471
|
+
*/
|
|
117472
|
+
touchId: string
|
|
117473
|
+
}
|
|
117474
|
+
|
|
117475
|
+
export interface UsersTouchesDiscardOutput {
|
|
117476
|
+
/**
|
|
117477
|
+
* Id of the touch that was deleted.
|
|
117478
|
+
*/
|
|
117479
|
+
id: string
|
|
117480
|
+
/**
|
|
117481
|
+
* The end user it belonged to.
|
|
117482
|
+
*/
|
|
117483
|
+
userId: string
|
|
117484
|
+
/**
|
|
117485
|
+
* Always true — a failure answers 404 instead.
|
|
117486
|
+
*/
|
|
117487
|
+
deleted: true
|
|
117488
|
+
}
|
|
117489
|
+
|
|
117490
|
+
export interface UsersTouchesListInput {
|
|
117491
|
+
/**
|
|
117492
|
+
* Page size, 1-100. Default 50.
|
|
117493
|
+
*/
|
|
117494
|
+
limit?: number
|
|
117495
|
+
/**
|
|
117496
|
+
* Opaque cursor from a previous response's `nextCursor`. Omit for the first page.
|
|
117497
|
+
*/
|
|
117498
|
+
cursor?: string
|
|
117499
|
+
/**
|
|
117500
|
+
* The end user whose touches to list.
|
|
117501
|
+
*/
|
|
117502
|
+
userId: string
|
|
117503
|
+
/**
|
|
117504
|
+
* Only touches on this channel. Omit for all of them.
|
|
117505
|
+
*/
|
|
117506
|
+
channel?: ("message" | "call" | "meeting" | "note" | "email")
|
|
117507
|
+
}
|
|
117508
|
+
|
|
117509
|
+
export interface UsersTouchesListOutput {
|
|
117510
|
+
/**
|
|
117511
|
+
* The page of touches, newest first.
|
|
117512
|
+
*/
|
|
117513
|
+
items: {
|
|
117514
|
+
/**
|
|
117515
|
+
* Id of this touch. Pass it to users_touches_update or _delete.
|
|
117516
|
+
*/
|
|
117517
|
+
id: string
|
|
117518
|
+
/**
|
|
117519
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
117520
|
+
*/
|
|
117521
|
+
body: string
|
|
117522
|
+
/**
|
|
117523
|
+
* The end user this interaction was with.
|
|
117524
|
+
*/
|
|
117525
|
+
userId: string
|
|
117526
|
+
/**
|
|
117527
|
+
* Id of the operator or agent that logged it, verbatim.
|
|
117528
|
+
*/
|
|
117529
|
+
actorId: string
|
|
117530
|
+
/**
|
|
117531
|
+
* How the person was touched: 'message', 'call', 'meeting', 'note' (an internal observation nobody sent) or 'email' sent OUTSIDE the platform. Email this toolkit sent is not logged here — read those from the mail toolkit.
|
|
117532
|
+
*/
|
|
117533
|
+
channel: ("message" | "call" | "meeting" | "note" | "email")
|
|
117534
|
+
/**
|
|
117535
|
+
* Who logged it: 'operator' (a human) or 'agent' (a workflow or agent principal).
|
|
117536
|
+
*/
|
|
117537
|
+
actorType: ("operator" | "agent")
|
|
117538
|
+
/**
|
|
117539
|
+
* When the touch was logged (ISO 8601).
|
|
117540
|
+
*/
|
|
117541
|
+
createdAt: string
|
|
117542
|
+
/**
|
|
117543
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
117544
|
+
*/
|
|
117545
|
+
direction: ("outbound" | "inbound" | "none")
|
|
117546
|
+
/**
|
|
117547
|
+
* Product this touch belongs to. Never an input — it comes from the calling identity.
|
|
117548
|
+
*/
|
|
117549
|
+
productId: string
|
|
117550
|
+
/**
|
|
117551
|
+
* When the touch was last edited (ISO 8601).
|
|
117552
|
+
*/
|
|
117553
|
+
updatedAt: string
|
|
117554
|
+
/**
|
|
117555
|
+
* When the interaction happened (ISO 8601) — not when it was logged.
|
|
117556
|
+
*/
|
|
117557
|
+
occurredAt: string
|
|
117558
|
+
}[]
|
|
117559
|
+
/**
|
|
117560
|
+
* Pass as `cursor` for the next page. Null when this was the last one.
|
|
117561
|
+
*/
|
|
117562
|
+
nextCursor: (string | null)
|
|
117563
|
+
}
|
|
117564
|
+
|
|
117565
|
+
export interface UsersTouchesUpdateInput {
|
|
117566
|
+
/**
|
|
117567
|
+
* Replacement text, 1-8192 characters. Omit to leave it unchanged.
|
|
117568
|
+
*/
|
|
117569
|
+
body?: string
|
|
117570
|
+
/**
|
|
117571
|
+
* Act on a touch somebody else logged. Without it a touch you did not author answers 404, exactly as a touch that does not exist does — the refusal must not tell you the row is there. Every forced call is recorded in the audit trail.
|
|
117572
|
+
*/
|
|
117573
|
+
force?: boolean
|
|
117574
|
+
/**
|
|
117575
|
+
* The end user the touch belongs to.
|
|
117576
|
+
*/
|
|
117577
|
+
userId: string
|
|
117578
|
+
/**
|
|
117579
|
+
* The touch to edit, from users_touches_list.
|
|
117580
|
+
*/
|
|
117581
|
+
touchId: string
|
|
117582
|
+
/**
|
|
117583
|
+
* Correct when it happened (ISO 8601). Omit to leave it unchanged.
|
|
117584
|
+
*/
|
|
117585
|
+
occurredAt?: string
|
|
117586
|
+
}
|
|
117587
|
+
|
|
117588
|
+
export interface UsersTouchesUpdateOutput {
|
|
117589
|
+
/**
|
|
117590
|
+
* Id of this touch. Pass it to users_touches_update or _delete.
|
|
117591
|
+
*/
|
|
117592
|
+
id: string
|
|
117593
|
+
/**
|
|
117594
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
117595
|
+
*/
|
|
117596
|
+
body: string
|
|
117597
|
+
/**
|
|
117598
|
+
* The end user this interaction was with.
|
|
117599
|
+
*/
|
|
117600
|
+
userId: string
|
|
117601
|
+
/**
|
|
117602
|
+
* Id of the operator or agent that logged it, verbatim.
|
|
117603
|
+
*/
|
|
117604
|
+
actorId: string
|
|
117605
|
+
/**
|
|
117606
|
+
* How the person was touched: 'message', 'call', 'meeting', 'note' (an internal observation nobody sent) or 'email' sent OUTSIDE the platform. Email this toolkit sent is not logged here — read those from the mail toolkit.
|
|
117607
|
+
*/
|
|
117608
|
+
channel: ("message" | "call" | "meeting" | "note" | "email")
|
|
117609
|
+
/**
|
|
117610
|
+
* Who logged it: 'operator' (a human) or 'agent' (a workflow or agent principal).
|
|
117611
|
+
*/
|
|
117612
|
+
actorType: ("operator" | "agent")
|
|
117613
|
+
/**
|
|
117614
|
+
* When the touch was logged (ISO 8601).
|
|
117615
|
+
*/
|
|
117616
|
+
createdAt: string
|
|
117617
|
+
/**
|
|
117618
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
117619
|
+
*/
|
|
117620
|
+
direction: ("outbound" | "inbound" | "none")
|
|
117621
|
+
/**
|
|
117622
|
+
* Product this touch belongs to. Never an input — it comes from the calling identity.
|
|
117623
|
+
*/
|
|
117624
|
+
productId: string
|
|
117625
|
+
/**
|
|
117626
|
+
* When the touch was last edited (ISO 8601).
|
|
117627
|
+
*/
|
|
117628
|
+
updatedAt: string
|
|
117629
|
+
/**
|
|
117630
|
+
* When the interaction happened (ISO 8601) — not when it was logged.
|
|
117631
|
+
*/
|
|
117632
|
+
occurredAt: string
|
|
117633
|
+
}
|
|
117634
|
+
|
|
117386
117635
|
export interface UsersUsersBanInput {
|
|
117387
117636
|
/**
|
|
117388
117637
|
* The opaque user id returned by users_users_create or _list.
|
|
@@ -117395,10 +117644,22 @@ export interface UsersUsersBanOutput {
|
|
|
117395
117644
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
117396
117645
|
*/
|
|
117397
117646
|
id: string
|
|
117647
|
+
/**
|
|
117648
|
+
* What kind of person this row is: 'account' (can sign in) or 'contact' (known to the Product, no credential, never signed in). A contact is hidden from the default users_users_list view and is never counted as a retained user.
|
|
117649
|
+
*/
|
|
117650
|
+
kind: ("account" | "contact")
|
|
117398
117651
|
/**
|
|
117399
117652
|
* The user's display name. Null when nobody set one.
|
|
117400
117653
|
*/
|
|
117401
117654
|
name: (string | null)
|
|
117655
|
+
/**
|
|
117656
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
117657
|
+
*/
|
|
117658
|
+
tags: string[]
|
|
117659
|
+
/**
|
|
117660
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
117661
|
+
*/
|
|
117662
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost")
|
|
117402
117663
|
/**
|
|
117403
117664
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
117404
117665
|
*/
|
|
@@ -117431,6 +117692,10 @@ productId: string
|
|
|
117431
117692
|
* When the user was last changed (ISO 8601).
|
|
117432
117693
|
*/
|
|
117433
117694
|
updatedAt: string
|
|
117695
|
+
/**
|
|
117696
|
+
* Set when you asked for an id that was merged into this account — it is the id you asked for, and this is the row it now lives in. Null on every ordinary read.
|
|
117697
|
+
*/
|
|
117698
|
+
mergedFrom: (string | null)
|
|
117434
117699
|
/**
|
|
117435
117700
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
117436
117701
|
*/
|
|
@@ -117444,9 +117709,9 @@ identifiers: {
|
|
|
117444
117709
|
*/
|
|
117445
117710
|
id: string
|
|
117446
117711
|
/**
|
|
117447
|
-
* What kind of identifier this is
|
|
117712
|
+
* What kind of identifier this is: `email`, `phone`, `telegram`, `linkedin` or `x`. Only `email` can be signed in with — the other four are contact channels, reachable but never part of the auth plane.
|
|
117448
117713
|
*/
|
|
117449
|
-
type: "email"
|
|
117714
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x")
|
|
117450
117715
|
/**
|
|
117451
117716
|
* The address as the user typed it, for display.
|
|
117452
117717
|
*/
|
|
@@ -117468,6 +117733,10 @@ valueCanonical: string
|
|
|
117468
117733
|
*/
|
|
117469
117734
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
117470
117735
|
}[]
|
|
117736
|
+
/**
|
|
117737
|
+
* When this person was last touched — the most recent logged interaction (ISO 8601). Null when nobody has logged one. This is when the interaction HAPPENED, not when it was logged.
|
|
117738
|
+
*/
|
|
117739
|
+
lastTouchAt: (string | null)
|
|
117471
117740
|
/**
|
|
117472
117741
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
117473
117742
|
*/
|
|
@@ -117502,6 +117771,10 @@ unsafeMetadata: {
|
|
|
117502
117771
|
privateMetadata: {
|
|
117503
117772
|
[k: string]: unknown
|
|
117504
117773
|
}
|
|
117774
|
+
/**
|
|
117775
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
117776
|
+
*/
|
|
117777
|
+
mergedIntoUserId: (string | null)
|
|
117505
117778
|
/**
|
|
117506
117779
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
117507
117780
|
*/
|
|
@@ -117513,10 +117786,22 @@ emailChangeLockedUntil: (string | null)
|
|
|
117513
117786
|
}
|
|
117514
117787
|
|
|
117515
117788
|
export interface UsersUsersCreateInput {
|
|
117789
|
+
/**
|
|
117790
|
+
* What kind of person to create. 'account' (the default) can sign in. 'contact' is somebody the Product knows who has NO credential — a contact may not carry `password`, `waitlisted` or `requiresReset` (`contact_cannot_hold_credentials`), is hidden from the default users_users_list view, and is never counted as a retained user. A contact becomes an account only by proving an address, never by an operator setting this.
|
|
117791
|
+
*/
|
|
117792
|
+
kind?: ("account" | "contact")
|
|
117516
117793
|
/**
|
|
117517
117794
|
* The user's display name.
|
|
117518
117795
|
*/
|
|
117519
117796
|
name?: string
|
|
117797
|
+
/**
|
|
117798
|
+
* Free labels for this person. Trimmed, lowercased and de-duplicated on write; at most 32 of at most 64 characters each.
|
|
117799
|
+
*/
|
|
117800
|
+
tags?: string[]
|
|
117801
|
+
/**
|
|
117802
|
+
* The relationship stage to start them at, in funnel order: new, contacted, replied, engaged, converted, lost. Default 'new'.
|
|
117803
|
+
*/
|
|
117804
|
+
stage?: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost")
|
|
117520
117805
|
/**
|
|
117521
117806
|
* URL of the user's avatar image.
|
|
117522
117807
|
*/
|
|
@@ -117547,7 +117832,7 @@ testUser?: boolean
|
|
|
117547
117832
|
*/
|
|
117548
117833
|
waitlisted?: boolean
|
|
117549
117834
|
/**
|
|
117550
|
-
*
|
|
117835
|
+
* How this user is reached: their email addresses, plus any contact channels (`phone`, `telegram`, `linkedin`, `x`). At least one is required.
|
|
117551
117836
|
*
|
|
117552
117837
|
* @minItems 1
|
|
117553
117838
|
*/
|
|
@@ -117555,13 +117840,13 @@ identifiers: [{
|
|
|
117555
117840
|
/**
|
|
117556
117841
|
* Identifier kind. Only 'email' exists in this phase.
|
|
117557
117842
|
*/
|
|
117558
|
-
type: "email"
|
|
117843
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x")
|
|
117559
117844
|
/**
|
|
117560
117845
|
* The email address. Stored canonicalised (lowercase, NFC) plus raw for display.
|
|
117561
117846
|
*/
|
|
117562
117847
|
value: string
|
|
117563
117848
|
/**
|
|
117564
|
-
* Record the identifier as already verified (use for trusted imports). Only ONE verified copy of
|
|
117849
|
+
* Record the identifier as already verified (use for trusted imports). IGNORED for contact channels, which are always stored unverified — nothing here can prove a phone or a handle. Only ONE verified copy of an email may exist per product; unverified duplicates are allowed. Default false.
|
|
117565
117850
|
*/
|
|
117566
117851
|
verified?: boolean
|
|
117567
117852
|
/**
|
|
@@ -117572,13 +117857,13 @@ isPrimary?: boolean
|
|
|
117572
117857
|
/**
|
|
117573
117858
|
* Identifier kind. Only 'email' exists in this phase.
|
|
117574
117859
|
*/
|
|
117575
|
-
type: "email"
|
|
117860
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x")
|
|
117576
117861
|
/**
|
|
117577
117862
|
* The email address. Stored canonicalised (lowercase, NFC) plus raw for display.
|
|
117578
117863
|
*/
|
|
117579
117864
|
value: string
|
|
117580
117865
|
/**
|
|
117581
|
-
* Record the identifier as already verified (use for trusted imports). Only ONE verified copy of
|
|
117866
|
+
* Record the identifier as already verified (use for trusted imports). IGNORED for contact channels, which are always stored unverified — nothing here can prove a phone or a handle. Only ONE verified copy of an email may exist per product; unverified duplicates are allowed. Default false.
|
|
117582
117867
|
*/
|
|
117583
117868
|
verified?: boolean
|
|
117584
117869
|
/**
|
|
@@ -117617,10 +117902,22 @@ export interface UsersUsersCreateOutput {
|
|
|
117617
117902
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
117618
117903
|
*/
|
|
117619
117904
|
id: string
|
|
117905
|
+
/**
|
|
117906
|
+
* What kind of person this row is: 'account' (can sign in) or 'contact' (known to the Product, no credential, never signed in). A contact is hidden from the default users_users_list view and is never counted as a retained user.
|
|
117907
|
+
*/
|
|
117908
|
+
kind: ("account" | "contact")
|
|
117620
117909
|
/**
|
|
117621
117910
|
* The user's display name. Null when nobody set one.
|
|
117622
117911
|
*/
|
|
117623
117912
|
name: (string | null)
|
|
117913
|
+
/**
|
|
117914
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
117915
|
+
*/
|
|
117916
|
+
tags: string[]
|
|
117917
|
+
/**
|
|
117918
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
117919
|
+
*/
|
|
117920
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost")
|
|
117624
117921
|
/**
|
|
117625
117922
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
117626
117923
|
*/
|
|
@@ -117653,6 +117950,10 @@ productId: string
|
|
|
117653
117950
|
* When the user was last changed (ISO 8601).
|
|
117654
117951
|
*/
|
|
117655
117952
|
updatedAt: string
|
|
117953
|
+
/**
|
|
117954
|
+
* Set when you asked for an id that was merged into this account — it is the id you asked for, and this is the row it now lives in. Null on every ordinary read.
|
|
117955
|
+
*/
|
|
117956
|
+
mergedFrom: (string | null)
|
|
117656
117957
|
/**
|
|
117657
117958
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
117658
117959
|
*/
|
|
@@ -117666,9 +117967,9 @@ identifiers: {
|
|
|
117666
117967
|
*/
|
|
117667
117968
|
id: string
|
|
117668
117969
|
/**
|
|
117669
|
-
* What kind of identifier this is
|
|
117970
|
+
* What kind of identifier this is: `email`, `phone`, `telegram`, `linkedin` or `x`. Only `email` can be signed in with — the other four are contact channels, reachable but never part of the auth plane.
|
|
117670
117971
|
*/
|
|
117671
|
-
type: "email"
|
|
117972
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x")
|
|
117672
117973
|
/**
|
|
117673
117974
|
* The address as the user typed it, for display.
|
|
117674
117975
|
*/
|
|
@@ -117690,6 +117991,10 @@ valueCanonical: string
|
|
|
117690
117991
|
*/
|
|
117691
117992
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
117692
117993
|
}[]
|
|
117994
|
+
/**
|
|
117995
|
+
* When this person was last touched — the most recent logged interaction (ISO 8601). Null when nobody has logged one. This is when the interaction HAPPENED, not when it was logged.
|
|
117996
|
+
*/
|
|
117997
|
+
lastTouchAt: (string | null)
|
|
117693
117998
|
/**
|
|
117694
117999
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
117695
118000
|
*/
|
|
@@ -117724,6 +118029,10 @@ unsafeMetadata: {
|
|
|
117724
118029
|
privateMetadata: {
|
|
117725
118030
|
[k: string]: unknown
|
|
117726
118031
|
}
|
|
118032
|
+
/**
|
|
118033
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
118034
|
+
*/
|
|
118035
|
+
mergedIntoUserId: (string | null)
|
|
117727
118036
|
/**
|
|
117728
118037
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
117729
118038
|
*/
|
|
@@ -117746,10 +118055,22 @@ export interface UsersUsersDeleteOutput {
|
|
|
117746
118055
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
117747
118056
|
*/
|
|
117748
118057
|
id: string
|
|
118058
|
+
/**
|
|
118059
|
+
* What kind of person this row is: 'account' (can sign in) or 'contact' (known to the Product, no credential, never signed in). A contact is hidden from the default users_users_list view and is never counted as a retained user.
|
|
118060
|
+
*/
|
|
118061
|
+
kind: ("account" | "contact")
|
|
117749
118062
|
/**
|
|
117750
118063
|
* The user's display name. Null when nobody set one.
|
|
117751
118064
|
*/
|
|
117752
118065
|
name: (string | null)
|
|
118066
|
+
/**
|
|
118067
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
118068
|
+
*/
|
|
118069
|
+
tags: string[]
|
|
118070
|
+
/**
|
|
118071
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
118072
|
+
*/
|
|
118073
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost")
|
|
117753
118074
|
/**
|
|
117754
118075
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
117755
118076
|
*/
|
|
@@ -117782,6 +118103,10 @@ productId: string
|
|
|
117782
118103
|
* When the user was last changed (ISO 8601).
|
|
117783
118104
|
*/
|
|
117784
118105
|
updatedAt: string
|
|
118106
|
+
/**
|
|
118107
|
+
* Set when you asked for an id that was merged into this account — it is the id you asked for, and this is the row it now lives in. Null on every ordinary read.
|
|
118108
|
+
*/
|
|
118109
|
+
mergedFrom: (string | null)
|
|
117785
118110
|
/**
|
|
117786
118111
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
117787
118112
|
*/
|
|
@@ -117795,9 +118120,9 @@ identifiers: {
|
|
|
117795
118120
|
*/
|
|
117796
118121
|
id: string
|
|
117797
118122
|
/**
|
|
117798
|
-
* What kind of identifier this is
|
|
118123
|
+
* What kind of identifier this is: `email`, `phone`, `telegram`, `linkedin` or `x`. Only `email` can be signed in with — the other four are contact channels, reachable but never part of the auth plane.
|
|
117799
118124
|
*/
|
|
117800
|
-
type: "email"
|
|
118125
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x")
|
|
117801
118126
|
/**
|
|
117802
118127
|
* The address as the user typed it, for display.
|
|
117803
118128
|
*/
|
|
@@ -117819,6 +118144,10 @@ valueCanonical: string
|
|
|
117819
118144
|
*/
|
|
117820
118145
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
117821
118146
|
}[]
|
|
118147
|
+
/**
|
|
118148
|
+
* When this person was last touched — the most recent logged interaction (ISO 8601). Null when nobody has logged one. This is when the interaction HAPPENED, not when it was logged.
|
|
118149
|
+
*/
|
|
118150
|
+
lastTouchAt: (string | null)
|
|
117822
118151
|
/**
|
|
117823
118152
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
117824
118153
|
*/
|
|
@@ -117853,6 +118182,10 @@ unsafeMetadata: {
|
|
|
117853
118182
|
privateMetadata: {
|
|
117854
118183
|
[k: string]: unknown
|
|
117855
118184
|
}
|
|
118185
|
+
/**
|
|
118186
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
118187
|
+
*/
|
|
118188
|
+
mergedIntoUserId: (string | null)
|
|
117856
118189
|
/**
|
|
117857
118190
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
117858
118191
|
*/
|
|
@@ -117864,6 +118197,10 @@ emailChangeLockedUntil: (string | null)
|
|
|
117864
118197
|
}
|
|
117865
118198
|
|
|
117866
118199
|
export interface UsersUsersExportInput {
|
|
118200
|
+
/**
|
|
118201
|
+
* Filter by kind: 'account' or 'contact'. Omit for accounts only, unless `includeContacts` is true.
|
|
118202
|
+
*/
|
|
118203
|
+
kind?: ("account" | "contact")
|
|
117867
118204
|
/**
|
|
117868
118205
|
* Rows per page, 1-500. Default 100.
|
|
117869
118206
|
*/
|
|
@@ -117884,6 +118221,10 @@ status?: ("active" | "banned" | "waitlisted")
|
|
|
117884
118221
|
* Include soft-deleted users. Default false.
|
|
117885
118222
|
*/
|
|
117886
118223
|
includeDeleted?: boolean
|
|
118224
|
+
/**
|
|
118225
|
+
* Include CONTACTS alongside accounts, so one pass exports both. Default false — the same rule this export already applies to waitlist signups and test users.
|
|
118226
|
+
*/
|
|
118227
|
+
includeContacts?: boolean
|
|
117887
118228
|
}
|
|
117888
118229
|
|
|
117889
118230
|
export interface UsersUsersExportOutput {
|
|
@@ -117893,10 +118234,22 @@ users: {
|
|
|
117893
118234
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
117894
118235
|
*/
|
|
117895
118236
|
id: string
|
|
118237
|
+
/**
|
|
118238
|
+
* What kind of person this row is: 'account' (can sign in) or 'contact' (known to the Product, no credential, never signed in). A contact is hidden from the default users_users_list view and is never counted as a retained user.
|
|
118239
|
+
*/
|
|
118240
|
+
kind: ("account" | "contact")
|
|
117896
118241
|
/**
|
|
117897
118242
|
* The user's display name. Null when nobody set one.
|
|
117898
118243
|
*/
|
|
117899
118244
|
name: (string | null)
|
|
118245
|
+
/**
|
|
118246
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
118247
|
+
*/
|
|
118248
|
+
tags: string[]
|
|
118249
|
+
/**
|
|
118250
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
118251
|
+
*/
|
|
118252
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost")
|
|
117900
118253
|
/**
|
|
117901
118254
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
117902
118255
|
*/
|
|
@@ -117929,6 +118282,10 @@ productId: string
|
|
|
117929
118282
|
* When the user was last changed (ISO 8601).
|
|
117930
118283
|
*/
|
|
117931
118284
|
updatedAt: string
|
|
118285
|
+
/**
|
|
118286
|
+
* Set when you asked for an id that was merged into this account — it is the id you asked for, and this is the row it now lives in. Null on every ordinary read.
|
|
118287
|
+
*/
|
|
118288
|
+
mergedFrom: (string | null)
|
|
117932
118289
|
/**
|
|
117933
118290
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
117934
118291
|
*/
|
|
@@ -117942,9 +118299,9 @@ identifiers: {
|
|
|
117942
118299
|
*/
|
|
117943
118300
|
id: string
|
|
117944
118301
|
/**
|
|
117945
|
-
* What kind of identifier this is
|
|
118302
|
+
* What kind of identifier this is: `email`, `phone`, `telegram`, `linkedin` or `x`. Only `email` can be signed in with — the other four are contact channels, reachable but never part of the auth plane.
|
|
117946
118303
|
*/
|
|
117947
|
-
type: "email"
|
|
118304
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x")
|
|
117948
118305
|
/**
|
|
117949
118306
|
* The address as the user typed it, for display.
|
|
117950
118307
|
*/
|
|
@@ -117966,6 +118323,10 @@ valueCanonical: string
|
|
|
117966
118323
|
*/
|
|
117967
118324
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
117968
118325
|
}[]
|
|
118326
|
+
/**
|
|
118327
|
+
* When this person was last touched — the most recent logged interaction (ISO 8601). Null when nobody has logged one. This is when the interaction HAPPENED, not when it was logged.
|
|
118328
|
+
*/
|
|
118329
|
+
lastTouchAt: (string | null)
|
|
117969
118330
|
/**
|
|
117970
118331
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
117971
118332
|
*/
|
|
@@ -118000,6 +118361,10 @@ unsafeMetadata: {
|
|
|
118000
118361
|
privateMetadata: {
|
|
118001
118362
|
[k: string]: unknown
|
|
118002
118363
|
}
|
|
118364
|
+
/**
|
|
118365
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
118366
|
+
*/
|
|
118367
|
+
mergedIntoUserId: (string | null)
|
|
118003
118368
|
/**
|
|
118004
118369
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
118005
118370
|
*/
|
|
@@ -118025,10 +118390,22 @@ export interface UsersUsersGetOutput {
|
|
|
118025
118390
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
118026
118391
|
*/
|
|
118027
118392
|
id: string
|
|
118393
|
+
/**
|
|
118394
|
+
* What kind of person this row is: 'account' (can sign in) or 'contact' (known to the Product, no credential, never signed in). A contact is hidden from the default users_users_list view and is never counted as a retained user.
|
|
118395
|
+
*/
|
|
118396
|
+
kind: ("account" | "contact")
|
|
118028
118397
|
/**
|
|
118029
118398
|
* The user's display name. Null when nobody set one.
|
|
118030
118399
|
*/
|
|
118031
118400
|
name: (string | null)
|
|
118401
|
+
/**
|
|
118402
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
118403
|
+
*/
|
|
118404
|
+
tags: string[]
|
|
118405
|
+
/**
|
|
118406
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
118407
|
+
*/
|
|
118408
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost")
|
|
118032
118409
|
/**
|
|
118033
118410
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
118034
118411
|
*/
|
|
@@ -118061,6 +118438,10 @@ productId: string
|
|
|
118061
118438
|
* When the user was last changed (ISO 8601).
|
|
118062
118439
|
*/
|
|
118063
118440
|
updatedAt: string
|
|
118441
|
+
/**
|
|
118442
|
+
* Set when you asked for an id that was merged into this account — it is the id you asked for, and this is the row it now lives in. Null on every ordinary read.
|
|
118443
|
+
*/
|
|
118444
|
+
mergedFrom: (string | null)
|
|
118064
118445
|
/**
|
|
118065
118446
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
118066
118447
|
*/
|
|
@@ -118074,9 +118455,9 @@ identifiers: {
|
|
|
118074
118455
|
*/
|
|
118075
118456
|
id: string
|
|
118076
118457
|
/**
|
|
118077
|
-
* What kind of identifier this is
|
|
118458
|
+
* What kind of identifier this is: `email`, `phone`, `telegram`, `linkedin` or `x`. Only `email` can be signed in with — the other four are contact channels, reachable but never part of the auth plane.
|
|
118078
118459
|
*/
|
|
118079
|
-
type: "email"
|
|
118460
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x")
|
|
118080
118461
|
/**
|
|
118081
118462
|
* The address as the user typed it, for display.
|
|
118082
118463
|
*/
|
|
@@ -118098,6 +118479,10 @@ valueCanonical: string
|
|
|
118098
118479
|
*/
|
|
118099
118480
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
118100
118481
|
}[]
|
|
118482
|
+
/**
|
|
118483
|
+
* When this person was last touched — the most recent logged interaction (ISO 8601). Null when nobody has logged one. This is when the interaction HAPPENED, not when it was logged.
|
|
118484
|
+
*/
|
|
118485
|
+
lastTouchAt: (string | null)
|
|
118101
118486
|
/**
|
|
118102
118487
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
118103
118488
|
*/
|
|
@@ -118132,6 +118517,10 @@ unsafeMetadata: {
|
|
|
118132
118517
|
privateMetadata: {
|
|
118133
118518
|
[k: string]: unknown
|
|
118134
118519
|
}
|
|
118520
|
+
/**
|
|
118521
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
118522
|
+
*/
|
|
118523
|
+
mergedIntoUserId: (string | null)
|
|
118135
118524
|
/**
|
|
118136
118525
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
118137
118526
|
*/
|
|
@@ -118186,6 +118575,10 @@ userId: (string | null)
|
|
|
118186
118575
|
* How many rows were passed over — an address already in the directory, typically.
|
|
118187
118576
|
*/
|
|
118188
118577
|
skipped: number
|
|
118578
|
+
/**
|
|
118579
|
+
* How many of the CREATED users were contacts (`kind: 'contact'`). A row that was skipped or failed is not counted.
|
|
118580
|
+
*/
|
|
118581
|
+
contacts: number
|
|
118189
118582
|
/**
|
|
118190
118583
|
* How many rows you submitted.
|
|
118191
118584
|
*/
|
|
@@ -118235,6 +118628,14 @@ expiresAt: string
|
|
|
118235
118628
|
}
|
|
118236
118629
|
|
|
118237
118630
|
export interface UsersUsersListInput {
|
|
118631
|
+
/**
|
|
118632
|
+
* Return only people carrying this tag. ONE tag, matched against the stored (lowercased) value and ANDed with the other filters.
|
|
118633
|
+
*/
|
|
118634
|
+
tag?: string
|
|
118635
|
+
/**
|
|
118636
|
+
* Filter by kind: 'account' or 'contact'. Passing 'contact' is how you list contacts — they are hidden otherwise. Omit for accounts only, unless `includeContacts` is true.
|
|
118637
|
+
*/
|
|
118638
|
+
kind?: ("account" | "contact")
|
|
118238
118639
|
/**
|
|
118239
118640
|
* Page size, 1-100. Default 25.
|
|
118240
118641
|
*/
|
|
@@ -118243,6 +118644,10 @@ limit?: number
|
|
|
118243
118644
|
* Case-insensitive substring match against the user's identifiers (email) and name.
|
|
118244
118645
|
*/
|
|
118245
118646
|
query?: string
|
|
118647
|
+
/**
|
|
118648
|
+
* Filter by relationship stage: new, contacted, replied, engaged, converted or lost. Omit for every stage.
|
|
118649
|
+
*/
|
|
118650
|
+
stage?: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost")
|
|
118246
118651
|
/**
|
|
118247
118652
|
* Opaque cursor from a previous response's `nextCursor`. Omit for the first page.
|
|
118248
118653
|
*/
|
|
@@ -118255,6 +118660,18 @@ status?: ("active" | "banned" | "waitlisted")
|
|
|
118255
118660
|
* Include soft-deleted users. Default false — deleted users are hidden.
|
|
118256
118661
|
*/
|
|
118257
118662
|
includeDeleted?: boolean
|
|
118663
|
+
/**
|
|
118664
|
+
* Only people whose most recent logged interaction happened at or after this instant (ISO 8601). People never touched are EXCLUDED by this filter — list without it to see everyone.
|
|
118665
|
+
*/
|
|
118666
|
+
lastTouchAfter?: string
|
|
118667
|
+
/**
|
|
118668
|
+
* Include CONTACTS. Default false: a contact has no credential and has never signed in, so it is not part of the directory an operator browses — the same rule waitlist signups and test users follow. Use `kind: "contact"` to see only them.
|
|
118669
|
+
*/
|
|
118670
|
+
includeContacts?: boolean
|
|
118671
|
+
/**
|
|
118672
|
+
* Only people whose most recent logged interaction happened before this instant (ISO 8601) — the "gone quiet" list. People never touched are EXCLUDED rather than treated as infinitely stale; list without this filter to see everyone.
|
|
118673
|
+
*/
|
|
118674
|
+
lastTouchBefore?: string
|
|
118258
118675
|
/**
|
|
118259
118676
|
* Include TEST USERS. Default false: a test user is a fixture, not a customer — it is excluded from metering and from this listing for the same reason. Ask for it explicitly when you are debugging the fixtures themselves.
|
|
118260
118677
|
*/
|
|
@@ -118274,10 +118691,22 @@ users: {
|
|
|
118274
118691
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
118275
118692
|
*/
|
|
118276
118693
|
id: string
|
|
118694
|
+
/**
|
|
118695
|
+
* What kind of person this row is: 'account' (can sign in) or 'contact' (known to the Product, no credential, never signed in). A contact is hidden from the default users_users_list view and is never counted as a retained user.
|
|
118696
|
+
*/
|
|
118697
|
+
kind: ("account" | "contact")
|
|
118277
118698
|
/**
|
|
118278
118699
|
* The user's display name. Null when nobody set one.
|
|
118279
118700
|
*/
|
|
118280
118701
|
name: (string | null)
|
|
118702
|
+
/**
|
|
118703
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
118704
|
+
*/
|
|
118705
|
+
tags: string[]
|
|
118706
|
+
/**
|
|
118707
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
118708
|
+
*/
|
|
118709
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost")
|
|
118281
118710
|
/**
|
|
118282
118711
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
118283
118712
|
*/
|
|
@@ -118310,6 +118739,10 @@ productId: string
|
|
|
118310
118739
|
* When the user was last changed (ISO 8601).
|
|
118311
118740
|
*/
|
|
118312
118741
|
updatedAt: string
|
|
118742
|
+
/**
|
|
118743
|
+
* Set when you asked for an id that was merged into this account — it is the id you asked for, and this is the row it now lives in. Null on every ordinary read.
|
|
118744
|
+
*/
|
|
118745
|
+
mergedFrom: (string | null)
|
|
118313
118746
|
/**
|
|
118314
118747
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
118315
118748
|
*/
|
|
@@ -118323,9 +118756,9 @@ identifiers: {
|
|
|
118323
118756
|
*/
|
|
118324
118757
|
id: string
|
|
118325
118758
|
/**
|
|
118326
|
-
* What kind of identifier this is
|
|
118759
|
+
* What kind of identifier this is: `email`, `phone`, `telegram`, `linkedin` or `x`. Only `email` can be signed in with — the other four are contact channels, reachable but never part of the auth plane.
|
|
118327
118760
|
*/
|
|
118328
|
-
type: "email"
|
|
118761
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x")
|
|
118329
118762
|
/**
|
|
118330
118763
|
* The address as the user typed it, for display.
|
|
118331
118764
|
*/
|
|
@@ -118347,6 +118780,10 @@ valueCanonical: string
|
|
|
118347
118780
|
*/
|
|
118348
118781
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
118349
118782
|
}[]
|
|
118783
|
+
/**
|
|
118784
|
+
* When this person was last touched — the most recent logged interaction (ISO 8601). Null when nobody has logged one. This is when the interaction HAPPENED, not when it was logged.
|
|
118785
|
+
*/
|
|
118786
|
+
lastTouchAt: (string | null)
|
|
118350
118787
|
/**
|
|
118351
118788
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
118352
118789
|
*/
|
|
@@ -118381,6 +118818,10 @@ unsafeMetadata: {
|
|
|
118381
118818
|
privateMetadata: {
|
|
118382
118819
|
[k: string]: unknown
|
|
118383
118820
|
}
|
|
118821
|
+
/**
|
|
118822
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
118823
|
+
*/
|
|
118824
|
+
mergedIntoUserId: (string | null)
|
|
118384
118825
|
/**
|
|
118385
118826
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
118386
118827
|
*/
|
|
@@ -118434,10 +118875,22 @@ export interface UsersUsersUnbanOutput {
|
|
|
118434
118875
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
118435
118876
|
*/
|
|
118436
118877
|
id: string
|
|
118878
|
+
/**
|
|
118879
|
+
* What kind of person this row is: 'account' (can sign in) or 'contact' (known to the Product, no credential, never signed in). A contact is hidden from the default users_users_list view and is never counted as a retained user.
|
|
118880
|
+
*/
|
|
118881
|
+
kind: ("account" | "contact")
|
|
118437
118882
|
/**
|
|
118438
118883
|
* The user's display name. Null when nobody set one.
|
|
118439
118884
|
*/
|
|
118440
118885
|
name: (string | null)
|
|
118886
|
+
/**
|
|
118887
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
118888
|
+
*/
|
|
118889
|
+
tags: string[]
|
|
118890
|
+
/**
|
|
118891
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
118892
|
+
*/
|
|
118893
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost")
|
|
118441
118894
|
/**
|
|
118442
118895
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
118443
118896
|
*/
|
|
@@ -118470,6 +118923,10 @@ productId: string
|
|
|
118470
118923
|
* When the user was last changed (ISO 8601).
|
|
118471
118924
|
*/
|
|
118472
118925
|
updatedAt: string
|
|
118926
|
+
/**
|
|
118927
|
+
* Set when you asked for an id that was merged into this account — it is the id you asked for, and this is the row it now lives in. Null on every ordinary read.
|
|
118928
|
+
*/
|
|
118929
|
+
mergedFrom: (string | null)
|
|
118473
118930
|
/**
|
|
118474
118931
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
118475
118932
|
*/
|
|
@@ -118483,9 +118940,9 @@ identifiers: {
|
|
|
118483
118940
|
*/
|
|
118484
118941
|
id: string
|
|
118485
118942
|
/**
|
|
118486
|
-
* What kind of identifier this is
|
|
118943
|
+
* What kind of identifier this is: `email`, `phone`, `telegram`, `linkedin` or `x`. Only `email` can be signed in with — the other four are contact channels, reachable but never part of the auth plane.
|
|
118487
118944
|
*/
|
|
118488
|
-
type: "email"
|
|
118945
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x")
|
|
118489
118946
|
/**
|
|
118490
118947
|
* The address as the user typed it, for display.
|
|
118491
118948
|
*/
|
|
@@ -118507,6 +118964,10 @@ valueCanonical: string
|
|
|
118507
118964
|
*/
|
|
118508
118965
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
118509
118966
|
}[]
|
|
118967
|
+
/**
|
|
118968
|
+
* When this person was last touched — the most recent logged interaction (ISO 8601). Null when nobody has logged one. This is when the interaction HAPPENED, not when it was logged.
|
|
118969
|
+
*/
|
|
118970
|
+
lastTouchAt: (string | null)
|
|
118510
118971
|
/**
|
|
118511
118972
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
118512
118973
|
*/
|
|
@@ -118541,6 +119002,10 @@ unsafeMetadata: {
|
|
|
118541
119002
|
privateMetadata: {
|
|
118542
119003
|
[k: string]: unknown
|
|
118543
119004
|
}
|
|
119005
|
+
/**
|
|
119006
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
119007
|
+
*/
|
|
119008
|
+
mergedIntoUserId: (string | null)
|
|
118544
119009
|
/**
|
|
118545
119010
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
118546
119011
|
*/
|
|
@@ -118556,6 +119021,14 @@ export interface UsersUsersUpdateInput {
|
|
|
118556
119021
|
* The user's display name. Pass null to clear.
|
|
118557
119022
|
*/
|
|
118558
119023
|
name?: (string | null)
|
|
119024
|
+
/**
|
|
119025
|
+
* REPLACES the whole tag list — send every tag you want stored, not just the new ones. Trimmed, lowercased and de-duplicated on write.
|
|
119026
|
+
*/
|
|
119027
|
+
tags?: string[]
|
|
119028
|
+
/**
|
|
119029
|
+
* Move the person to this relationship stage. A real change publishes `users/user.stage-changed`; a patch that changes ONLY the stage deliberately does not also publish `users/user.updated`, so a workflow that writes stages does not wake itself.
|
|
119030
|
+
*/
|
|
119031
|
+
stage?: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost")
|
|
118559
119032
|
/**
|
|
118560
119033
|
* The user to update.
|
|
118561
119034
|
*/
|
|
@@ -118603,10 +119076,22 @@ export interface UsersUsersUpdateOutput {
|
|
|
118603
119076
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
118604
119077
|
*/
|
|
118605
119078
|
id: string
|
|
119079
|
+
/**
|
|
119080
|
+
* What kind of person this row is: 'account' (can sign in) or 'contact' (known to the Product, no credential, never signed in). A contact is hidden from the default users_users_list view and is never counted as a retained user.
|
|
119081
|
+
*/
|
|
119082
|
+
kind: ("account" | "contact")
|
|
118606
119083
|
/**
|
|
118607
119084
|
* The user's display name. Null when nobody set one.
|
|
118608
119085
|
*/
|
|
118609
119086
|
name: (string | null)
|
|
119087
|
+
/**
|
|
119088
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
119089
|
+
*/
|
|
119090
|
+
tags: string[]
|
|
119091
|
+
/**
|
|
119092
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
119093
|
+
*/
|
|
119094
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost")
|
|
118610
119095
|
/**
|
|
118611
119096
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
118612
119097
|
*/
|
|
@@ -118639,6 +119124,10 @@ productId: string
|
|
|
118639
119124
|
* When the user was last changed (ISO 8601).
|
|
118640
119125
|
*/
|
|
118641
119126
|
updatedAt: string
|
|
119127
|
+
/**
|
|
119128
|
+
* Set when you asked for an id that was merged into this account — it is the id you asked for, and this is the row it now lives in. Null on every ordinary read.
|
|
119129
|
+
*/
|
|
119130
|
+
mergedFrom: (string | null)
|
|
118642
119131
|
/**
|
|
118643
119132
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
118644
119133
|
*/
|
|
@@ -118652,9 +119141,9 @@ identifiers: {
|
|
|
118652
119141
|
*/
|
|
118653
119142
|
id: string
|
|
118654
119143
|
/**
|
|
118655
|
-
* What kind of identifier this is
|
|
119144
|
+
* What kind of identifier this is: `email`, `phone`, `telegram`, `linkedin` or `x`. Only `email` can be signed in with — the other four are contact channels, reachable but never part of the auth plane.
|
|
118656
119145
|
*/
|
|
118657
|
-
type: "email"
|
|
119146
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x")
|
|
118658
119147
|
/**
|
|
118659
119148
|
* The address as the user typed it, for display.
|
|
118660
119149
|
*/
|
|
@@ -118676,6 +119165,10 @@ valueCanonical: string
|
|
|
118676
119165
|
*/
|
|
118677
119166
|
verificationStatus: ("unverified" | "verified" | "expired")
|
|
118678
119167
|
}[]
|
|
119168
|
+
/**
|
|
119169
|
+
* When this person was last touched — the most recent logged interaction (ISO 8601). Null when nobody has logged one. This is when the interaction HAPPENED, not when it was logged.
|
|
119170
|
+
*/
|
|
119171
|
+
lastTouchAt: (string | null)
|
|
118679
119172
|
/**
|
|
118680
119173
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
118681
119174
|
*/
|
|
@@ -118710,6 +119203,10 @@ unsafeMetadata: {
|
|
|
118710
119203
|
privateMetadata: {
|
|
118711
119204
|
[k: string]: unknown
|
|
118712
119205
|
}
|
|
119206
|
+
/**
|
|
119207
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
119208
|
+
*/
|
|
119209
|
+
mergedIntoUserId: (string | null)
|
|
118713
119210
|
/**
|
|
118714
119211
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
118715
119212
|
*/
|