@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
|
@@ -122109,9 +122109,9 @@ export interface UsersApikeysCreateInput {
|
|
|
122109
122109
|
*/
|
|
122110
122110
|
name: string;
|
|
122111
122111
|
/**
|
|
122112
|
-
* '
|
|
122112
|
+
* '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
122113
|
*/
|
|
122114
|
-
type:
|
|
122114
|
+
type: "publishable";
|
|
122115
122115
|
}
|
|
122116
122116
|
export interface UsersApikeysCreateOutput {
|
|
122117
122117
|
/**
|
|
@@ -122127,15 +122127,15 @@ export interface UsersApikeysCreateOutput {
|
|
|
122127
122127
|
*/
|
|
122128
122128
|
name: string;
|
|
122129
122129
|
/**
|
|
122130
|
-
* `
|
|
122130
|
+
* `publishable` — a browser-safe key (upk_…). It is the only type.
|
|
122131
122131
|
*/
|
|
122132
|
-
type:
|
|
122132
|
+
type: "publishable";
|
|
122133
122133
|
/**
|
|
122134
|
-
* The full value of
|
|
122134
|
+
* The full value of the key, which is not a secret and stays readable.
|
|
122135
122135
|
*/
|
|
122136
122136
|
value: (string | null);
|
|
122137
122137
|
/**
|
|
122138
|
-
* `
|
|
122138
|
+
* `upk_` plus six characters — enough to recognise a key, never to use one.
|
|
122139
122139
|
*/
|
|
122140
122140
|
prefix: string;
|
|
122141
122141
|
/**
|
|
@@ -122163,15 +122163,15 @@ export interface UsersApikeysGetOutput {
|
|
|
122163
122163
|
*/
|
|
122164
122164
|
name: string;
|
|
122165
122165
|
/**
|
|
122166
|
-
* `
|
|
122166
|
+
* `publishable` — a browser-safe key (upk_…). It is the only type.
|
|
122167
122167
|
*/
|
|
122168
|
-
type:
|
|
122168
|
+
type: "publishable";
|
|
122169
122169
|
/**
|
|
122170
|
-
* The full value of
|
|
122170
|
+
* The full value of the key, which is not a secret and stays readable.
|
|
122171
122171
|
*/
|
|
122172
122172
|
value: (string | null);
|
|
122173
122173
|
/**
|
|
122174
|
-
* `
|
|
122174
|
+
* `upk_` plus six characters — enough to recognise a key, never to use one.
|
|
122175
122175
|
*/
|
|
122176
122176
|
prefix: string;
|
|
122177
122177
|
/**
|
|
@@ -122196,15 +122196,15 @@ export interface UsersApikeysListOutput {
|
|
|
122196
122196
|
*/
|
|
122197
122197
|
name: string;
|
|
122198
122198
|
/**
|
|
122199
|
-
* `
|
|
122199
|
+
* `publishable` — a browser-safe key (upk_…). It is the only type.
|
|
122200
122200
|
*/
|
|
122201
|
-
type:
|
|
122201
|
+
type: "publishable";
|
|
122202
122202
|
/**
|
|
122203
|
-
* The full value of
|
|
122203
|
+
* The full value of the key, which is not a secret and stays readable.
|
|
122204
122204
|
*/
|
|
122205
122205
|
value: (string | null);
|
|
122206
122206
|
/**
|
|
122207
|
-
* `
|
|
122207
|
+
* `upk_` plus six characters — enough to recognise a key, never to use one.
|
|
122208
122208
|
*/
|
|
122209
122209
|
prefix: string;
|
|
122210
122210
|
/**
|
|
@@ -122363,7 +122363,7 @@ export interface UsersConfigGetOutput {
|
|
|
122363
122363
|
*/
|
|
122364
122364
|
codeEnabled: boolean;
|
|
122365
122365
|
/**
|
|
122366
|
-
* Base URL magic links point at, e.g. "https://public.
|
|
122366
|
+
* Base URL magic links point at, e.g. "https://public.lepsto.com/{productId}/users". Null uses the deployment default.
|
|
122367
122367
|
*/
|
|
122368
122368
|
linkBaseUrl: (string | null);
|
|
122369
122369
|
/**
|
|
@@ -122487,7 +122487,7 @@ export interface UsersConfigGetOutput {
|
|
|
122487
122487
|
*/
|
|
122488
122488
|
doubleOptIn: boolean;
|
|
122489
122489
|
/**
|
|
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:
|
|
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: 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
122491
|
*/
|
|
122492
122492
|
retentionDays: number;
|
|
122493
122493
|
/**
|
|
@@ -122657,7 +122657,7 @@ export interface UsersConfigUpsertInput {
|
|
|
122657
122657
|
*/
|
|
122658
122658
|
codeEnabled?: boolean;
|
|
122659
122659
|
/**
|
|
122660
|
-
* Base URL magic links point at, e.g. "https://public.
|
|
122660
|
+
* Base URL magic links point at, e.g. "https://public.lepsto.com/{productId}/users". Null uses the deployment default.
|
|
122661
122661
|
*/
|
|
122662
122662
|
linkBaseUrl?: (string | null);
|
|
122663
122663
|
/**
|
|
@@ -122827,7 +122827,7 @@ export interface UsersConfigUpsertInput {
|
|
|
122827
122827
|
*/
|
|
122828
122828
|
doubleOptIn?: boolean;
|
|
122829
122829
|
/**
|
|
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:
|
|
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: 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
122831
|
*/
|
|
122832
122832
|
retentionDays?: number;
|
|
122833
122833
|
/**
|
|
@@ -123039,7 +123039,7 @@ export interface UsersConfigUpsertOutput {
|
|
|
123039
123039
|
*/
|
|
123040
123040
|
codeEnabled: boolean;
|
|
123041
123041
|
/**
|
|
123042
|
-
* Base URL magic links point at, e.g. "https://public.
|
|
123042
|
+
* Base URL magic links point at, e.g. "https://public.lepsto.com/{productId}/users". Null uses the deployment default.
|
|
123043
123043
|
*/
|
|
123044
123044
|
linkBaseUrl: (string | null);
|
|
123045
123045
|
/**
|
|
@@ -123163,7 +123163,7 @@ export interface UsersConfigUpsertOutput {
|
|
|
123163
123163
|
*/
|
|
123164
123164
|
doubleOptIn: boolean;
|
|
123165
123165
|
/**
|
|
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:
|
|
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: 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
123167
|
*/
|
|
123168
123168
|
retentionDays: number;
|
|
123169
123169
|
/**
|
|
@@ -123493,11 +123493,11 @@ export interface UsersOpsRetentionGetOutput {
|
|
|
123493
123493
|
*/
|
|
123494
123494
|
waitlistRetentionDays: number;
|
|
123495
123495
|
/**
|
|
123496
|
-
* What
|
|
123496
|
+
* 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
123497
|
*/
|
|
123498
123498
|
waitlistPromisedMaxDays: number;
|
|
123499
123499
|
/**
|
|
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
|
|
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 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
123501
|
*/
|
|
123502
123502
|
waitlistWiderThanPromised: boolean;
|
|
123503
123503
|
}
|
|
@@ -123939,7 +123939,7 @@ export interface UsersStatsGetOutput {
|
|
|
123939
123939
|
*/
|
|
123940
123940
|
since: string;
|
|
123941
123941
|
/**
|
|
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.
|
|
123942
|
+
* 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
123943
|
*/
|
|
123944
123944
|
users: {
|
|
123945
123945
|
/**
|
|
@@ -123947,7 +123947,7 @@ export interface UsersStatsGetOutput {
|
|
|
123947
123947
|
*/
|
|
123948
123948
|
total: number;
|
|
123949
123949
|
/**
|
|
123950
|
-
* Full accounts: not waitlisted, not banned, not deleted, not erased.
|
|
123950
|
+
* Full accounts: kind 'account', not waitlisted, not banned, not deleted, not erased.
|
|
123951
123951
|
*/
|
|
123952
123952
|
active: number;
|
|
123953
123953
|
/**
|
|
@@ -123962,6 +123962,10 @@ export interface UsersStatsGetOutput {
|
|
|
123962
123962
|
* SOFT-deleted and still recoverable — not erased.
|
|
123963
123963
|
*/
|
|
123964
123964
|
deleted: number;
|
|
123965
|
+
/**
|
|
123966
|
+
* 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.
|
|
123967
|
+
*/
|
|
123968
|
+
contacts: number;
|
|
123965
123969
|
/**
|
|
123966
123970
|
* Waitlist signups with no credential yet.
|
|
123967
123971
|
*/
|
|
@@ -124015,6 +124019,243 @@ export interface UsersStatsGetOutput {
|
|
|
124015
124019
|
createdInWindow: number;
|
|
124016
124020
|
};
|
|
124017
124021
|
}
|
|
124022
|
+
export interface UsersTouchesCreateInput {
|
|
124023
|
+
/**
|
|
124024
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
124025
|
+
*/
|
|
124026
|
+
body: string;
|
|
124027
|
+
/**
|
|
124028
|
+
* The end user this interaction was with.
|
|
124029
|
+
*/
|
|
124030
|
+
userId: string;
|
|
124031
|
+
/**
|
|
124032
|
+
* 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.
|
|
124033
|
+
*/
|
|
124034
|
+
channel: ("message" | "call" | "meeting" | "note" | "email");
|
|
124035
|
+
/**
|
|
124036
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
124037
|
+
*/
|
|
124038
|
+
direction: ("outbound" | "inbound" | "none");
|
|
124039
|
+
/**
|
|
124040
|
+
* When it happened (ISO 8601). Omit to mean now — pass it when logging after the fact, which may be any time in the past.
|
|
124041
|
+
*/
|
|
124042
|
+
occurredAt?: string;
|
|
124043
|
+
}
|
|
124044
|
+
export interface UsersTouchesCreateOutput {
|
|
124045
|
+
/**
|
|
124046
|
+
* Id of this touch. Pass it to users_touches_update or _delete.
|
|
124047
|
+
*/
|
|
124048
|
+
id: string;
|
|
124049
|
+
/**
|
|
124050
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
124051
|
+
*/
|
|
124052
|
+
body: string;
|
|
124053
|
+
/**
|
|
124054
|
+
* The end user this interaction was with.
|
|
124055
|
+
*/
|
|
124056
|
+
userId: string;
|
|
124057
|
+
/**
|
|
124058
|
+
* Id of the operator or agent that logged it, verbatim.
|
|
124059
|
+
*/
|
|
124060
|
+
actorId: string;
|
|
124061
|
+
/**
|
|
124062
|
+
* 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.
|
|
124063
|
+
*/
|
|
124064
|
+
channel: ("message" | "call" | "meeting" | "note" | "email");
|
|
124065
|
+
/**
|
|
124066
|
+
* Who logged it: 'operator' (a human) or 'agent' (a workflow or agent principal).
|
|
124067
|
+
*/
|
|
124068
|
+
actorType: ("operator" | "agent");
|
|
124069
|
+
/**
|
|
124070
|
+
* When the touch was logged (ISO 8601).
|
|
124071
|
+
*/
|
|
124072
|
+
createdAt: string;
|
|
124073
|
+
/**
|
|
124074
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
124075
|
+
*/
|
|
124076
|
+
direction: ("outbound" | "inbound" | "none");
|
|
124077
|
+
/**
|
|
124078
|
+
* Product this touch belongs to. Never an input — it comes from the calling identity.
|
|
124079
|
+
*/
|
|
124080
|
+
productId: string;
|
|
124081
|
+
/**
|
|
124082
|
+
* When the touch was last edited (ISO 8601).
|
|
124083
|
+
*/
|
|
124084
|
+
updatedAt: string;
|
|
124085
|
+
/**
|
|
124086
|
+
* When the interaction happened (ISO 8601) — not when it was logged.
|
|
124087
|
+
*/
|
|
124088
|
+
occurredAt: string;
|
|
124089
|
+
}
|
|
124090
|
+
export interface UsersTouchesDiscardInput {
|
|
124091
|
+
/**
|
|
124092
|
+
* 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.
|
|
124093
|
+
*/
|
|
124094
|
+
force?: boolean;
|
|
124095
|
+
/**
|
|
124096
|
+
* The end user the touch belongs to.
|
|
124097
|
+
*/
|
|
124098
|
+
userId: string;
|
|
124099
|
+
/**
|
|
124100
|
+
* The touch to delete, from users_touches_list.
|
|
124101
|
+
*/
|
|
124102
|
+
touchId: string;
|
|
124103
|
+
}
|
|
124104
|
+
export interface UsersTouchesDiscardOutput {
|
|
124105
|
+
/**
|
|
124106
|
+
* Id of the touch that was deleted.
|
|
124107
|
+
*/
|
|
124108
|
+
id: string;
|
|
124109
|
+
/**
|
|
124110
|
+
* The end user it belonged to.
|
|
124111
|
+
*/
|
|
124112
|
+
userId: string;
|
|
124113
|
+
/**
|
|
124114
|
+
* Always true — a failure answers 404 instead.
|
|
124115
|
+
*/
|
|
124116
|
+
deleted: true;
|
|
124117
|
+
}
|
|
124118
|
+
export interface UsersTouchesListInput {
|
|
124119
|
+
/**
|
|
124120
|
+
* Page size, 1-100. Default 50.
|
|
124121
|
+
*/
|
|
124122
|
+
limit?: number;
|
|
124123
|
+
/**
|
|
124124
|
+
* Opaque cursor from a previous response's `nextCursor`. Omit for the first page.
|
|
124125
|
+
*/
|
|
124126
|
+
cursor?: string;
|
|
124127
|
+
/**
|
|
124128
|
+
* The end user whose touches to list.
|
|
124129
|
+
*/
|
|
124130
|
+
userId: string;
|
|
124131
|
+
/**
|
|
124132
|
+
* Only touches on this channel. Omit for all of them.
|
|
124133
|
+
*/
|
|
124134
|
+
channel?: ("message" | "call" | "meeting" | "note" | "email");
|
|
124135
|
+
}
|
|
124136
|
+
export interface UsersTouchesListOutput {
|
|
124137
|
+
/**
|
|
124138
|
+
* The page of touches, newest first.
|
|
124139
|
+
*/
|
|
124140
|
+
items: {
|
|
124141
|
+
/**
|
|
124142
|
+
* Id of this touch. Pass it to users_touches_update or _delete.
|
|
124143
|
+
*/
|
|
124144
|
+
id: string;
|
|
124145
|
+
/**
|
|
124146
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
124147
|
+
*/
|
|
124148
|
+
body: string;
|
|
124149
|
+
/**
|
|
124150
|
+
* The end user this interaction was with.
|
|
124151
|
+
*/
|
|
124152
|
+
userId: string;
|
|
124153
|
+
/**
|
|
124154
|
+
* Id of the operator or agent that logged it, verbatim.
|
|
124155
|
+
*/
|
|
124156
|
+
actorId: string;
|
|
124157
|
+
/**
|
|
124158
|
+
* 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.
|
|
124159
|
+
*/
|
|
124160
|
+
channel: ("message" | "call" | "meeting" | "note" | "email");
|
|
124161
|
+
/**
|
|
124162
|
+
* Who logged it: 'operator' (a human) or 'agent' (a workflow or agent principal).
|
|
124163
|
+
*/
|
|
124164
|
+
actorType: ("operator" | "agent");
|
|
124165
|
+
/**
|
|
124166
|
+
* When the touch was logged (ISO 8601).
|
|
124167
|
+
*/
|
|
124168
|
+
createdAt: string;
|
|
124169
|
+
/**
|
|
124170
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
124171
|
+
*/
|
|
124172
|
+
direction: ("outbound" | "inbound" | "none");
|
|
124173
|
+
/**
|
|
124174
|
+
* Product this touch belongs to. Never an input — it comes from the calling identity.
|
|
124175
|
+
*/
|
|
124176
|
+
productId: string;
|
|
124177
|
+
/**
|
|
124178
|
+
* When the touch was last edited (ISO 8601).
|
|
124179
|
+
*/
|
|
124180
|
+
updatedAt: string;
|
|
124181
|
+
/**
|
|
124182
|
+
* When the interaction happened (ISO 8601) — not when it was logged.
|
|
124183
|
+
*/
|
|
124184
|
+
occurredAt: string;
|
|
124185
|
+
}[];
|
|
124186
|
+
/**
|
|
124187
|
+
* Pass as `cursor` for the next page. Null when this was the last one.
|
|
124188
|
+
*/
|
|
124189
|
+
nextCursor: (string | null);
|
|
124190
|
+
}
|
|
124191
|
+
export interface UsersTouchesUpdateInput {
|
|
124192
|
+
/**
|
|
124193
|
+
* Replacement text, 1-8192 characters. Omit to leave it unchanged.
|
|
124194
|
+
*/
|
|
124195
|
+
body?: string;
|
|
124196
|
+
/**
|
|
124197
|
+
* 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.
|
|
124198
|
+
*/
|
|
124199
|
+
force?: boolean;
|
|
124200
|
+
/**
|
|
124201
|
+
* The end user the touch belongs to.
|
|
124202
|
+
*/
|
|
124203
|
+
userId: string;
|
|
124204
|
+
/**
|
|
124205
|
+
* The touch to edit, from users_touches_list.
|
|
124206
|
+
*/
|
|
124207
|
+
touchId: string;
|
|
124208
|
+
/**
|
|
124209
|
+
* Correct when it happened (ISO 8601). Omit to leave it unchanged.
|
|
124210
|
+
*/
|
|
124211
|
+
occurredAt?: string;
|
|
124212
|
+
}
|
|
124213
|
+
export interface UsersTouchesUpdateOutput {
|
|
124214
|
+
/**
|
|
124215
|
+
* Id of this touch. Pass it to users_touches_update or _delete.
|
|
124216
|
+
*/
|
|
124217
|
+
id: string;
|
|
124218
|
+
/**
|
|
124219
|
+
* What was said or done, free text, 1-8192 characters. Personal data: it is whatever an operator typed about this person.
|
|
124220
|
+
*/
|
|
124221
|
+
body: string;
|
|
124222
|
+
/**
|
|
124223
|
+
* The end user this interaction was with.
|
|
124224
|
+
*/
|
|
124225
|
+
userId: string;
|
|
124226
|
+
/**
|
|
124227
|
+
* Id of the operator or agent that logged it, verbatim.
|
|
124228
|
+
*/
|
|
124229
|
+
actorId: string;
|
|
124230
|
+
/**
|
|
124231
|
+
* 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.
|
|
124232
|
+
*/
|
|
124233
|
+
channel: ("message" | "call" | "meeting" | "note" | "email");
|
|
124234
|
+
/**
|
|
124235
|
+
* Who logged it: 'operator' (a human) or 'agent' (a workflow or agent principal).
|
|
124236
|
+
*/
|
|
124237
|
+
actorType: ("operator" | "agent");
|
|
124238
|
+
/**
|
|
124239
|
+
* When the touch was logged (ISO 8601).
|
|
124240
|
+
*/
|
|
124241
|
+
createdAt: string;
|
|
124242
|
+
/**
|
|
124243
|
+
* Which way it went: 'outbound' (you reached them), 'inbound' (they reached you) or 'none'. A 'note' or a 'meeting' must be 'none'.
|
|
124244
|
+
*/
|
|
124245
|
+
direction: ("outbound" | "inbound" | "none");
|
|
124246
|
+
/**
|
|
124247
|
+
* Product this touch belongs to. Never an input — it comes from the calling identity.
|
|
124248
|
+
*/
|
|
124249
|
+
productId: string;
|
|
124250
|
+
/**
|
|
124251
|
+
* When the touch was last edited (ISO 8601).
|
|
124252
|
+
*/
|
|
124253
|
+
updatedAt: string;
|
|
124254
|
+
/**
|
|
124255
|
+
* When the interaction happened (ISO 8601) — not when it was logged.
|
|
124256
|
+
*/
|
|
124257
|
+
occurredAt: string;
|
|
124258
|
+
}
|
|
124018
124259
|
export interface UsersUsersBanInput {
|
|
124019
124260
|
/**
|
|
124020
124261
|
* The opaque user id returned by users_users_create or _list.
|
|
@@ -124026,10 +124267,22 @@ export interface UsersUsersBanOutput {
|
|
|
124026
124267
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124027
124268
|
*/
|
|
124028
124269
|
id: string;
|
|
124270
|
+
/**
|
|
124271
|
+
* 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.
|
|
124272
|
+
*/
|
|
124273
|
+
kind: ("account" | "contact");
|
|
124029
124274
|
/**
|
|
124030
124275
|
* The user's display name. Null when nobody set one.
|
|
124031
124276
|
*/
|
|
124032
124277
|
name: (string | null);
|
|
124278
|
+
/**
|
|
124279
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
124280
|
+
*/
|
|
124281
|
+
tags: string[];
|
|
124282
|
+
/**
|
|
124283
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
124284
|
+
*/
|
|
124285
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124033
124286
|
/**
|
|
124034
124287
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124035
124288
|
*/
|
|
@@ -124062,6 +124315,10 @@ export interface UsersUsersBanOutput {
|
|
|
124062
124315
|
* When the user was last changed (ISO 8601).
|
|
124063
124316
|
*/
|
|
124064
124317
|
updatedAt: string;
|
|
124318
|
+
/**
|
|
124319
|
+
* 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.
|
|
124320
|
+
*/
|
|
124321
|
+
mergedFrom: (string | null);
|
|
124065
124322
|
/**
|
|
124066
124323
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124067
124324
|
*/
|
|
@@ -124075,9 +124332,9 @@ export interface UsersUsersBanOutput {
|
|
|
124075
124332
|
*/
|
|
124076
124333
|
id: string;
|
|
124077
124334
|
/**
|
|
124078
|
-
* What kind of identifier this is
|
|
124335
|
+
* 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
124336
|
*/
|
|
124080
|
-
type: "email";
|
|
124337
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124081
124338
|
/**
|
|
124082
124339
|
* The address as the user typed it, for display.
|
|
124083
124340
|
*/
|
|
@@ -124099,6 +124356,10 @@ export interface UsersUsersBanOutput {
|
|
|
124099
124356
|
*/
|
|
124100
124357
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124101
124358
|
}[];
|
|
124359
|
+
/**
|
|
124360
|
+
* 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.
|
|
124361
|
+
*/
|
|
124362
|
+
lastTouchAt: (string | null);
|
|
124102
124363
|
/**
|
|
124103
124364
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124104
124365
|
*/
|
|
@@ -124133,6 +124394,10 @@ export interface UsersUsersBanOutput {
|
|
|
124133
124394
|
privateMetadata: {
|
|
124134
124395
|
[k: string]: unknown;
|
|
124135
124396
|
};
|
|
124397
|
+
/**
|
|
124398
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
124399
|
+
*/
|
|
124400
|
+
mergedIntoUserId: (string | null);
|
|
124136
124401
|
/**
|
|
124137
124402
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124138
124403
|
*/
|
|
@@ -124143,10 +124408,22 @@ export interface UsersUsersBanOutput {
|
|
|
124143
124408
|
emailChangeLockedUntil: (string | null);
|
|
124144
124409
|
}
|
|
124145
124410
|
export interface UsersUsersCreateInput {
|
|
124411
|
+
/**
|
|
124412
|
+
* 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.
|
|
124413
|
+
*/
|
|
124414
|
+
kind?: ("account" | "contact");
|
|
124146
124415
|
/**
|
|
124147
124416
|
* The user's display name.
|
|
124148
124417
|
*/
|
|
124149
124418
|
name?: string;
|
|
124419
|
+
/**
|
|
124420
|
+
* Free labels for this person. Trimmed, lowercased and de-duplicated on write; at most 32 of at most 64 characters each.
|
|
124421
|
+
*/
|
|
124422
|
+
tags?: string[];
|
|
124423
|
+
/**
|
|
124424
|
+
* The relationship stage to start them at, in funnel order: new, contacted, replied, engaged, converted, lost. Default 'new'.
|
|
124425
|
+
*/
|
|
124426
|
+
stage?: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124150
124427
|
/**
|
|
124151
124428
|
* URL of the user's avatar image.
|
|
124152
124429
|
*/
|
|
@@ -124177,7 +124454,7 @@ export interface UsersUsersCreateInput {
|
|
|
124177
124454
|
*/
|
|
124178
124455
|
waitlisted?: boolean;
|
|
124179
124456
|
/**
|
|
124180
|
-
*
|
|
124457
|
+
* How this user is reached: their email addresses, plus any contact channels (`phone`, `telegram`, `linkedin`, `x`). At least one is required.
|
|
124181
124458
|
*
|
|
124182
124459
|
* @minItems 1
|
|
124183
124460
|
*/
|
|
@@ -124186,13 +124463,13 @@ export interface UsersUsersCreateInput {
|
|
|
124186
124463
|
/**
|
|
124187
124464
|
* Identifier kind. Only 'email' exists in this phase.
|
|
124188
124465
|
*/
|
|
124189
|
-
type: "email";
|
|
124466
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124190
124467
|
/**
|
|
124191
124468
|
* The email address. Stored canonicalised (lowercase, NFC) plus raw for display.
|
|
124192
124469
|
*/
|
|
124193
124470
|
value: string;
|
|
124194
124471
|
/**
|
|
124195
|
-
* Record the identifier as already verified (use for trusted imports). Only ONE verified copy of
|
|
124472
|
+
* 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
124473
|
*/
|
|
124197
124474
|
verified?: boolean;
|
|
124198
124475
|
/**
|
|
@@ -124204,13 +124481,13 @@ export interface UsersUsersCreateInput {
|
|
|
124204
124481
|
/**
|
|
124205
124482
|
* Identifier kind. Only 'email' exists in this phase.
|
|
124206
124483
|
*/
|
|
124207
|
-
type: "email";
|
|
124484
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124208
124485
|
/**
|
|
124209
124486
|
* The email address. Stored canonicalised (lowercase, NFC) plus raw for display.
|
|
124210
124487
|
*/
|
|
124211
124488
|
value: string;
|
|
124212
124489
|
/**
|
|
124213
|
-
* Record the identifier as already verified (use for trusted imports). Only ONE verified copy of
|
|
124490
|
+
* 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
124491
|
*/
|
|
124215
124492
|
verified?: boolean;
|
|
124216
124493
|
/**
|
|
@@ -124249,10 +124526,22 @@ export interface UsersUsersCreateOutput {
|
|
|
124249
124526
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124250
124527
|
*/
|
|
124251
124528
|
id: string;
|
|
124529
|
+
/**
|
|
124530
|
+
* 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.
|
|
124531
|
+
*/
|
|
124532
|
+
kind: ("account" | "contact");
|
|
124252
124533
|
/**
|
|
124253
124534
|
* The user's display name. Null when nobody set one.
|
|
124254
124535
|
*/
|
|
124255
124536
|
name: (string | null);
|
|
124537
|
+
/**
|
|
124538
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
124539
|
+
*/
|
|
124540
|
+
tags: string[];
|
|
124541
|
+
/**
|
|
124542
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
124543
|
+
*/
|
|
124544
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124256
124545
|
/**
|
|
124257
124546
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124258
124547
|
*/
|
|
@@ -124285,6 +124574,10 @@ export interface UsersUsersCreateOutput {
|
|
|
124285
124574
|
* When the user was last changed (ISO 8601).
|
|
124286
124575
|
*/
|
|
124287
124576
|
updatedAt: string;
|
|
124577
|
+
/**
|
|
124578
|
+
* 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.
|
|
124579
|
+
*/
|
|
124580
|
+
mergedFrom: (string | null);
|
|
124288
124581
|
/**
|
|
124289
124582
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124290
124583
|
*/
|
|
@@ -124298,9 +124591,9 @@ export interface UsersUsersCreateOutput {
|
|
|
124298
124591
|
*/
|
|
124299
124592
|
id: string;
|
|
124300
124593
|
/**
|
|
124301
|
-
* What kind of identifier this is
|
|
124594
|
+
* 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
124595
|
*/
|
|
124303
|
-
type: "email";
|
|
124596
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124304
124597
|
/**
|
|
124305
124598
|
* The address as the user typed it, for display.
|
|
124306
124599
|
*/
|
|
@@ -124322,6 +124615,10 @@ export interface UsersUsersCreateOutput {
|
|
|
124322
124615
|
*/
|
|
124323
124616
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124324
124617
|
}[];
|
|
124618
|
+
/**
|
|
124619
|
+
* 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.
|
|
124620
|
+
*/
|
|
124621
|
+
lastTouchAt: (string | null);
|
|
124325
124622
|
/**
|
|
124326
124623
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124327
124624
|
*/
|
|
@@ -124356,6 +124653,10 @@ export interface UsersUsersCreateOutput {
|
|
|
124356
124653
|
privateMetadata: {
|
|
124357
124654
|
[k: string]: unknown;
|
|
124358
124655
|
};
|
|
124656
|
+
/**
|
|
124657
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
124658
|
+
*/
|
|
124659
|
+
mergedIntoUserId: (string | null);
|
|
124359
124660
|
/**
|
|
124360
124661
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124361
124662
|
*/
|
|
@@ -124376,10 +124677,22 @@ export interface UsersUsersDeleteOutput {
|
|
|
124376
124677
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124377
124678
|
*/
|
|
124378
124679
|
id: string;
|
|
124680
|
+
/**
|
|
124681
|
+
* 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.
|
|
124682
|
+
*/
|
|
124683
|
+
kind: ("account" | "contact");
|
|
124379
124684
|
/**
|
|
124380
124685
|
* The user's display name. Null when nobody set one.
|
|
124381
124686
|
*/
|
|
124382
124687
|
name: (string | null);
|
|
124688
|
+
/**
|
|
124689
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
124690
|
+
*/
|
|
124691
|
+
tags: string[];
|
|
124692
|
+
/**
|
|
124693
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
124694
|
+
*/
|
|
124695
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124383
124696
|
/**
|
|
124384
124697
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124385
124698
|
*/
|
|
@@ -124412,6 +124725,10 @@ export interface UsersUsersDeleteOutput {
|
|
|
124412
124725
|
* When the user was last changed (ISO 8601).
|
|
124413
124726
|
*/
|
|
124414
124727
|
updatedAt: string;
|
|
124728
|
+
/**
|
|
124729
|
+
* 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.
|
|
124730
|
+
*/
|
|
124731
|
+
mergedFrom: (string | null);
|
|
124415
124732
|
/**
|
|
124416
124733
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124417
124734
|
*/
|
|
@@ -124425,9 +124742,9 @@ export interface UsersUsersDeleteOutput {
|
|
|
124425
124742
|
*/
|
|
124426
124743
|
id: string;
|
|
124427
124744
|
/**
|
|
124428
|
-
* What kind of identifier this is
|
|
124745
|
+
* 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
124746
|
*/
|
|
124430
|
-
type: "email";
|
|
124747
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124431
124748
|
/**
|
|
124432
124749
|
* The address as the user typed it, for display.
|
|
124433
124750
|
*/
|
|
@@ -124449,6 +124766,10 @@ export interface UsersUsersDeleteOutput {
|
|
|
124449
124766
|
*/
|
|
124450
124767
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124451
124768
|
}[];
|
|
124769
|
+
/**
|
|
124770
|
+
* 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.
|
|
124771
|
+
*/
|
|
124772
|
+
lastTouchAt: (string | null);
|
|
124452
124773
|
/**
|
|
124453
124774
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124454
124775
|
*/
|
|
@@ -124483,6 +124804,10 @@ export interface UsersUsersDeleteOutput {
|
|
|
124483
124804
|
privateMetadata: {
|
|
124484
124805
|
[k: string]: unknown;
|
|
124485
124806
|
};
|
|
124807
|
+
/**
|
|
124808
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
124809
|
+
*/
|
|
124810
|
+
mergedIntoUserId: (string | null);
|
|
124486
124811
|
/**
|
|
124487
124812
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124488
124813
|
*/
|
|
@@ -124493,6 +124818,10 @@ export interface UsersUsersDeleteOutput {
|
|
|
124493
124818
|
emailChangeLockedUntil: (string | null);
|
|
124494
124819
|
}
|
|
124495
124820
|
export interface UsersUsersExportInput {
|
|
124821
|
+
/**
|
|
124822
|
+
* Filter by kind: 'account' or 'contact'. Omit for accounts only, unless `includeContacts` is true.
|
|
124823
|
+
*/
|
|
124824
|
+
kind?: ("account" | "contact");
|
|
124496
124825
|
/**
|
|
124497
124826
|
* Rows per page, 1-500. Default 100.
|
|
124498
124827
|
*/
|
|
@@ -124513,6 +124842,10 @@ export interface UsersUsersExportInput {
|
|
|
124513
124842
|
* Include soft-deleted users. Default false.
|
|
124514
124843
|
*/
|
|
124515
124844
|
includeDeleted?: boolean;
|
|
124845
|
+
/**
|
|
124846
|
+
* Include CONTACTS alongside accounts, so one pass exports both. Default false — the same rule this export already applies to waitlist signups and test users.
|
|
124847
|
+
*/
|
|
124848
|
+
includeContacts?: boolean;
|
|
124516
124849
|
}
|
|
124517
124850
|
export interface UsersUsersExportOutput {
|
|
124518
124851
|
count: number;
|
|
@@ -124521,10 +124854,22 @@ export interface UsersUsersExportOutput {
|
|
|
124521
124854
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124522
124855
|
*/
|
|
124523
124856
|
id: string;
|
|
124857
|
+
/**
|
|
124858
|
+
* 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.
|
|
124859
|
+
*/
|
|
124860
|
+
kind: ("account" | "contact");
|
|
124524
124861
|
/**
|
|
124525
124862
|
* The user's display name. Null when nobody set one.
|
|
124526
124863
|
*/
|
|
124527
124864
|
name: (string | null);
|
|
124865
|
+
/**
|
|
124866
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
124867
|
+
*/
|
|
124868
|
+
tags: string[];
|
|
124869
|
+
/**
|
|
124870
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
124871
|
+
*/
|
|
124872
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124528
124873
|
/**
|
|
124529
124874
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124530
124875
|
*/
|
|
@@ -124557,6 +124902,10 @@ export interface UsersUsersExportOutput {
|
|
|
124557
124902
|
* When the user was last changed (ISO 8601).
|
|
124558
124903
|
*/
|
|
124559
124904
|
updatedAt: string;
|
|
124905
|
+
/**
|
|
124906
|
+
* 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.
|
|
124907
|
+
*/
|
|
124908
|
+
mergedFrom: (string | null);
|
|
124560
124909
|
/**
|
|
124561
124910
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124562
124911
|
*/
|
|
@@ -124570,9 +124919,9 @@ export interface UsersUsersExportOutput {
|
|
|
124570
124919
|
*/
|
|
124571
124920
|
id: string;
|
|
124572
124921
|
/**
|
|
124573
|
-
* What kind of identifier this is
|
|
124922
|
+
* 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
124923
|
*/
|
|
124575
|
-
type: "email";
|
|
124924
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124576
124925
|
/**
|
|
124577
124926
|
* The address as the user typed it, for display.
|
|
124578
124927
|
*/
|
|
@@ -124594,6 +124943,10 @@ export interface UsersUsersExportOutput {
|
|
|
124594
124943
|
*/
|
|
124595
124944
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124596
124945
|
}[];
|
|
124946
|
+
/**
|
|
124947
|
+
* 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.
|
|
124948
|
+
*/
|
|
124949
|
+
lastTouchAt: (string | null);
|
|
124597
124950
|
/**
|
|
124598
124951
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124599
124952
|
*/
|
|
@@ -124628,6 +124981,10 @@ export interface UsersUsersExportOutput {
|
|
|
124628
124981
|
privateMetadata: {
|
|
124629
124982
|
[k: string]: unknown;
|
|
124630
124983
|
};
|
|
124984
|
+
/**
|
|
124985
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
124986
|
+
*/
|
|
124987
|
+
mergedIntoUserId: (string | null);
|
|
124631
124988
|
/**
|
|
124632
124989
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124633
124990
|
*/
|
|
@@ -124651,10 +125008,22 @@ export interface UsersUsersGetOutput {
|
|
|
124651
125008
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124652
125009
|
*/
|
|
124653
125010
|
id: string;
|
|
125011
|
+
/**
|
|
125012
|
+
* 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.
|
|
125013
|
+
*/
|
|
125014
|
+
kind: ("account" | "contact");
|
|
124654
125015
|
/**
|
|
124655
125016
|
* The user's display name. Null when nobody set one.
|
|
124656
125017
|
*/
|
|
124657
125018
|
name: (string | null);
|
|
125019
|
+
/**
|
|
125020
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
125021
|
+
*/
|
|
125022
|
+
tags: string[];
|
|
125023
|
+
/**
|
|
125024
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
125025
|
+
*/
|
|
125026
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124658
125027
|
/**
|
|
124659
125028
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124660
125029
|
*/
|
|
@@ -124687,6 +125056,10 @@ export interface UsersUsersGetOutput {
|
|
|
124687
125056
|
* When the user was last changed (ISO 8601).
|
|
124688
125057
|
*/
|
|
124689
125058
|
updatedAt: string;
|
|
125059
|
+
/**
|
|
125060
|
+
* 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.
|
|
125061
|
+
*/
|
|
125062
|
+
mergedFrom: (string | null);
|
|
124690
125063
|
/**
|
|
124691
125064
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124692
125065
|
*/
|
|
@@ -124700,9 +125073,9 @@ export interface UsersUsersGetOutput {
|
|
|
124700
125073
|
*/
|
|
124701
125074
|
id: string;
|
|
124702
125075
|
/**
|
|
124703
|
-
* What kind of identifier this is
|
|
125076
|
+
* 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
125077
|
*/
|
|
124705
|
-
type: "email";
|
|
125078
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124706
125079
|
/**
|
|
124707
125080
|
* The address as the user typed it, for display.
|
|
124708
125081
|
*/
|
|
@@ -124724,6 +125097,10 @@ export interface UsersUsersGetOutput {
|
|
|
124724
125097
|
*/
|
|
124725
125098
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124726
125099
|
}[];
|
|
125100
|
+
/**
|
|
125101
|
+
* 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.
|
|
125102
|
+
*/
|
|
125103
|
+
lastTouchAt: (string | null);
|
|
124727
125104
|
/**
|
|
124728
125105
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124729
125106
|
*/
|
|
@@ -124758,6 +125135,10 @@ export interface UsersUsersGetOutput {
|
|
|
124758
125135
|
privateMetadata: {
|
|
124759
125136
|
[k: string]: unknown;
|
|
124760
125137
|
};
|
|
125138
|
+
/**
|
|
125139
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
125140
|
+
*/
|
|
125141
|
+
mergedIntoUserId: (string | null);
|
|
124761
125142
|
/**
|
|
124762
125143
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
124763
125144
|
*/
|
|
@@ -124810,6 +125191,10 @@ export interface UsersUsersImportOutput {
|
|
|
124810
125191
|
* How many rows were passed over — an address already in the directory, typically.
|
|
124811
125192
|
*/
|
|
124812
125193
|
skipped: number;
|
|
125194
|
+
/**
|
|
125195
|
+
* How many of the CREATED users were contacts (`kind: 'contact'`). A row that was skipped or failed is not counted.
|
|
125196
|
+
*/
|
|
125197
|
+
contacts: number;
|
|
124813
125198
|
/**
|
|
124814
125199
|
* How many rows you submitted.
|
|
124815
125200
|
*/
|
|
@@ -124856,6 +125241,14 @@ export interface UsersUsersInviteOutput {
|
|
|
124856
125241
|
expiresAt: string;
|
|
124857
125242
|
}
|
|
124858
125243
|
export interface UsersUsersListInput {
|
|
125244
|
+
/**
|
|
125245
|
+
* Return only people carrying this tag. ONE tag, matched against the stored (lowercased) value and ANDed with the other filters.
|
|
125246
|
+
*/
|
|
125247
|
+
tag?: string;
|
|
125248
|
+
/**
|
|
125249
|
+
* 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.
|
|
125250
|
+
*/
|
|
125251
|
+
kind?: ("account" | "contact");
|
|
124859
125252
|
/**
|
|
124860
125253
|
* Page size, 1-100. Default 25.
|
|
124861
125254
|
*/
|
|
@@ -124864,6 +125257,10 @@ export interface UsersUsersListInput {
|
|
|
124864
125257
|
* Case-insensitive substring match against the user's identifiers (email) and name.
|
|
124865
125258
|
*/
|
|
124866
125259
|
query?: string;
|
|
125260
|
+
/**
|
|
125261
|
+
* Filter by relationship stage: new, contacted, replied, engaged, converted or lost. Omit for every stage.
|
|
125262
|
+
*/
|
|
125263
|
+
stage?: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124867
125264
|
/**
|
|
124868
125265
|
* Opaque cursor from a previous response's `nextCursor`. Omit for the first page.
|
|
124869
125266
|
*/
|
|
@@ -124876,6 +125273,18 @@ export interface UsersUsersListInput {
|
|
|
124876
125273
|
* Include soft-deleted users. Default false — deleted users are hidden.
|
|
124877
125274
|
*/
|
|
124878
125275
|
includeDeleted?: boolean;
|
|
125276
|
+
/**
|
|
125277
|
+
* 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.
|
|
125278
|
+
*/
|
|
125279
|
+
lastTouchAfter?: string;
|
|
125280
|
+
/**
|
|
125281
|
+
* 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.
|
|
125282
|
+
*/
|
|
125283
|
+
includeContacts?: boolean;
|
|
125284
|
+
/**
|
|
125285
|
+
* 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.
|
|
125286
|
+
*/
|
|
125287
|
+
lastTouchBefore?: string;
|
|
124879
125288
|
/**
|
|
124880
125289
|
* 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
125290
|
*/
|
|
@@ -124894,10 +125303,22 @@ export interface UsersUsersListOutput {
|
|
|
124894
125303
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
124895
125304
|
*/
|
|
124896
125305
|
id: string;
|
|
125306
|
+
/**
|
|
125307
|
+
* 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.
|
|
125308
|
+
*/
|
|
125309
|
+
kind: ("account" | "contact");
|
|
124897
125310
|
/**
|
|
124898
125311
|
* The user's display name. Null when nobody set one.
|
|
124899
125312
|
*/
|
|
124900
125313
|
name: (string | null);
|
|
125314
|
+
/**
|
|
125315
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
125316
|
+
*/
|
|
125317
|
+
tags: string[];
|
|
125318
|
+
/**
|
|
125319
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
125320
|
+
*/
|
|
125321
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
124901
125322
|
/**
|
|
124902
125323
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
124903
125324
|
*/
|
|
@@ -124930,6 +125351,10 @@ export interface UsersUsersListOutput {
|
|
|
124930
125351
|
* When the user was last changed (ISO 8601).
|
|
124931
125352
|
*/
|
|
124932
125353
|
updatedAt: string;
|
|
125354
|
+
/**
|
|
125355
|
+
* 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.
|
|
125356
|
+
*/
|
|
125357
|
+
mergedFrom: (string | null);
|
|
124933
125358
|
/**
|
|
124934
125359
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
124935
125360
|
*/
|
|
@@ -124943,9 +125368,9 @@ export interface UsersUsersListOutput {
|
|
|
124943
125368
|
*/
|
|
124944
125369
|
id: string;
|
|
124945
125370
|
/**
|
|
124946
|
-
* What kind of identifier this is
|
|
125371
|
+
* 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
125372
|
*/
|
|
124948
|
-
type: "email";
|
|
125373
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
124949
125374
|
/**
|
|
124950
125375
|
* The address as the user typed it, for display.
|
|
124951
125376
|
*/
|
|
@@ -124967,6 +125392,10 @@ export interface UsersUsersListOutput {
|
|
|
124967
125392
|
*/
|
|
124968
125393
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
124969
125394
|
}[];
|
|
125395
|
+
/**
|
|
125396
|
+
* 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.
|
|
125397
|
+
*/
|
|
125398
|
+
lastTouchAt: (string | null);
|
|
124970
125399
|
/**
|
|
124971
125400
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
124972
125401
|
*/
|
|
@@ -125001,6 +125430,10 @@ export interface UsersUsersListOutput {
|
|
|
125001
125430
|
privateMetadata: {
|
|
125002
125431
|
[k: string]: unknown;
|
|
125003
125432
|
};
|
|
125433
|
+
/**
|
|
125434
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
125435
|
+
*/
|
|
125436
|
+
mergedIntoUserId: (string | null);
|
|
125004
125437
|
/**
|
|
125005
125438
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
125006
125439
|
*/
|
|
@@ -125050,10 +125483,22 @@ export interface UsersUsersUnbanOutput {
|
|
|
125050
125483
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
125051
125484
|
*/
|
|
125052
125485
|
id: string;
|
|
125486
|
+
/**
|
|
125487
|
+
* 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.
|
|
125488
|
+
*/
|
|
125489
|
+
kind: ("account" | "contact");
|
|
125053
125490
|
/**
|
|
125054
125491
|
* The user's display name. Null when nobody set one.
|
|
125055
125492
|
*/
|
|
125056
125493
|
name: (string | null);
|
|
125494
|
+
/**
|
|
125495
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
125496
|
+
*/
|
|
125497
|
+
tags: string[];
|
|
125498
|
+
/**
|
|
125499
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
125500
|
+
*/
|
|
125501
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
125057
125502
|
/**
|
|
125058
125503
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
125059
125504
|
*/
|
|
@@ -125086,6 +125531,10 @@ export interface UsersUsersUnbanOutput {
|
|
|
125086
125531
|
* When the user was last changed (ISO 8601).
|
|
125087
125532
|
*/
|
|
125088
125533
|
updatedAt: string;
|
|
125534
|
+
/**
|
|
125535
|
+
* 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.
|
|
125536
|
+
*/
|
|
125537
|
+
mergedFrom: (string | null);
|
|
125089
125538
|
/**
|
|
125090
125539
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
125091
125540
|
*/
|
|
@@ -125099,9 +125548,9 @@ export interface UsersUsersUnbanOutput {
|
|
|
125099
125548
|
*/
|
|
125100
125549
|
id: string;
|
|
125101
125550
|
/**
|
|
125102
|
-
* What kind of identifier this is
|
|
125551
|
+
* 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
125552
|
*/
|
|
125104
|
-
type: "email";
|
|
125553
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
125105
125554
|
/**
|
|
125106
125555
|
* The address as the user typed it, for display.
|
|
125107
125556
|
*/
|
|
@@ -125123,6 +125572,10 @@ export interface UsersUsersUnbanOutput {
|
|
|
125123
125572
|
*/
|
|
125124
125573
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
125125
125574
|
}[];
|
|
125575
|
+
/**
|
|
125576
|
+
* 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.
|
|
125577
|
+
*/
|
|
125578
|
+
lastTouchAt: (string | null);
|
|
125126
125579
|
/**
|
|
125127
125580
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
125128
125581
|
*/
|
|
@@ -125157,6 +125610,10 @@ export interface UsersUsersUnbanOutput {
|
|
|
125157
125610
|
privateMetadata: {
|
|
125158
125611
|
[k: string]: unknown;
|
|
125159
125612
|
};
|
|
125613
|
+
/**
|
|
125614
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
125615
|
+
*/
|
|
125616
|
+
mergedIntoUserId: (string | null);
|
|
125160
125617
|
/**
|
|
125161
125618
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
125162
125619
|
*/
|
|
@@ -125171,6 +125628,14 @@ export interface UsersUsersUpdateInput {
|
|
|
125171
125628
|
* The user's display name. Pass null to clear.
|
|
125172
125629
|
*/
|
|
125173
125630
|
name?: (string | null);
|
|
125631
|
+
/**
|
|
125632
|
+
* REPLACES the whole tag list — send every tag you want stored, not just the new ones. Trimmed, lowercased and de-duplicated on write.
|
|
125633
|
+
*/
|
|
125634
|
+
tags?: string[];
|
|
125635
|
+
/**
|
|
125636
|
+
* 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.
|
|
125637
|
+
*/
|
|
125638
|
+
stage?: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
125174
125639
|
/**
|
|
125175
125640
|
* The user to update.
|
|
125176
125641
|
*/
|
|
@@ -125217,10 +125682,22 @@ export interface UsersUsersUpdateOutput {
|
|
|
125217
125682
|
* Id of this end user. Pass it to any users_users_* tool.
|
|
125218
125683
|
*/
|
|
125219
125684
|
id: string;
|
|
125685
|
+
/**
|
|
125686
|
+
* 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.
|
|
125687
|
+
*/
|
|
125688
|
+
kind: ("account" | "contact");
|
|
125220
125689
|
/**
|
|
125221
125690
|
* The user's display name. Null when nobody set one.
|
|
125222
125691
|
*/
|
|
125223
125692
|
name: (string | null);
|
|
125693
|
+
/**
|
|
125694
|
+
* Free labels on this person, stored trimmed, lowercased and de-duplicated.
|
|
125695
|
+
*/
|
|
125696
|
+
tags: string[];
|
|
125697
|
+
/**
|
|
125698
|
+
* The relationship stage, in funnel order: new, contacted, replied, engaged, converted, lost. A real change publishes `users/user.stage-changed`.
|
|
125699
|
+
*/
|
|
125700
|
+
stage: ("new" | "contacted" | "replied" | "engaged" | "converted" | "lost");
|
|
125224
125701
|
/**
|
|
125225
125702
|
* When the user was banned (ISO 8601). Null while they are not banned.
|
|
125226
125703
|
*/
|
|
@@ -125253,6 +125730,10 @@ export interface UsersUsersUpdateOutput {
|
|
|
125253
125730
|
* When the user was last changed (ISO 8601).
|
|
125254
125731
|
*/
|
|
125255
125732
|
updatedAt: string;
|
|
125733
|
+
/**
|
|
125734
|
+
* 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.
|
|
125735
|
+
*/
|
|
125736
|
+
mergedFrom: (string | null);
|
|
125256
125737
|
/**
|
|
125257
125738
|
* Whether this user is still on the waitlist and cannot sign in yet.
|
|
125258
125739
|
*/
|
|
@@ -125266,9 +125747,9 @@ export interface UsersUsersUpdateOutput {
|
|
|
125266
125747
|
*/
|
|
125267
125748
|
id: string;
|
|
125268
125749
|
/**
|
|
125269
|
-
* What kind of identifier this is
|
|
125750
|
+
* 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
125751
|
*/
|
|
125271
|
-
type: "email";
|
|
125752
|
+
type: ("email" | "phone" | "telegram" | "linkedin" | "x");
|
|
125272
125753
|
/**
|
|
125273
125754
|
* The address as the user typed it, for display.
|
|
125274
125755
|
*/
|
|
@@ -125290,6 +125771,10 @@ export interface UsersUsersUpdateOutput {
|
|
|
125290
125771
|
*/
|
|
125291
125772
|
verificationStatus: ("unverified" | "verified" | "expired");
|
|
125292
125773
|
}[];
|
|
125774
|
+
/**
|
|
125775
|
+
* 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.
|
|
125776
|
+
*/
|
|
125777
|
+
lastTouchAt: (string | null);
|
|
125293
125778
|
/**
|
|
125294
125779
|
* When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
|
|
125295
125780
|
*/
|
|
@@ -125324,6 +125809,10 @@ export interface UsersUsersUpdateOutput {
|
|
|
125324
125809
|
privateMetadata: {
|
|
125325
125810
|
[k: string]: unknown;
|
|
125326
125811
|
};
|
|
125812
|
+
/**
|
|
125813
|
+
* The user this person was merged INTO, when they were merged. Null for everybody else — follow it to find where their records went.
|
|
125814
|
+
*/
|
|
125815
|
+
mergedIntoUserId: (string | null);
|
|
125327
125816
|
/**
|
|
125328
125817
|
* Id of the primary identifier row. Null when there is no primary identifier.
|
|
125329
125818
|
*/
|