@lepsto/sdk-app 91.0.1 → 92.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/CHANGELOG.md +8 -4
- package/dist/_types/gen/client.gen.d.ts +7 -1
- package/dist/_types/gen/types.gen.d.ts +577 -46
- 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 +585 -46
- package/src/gen/users/index.ts +1 -1
- package/src/gen/users/queryOptions.gen.ts +25 -0
|
@@ -72500,13 +72500,38 @@ export interface BrainMemoryAddInput {
|
|
|
72500
72500
|
}
|
|
72501
72501
|
export interface BrainMemoryAddOutput {
|
|
72502
72502
|
/**
|
|
72503
|
-
* True when the memory was stored
|
|
72503
|
+
* True when the memory was stored and its facts extracted (or there was nothing to extract). False when extraction failed — the raw memory is still stored under memory_id — or when the memory was not stored at all
|
|
72504
72504
|
*/
|
|
72505
72505
|
success: boolean;
|
|
72506
72506
|
/**
|
|
72507
72507
|
* Engine id of the memory just stored; keep it to read, replace or delete the memory later
|
|
72508
72508
|
*/
|
|
72509
72509
|
memory_id: string;
|
|
72510
|
+
/**
|
|
72511
|
+
* Present only when success is false. Tell stored from not stored by `extraction`, not by this code: with extraction.status 'failed' the raw memory IS stored and searchable under memory_id, only its facts are missing — do not re-add the same content, that stores a duplicate. With no `extraction` nothing was stored, and the add can be retried
|
|
72512
|
+
*/
|
|
72513
|
+
error_code?: string;
|
|
72514
|
+
/**
|
|
72515
|
+
* What fact extraction made of this memory
|
|
72516
|
+
*/
|
|
72517
|
+
extraction?: {
|
|
72518
|
+
/**
|
|
72519
|
+
* How many memories extraction stored from this write, across every derived layer (facts, identity, profile, summaries) — not a count of facts alone
|
|
72520
|
+
*/
|
|
72521
|
+
items: number;
|
|
72522
|
+
/**
|
|
72523
|
+
* ok = at least one memory was derived from it (a summary counts, so ok alone does not promise a fact); empty = nothing new came out of it — the content held nothing durable, or everything in it is already in memory; failed = extraction broke, the raw memory is stored without facts; skipped = the engine does not extract in this mode
|
|
72524
|
+
*/
|
|
72525
|
+
status: ("ok" | "empty" | "failed" | "skipped");
|
|
72526
|
+
/**
|
|
72527
|
+
* The engine's code when extraction failed — or, with status ok, when it ran degraded but still stored its facts
|
|
72528
|
+
*/
|
|
72529
|
+
error_code?: string;
|
|
72530
|
+
/**
|
|
72531
|
+
* The engine's own words for that failure or degradation — quote it when reporting a problem
|
|
72532
|
+
*/
|
|
72533
|
+
error_message?: string;
|
|
72534
|
+
};
|
|
72510
72535
|
/**
|
|
72511
72536
|
* Engine request id for this call — quote it when reporting a problem
|
|
72512
72537
|
*/
|
|
@@ -72850,6 +72875,23 @@ export interface BrainMemoryStatsOutput {
|
|
|
72850
72875
|
*/
|
|
72851
72876
|
entityCount: number;
|
|
72852
72877
|
};
|
|
72878
|
+
/**
|
|
72879
|
+
* Raw memories left without facts, for the caller's product and scope. Counts only, and a lower bound. Null when the engine could not compute it
|
|
72880
|
+
*/
|
|
72881
|
+
extraction_gaps: ({
|
|
72882
|
+
/**
|
|
72883
|
+
* Raw memories (l1_raw) the scope holds
|
|
72884
|
+
*/
|
|
72885
|
+
raw_total: number;
|
|
72886
|
+
/**
|
|
72887
|
+
* Raw memories no derived memory (fact, identity) points back to — their extraction produced nothing
|
|
72888
|
+
*/
|
|
72889
|
+
raw_without_derived: number;
|
|
72890
|
+
/**
|
|
72891
|
+
* Of those, raw memories still in shadow status
|
|
72892
|
+
*/
|
|
72893
|
+
shadow_without_derived: number;
|
|
72894
|
+
} | null);
|
|
72853
72895
|
}
|
|
72854
72896
|
export interface BrainMemoryUpdateInput {
|
|
72855
72897
|
/**
|
|
@@ -122109,9 +122151,9 @@ export interface UsersApikeysCreateInput {
|
|
|
122109
122151
|
*/
|
|
122110
122152
|
name: string;
|
|
122111
122153
|
/**
|
|
122112
|
-
* '
|
|
122154
|
+
* '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.
|
|
122113
122155
|
*/
|
|
122114
|
-
type:
|
|
122156
|
+
type: "publishable";
|
|
122115
122157
|
}
|
|
122116
122158
|
export interface UsersApikeysCreateOutput {
|
|
122117
122159
|
/**
|
|
@@ -122127,15 +122169,15 @@ export interface UsersApikeysCreateOutput {
|
|
|
122127
122169
|
*/
|
|
122128
122170
|
name: string;
|
|
122129
122171
|
/**
|
|
122130
|
-
* `
|
|
122172
|
+
* `publishable` — a browser-safe key (upk_…). It is the only type.
|
|
122131
122173
|
*/
|
|
122132
|
-
type:
|
|
122174
|
+
type: "publishable";
|
|
122133
122175
|
/**
|
|
122134
|
-
* The full value of
|
|
122176
|
+
* The full value of the key, which is not a secret and stays readable.
|
|
122135
122177
|
*/
|
|
122136
122178
|
value: (string | null);
|
|
122137
122179
|
/**
|
|
122138
|
-
* `
|
|
122180
|
+
* `upk_` plus six characters — enough to recognise a key, never to use one.
|
|
122139
122181
|
*/
|
|
122140
122182
|
prefix: string;
|
|
122141
122183
|
/**
|
|
@@ -122163,15 +122205,15 @@ export interface UsersApikeysGetOutput {
|
|
|
122163
122205
|
*/
|
|
122164
122206
|
name: string;
|
|
122165
122207
|
/**
|
|
122166
|
-
* `
|
|
122208
|
+
* `publishable` — a browser-safe key (upk_…). It is the only type.
|
|
122167
122209
|
*/
|
|
122168
|
-
type:
|
|
122210
|
+
type: "publishable";
|
|
122169
122211
|
/**
|
|
122170
|
-
* The full value of
|
|
122212
|
+
* The full value of the key, which is not a secret and stays readable.
|
|
122171
122213
|
*/
|
|
122172
122214
|
value: (string | null);
|
|
122173
122215
|
/**
|
|
122174
|
-
* `
|
|
122216
|
+
* `upk_` plus six characters — enough to recognise a key, never to use one.
|
|
122175
122217
|
*/
|
|
122176
122218
|
prefix: string;
|
|
122177
122219
|
/**
|
|
@@ -122196,15 +122238,15 @@ export interface UsersApikeysListOutput {
|
|
|
122196
122238
|
*/
|
|
122197
122239
|
name: string;
|
|
122198
122240
|
/**
|
|
122199
|
-
* `
|
|
122241
|
+
* `publishable` — a browser-safe key (upk_…). It is the only type.
|
|
122200
122242
|
*/
|
|
122201
|
-
type:
|
|
122243
|
+
type: "publishable";
|
|
122202
122244
|
/**
|
|
122203
|
-
* The full value of
|
|
122245
|
+
* The full value of the key, which is not a secret and stays readable.
|
|
122204
122246
|
*/
|
|
122205
122247
|
value: (string | null);
|
|
122206
122248
|
/**
|
|
122207
|
-
* `
|
|
122249
|
+
* `upk_` plus six characters — enough to recognise a key, never to use one.
|
|
122208
122250
|
*/
|
|
122209
122251
|
prefix: string;
|
|
122210
122252
|
/**
|
|
@@ -122363,7 +122405,7 @@ export interface UsersConfigGetOutput {
|
|
|
122363
122405
|
*/
|
|
122364
122406
|
codeEnabled: boolean;
|
|
122365
122407
|
/**
|
|
122366
|
-
* Base URL magic links point at, e.g. "https://public.
|
|
122408
|
+
* Base URL magic links point at, e.g. "https://public.lepsto.com/{productId}/users". Null uses the deployment default.
|
|
122367
122409
|
*/
|
|
122368
122410
|
linkBaseUrl: (string | null);
|
|
122369
122411
|
/**
|
|
@@ -122487,7 +122529,7 @@ export interface UsersConfigGetOutput {
|
|
|
122487
122529
|
*/
|
|
122488
122530
|
doubleOptIn: boolean;
|
|
122489
122531
|
/**
|
|
122490
|
-
* 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:
|
|
122532
|
+
* 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.
|
|
122491
122533
|
*/
|
|
122492
122534
|
retentionDays: number;
|
|
122493
122535
|
/**
|
|
@@ -122657,7 +122699,7 @@ export interface UsersConfigUpsertInput {
|
|
|
122657
122699
|
*/
|
|
122658
122700
|
codeEnabled?: boolean;
|
|
122659
122701
|
/**
|
|
122660
|
-
* Base URL magic links point at, e.g. "https://public.
|
|
122702
|
+
* Base URL magic links point at, e.g. "https://public.lepsto.com/{productId}/users". Null uses the deployment default.
|
|
122661
122703
|
*/
|
|
122662
122704
|
linkBaseUrl?: (string | null);
|
|
122663
122705
|
/**
|
|
@@ -122827,7 +122869,7 @@ export interface UsersConfigUpsertInput {
|
|
|
122827
122869
|
*/
|
|
122828
122870
|
doubleOptIn?: boolean;
|
|
122829
122871
|
/**
|
|
122830
|
-
* 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:
|
|
122872
|
+
* 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.
|
|
122831
122873
|
*/
|
|
122832
122874
|
retentionDays?: number;
|
|
122833
122875
|
/**
|
|
@@ -123039,7 +123081,7 @@ export interface UsersConfigUpsertOutput {
|
|
|
123039
123081
|
*/
|
|
123040
123082
|
codeEnabled: boolean;
|
|
123041
123083
|
/**
|
|
123042
|
-
* Base URL magic links point at, e.g. "https://public.
|
|
123084
|
+
* Base URL magic links point at, e.g. "https://public.lepsto.com/{productId}/users". Null uses the deployment default.
|
|
123043
123085
|
*/
|
|
123044
123086
|
linkBaseUrl: (string | null);
|
|
123045
123087
|
/**
|
|
@@ -123163,7 +123205,7 @@ export interface UsersConfigUpsertOutput {
|
|
|
123163
123205
|
*/
|
|
123164
123206
|
doubleOptIn: boolean;
|
|
123165
123207
|
/**
|
|
123166
|
-
* 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:
|
|
123208
|
+
* 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.
|
|
123167
123209
|
*/
|
|
123168
123210
|
retentionDays: number;
|
|
123169
123211
|
/**
|
|
@@ -123493,11 +123535,11 @@ export interface UsersOpsRetentionGetOutput {
|
|
|
123493
123535
|
*/
|
|
123494
123536
|
waitlistRetentionDays: number;
|
|
123495
123537
|
/**
|
|
123496
|
-
* What
|
|
123538
|
+
* 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.
|
|
123497
123539
|
*/
|
|
123498
123540
|
waitlistPromisedMaxDays: number;
|
|
123499
123541
|
/**
|
|
123500
|
-
* True when this product configured a window WIDER than the published 180 days. Nothing refuses such a value and nothing clamps it — §6 is
|
|
123542
|
+
* 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.
|
|
123501
123543
|
*/
|
|
123502
123544
|
waitlistWiderThanPromised: boolean;
|
|
123503
123545
|
}
|
|
@@ -123939,7 +123981,7 @@ export interface UsersStatsGetOutput {
|
|
|
123939
123981
|
*/
|
|
123940
123982
|
since: string;
|
|
123941
123983
|
/**
|
|
123942
|
-
* Point-in-time directory populations by DERIVED status — `user` has no status column, these are computed from `waitlisted` and the ban/delete/erase timestamps.
|
|
123984
|
+
* 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.
|
|
123943
123985
|
*/
|
|
123944
123986
|
users: {
|
|
123945
123987
|
/**
|
|
@@ -123947,7 +123989,7 @@ export interface UsersStatsGetOutput {
|
|
|
123947
123989
|
*/
|
|
123948
123990
|
total: number;
|
|
123949
123991
|
/**
|
|
123950
|
-
* Full accounts: not waitlisted, not banned, not deleted, not erased.
|
|
123992
|
+
* Full accounts: kind 'account', not waitlisted, not banned, not deleted, not erased.
|
|
123951
123993
|
*/
|
|
123952
123994
|
active: number;
|
|
123953
123995
|
/**
|
|
@@ -123962,6 +124004,10 @@ export interface UsersStatsGetOutput {
|
|
|
123962
124004
|
* SOFT-deleted and still recoverable — not erased.
|
|
123963
124005
|
*/
|
|
123964
124006
|
deleted: number;
|
|
124007
|
+
/**
|
|
124008
|
+
* 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.
|
|
124009
|
+
*/
|
|
124010
|
+
contacts: number;
|
|
123965
124011
|
/**
|
|
123966
124012
|
* Waitlist signups with no credential yet.
|
|
123967
124013
|
*/
|
|
@@ -124015,6 +124061,243 @@ export interface UsersStatsGetOutput {
|
|
|
124015
124061
|
createdInWindow: number;
|
|
124016
124062
|
};
|
|
124017
124063
|
}
|
|
124064
|
+
export interface UsersTouchesCreateInput {
|
|
124065
|
+
/**
|
|
124066
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
124067
|
+
*/
|
|
124068
|
+
body: string;
|
|
124069
|
+
/**
|
|
124070
|
+
* The end user this interaction was with.
|
|
124071
|
+
*/
|
|
124072
|
+
userId: string;
|
|
124073
|
+
/**
|
|
124074
|
+
* 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.
|
|
124075
|
+
*/
|
|
124076
|
+
channel: ("message" | "call" | "meeting" | "note" | "email");
|
|
124077
|
+
/**
|
|
124078
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
124079
|
+
*/
|
|
124080
|
+
direction: ("outbound" | "inbound" | "none");
|
|
124081
|
+
/**
|
|
124082
|
+
* When it happened (ISO 8601). Omit to mean now — pass it when logging after the fact, which may be any time in the past.
|
|
124083
|
+
*/
|
|
124084
|
+
occurredAt?: string;
|
|
124085
|
+
}
|
|
124086
|
+
export interface UsersTouchesCreateOutput {
|
|
124087
|
+
/**
|
|
124088
|
+
* Id of this touch. Pass it to users_touches_update or _delete.
|
|
124089
|
+
*/
|
|
124090
|
+
id: string;
|
|
124091
|
+
/**
|
|
124092
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
124093
|
+
*/
|
|
124094
|
+
body: string;
|
|
124095
|
+
/**
|
|
124096
|
+
* The end user this interaction was with.
|
|
124097
|
+
*/
|
|
124098
|
+
userId: string;
|
|
124099
|
+
/**
|
|
124100
|
+
* Id of the operator or agent that logged it, verbatim.
|
|
124101
|
+
*/
|
|
124102
|
+
actorId: string;
|
|
124103
|
+
/**
|
|
124104
|
+
* 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.
|
|
124105
|
+
*/
|
|
124106
|
+
channel: ("message" | "call" | "meeting" | "note" | "email");
|
|
124107
|
+
/**
|
|
124108
|
+
* Who logged it: 'operator' (a human) or 'agent' (a workflow or agent principal).
|
|
124109
|
+
*/
|
|
124110
|
+
actorType: ("operator" | "agent");
|
|
124111
|
+
/**
|
|
124112
|
+
* When the touch was logged (ISO 8601).
|
|
124113
|
+
*/
|
|
124114
|
+
createdAt: string;
|
|
124115
|
+
/**
|
|
124116
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
124117
|
+
*/
|
|
124118
|
+
direction: ("outbound" | "inbound" | "none");
|
|
124119
|
+
/**
|
|
124120
|
+
* Product this touch belongs to. Never an input — it comes from the calling identity.
|
|
124121
|
+
*/
|
|
124122
|
+
productId: string;
|
|
124123
|
+
/**
|
|
124124
|
+
* When the touch was last edited (ISO 8601).
|
|
124125
|
+
*/
|
|
124126
|
+
updatedAt: string;
|
|
124127
|
+
/**
|
|
124128
|
+
* When the interaction happened (ISO 8601) — not when it was logged.
|
|
124129
|
+
*/
|
|
124130
|
+
occurredAt: string;
|
|
124131
|
+
}
|
|
124132
|
+
export interface UsersTouchesDiscardInput {
|
|
124133
|
+
/**
|
|
124134
|
+
* 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.
|
|
124135
|
+
*/
|
|
124136
|
+
force?: boolean;
|
|
124137
|
+
/**
|
|
124138
|
+
* The end user the touch belongs to.
|
|
124139
|
+
*/
|
|
124140
|
+
userId: string;
|
|
124141
|
+
/**
|
|
124142
|
+
* The touch to delete, from users_touches_list.
|
|
124143
|
+
*/
|
|
124144
|
+
touchId: string;
|
|
124145
|
+
}
|
|
124146
|
+
export interface UsersTouchesDiscardOutput {
|
|
124147
|
+
/**
|
|
124148
|
+
* Id of the touch that was deleted.
|
|
124149
|
+
*/
|
|
124150
|
+
id: string;
|
|
124151
|
+
/**
|
|
124152
|
+
* The end user it belonged to.
|
|
124153
|
+
*/
|
|
124154
|
+
userId: string;
|
|
124155
|
+
/**
|
|
124156
|
+
* Always true — a failure answers 404 instead.
|
|
124157
|
+
*/
|
|
124158
|
+
deleted: true;
|
|
124159
|
+
}
|
|
124160
|
+
export interface UsersTouchesListInput {
|
|
124161
|
+
/**
|
|
124162
|
+
* Page size, 1-100. Default 50.
|
|
124163
|
+
*/
|
|
124164
|
+
limit?: number;
|
|
124165
|
+
/**
|
|
124166
|
+
* Opaque cursor from a previous response's `nextCursor`. Omit for the first page.
|
|
124167
|
+
*/
|
|
124168
|
+
cursor?: string;
|
|
124169
|
+
/**
|
|
124170
|
+
* The end user whose touches to list.
|
|
124171
|
+
*/
|
|
124172
|
+
userId: string;
|
|
124173
|
+
/**
|
|
124174
|
+
* Only touches on this channel. Omit for all of them.
|
|
124175
|
+
*/
|
|
124176
|
+
channel?: ("message" | "call" | "meeting" | "note" | "email");
|
|
124177
|
+
}
|
|
124178
|
+
export interface UsersTouchesListOutput {
|
|
124179
|
+
/**
|
|
124180
|
+
* The page of touches, newest first.
|
|
124181
|
+
*/
|
|
124182
|
+
items: {
|
|
124183
|
+
/**
|
|
124184
|
+
* Id of this touch. Pass it to users_touches_update or _delete.
|
|
124185
|
+
*/
|
|
124186
|
+
id: string;
|
|
124187
|
+
/**
|
|
124188
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
124189
|
+
*/
|
|
124190
|
+
body: string;
|
|
124191
|
+
/**
|
|
124192
|
+
* The end user this interaction was with.
|
|
124193
|
+
*/
|
|
124194
|
+
userId: string;
|
|
124195
|
+
/**
|
|
124196
|
+
* Id of the operator or agent that logged it, verbatim.
|
|
124197
|
+
*/
|
|
124198
|
+
actorId: string;
|
|
124199
|
+
/**
|
|
124200
|
+
* 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.
|
|
124201
|
+
*/
|
|
124202
|
+
channel: ("message" | "call" | "meeting" | "note" | "email");
|
|
124203
|
+
/**
|
|
124204
|
+
* Who logged it: 'operator' (a human) or 'agent' (a workflow or agent principal).
|
|
124205
|
+
*/
|
|
124206
|
+
actorType: ("operator" | "agent");
|
|
124207
|
+
/**
|
|
124208
|
+
* When the touch was logged (ISO 8601).
|
|
124209
|
+
*/
|
|
124210
|
+
createdAt: string;
|
|
124211
|
+
/**
|
|
124212
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
124213
|
+
*/
|
|
124214
|
+
direction: ("outbound" | "inbound" | "none");
|
|
124215
|
+
/**
|
|
124216
|
+
* Product this touch belongs to. Never an input — it comes from the calling identity.
|
|
124217
|
+
*/
|
|
124218
|
+
productId: string;
|
|
124219
|
+
/**
|
|
124220
|
+
* When the touch was last edited (ISO 8601).
|
|
124221
|
+
*/
|
|
124222
|
+
updatedAt: string;
|
|
124223
|
+
/**
|
|
124224
|
+
* When the interaction happened (ISO 8601) — not when it was logged.
|
|
124225
|
+
*/
|
|
124226
|
+
occurredAt: string;
|
|
124227
|
+
}[];
|
|
124228
|
+
/**
|
|
124229
|
+
* Pass as `cursor` for the next page. Null when this was the last one.
|
|
124230
|
+
*/
|
|
124231
|
+
nextCursor: (string | null);
|
|
124232
|
+
}
|
|
124233
|
+
export interface UsersTouchesUpdateInput {
|
|
124234
|
+
/**
|
|
124235
|
+
* Replacement text, 1-8192 characters. Omit to leave it unchanged.
|
|
124236
|
+
*/
|
|
124237
|
+
body?: string;
|
|
124238
|
+
/**
|
|
124239
|
+
* 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.
|
|
124240
|
+
*/
|
|
124241
|
+
force?: boolean;
|
|
124242
|
+
/**
|
|
124243
|
+
* The end user the touch belongs to.
|
|
124244
|
+
*/
|
|
124245
|
+
userId: string;
|
|
124246
|
+
/**
|
|
124247
|
+
* The touch to edit, from users_touches_list.
|
|
124248
|
+
*/
|
|
124249
|
+
touchId: string;
|
|
124250
|
+
/**
|
|
124251
|
+
* Correct when it happened (ISO 8601). Omit to leave it unchanged.
|
|
124252
|
+
*/
|
|
124253
|
+
occurredAt?: string;
|
|
124254
|
+
}
|
|
124255
|
+
export interface UsersTouchesUpdateOutput {
|
|
124256
|
+
/**
|
|
124257
|
+
* Id of this touch. Pass it to users_touches_update or _delete.
|
|
124258
|
+
*/
|
|
124259
|
+
id: string;
|
|
124260
|
+
/**
|
|
124261
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
124262
|
+
*/
|
|
124263
|
+
body: string;
|
|
124264
|
+
/**
|
|
124265
|
+
* The end user this interaction was with.
|
|
124266
|
+
*/
|
|
124267
|
+
userId: string;
|
|
124268
|
+
/**
|
|
124269
|
+
* Id of the operator or agent that logged it, verbatim.
|
|
124270
|
+
*/
|
|
124271
|
+
actorId: string;
|
|
124272
|
+
/**
|
|
124273
|
+
* 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.
|
|
124274
|
+
*/
|
|
124275
|
+
channel: ("message" | "call" | "meeting" | "note" | "email");
|
|
124276
|
+
/**
|
|
124277
|
+
* Who logged it: 'operator' (a human) or 'agent' (a workflow or agent principal).
|
|
124278
|
+
*/
|
|
124279
|
+
actorType: ("operator" | "agent");
|
|
124280
|
+
/**
|
|
124281
|
+
* When the touch was logged (ISO 8601).
|
|
124282
|
+
*/
|
|
124283
|
+
createdAt: string;
|
|
124284
|
+
/**
|
|
124285
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
124286
|
+
*/
|
|
124287
|
+
direction: ("outbound" | "inbound" | "none");
|
|
124288
|
+
/**
|
|
124289
|
+
* Product this touch belongs to. Never an input — it comes from the calling identity.
|
|
124290
|
+
*/
|
|
124291
|
+
productId: string;
|
|
124292
|
+
/**
|
|
124293
|
+
* When the touch was last edited (ISO 8601).
|
|
124294
|
+
*/
|
|
124295
|
+
updatedAt: string;
|
|
124296
|
+
/**
|
|
124297
|
+
* When the interaction happened (ISO 8601) — not when it was logged.
|
|
124298
|
+
*/
|
|
124299
|
+
occurredAt: string;
|
|
124300
|
+
}
|
|
124018
124301
|
export interface UsersUsersBanInput {
|
|
124019
124302
|
/**
|
|
124020
124303
|
* The opaque user id returned by users_users_create or _list.
|
|
@@ -124026,10 +124309,22 @@ export interface UsersUsersBanOutput {
|
|
|
124026
124309
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124027
124310
|
*/
|
|
124028
124311
|
id: string;
|
|
124312
|
+
/**
|
|
124313
|
+
* 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.
|
|
124314
|
+
*/
|
|
124315
|
+
kind: ("account" | "contact");
|
|
124029
124316
|
/**
|
|
124030
124317
|
* The user's display name. Null when nobody set one.
|
|
124031
124318
|
*/
|
|
124032
124319
|
name: (string | null);
|
|
124320
|
+
/**
|
|
124321
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
124322
|
+
*/
|
|
124323
|
+
tags: string[];
|
|
124324
|
+
/**
|
|
124325
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
124326
|
+
*/
|
|
124327
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124033
124328
|
/**
|
|
124034
124329
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124035
124330
|
*/
|
|
@@ -124062,6 +124357,10 @@ export interface UsersUsersBanOutput {
|
|
|
124062
124357
|
* When the user was last changed (ISO 8601).
|
|
124063
124358
|
*/
|
|
124064
124359
|
updatedAt: string;
|
|
124360
|
+
/**
|
|
124361
|
+
* 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.
|
|
124362
|
+
*/
|
|
124363
|
+
mergedFrom: (string | null);
|
|
124065
124364
|
/**
|
|
124066
124365
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124067
124366
|
*/
|
|
@@ -124075,9 +124374,9 @@ export interface UsersUsersBanOutput {
|
|
|
124075
124374
|
*/
|
|
124076
124375
|
id: string;
|
|
124077
124376
|
/**
|
|
124078
|
-
* What kind of identifier this is
|
|
124377
|
+
* 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.
|
|
124079
124378
|
*/
|
|
124080
|
-
type: "email";
|
|
124379
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124081
124380
|
/**
|
|
124082
124381
|
* The address as the user typed it, for display.
|
|
124083
124382
|
*/
|
|
@@ -124099,6 +124398,10 @@ export interface UsersUsersBanOutput {
|
|
|
124099
124398
|
*/
|
|
124100
124399
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124101
124400
|
}[];
|
|
124401
|
+
/**
|
|
124402
|
+
* 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.
|
|
124403
|
+
*/
|
|
124404
|
+
lastTouchAt: (string | null);
|
|
124102
124405
|
/**
|
|
124103
124406
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124104
124407
|
*/
|
|
@@ -124133,6 +124436,10 @@ export interface UsersUsersBanOutput {
|
|
|
124133
124436
|
privateMetadata: {
|
|
124134
124437
|
[k: string]: unknown;
|
|
124135
124438
|
};
|
|
124439
|
+
/**
|
|
124440
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
124441
|
+
*/
|
|
124442
|
+
mergedIntoUserId: (string | null);
|
|
124136
124443
|
/**
|
|
124137
124444
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124138
124445
|
*/
|
|
@@ -124143,10 +124450,22 @@ export interface UsersUsersBanOutput {
|
|
|
124143
124450
|
emailChangeLockedUntil: (string | null);
|
|
124144
124451
|
}
|
|
124145
124452
|
export interface UsersUsersCreateInput {
|
|
124453
|
+
/**
|
|
124454
|
+
* 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.
|
|
124455
|
+
*/
|
|
124456
|
+
kind?: ("account" | "contact");
|
|
124146
124457
|
/**
|
|
124147
124458
|
* The user's display name.
|
|
124148
124459
|
*/
|
|
124149
124460
|
name?: string;
|
|
124461
|
+
/**
|
|
124462
|
+
* Free labels for this person. Trimmed, lowercased and de-duplicated on write; at most 32 of at most 64 characters each.
|
|
124463
|
+
*/
|
|
124464
|
+
tags?: string[];
|
|
124465
|
+
/**
|
|
124466
|
+
* The relationship stage to start them at, in funnel order: new, contacted, replied, engaged, converted, lost. Default 'new'.
|
|
124467
|
+
*/
|
|
124468
|
+
stage?: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124150
124469
|
/**
|
|
124151
124470
|
* URL of the user's avatar image.
|
|
124152
124471
|
*/
|
|
@@ -124177,7 +124496,7 @@ export interface UsersUsersCreateInput {
|
|
|
124177
124496
|
*/
|
|
124178
124497
|
waitlisted?: boolean;
|
|
124179
124498
|
/**
|
|
124180
|
-
*
|
|
124499
|
+
* How this user is reached: their email addresses, plus any contact channels (`phone`, `telegram`, `linkedin`, `x`). At least one is required.
|
|
124181
124500
|
*
|
|
124182
124501
|
* @minItems 1
|
|
124183
124502
|
*/
|
|
@@ -124186,13 +124505,13 @@ export interface UsersUsersCreateInput {
|
|
|
124186
124505
|
/**
|
|
124187
124506
|
* Identifier kind. Only 'email' exists in this phase.
|
|
124188
124507
|
*/
|
|
124189
|
-
type: "email";
|
|
124508
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124190
124509
|
/**
|
|
124191
124510
|
* The email address. Stored canonicalised (lowercase, NFC) plus raw for display.
|
|
124192
124511
|
*/
|
|
124193
124512
|
value: string;
|
|
124194
124513
|
/**
|
|
124195
|
-
* Record the identifier as already verified (use for trusted imports). Only ONE verified copy of
|
|
124514
|
+
* 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.
|
|
124196
124515
|
*/
|
|
124197
124516
|
verified?: boolean;
|
|
124198
124517
|
/**
|
|
@@ -124204,13 +124523,13 @@ export interface UsersUsersCreateInput {
|
|
|
124204
124523
|
/**
|
|
124205
124524
|
* Identifier kind. Only 'email' exists in this phase.
|
|
124206
124525
|
*/
|
|
124207
|
-
type: "email";
|
|
124526
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124208
124527
|
/**
|
|
124209
124528
|
* The email address. Stored canonicalised (lowercase, NFC) plus raw for display.
|
|
124210
124529
|
*/
|
|
124211
124530
|
value: string;
|
|
124212
124531
|
/**
|
|
124213
|
-
* Record the identifier as already verified (use for trusted imports). Only ONE verified copy of
|
|
124532
|
+
* 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.
|
|
124214
124533
|
*/
|
|
124215
124534
|
verified?: boolean;
|
|
124216
124535
|
/**
|
|
@@ -124249,10 +124568,22 @@ export interface UsersUsersCreateOutput {
|
|
|
124249
124568
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124250
124569
|
*/
|
|
124251
124570
|
id: string;
|
|
124571
|
+
/**
|
|
124572
|
+
* 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.
|
|
124573
|
+
*/
|
|
124574
|
+
kind: ("account" | "contact");
|
|
124252
124575
|
/**
|
|
124253
124576
|
* The user's display name. Null when nobody set one.
|
|
124254
124577
|
*/
|
|
124255
124578
|
name: (string | null);
|
|
124579
|
+
/**
|
|
124580
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
124581
|
+
*/
|
|
124582
|
+
tags: string[];
|
|
124583
|
+
/**
|
|
124584
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
124585
|
+
*/
|
|
124586
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124256
124587
|
/**
|
|
124257
124588
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124258
124589
|
*/
|
|
@@ -124285,6 +124616,10 @@ export interface UsersUsersCreateOutput {
|
|
|
124285
124616
|
* When the user was last changed (ISO 8601).
|
|
124286
124617
|
*/
|
|
124287
124618
|
updatedAt: string;
|
|
124619
|
+
/**
|
|
124620
|
+
* 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.
|
|
124621
|
+
*/
|
|
124622
|
+
mergedFrom: (string | null);
|
|
124288
124623
|
/**
|
|
124289
124624
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124290
124625
|
*/
|
|
@@ -124298,9 +124633,9 @@ export interface UsersUsersCreateOutput {
|
|
|
124298
124633
|
*/
|
|
124299
124634
|
id: string;
|
|
124300
124635
|
/**
|
|
124301
|
-
* What kind of identifier this is
|
|
124636
|
+
* 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.
|
|
124302
124637
|
*/
|
|
124303
|
-
type: "email";
|
|
124638
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124304
124639
|
/**
|
|
124305
124640
|
* The address as the user typed it, for display.
|
|
124306
124641
|
*/
|
|
@@ -124322,6 +124657,10 @@ export interface UsersUsersCreateOutput {
|
|
|
124322
124657
|
*/
|
|
124323
124658
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124324
124659
|
}[];
|
|
124660
|
+
/**
|
|
124661
|
+
* 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.
|
|
124662
|
+
*/
|
|
124663
|
+
lastTouchAt: (string | null);
|
|
124325
124664
|
/**
|
|
124326
124665
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124327
124666
|
*/
|
|
@@ -124356,6 +124695,10 @@ export interface UsersUsersCreateOutput {
|
|
|
124356
124695
|
privateMetadata: {
|
|
124357
124696
|
[k: string]: unknown;
|
|
124358
124697
|
};
|
|
124698
|
+
/**
|
|
124699
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
124700
|
+
*/
|
|
124701
|
+
mergedIntoUserId: (string | null);
|
|
124359
124702
|
/**
|
|
124360
124703
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124361
124704
|
*/
|
|
@@ -124376,10 +124719,22 @@ export interface UsersUsersDeleteOutput {
|
|
|
124376
124719
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124377
124720
|
*/
|
|
124378
124721
|
id: string;
|
|
124722
|
+
/**
|
|
124723
|
+
* 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.
|
|
124724
|
+
*/
|
|
124725
|
+
kind: ("account" | "contact");
|
|
124379
124726
|
/**
|
|
124380
124727
|
* The user's display name. Null when nobody set one.
|
|
124381
124728
|
*/
|
|
124382
124729
|
name: (string | null);
|
|
124730
|
+
/**
|
|
124731
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
124732
|
+
*/
|
|
124733
|
+
tags: string[];
|
|
124734
|
+
/**
|
|
124735
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
124736
|
+
*/
|
|
124737
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124383
124738
|
/**
|
|
124384
124739
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124385
124740
|
*/
|
|
@@ -124412,6 +124767,10 @@ export interface UsersUsersDeleteOutput {
|
|
|
124412
124767
|
* When the user was last changed (ISO 8601).
|
|
124413
124768
|
*/
|
|
124414
124769
|
updatedAt: string;
|
|
124770
|
+
/**
|
|
124771
|
+
* 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.
|
|
124772
|
+
*/
|
|
124773
|
+
mergedFrom: (string | null);
|
|
124415
124774
|
/**
|
|
124416
124775
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124417
124776
|
*/
|
|
@@ -124425,9 +124784,9 @@ export interface UsersUsersDeleteOutput {
|
|
|
124425
124784
|
*/
|
|
124426
124785
|
id: string;
|
|
124427
124786
|
/**
|
|
124428
|
-
* What kind of identifier this is
|
|
124787
|
+
* 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.
|
|
124429
124788
|
*/
|
|
124430
|
-
type: "email";
|
|
124789
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124431
124790
|
/**
|
|
124432
124791
|
* The address as the user typed it, for display.
|
|
124433
124792
|
*/
|
|
@@ -124449,6 +124808,10 @@ export interface UsersUsersDeleteOutput {
|
|
|
124449
124808
|
*/
|
|
124450
124809
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124451
124810
|
}[];
|
|
124811
|
+
/**
|
|
124812
|
+
* 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.
|
|
124813
|
+
*/
|
|
124814
|
+
lastTouchAt: (string | null);
|
|
124452
124815
|
/**
|
|
124453
124816
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124454
124817
|
*/
|
|
@@ -124483,6 +124846,10 @@ export interface UsersUsersDeleteOutput {
|
|
|
124483
124846
|
privateMetadata: {
|
|
124484
124847
|
[k: string]: unknown;
|
|
124485
124848
|
};
|
|
124849
|
+
/**
|
|
124850
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
124851
|
+
*/
|
|
124852
|
+
mergedIntoUserId: (string | null);
|
|
124486
124853
|
/**
|
|
124487
124854
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124488
124855
|
*/
|
|
@@ -124493,6 +124860,10 @@ export interface UsersUsersDeleteOutput {
|
|
|
124493
124860
|
emailChangeLockedUntil: (string | null);
|
|
124494
124861
|
}
|
|
124495
124862
|
export interface UsersUsersExportInput {
|
|
124863
|
+
/**
|
|
124864
|
+
* Filter by kind: 'account' or 'contact'. Omit for accounts only, unless `includeContacts` is true.
|
|
124865
|
+
*/
|
|
124866
|
+
kind?: ("account" | "contact");
|
|
124496
124867
|
/**
|
|
124497
124868
|
* Rows per page, 1-500. Default 100.
|
|
124498
124869
|
*/
|
|
@@ -124513,6 +124884,10 @@ export interface UsersUsersExportInput {
|
|
|
124513
124884
|
* Include soft-deleted users. Default false.
|
|
124514
124885
|
*/
|
|
124515
124886
|
includeDeleted?: boolean;
|
|
124887
|
+
/**
|
|
124888
|
+
* Include CONTACTS alongside accounts, so one pass exports both. Default false — the same rule this export already applies to waitlist signups and test users.
|
|
124889
|
+
*/
|
|
124890
|
+
includeContacts?: boolean;
|
|
124516
124891
|
}
|
|
124517
124892
|
export interface UsersUsersExportOutput {
|
|
124518
124893
|
count: number;
|
|
@@ -124521,10 +124896,22 @@ export interface UsersUsersExportOutput {
|
|
|
124521
124896
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124522
124897
|
*/
|
|
124523
124898
|
id: string;
|
|
124899
|
+
/**
|
|
124900
|
+
* 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.
|
|
124901
|
+
*/
|
|
124902
|
+
kind: ("account" | "contact");
|
|
124524
124903
|
/**
|
|
124525
124904
|
* The user's display name. Null when nobody set one.
|
|
124526
124905
|
*/
|
|
124527
124906
|
name: (string | null);
|
|
124907
|
+
/**
|
|
124908
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
124909
|
+
*/
|
|
124910
|
+
tags: string[];
|
|
124911
|
+
/**
|
|
124912
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
124913
|
+
*/
|
|
124914
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124528
124915
|
/**
|
|
124529
124916
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124530
124917
|
*/
|
|
@@ -124557,6 +124944,10 @@ export interface UsersUsersExportOutput {
|
|
|
124557
124944
|
* When the user was last changed (ISO 8601).
|
|
124558
124945
|
*/
|
|
124559
124946
|
updatedAt: string;
|
|
124947
|
+
/**
|
|
124948
|
+
* 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.
|
|
124949
|
+
*/
|
|
124950
|
+
mergedFrom: (string | null);
|
|
124560
124951
|
/**
|
|
124561
124952
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124562
124953
|
*/
|
|
@@ -124570,9 +124961,9 @@ export interface UsersUsersExportOutput {
|
|
|
124570
124961
|
*/
|
|
124571
124962
|
id: string;
|
|
124572
124963
|
/**
|
|
124573
|
-
* What kind of identifier this is
|
|
124964
|
+
* 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.
|
|
124574
124965
|
*/
|
|
124575
|
-
type: "email";
|
|
124966
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124576
124967
|
/**
|
|
124577
124968
|
* The address as the user typed it, for display.
|
|
124578
124969
|
*/
|
|
@@ -124594,6 +124985,10 @@ export interface UsersUsersExportOutput {
|
|
|
124594
124985
|
*/
|
|
124595
124986
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124596
124987
|
}[];
|
|
124988
|
+
/**
|
|
124989
|
+
* 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.
|
|
124990
|
+
*/
|
|
124991
|
+
lastTouchAt: (string | null);
|
|
124597
124992
|
/**
|
|
124598
124993
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124599
124994
|
*/
|
|
@@ -124628,6 +125023,10 @@ export interface UsersUsersExportOutput {
|
|
|
124628
125023
|
privateMetadata: {
|
|
124629
125024
|
[k: string]: unknown;
|
|
124630
125025
|
};
|
|
125026
|
+
/**
|
|
125027
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
125028
|
+
*/
|
|
125029
|
+
mergedIntoUserId: (string | null);
|
|
124631
125030
|
/**
|
|
124632
125031
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124633
125032
|
*/
|
|
@@ -124651,10 +125050,22 @@ export interface UsersUsersGetOutput {
|
|
|
124651
125050
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124652
125051
|
*/
|
|
124653
125052
|
id: string;
|
|
125053
|
+
/**
|
|
125054
|
+
* 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.
|
|
125055
|
+
*/
|
|
125056
|
+
kind: ("account" | "contact");
|
|
124654
125057
|
/**
|
|
124655
125058
|
* The user's display name. Null when nobody set one.
|
|
124656
125059
|
*/
|
|
124657
125060
|
name: (string | null);
|
|
125061
|
+
/**
|
|
125062
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
125063
|
+
*/
|
|
125064
|
+
tags: string[];
|
|
125065
|
+
/**
|
|
125066
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
125067
|
+
*/
|
|
125068
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124658
125069
|
/**
|
|
124659
125070
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124660
125071
|
*/
|
|
@@ -124687,6 +125098,10 @@ export interface UsersUsersGetOutput {
|
|
|
124687
125098
|
* When the user was last changed (ISO 8601).
|
|
124688
125099
|
*/
|
|
124689
125100
|
updatedAt: string;
|
|
125101
|
+
/**
|
|
125102
|
+
* 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.
|
|
125103
|
+
*/
|
|
125104
|
+
mergedFrom: (string | null);
|
|
124690
125105
|
/**
|
|
124691
125106
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124692
125107
|
*/
|
|
@@ -124700,9 +125115,9 @@ export interface UsersUsersGetOutput {
|
|
|
124700
125115
|
*/
|
|
124701
125116
|
id: string;
|
|
124702
125117
|
/**
|
|
124703
|
-
* What kind of identifier this is
|
|
125118
|
+
* 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.
|
|
124704
125119
|
*/
|
|
124705
|
-
type: "email";
|
|
125120
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124706
125121
|
/**
|
|
124707
125122
|
* The address as the user typed it, for display.
|
|
124708
125123
|
*/
|
|
@@ -124724,6 +125139,10 @@ export interface UsersUsersGetOutput {
|
|
|
124724
125139
|
*/
|
|
124725
125140
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124726
125141
|
}[];
|
|
125142
|
+
/**
|
|
125143
|
+
* 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.
|
|
125144
|
+
*/
|
|
125145
|
+
lastTouchAt: (string | null);
|
|
124727
125146
|
/**
|
|
124728
125147
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124729
125148
|
*/
|
|
@@ -124758,6 +125177,10 @@ export interface UsersUsersGetOutput {
|
|
|
124758
125177
|
privateMetadata: {
|
|
124759
125178
|
[k: string]: unknown;
|
|
124760
125179
|
};
|
|
125180
|
+
/**
|
|
125181
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
125182
|
+
*/
|
|
125183
|
+
mergedIntoUserId: (string | null);
|
|
124761
125184
|
/**
|
|
124762
125185
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124763
125186
|
*/
|
|
@@ -124810,6 +125233,10 @@ export interface UsersUsersImportOutput {
|
|
|
124810
125233
|
* How many rows were passed over — an address already in the directory, typically.
|
|
124811
125234
|
*/
|
|
124812
125235
|
skipped: number;
|
|
125236
|
+
/**
|
|
125237
|
+
* How many of the CREATED users were contacts (`kind: 'contact'`). A row that was skipped or failed is not counted.
|
|
125238
|
+
*/
|
|
125239
|
+
contacts: number;
|
|
124813
125240
|
/**
|
|
124814
125241
|
* How many rows you submitted.
|
|
124815
125242
|
*/
|
|
@@ -124856,6 +125283,14 @@ export interface UsersUsersInviteOutput {
|
|
|
124856
125283
|
expiresAt: string;
|
|
124857
125284
|
}
|
|
124858
125285
|
export interface UsersUsersListInput {
|
|
125286
|
+
/**
|
|
125287
|
+
* Return only people carrying this tag. ONE tag, matched against the stored (lowercased) value and ANDed with the other filters.
|
|
125288
|
+
*/
|
|
125289
|
+
tag?: string;
|
|
125290
|
+
/**
|
|
125291
|
+
* 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.
|
|
125292
|
+
*/
|
|
125293
|
+
kind?: ("account" | "contact");
|
|
124859
125294
|
/**
|
|
124860
125295
|
* Page size, 1-100. Default 25.
|
|
124861
125296
|
*/
|
|
@@ -124864,6 +125299,10 @@ export interface UsersUsersListInput {
|
|
|
124864
125299
|
* Case-insensitive substring match against the user's identifiers (email) and name.
|
|
124865
125300
|
*/
|
|
124866
125301
|
query?: string;
|
|
125302
|
+
/**
|
|
125303
|
+
* Filter by relationship stage: new, contacted, replied, engaged, converted or lost. Omit for every stage.
|
|
125304
|
+
*/
|
|
125305
|
+
stage?: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124867
125306
|
/**
|
|
124868
125307
|
* Opaque cursor from a previous response's `nextCursor`. Omit for the first page.
|
|
124869
125308
|
*/
|
|
@@ -124876,6 +125315,18 @@ export interface UsersUsersListInput {
|
|
|
124876
125315
|
* Include soft-deleted users. Default false — deleted users are hidden.
|
|
124877
125316
|
*/
|
|
124878
125317
|
includeDeleted?: boolean;
|
|
125318
|
+
/**
|
|
125319
|
+
* 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.
|
|
125320
|
+
*/
|
|
125321
|
+
lastTouchAfter?: string;
|
|
125322
|
+
/**
|
|
125323
|
+
* 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.
|
|
125324
|
+
*/
|
|
125325
|
+
includeContacts?: boolean;
|
|
125326
|
+
/**
|
|
125327
|
+
* 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.
|
|
125328
|
+
*/
|
|
125329
|
+
lastTouchBefore?: string;
|
|
124879
125330
|
/**
|
|
124880
125331
|
* 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.
|
|
124881
125332
|
*/
|
|
@@ -124894,10 +125345,22 @@ export interface UsersUsersListOutput {
|
|
|
124894
125345
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124895
125346
|
*/
|
|
124896
125347
|
id: string;
|
|
125348
|
+
/**
|
|
125349
|
+
* 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.
|
|
125350
|
+
*/
|
|
125351
|
+
kind: ("account" | "contact");
|
|
124897
125352
|
/**
|
|
124898
125353
|
* The user's display name. Null when nobody set one.
|
|
124899
125354
|
*/
|
|
124900
125355
|
name: (string | null);
|
|
125356
|
+
/**
|
|
125357
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
125358
|
+
*/
|
|
125359
|
+
tags: string[];
|
|
125360
|
+
/**
|
|
125361
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
125362
|
+
*/
|
|
125363
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124901
125364
|
/**
|
|
124902
125365
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124903
125366
|
*/
|
|
@@ -124930,6 +125393,10 @@ export interface UsersUsersListOutput {
|
|
|
124930
125393
|
* When the user was last changed (ISO 8601).
|
|
124931
125394
|
*/
|
|
124932
125395
|
updatedAt: string;
|
|
125396
|
+
/**
|
|
125397
|
+
* 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.
|
|
125398
|
+
*/
|
|
125399
|
+
mergedFrom: (string | null);
|
|
124933
125400
|
/**
|
|
124934
125401
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124935
125402
|
*/
|
|
@@ -124943,9 +125410,9 @@ export interface UsersUsersListOutput {
|
|
|
124943
125410
|
*/
|
|
124944
125411
|
id: string;
|
|
124945
125412
|
/**
|
|
124946
|
-
* What kind of identifier this is
|
|
125413
|
+
* 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.
|
|
124947
125414
|
*/
|
|
124948
|
-
type: "email";
|
|
125415
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124949
125416
|
/**
|
|
124950
125417
|
* The address as the user typed it, for display.
|
|
124951
125418
|
*/
|
|
@@ -124967,6 +125434,10 @@ export interface UsersUsersListOutput {
|
|
|
124967
125434
|
*/
|
|
124968
125435
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124969
125436
|
}[];
|
|
125437
|
+
/**
|
|
125438
|
+
* 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.
|
|
125439
|
+
*/
|
|
125440
|
+
lastTouchAt: (string | null);
|
|
124970
125441
|
/**
|
|
124971
125442
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124972
125443
|
*/
|
|
@@ -125001,6 +125472,10 @@ export interface UsersUsersListOutput {
|
|
|
125001
125472
|
privateMetadata: {
|
|
125002
125473
|
[k: string]: unknown;
|
|
125003
125474
|
};
|
|
125475
|
+
/**
|
|
125476
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
125477
|
+
*/
|
|
125478
|
+
mergedIntoUserId: (string | null);
|
|
125004
125479
|
/**
|
|
125005
125480
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
125006
125481
|
*/
|
|
@@ -125050,10 +125525,22 @@ export interface UsersUsersUnbanOutput {
|
|
|
125050
125525
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
125051
125526
|
*/
|
|
125052
125527
|
id: string;
|
|
125528
|
+
/**
|
|
125529
|
+
* 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.
|
|
125530
|
+
*/
|
|
125531
|
+
kind: ("account" | "contact");
|
|
125053
125532
|
/**
|
|
125054
125533
|
* The user's display name. Null when nobody set one.
|
|
125055
125534
|
*/
|
|
125056
125535
|
name: (string | null);
|
|
125536
|
+
/**
|
|
125537
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
125538
|
+
*/
|
|
125539
|
+
tags: string[];
|
|
125540
|
+
/**
|
|
125541
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
125542
|
+
*/
|
|
125543
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
125057
125544
|
/**
|
|
125058
125545
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
125059
125546
|
*/
|
|
@@ -125086,6 +125573,10 @@ export interface UsersUsersUnbanOutput {
|
|
|
125086
125573
|
* When the user was last changed (ISO 8601).
|
|
125087
125574
|
*/
|
|
125088
125575
|
updatedAt: string;
|
|
125576
|
+
/**
|
|
125577
|
+
* 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.
|
|
125578
|
+
*/
|
|
125579
|
+
mergedFrom: (string | null);
|
|
125089
125580
|
/**
|
|
125090
125581
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
125091
125582
|
*/
|
|
@@ -125099,9 +125590,9 @@ export interface UsersUsersUnbanOutput {
|
|
|
125099
125590
|
*/
|
|
125100
125591
|
id: string;
|
|
125101
125592
|
/**
|
|
125102
|
-
* What kind of identifier this is
|
|
125593
|
+
* 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.
|
|
125103
125594
|
*/
|
|
125104
|
-
type: "email";
|
|
125595
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
125105
125596
|
/**
|
|
125106
125597
|
* The address as the user typed it, for display.
|
|
125107
125598
|
*/
|
|
@@ -125123,6 +125614,10 @@ export interface UsersUsersUnbanOutput {
|
|
|
125123
125614
|
*/
|
|
125124
125615
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
125125
125616
|
}[];
|
|
125617
|
+
/**
|
|
125618
|
+
* 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.
|
|
125619
|
+
*/
|
|
125620
|
+
lastTouchAt: (string | null);
|
|
125126
125621
|
/**
|
|
125127
125622
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
125128
125623
|
*/
|
|
@@ -125157,6 +125652,10 @@ export interface UsersUsersUnbanOutput {
|
|
|
125157
125652
|
privateMetadata: {
|
|
125158
125653
|
[k: string]: unknown;
|
|
125159
125654
|
};
|
|
125655
|
+
/**
|
|
125656
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
125657
|
+
*/
|
|
125658
|
+
mergedIntoUserId: (string | null);
|
|
125160
125659
|
/**
|
|
125161
125660
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
125162
125661
|
*/
|
|
@@ -125171,6 +125670,14 @@ export interface UsersUsersUpdateInput {
|
|
|
125171
125670
|
* The user's display name. Pass null to clear.
|
|
125172
125671
|
*/
|
|
125173
125672
|
name?: (string | null);
|
|
125673
|
+
/**
|
|
125674
|
+
* REPLACES the whole tag list — send every tag you want stored, not just the new ones. Trimmed, lowercased and de-duplicated on write.
|
|
125675
|
+
*/
|
|
125676
|
+
tags?: string[];
|
|
125677
|
+
/**
|
|
125678
|
+
* 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.
|
|
125679
|
+
*/
|
|
125680
|
+
stage?: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
125174
125681
|
/**
|
|
125175
125682
|
* The user to update.
|
|
125176
125683
|
*/
|
|
@@ -125217,10 +125724,22 @@ export interface UsersUsersUpdateOutput {
|
|
|
125217
125724
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
125218
125725
|
*/
|
|
125219
125726
|
id: string;
|
|
125727
|
+
/**
|
|
125728
|
+
* 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.
|
|
125729
|
+
*/
|
|
125730
|
+
kind: ("account" | "contact");
|
|
125220
125731
|
/**
|
|
125221
125732
|
* The user's display name. Null when nobody set one.
|
|
125222
125733
|
*/
|
|
125223
125734
|
name: (string | null);
|
|
125735
|
+
/**
|
|
125736
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
125737
|
+
*/
|
|
125738
|
+
tags: string[];
|
|
125739
|
+
/**
|
|
125740
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
125741
|
+
*/
|
|
125742
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
125224
125743
|
/**
|
|
125225
125744
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
125226
125745
|
*/
|
|
@@ -125253,6 +125772,10 @@ export interface UsersUsersUpdateOutput {
|
|
|
125253
125772
|
* When the user was last changed (ISO 8601).
|
|
125254
125773
|
*/
|
|
125255
125774
|
updatedAt: string;
|
|
125775
|
+
/**
|
|
125776
|
+
* 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.
|
|
125777
|
+
*/
|
|
125778
|
+
mergedFrom: (string | null);
|
|
125256
125779
|
/**
|
|
125257
125780
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
125258
125781
|
*/
|
|
@@ -125266,9 +125789,9 @@ export interface UsersUsersUpdateOutput {
|
|
|
125266
125789
|
*/
|
|
125267
125790
|
id: string;
|
|
125268
125791
|
/**
|
|
125269
|
-
* What kind of identifier this is
|
|
125792
|
+
* 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.
|
|
125270
125793
|
*/
|
|
125271
|
-
type: "email";
|
|
125794
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
125272
125795
|
/**
|
|
125273
125796
|
* The address as the user typed it, for display.
|
|
125274
125797
|
*/
|
|
@@ -125290,6 +125813,10 @@ export interface UsersUsersUpdateOutput {
|
|
|
125290
125813
|
*/
|
|
125291
125814
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
125292
125815
|
}[];
|
|
125816
|
+
/**
|
|
125817
|
+
* 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.
|
|
125818
|
+
*/
|
|
125819
|
+
lastTouchAt: (string | null);
|
|
125293
125820
|
/**
|
|
125294
125821
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
125295
125822
|
*/
|
|
@@ -125324,6 +125851,10 @@ export interface UsersUsersUpdateOutput {
|
|
|
125324
125851
|
privateMetadata: {
|
|
125325
125852
|
[k: string]: unknown;
|
|
125326
125853
|
};
|
|
125854
|
+
/**
|
|
125855
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
125856
|
+
*/
|
|
125857
|
+
mergedIntoUserId: (string | null);
|
|
125327
125858
|
/**
|
|
125328
125859
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
125329
125860
|
*/
|