@lessly/sdk-app 83.4.0 → 84.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.
@@ -113277,13 +113277,75 @@ type: ("server" | "publishable")
113277
113277
  }
113278
113278
 
113279
113279
  export interface UsersApikeysCreateOutput {
113280
+ /**
113281
+ * Id of the key. Pass it to users_apikeys_revoke.
113282
+ */
113280
113283
  id: string
113284
+ /**
113285
+ * The full secret key, shown ONCE. Store it now — it is never returned again, and a lost key is replaced by minting a new one.
113286
+ */
113281
113287
  key: string
113288
+ /**
113289
+ * The label a human gave this key — which backend or environment holds it.
113290
+ */
113291
+ name: string
113292
+ /**
113293
+ * `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
113294
+ */
113295
+ type: ("server" | "publishable")
113296
+ /**
113297
+ * The full value of a publishable key, which is not a secret. Null for a server key — that value exists in exactly one response, ever.
113298
+ */
113299
+ value: (string | null)
113300
+ /**
113301
+ * `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
113302
+ */
113303
+ prefix: string
113304
+ /**
113305
+ * When the key was issued (ISO 8601).
113306
+ */
113307
+ createdAt: string
113308
+ /**
113309
+ * When the key was revoked (ISO 8601). Null while it still works.
113310
+ */
113311
+ revokedAt: (string | null)
113312
+ }
113313
+
113314
+ export interface UsersApikeysGetInput {
113315
+ /**
113316
+ * Id of the key to read — the `id` from users_apikeys_list.
113317
+ */
113318
+ id: string
113319
+ }
113320
+
113321
+ export interface UsersApikeysGetOutput {
113322
+ /**
113323
+ * Id of the key. Pass it to users_apikeys_revoke.
113324
+ */
113325
+ id: string
113326
+ /**
113327
+ * The label a human gave this key — which backend or environment holds it.
113328
+ */
113282
113329
  name: string
113330
+ /**
113331
+ * `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
113332
+ */
113283
113333
  type: ("server" | "publishable")
113334
+ /**
113335
+ * The full value of a publishable key, which is not a secret. Null for a server key — that value exists in exactly one response, ever.
113336
+ */
113284
113337
  value: (string | null)
113338
+ /**
113339
+ * `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
113340
+ */
113285
113341
  prefix: string
113342
+ /**
113343
+ * When the key was issued (ISO 8601).
113344
+ */
113286
113345
  createdAt: string
113346
+ /**
113347
+ * When the key was revoked (ISO 8601). Null while it still works.
113348
+ */
113287
113349
  revokedAt: (string | null)
113288
113350
  }
113289
113351
 
@@ -113293,12 +113355,33 @@ export interface UsersApikeysListInput {
113293
113355
 
113294
113356
  export interface UsersApikeysListOutput {
113295
113357
  keys: {
113358
+ /**
113359
+ * Id of the key. Pass it to users_apikeys_revoke.
113360
+ */
113296
113361
  id: string
113362
+ /**
113363
+ * The label a human gave this key — which backend or environment holds it.
113364
+ */
113297
113365
  name: string
113366
+ /**
113367
+ * `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
113368
+ */
113298
113369
  type: ("server" | "publishable")
113370
+ /**
113371
+ * The full value of a publishable key, which is not a secret. Null for a server key — that value exists in exactly one response, ever.
113372
+ */
113299
113373
  value: (string | null)
113374
+ /**
113375
+ * `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
113376
+ */
113300
113377
  prefix: string
113378
+ /**
113379
+ * When the key was issued (ISO 8601).
113380
+ */
113301
113381
  createdAt: string
113382
+ /**
113383
+ * When the key was revoked (ISO 8601). Null while it still works.
113384
+ */
113302
113385
  revokedAt: (string | null)
113303
113386
  }[]
113304
113387
  }
@@ -113311,7 +113394,13 @@ id: string
113311
113394
  }
113312
113395
 
113313
113396
  export interface UsersApikeysRevokeOutput {
113397
+ /**
113398
+ * Id of the key that was revoked.
113399
+ */
113314
113400
  id: string
113401
+ /**
113402
+ * Always true — revocation is immediate and final.
113403
+ */
113315
113404
  revoked: true
113316
113405
  }
113317
113406
 
@@ -113347,21 +113436,60 @@ targetType?: string
113347
113436
  }
113348
113437
 
113349
113438
  export interface UsersAuditListOutput {
113439
+ /**
113440
+ * The page of audit events, newest first.
113441
+ */
113350
113442
  events: {
113443
+ /**
113444
+ * Id of this audit row.
113445
+ */
113351
113446
  id: string
113447
+ /**
113448
+ * IP the action came from. Null when it was not an HTTP action.
113449
+ */
113352
113450
  ip: (string | null)
113451
+ /**
113452
+ * What happened, as a dotted name — `user.created`, `passkey.deleted`, `email_change.override_applied`.
113453
+ */
113353
113454
  action: string
113455
+ /**
113456
+ * Id of the actor. Null for a system action.
113457
+ */
113354
113458
  actorId: (string | null)
113459
+ /**
113460
+ * Action-specific detail — the reason text, counts, whatever the action recorded.
113461
+ */
113355
113462
  metadata: {
113356
113463
  [k: string]: unknown
113357
113464
  }
113465
+ /**
113466
+ * Id of the row the action was about. Null when there was none.
113467
+ */
113358
113468
  targetId: (string | null)
113469
+ /**
113470
+ * Who acted: `operator` (a human or agent on the management plane), `end_user`, or `system`.
113471
+ */
113359
113472
  actorType: ("operator" | "system" | "end_user")
113473
+ /**
113474
+ * When the action happened (ISO 8601).
113475
+ */
113360
113476
  createdAt: string
113477
+ /**
113478
+ * Product the audited action happened in.
113479
+ */
113361
113480
  productId: string
113481
+ /**
113482
+ * User agent the action came from. Null when none was sent.
113483
+ */
113362
113484
  userAgent: (string | null)
113485
+ /**
113486
+ * What kind of row the action was about — `user` or `product`. Null when it was about nothing in particular.
113487
+ */
113363
113488
  targetType: (string | null)
113364
113489
  }[]
113490
+ /**
113491
+ * Pass back as `cursor` to fetch the next page. Null when this page is the last.
113492
+ */
113365
113493
  nextCursor: (string | null)
113366
113494
  }
113367
113495
 
@@ -114344,12 +114472,33 @@ userId: string
114344
114472
  }
114345
114473
 
114346
114474
  export interface UsersFactorsListOutput {
114475
+ /**
114476
+ * Every second factor this user has — types and status only, never material.
114477
+ */
114347
114478
  factors: {
114479
+ /**
114480
+ * Kind of second factor: `totp` or `backup_codes`. No key material is ever returned.
114481
+ */
114348
114482
  type: ("totp" | "backup_codes" | "webauthn")
114483
+ /**
114484
+ * Whether this factor is enrolled and usable, or still pending verification.
114485
+ */
114349
114486
  status: ("unverified" | "verified")
114487
+ /**
114488
+ * When the factor was enrolled (ISO 8601).
114489
+ */
114350
114490
  createdAt: string
114491
+ /**
114492
+ * `backup_codes` only: how many of the batch are still unspent. Null for any other factor type.
114493
+ */
114351
114494
  remaining: (number | null)
114495
+ /**
114496
+ * When the factor was last used to sign in (ISO 8601). Null if it never was.
114497
+ */
114352
114498
  lastUsedAt: (string | null)
114499
+ /**
114500
+ * When the user first proved the factor works (ISO 8601). Null while it is unverified.
114501
+ */
114353
114502
  verifiedAt: (string | null)
114354
114503
  }[]
114355
114504
  }
@@ -114366,7 +114515,13 @@ userId: string
114366
114515
  }
114367
114516
 
114368
114517
  export interface UsersFactorsResetOutput {
114518
+ /**
114519
+ * Id of the scheduled reset. The same value arrives on `users/mfa.reset-settled`, which is what finishes this step.
114520
+ */
114369
114521
  requestId: string
114522
+ /**
114523
+ * When the removal happens, if nobody aborts it first (ISO 8601). The delay is this product's, not a fixed one.
114524
+ */
114370
114525
  scheduledFor: string
114371
114526
  }
114372
114527
 
@@ -114662,6 +114817,52 @@ signInFailureBaseline: (number | null)
114662
114817
  }
114663
114818
  }
114664
114819
 
114820
+ export interface UsersPasskeysGetInput {
114821
+ /**
114822
+ * The end user the credential belongs to.
114823
+ */
114824
+ userId: string
114825
+ /**
114826
+ * Which credential to read — the `id` from `users_passkeys_list`.
114827
+ */
114828
+ passkeyId: string
114829
+ }
114830
+
114831
+ export interface UsersPasskeysGetOutput {
114832
+ /**
114833
+ * Id of the credential. Pass it to users_passkeys_revoke.
114834
+ */
114835
+ id: string
114836
+ /**
114837
+ * The name the user gave this credential, so a person can tell their devices apart. Null when they never named it.
114838
+ */
114839
+ name: (string | null)
114840
+ /**
114841
+ * The authenticator MODEL’s identifier, which says what kind of device this is, never which one. Null when the authenticator withheld it.
114842
+ */
114843
+ aaguid: (string | null)
114844
+ /**
114845
+ * True when the platform syncs this credential, so it survives losing the device. False means it lives on that device alone.
114846
+ */
114847
+ backedUp: boolean
114848
+ /**
114849
+ * When the credential was registered (ISO 8601).
114850
+ */
114851
+ createdAt: string
114852
+ /**
114853
+ * The authenticator’s own counter as of the last assertion. 0 when the authenticator does not count.
114854
+ */
114855
+ signCount: number
114856
+ /**
114857
+ * When it last signed in (ISO 8601). Null when it never has.
114858
+ */
114859
+ lastUsedAt: (string | null)
114860
+ /**
114861
+ * How this authenticator can be reached. Empty when the browser reported nothing — the vocabulary is the platform’s and grows, so it is not an enum.
114862
+ */
114863
+ transports: string[]
114864
+ }
114865
+
114665
114866
  export interface UsersPasskeysListInput {
114666
114867
  /**
114667
114868
  * The end user whose passkeys to list.
@@ -114670,14 +114871,41 @@ userId: string
114670
114871
  }
114671
114872
 
114672
114873
  export interface UsersPasskeysListOutput {
114874
+ /**
114875
+ * The credentials this user has registered, newest first. Empty when they have none.
114876
+ */
114673
114877
  passkeys: {
114878
+ /**
114879
+ * Id of the credential. Pass it to users_passkeys_revoke.
114880
+ */
114674
114881
  id: string
114882
+ /**
114883
+ * The name the user gave this credential, so a person can tell their devices apart. Null when they never named it.
114884
+ */
114675
114885
  name: (string | null)
114886
+ /**
114887
+ * The authenticator MODEL’s identifier, which says what kind of device this is, never which one. Null when the authenticator withheld it.
114888
+ */
114676
114889
  aaguid: (string | null)
114890
+ /**
114891
+ * True when the platform syncs this credential, so it survives losing the device. False means it lives on that device alone.
114892
+ */
114677
114893
  backedUp: boolean
114894
+ /**
114895
+ * When the credential was registered (ISO 8601).
114896
+ */
114678
114897
  createdAt: string
114898
+ /**
114899
+ * The authenticator’s own counter as of the last assertion. 0 when the authenticator does not count.
114900
+ */
114679
114901
  signCount: number
114902
+ /**
114903
+ * When it last signed in (ISO 8601). Null when it never has.
114904
+ */
114680
114905
  lastUsedAt: (string | null)
114906
+ /**
114907
+ * How this authenticator can be reached. Empty when the browser reported nothing — the vocabulary is the platform’s and grows, so it is not an enum.
114908
+ */
114681
114909
  transports: string[]
114682
114910
  }[]
114683
114911
  }
@@ -114702,9 +114930,18 @@ export interface UsersPasskeysRevokeOutput {
114702
114930
  * Present when the revoke was refused — today, only because it was the last way in.
114703
114931
  */
114704
114932
  error: ({
114933
+ /**
114934
+ * Why it was refused. Today only `passkey_last_way_in`.
114935
+ */
114705
114936
  code: string
114937
+ /**
114938
+ * The refusal in a sentence, safe to show a human.
114939
+ */
114706
114940
  message: string
114707
114941
  } | null)
114942
+ /**
114943
+ * `deleted` when the credential is gone, `failed` when the revoke was refused.
114944
+ */
114708
114945
  status: ("deleted" | "failed")
114709
114946
  }
114710
114947
 
@@ -114716,7 +114953,13 @@ sessionId: string
114716
114953
  }
114717
114954
 
114718
114955
  export interface UsersSessionsGetOutput {
114956
+ /**
114957
+ * Id of this session. Pass it to users_sessions_revoke.
114958
+ */
114719
114959
  id: string
114960
+ /**
114961
+ * IP the session was opened from. Null when it was not recorded.
114962
+ */
114720
114963
  ip: (string | null)
114721
114964
  /**
114722
114965
  * `aal2` only if a verified second factor completed.
@@ -114726,18 +114969,45 @@ aal: ("aal1" | "aal2")
114726
114969
  * The factors this session was established with.
114727
114970
  */
114728
114971
  amr: string[]
114972
+ /**
114973
+ * Whether the session is still usable, expired, or revoked.
114974
+ */
114729
114975
  status: ("active" | "revoked")
114976
+ /**
114977
+ * The end user this session belongs to.
114978
+ */
114730
114979
  userId: string
114980
+ /**
114981
+ * When the session was opened (ISO 8601).
114982
+ */
114731
114983
  createdAt: string
114984
+ /**
114985
+ * When the current token stops working unless refreshed (ISO 8601).
114986
+ */
114732
114987
  expiresAt: string
114988
+ /**
114989
+ * When the session was revoked (ISO 8601). Null while it is live.
114990
+ */
114733
114991
  revokedAt: (string | null)
114992
+ /**
114993
+ * User agent the session was opened from. Null when none was sent.
114994
+ */
114734
114995
  userAgent: (string | null)
114996
+ /**
114997
+ * Why the session ended, when it was revoked — e.g. `signout`, `ban`, `mfa_reset`. Null while it is live. The vocabulary is additive, so it is not an enum.
114998
+ */
114735
114999
  revokedReason: (string | null)
114736
115000
  /**
114737
115001
  * The operator behind an impersonated session, or null for an ordinary one.
114738
115002
  */
114739
115003
  impersonatedBy: (string | null)
115004
+ /**
115005
+ * When the session last refreshed its tokens (ISO 8601). Null if it never has.
115006
+ */
114740
115007
  lastRefreshedAt: (string | null)
115008
+ /**
115009
+ * When the session ends no matter how often it refreshes (ISO 8601).
115010
+ */
114741
115011
  absoluteExpiresAt: string
114742
115012
  }
114743
115013
 
@@ -114777,16 +115047,49 @@ userId: string
114777
115047
  }
114778
115048
 
114779
115049
  export interface UsersSessionsListOutput {
115050
+ /**
115051
+ * The sessions matching the filter, newest first.
115052
+ */
114780
115053
  sessions: {
115054
+ /**
115055
+ * Id of this session. Pass it to users_sessions_revoke.
115056
+ */
114781
115057
  id: string
115058
+ /**
115059
+ * IP the session was opened from. Null when it was not recorded.
115060
+ */
114782
115061
  ip: (string | null)
115062
+ /**
115063
+ * Whether the session is still usable, expired, or revoked.
115064
+ */
114783
115065
  status: ("active" | "revoked")
115066
+ /**
115067
+ * The end user this session belongs to.
115068
+ */
114784
115069
  userId: string
115070
+ /**
115071
+ * When the session was opened (ISO 8601).
115072
+ */
114785
115073
  createdAt: string
115074
+ /**
115075
+ * When the current token stops working unless refreshed (ISO 8601).
115076
+ */
114786
115077
  expiresAt: string
115078
+ /**
115079
+ * When the session was revoked (ISO 8601). Null while it is live.
115080
+ */
114787
115081
  revokedAt: (string | null)
115082
+ /**
115083
+ * User agent the session was opened from. Null when none was sent.
115084
+ */
114788
115085
  userAgent: (string | null)
115086
+ /**
115087
+ * When the session last refreshed its tokens (ISO 8601). Null if it never has.
115088
+ */
114789
115089
  lastRefreshedAt: (string | null)
115090
+ /**
115091
+ * When the session ends no matter how often it refreshes (ISO 8601).
115092
+ */
114790
115093
  absoluteExpiresAt: string
114791
115094
  }[]
114792
115095
  }
@@ -114803,6 +115106,9 @@ sessionId?: string
114803
115106
  }
114804
115107
 
114805
115108
  export interface UsersSessionsRevokeOutput {
115109
+ /**
115110
+ * How many sessions were revoked. Zero when there was nothing live to revoke.
115111
+ */
114806
115112
  revoked: number
114807
115113
  }
114808
115114
 
@@ -114929,37 +115235,126 @@ userId: string
114929
115235
  }
114930
115236
 
114931
115237
  export interface UsersUsersBanOutput {
115238
+ /**
115239
+ * Id of this end user. Pass it to any users_users_* tool.
115240
+ */
114932
115241
  id: string
115242
+ /**
115243
+ * The user's display name. Null when nobody set one.
115244
+ */
114933
115245
  name: (string | null)
115246
+ /**
115247
+ * When the user was banned (ISO 8601). Null while they are not banned.
115248
+ */
114934
115249
  bannedAt: (string | null)
115250
+ /**
115251
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
115252
+ */
114935
115253
  erasedAt: (string | null)
115254
+ /**
115255
+ * URL of the user's avatar. Null when there is none.
115256
+ */
114936
115257
  imageUrl: (string | null)
115258
+ /**
115259
+ * Whether this is a test fixture — excluded from metering and from the default listing.
115260
+ */
114937
115261
  testUser: boolean
115262
+ /**
115263
+ * When the user was created (ISO 8601).
115264
+ */
114938
115265
  createdAt: string
115266
+ /**
115267
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
115268
+ */
114939
115269
  deletedAt: (string | null)
115270
+ /**
115271
+ * Product this user belongs to. Never an input — it comes from the calling identity.
115272
+ */
114940
115273
  productId: string
115274
+ /**
115275
+ * When the user was last changed (ISO 8601).
115276
+ */
114941
115277
  updatedAt: string
115278
+ /**
115279
+ * Whether this user is still on the waitlist and cannot sign in yet.
115280
+ */
114942
115281
  waitlisted: boolean
115282
+ /**
115283
+ * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
115284
+ */
114943
115285
  identifiers: {
115286
+ /**
115287
+ * Id of this identifier row.
115288
+ */
114944
115289
  id: string
115290
+ /**
115291
+ * What kind of identifier this is. Today always `email`.
115292
+ */
114945
115293
  type: "email"
115294
+ /**
115295
+ * The address as the user typed it, for display.
115296
+ */
114946
115297
  value: string
115298
+ /**
115299
+ * Whether this is the identifier the user signs in with and is contacted at.
115300
+ */
114947
115301
  isPrimary: boolean
115302
+ /**
115303
+ * When this address was verified (ISO 8601). Null while it never was.
115304
+ */
114948
115305
  verifiedAt: (string | null)
115306
+ /**
115307
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
115308
+ */
114949
115309
  valueCanonical: string
115310
+ /**
115311
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
115312
+ */
114950
115313
  verificationStatus: ("unverified" | "verified" | "expired")
114951
115314
  }[]
115315
+ /**
115316
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
115317
+ */
114952
115318
  lockedUntil: (string | null)
115319
+ /**
115320
+ * When the user last signed in (ISO 8601). Null if they never have.
115321
+ */
114953
115322
  lastSignInAt: (string | null)
115323
+ /**
115324
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
115325
+ */
115326
+ primaryEmail: (string | null)
115327
+ /**
115328
+ * Whether the user must set a new password at their next sign-in.
115329
+ */
114954
115330
  requiresReset: boolean
114955
- publicMetadata: UsersUsersBanOutputPublicMetadata
114956
- unsafeMetadata: UsersUsersBanOutputPublicMetadata
114957
- privateMetadata: UsersUsersBanOutputPublicMetadata
114958
- emailChangeLockedUntil: (string | null)
115331
+ /**
115332
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
115333
+ */
115334
+ publicMetadata: {
115335
+ [k: string]: unknown
114959
115336
  }
114960
- export interface UsersUsersBanOutputPublicMetadata {
115337
+ /**
115338
+ * Metadata the end user may write themselves. Treat it as untrusted.
115339
+ */
115340
+ unsafeMetadata: {
114961
115341
  [k: string]: unknown
114962
115342
  }
115343
+ /**
115344
+ * Metadata for the management plane only. Never reaches the end user or a token.
115345
+ */
115346
+ privateMetadata: {
115347
+ [k: string]: unknown
115348
+ }
115349
+ /**
115350
+ * Id of the primary identifier row. Null when there is no primary identifier.
115351
+ */
115352
+ primaryIdentifierId: (string | null)
115353
+ /**
115354
+ * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
115355
+ */
115356
+ emailChangeLockedUntil: (string | null)
115357
+ }
114963
115358
 
114964
115359
  export interface UsersUsersCreateInput {
114965
115360
  /**
@@ -115062,37 +115457,126 @@ export interface UsersUsersCreateInputPublicMetadata1 {
115062
115457
  }
115063
115458
 
115064
115459
  export interface UsersUsersCreateOutput {
115460
+ /**
115461
+ * Id of this end user. Pass it to any users_users_* tool.
115462
+ */
115065
115463
  id: string
115464
+ /**
115465
+ * The user's display name. Null when nobody set one.
115466
+ */
115066
115467
  name: (string | null)
115468
+ /**
115469
+ * When the user was banned (ISO 8601). Null while they are not banned.
115470
+ */
115067
115471
  bannedAt: (string | null)
115472
+ /**
115473
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
115474
+ */
115068
115475
  erasedAt: (string | null)
115476
+ /**
115477
+ * URL of the user's avatar. Null when there is none.
115478
+ */
115069
115479
  imageUrl: (string | null)
115480
+ /**
115481
+ * Whether this is a test fixture — excluded from metering and from the default listing.
115482
+ */
115070
115483
  testUser: boolean
115484
+ /**
115485
+ * When the user was created (ISO 8601).
115486
+ */
115071
115487
  createdAt: string
115488
+ /**
115489
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
115490
+ */
115072
115491
  deletedAt: (string | null)
115492
+ /**
115493
+ * Product this user belongs to. Never an input — it comes from the calling identity.
115494
+ */
115073
115495
  productId: string
115496
+ /**
115497
+ * When the user was last changed (ISO 8601).
115498
+ */
115074
115499
  updatedAt: string
115500
+ /**
115501
+ * Whether this user is still on the waitlist and cannot sign in yet.
115502
+ */
115075
115503
  waitlisted: boolean
115504
+ /**
115505
+ * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
115506
+ */
115076
115507
  identifiers: {
115508
+ /**
115509
+ * Id of this identifier row.
115510
+ */
115077
115511
  id: string
115512
+ /**
115513
+ * What kind of identifier this is. Today always `email`.
115514
+ */
115078
115515
  type: "email"
115516
+ /**
115517
+ * The address as the user typed it, for display.
115518
+ */
115079
115519
  value: string
115520
+ /**
115521
+ * Whether this is the identifier the user signs in with and is contacted at.
115522
+ */
115080
115523
  isPrimary: boolean
115524
+ /**
115525
+ * When this address was verified (ISO 8601). Null while it never was.
115526
+ */
115081
115527
  verifiedAt: (string | null)
115528
+ /**
115529
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
115530
+ */
115082
115531
  valueCanonical: string
115532
+ /**
115533
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
115534
+ */
115083
115535
  verificationStatus: ("unverified" | "verified" | "expired")
115084
115536
  }[]
115537
+ /**
115538
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
115539
+ */
115085
115540
  lockedUntil: (string | null)
115541
+ /**
115542
+ * When the user last signed in (ISO 8601). Null if they never have.
115543
+ */
115086
115544
  lastSignInAt: (string | null)
115545
+ /**
115546
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
115547
+ */
115548
+ primaryEmail: (string | null)
115549
+ /**
115550
+ * Whether the user must set a new password at their next sign-in.
115551
+ */
115087
115552
  requiresReset: boolean
115088
- publicMetadata: UsersUsersCreateOutputPublicMetadata
115089
- unsafeMetadata: UsersUsersCreateOutputPublicMetadata
115090
- privateMetadata: UsersUsersCreateOutputPublicMetadata
115091
- emailChangeLockedUntil: (string | null)
115553
+ /**
115554
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
115555
+ */
115556
+ publicMetadata: {
115557
+ [k: string]: unknown
115558
+ }
115559
+ /**
115560
+ * Metadata the end user may write themselves. Treat it as untrusted.
115561
+ */
115562
+ unsafeMetadata: {
115563
+ [k: string]: unknown
115092
115564
  }
115093
- export interface UsersUsersCreateOutputPublicMetadata {
115565
+ /**
115566
+ * Metadata for the management plane only. Never reaches the end user or a token.
115567
+ */
115568
+ privateMetadata: {
115094
115569
  [k: string]: unknown
115095
115570
  }
115571
+ /**
115572
+ * Id of the primary identifier row. Null when there is no primary identifier.
115573
+ */
115574
+ primaryIdentifierId: (string | null)
115575
+ /**
115576
+ * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
115577
+ */
115578
+ emailChangeLockedUntil: (string | null)
115579
+ }
115096
115580
 
115097
115581
  export interface UsersUsersDeleteInput {
115098
115582
  /**
@@ -115102,37 +115586,126 @@ userId: string
115102
115586
  }
115103
115587
 
115104
115588
  export interface UsersUsersDeleteOutput {
115589
+ /**
115590
+ * Id of this end user. Pass it to any users_users_* tool.
115591
+ */
115105
115592
  id: string
115593
+ /**
115594
+ * The user's display name. Null when nobody set one.
115595
+ */
115106
115596
  name: (string | null)
115597
+ /**
115598
+ * When the user was banned (ISO 8601). Null while they are not banned.
115599
+ */
115107
115600
  bannedAt: (string | null)
115601
+ /**
115602
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
115603
+ */
115108
115604
  erasedAt: (string | null)
115605
+ /**
115606
+ * URL of the user's avatar. Null when there is none.
115607
+ */
115109
115608
  imageUrl: (string | null)
115609
+ /**
115610
+ * Whether this is a test fixture — excluded from metering and from the default listing.
115611
+ */
115110
115612
  testUser: boolean
115613
+ /**
115614
+ * When the user was created (ISO 8601).
115615
+ */
115111
115616
  createdAt: string
115617
+ /**
115618
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
115619
+ */
115112
115620
  deletedAt: (string | null)
115621
+ /**
115622
+ * Product this user belongs to. Never an input — it comes from the calling identity.
115623
+ */
115113
115624
  productId: string
115625
+ /**
115626
+ * When the user was last changed (ISO 8601).
115627
+ */
115114
115628
  updatedAt: string
115629
+ /**
115630
+ * Whether this user is still on the waitlist and cannot sign in yet.
115631
+ */
115115
115632
  waitlisted: boolean
115633
+ /**
115634
+ * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
115635
+ */
115116
115636
  identifiers: {
115637
+ /**
115638
+ * Id of this identifier row.
115639
+ */
115117
115640
  id: string
115641
+ /**
115642
+ * What kind of identifier this is. Today always `email`.
115643
+ */
115118
115644
  type: "email"
115645
+ /**
115646
+ * The address as the user typed it, for display.
115647
+ */
115119
115648
  value: string
115649
+ /**
115650
+ * Whether this is the identifier the user signs in with and is contacted at.
115651
+ */
115120
115652
  isPrimary: boolean
115653
+ /**
115654
+ * When this address was verified (ISO 8601). Null while it never was.
115655
+ */
115121
115656
  verifiedAt: (string | null)
115657
+ /**
115658
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
115659
+ */
115122
115660
  valueCanonical: string
115661
+ /**
115662
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
115663
+ */
115123
115664
  verificationStatus: ("unverified" | "verified" | "expired")
115124
115665
  }[]
115666
+ /**
115667
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
115668
+ */
115125
115669
  lockedUntil: (string | null)
115670
+ /**
115671
+ * When the user last signed in (ISO 8601). Null if they never have.
115672
+ */
115126
115673
  lastSignInAt: (string | null)
115674
+ /**
115675
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
115676
+ */
115677
+ primaryEmail: (string | null)
115678
+ /**
115679
+ * Whether the user must set a new password at their next sign-in.
115680
+ */
115127
115681
  requiresReset: boolean
115128
- publicMetadata: UsersUsersDeleteOutputPublicMetadata
115129
- unsafeMetadata: UsersUsersDeleteOutputPublicMetadata
115130
- privateMetadata: UsersUsersDeleteOutputPublicMetadata
115131
- emailChangeLockedUntil: (string | null)
115682
+ /**
115683
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
115684
+ */
115685
+ publicMetadata: {
115686
+ [k: string]: unknown
115132
115687
  }
115133
- export interface UsersUsersDeleteOutputPublicMetadata {
115688
+ /**
115689
+ * Metadata the end user may write themselves. Treat it as untrusted.
115690
+ */
115691
+ unsafeMetadata: {
115134
115692
  [k: string]: unknown
115135
115693
  }
115694
+ /**
115695
+ * Metadata for the management plane only. Never reaches the end user or a token.
115696
+ */
115697
+ privateMetadata: {
115698
+ [k: string]: unknown
115699
+ }
115700
+ /**
115701
+ * Id of the primary identifier row. Null when there is no primary identifier.
115702
+ */
115703
+ primaryIdentifierId: (string | null)
115704
+ /**
115705
+ * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
115706
+ */
115707
+ emailChangeLockedUntil: (string | null)
115708
+ }
115136
115709
 
115137
115710
  export interface UsersUsersExportInput {
115138
115711
  /**
@@ -115160,40 +115733,129 @@ includeDeleted?: boolean
115160
115733
  export interface UsersUsersExportOutput {
115161
115734
  count: number
115162
115735
  users: {
115736
+ /**
115737
+ * Id of this end user. Pass it to any users_users_* tool.
115738
+ */
115163
115739
  id: string
115740
+ /**
115741
+ * The user's display name. Null when nobody set one.
115742
+ */
115164
115743
  name: (string | null)
115744
+ /**
115745
+ * When the user was banned (ISO 8601). Null while they are not banned.
115746
+ */
115165
115747
  bannedAt: (string | null)
115748
+ /**
115749
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
115750
+ */
115166
115751
  erasedAt: (string | null)
115752
+ /**
115753
+ * URL of the user's avatar. Null when there is none.
115754
+ */
115167
115755
  imageUrl: (string | null)
115756
+ /**
115757
+ * Whether this is a test fixture — excluded from metering and from the default listing.
115758
+ */
115168
115759
  testUser: boolean
115760
+ /**
115761
+ * When the user was created (ISO 8601).
115762
+ */
115169
115763
  createdAt: string
115764
+ /**
115765
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
115766
+ */
115170
115767
  deletedAt: (string | null)
115768
+ /**
115769
+ * Product this user belongs to. Never an input — it comes from the calling identity.
115770
+ */
115171
115771
  productId: string
115772
+ /**
115773
+ * When the user was last changed (ISO 8601).
115774
+ */
115172
115775
  updatedAt: string
115776
+ /**
115777
+ * Whether this user is still on the waitlist and cannot sign in yet.
115778
+ */
115173
115779
  waitlisted: boolean
115780
+ /**
115781
+ * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
115782
+ */
115174
115783
  identifiers: {
115784
+ /**
115785
+ * Id of this identifier row.
115786
+ */
115175
115787
  id: string
115788
+ /**
115789
+ * What kind of identifier this is. Today always `email`.
115790
+ */
115176
115791
  type: "email"
115792
+ /**
115793
+ * The address as the user typed it, for display.
115794
+ */
115177
115795
  value: string
115796
+ /**
115797
+ * Whether this is the identifier the user signs in with and is contacted at.
115798
+ */
115178
115799
  isPrimary: boolean
115800
+ /**
115801
+ * When this address was verified (ISO 8601). Null while it never was.
115802
+ */
115179
115803
  verifiedAt: (string | null)
115804
+ /**
115805
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
115806
+ */
115180
115807
  valueCanonical: string
115808
+ /**
115809
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
115810
+ */
115181
115811
  verificationStatus: ("unverified" | "verified" | "expired")
115182
115812
  }[]
115813
+ /**
115814
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
115815
+ */
115183
115816
  lockedUntil: (string | null)
115817
+ /**
115818
+ * When the user last signed in (ISO 8601). Null if they never have.
115819
+ */
115184
115820
  lastSignInAt: (string | null)
115821
+ /**
115822
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
115823
+ */
115824
+ primaryEmail: (string | null)
115825
+ /**
115826
+ * Whether the user must set a new password at their next sign-in.
115827
+ */
115185
115828
  requiresReset: boolean
115186
- publicMetadata: UsersUsersExportOutputPublicMetadata
115187
- unsafeMetadata: UsersUsersExportOutputPublicMetadata
115188
- privateMetadata: UsersUsersExportOutputPublicMetadata
115829
+ /**
115830
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
115831
+ */
115832
+ publicMetadata: {
115833
+ [k: string]: unknown
115834
+ }
115835
+ /**
115836
+ * Metadata the end user may write themselves. Treat it as untrusted.
115837
+ */
115838
+ unsafeMetadata: {
115839
+ [k: string]: unknown
115840
+ }
115841
+ /**
115842
+ * Metadata for the management plane only. Never reaches the end user or a token.
115843
+ */
115844
+ privateMetadata: {
115845
+ [k: string]: unknown
115846
+ }
115847
+ /**
115848
+ * Id of the primary identifier row. Null when there is no primary identifier.
115849
+ */
115850
+ primaryIdentifierId: (string | null)
115851
+ /**
115852
+ * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
115853
+ */
115189
115854
  emailChangeLockedUntil: (string | null)
115190
115855
  }[]
115191
115856
  exportedAt: string
115192
115857
  nextCursor: (string | null)
115193
115858
  }
115194
- export interface UsersUsersExportOutputPublicMetadata {
115195
- [k: string]: unknown
115196
- }
115197
115859
 
115198
115860
  export interface UsersUsersGetInput {
115199
115861
  /**
@@ -115203,37 +115865,126 @@ userId: string
115203
115865
  }
115204
115866
 
115205
115867
  export interface UsersUsersGetOutput {
115868
+ /**
115869
+ * Id of this end user. Pass it to any users_users_* tool.
115870
+ */
115206
115871
  id: string
115872
+ /**
115873
+ * The user's display name. Null when nobody set one.
115874
+ */
115207
115875
  name: (string | null)
115876
+ /**
115877
+ * When the user was banned (ISO 8601). Null while they are not banned.
115878
+ */
115208
115879
  bannedAt: (string | null)
115880
+ /**
115881
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
115882
+ */
115209
115883
  erasedAt: (string | null)
115884
+ /**
115885
+ * URL of the user's avatar. Null when there is none.
115886
+ */
115210
115887
  imageUrl: (string | null)
115888
+ /**
115889
+ * Whether this is a test fixture — excluded from metering and from the default listing.
115890
+ */
115211
115891
  testUser: boolean
115892
+ /**
115893
+ * When the user was created (ISO 8601).
115894
+ */
115212
115895
  createdAt: string
115896
+ /**
115897
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
115898
+ */
115213
115899
  deletedAt: (string | null)
115900
+ /**
115901
+ * Product this user belongs to. Never an input — it comes from the calling identity.
115902
+ */
115214
115903
  productId: string
115904
+ /**
115905
+ * When the user was last changed (ISO 8601).
115906
+ */
115215
115907
  updatedAt: string
115908
+ /**
115909
+ * Whether this user is still on the waitlist and cannot sign in yet.
115910
+ */
115216
115911
  waitlisted: boolean
115912
+ /**
115913
+ * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
115914
+ */
115217
115915
  identifiers: {
115916
+ /**
115917
+ * Id of this identifier row.
115918
+ */
115218
115919
  id: string
115920
+ /**
115921
+ * What kind of identifier this is. Today always `email`.
115922
+ */
115219
115923
  type: "email"
115924
+ /**
115925
+ * The address as the user typed it, for display.
115926
+ */
115220
115927
  value: string
115928
+ /**
115929
+ * Whether this is the identifier the user signs in with and is contacted at.
115930
+ */
115221
115931
  isPrimary: boolean
115932
+ /**
115933
+ * When this address was verified (ISO 8601). Null while it never was.
115934
+ */
115222
115935
  verifiedAt: (string | null)
115936
+ /**
115937
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
115938
+ */
115223
115939
  valueCanonical: string
115940
+ /**
115941
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
115942
+ */
115224
115943
  verificationStatus: ("unverified" | "verified" | "expired")
115225
115944
  }[]
115945
+ /**
115946
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
115947
+ */
115226
115948
  lockedUntil: (string | null)
115949
+ /**
115950
+ * When the user last signed in (ISO 8601). Null if they never have.
115951
+ */
115227
115952
  lastSignInAt: (string | null)
115953
+ /**
115954
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
115955
+ */
115956
+ primaryEmail: (string | null)
115957
+ /**
115958
+ * Whether the user must set a new password at their next sign-in.
115959
+ */
115228
115960
  requiresReset: boolean
115229
- publicMetadata: UsersUsersGetOutputPublicMetadata
115230
- unsafeMetadata: UsersUsersGetOutputPublicMetadata
115231
- privateMetadata: UsersUsersGetOutputPublicMetadata
115232
- emailChangeLockedUntil: (string | null)
115961
+ /**
115962
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
115963
+ */
115964
+ publicMetadata: {
115965
+ [k: string]: unknown
115233
115966
  }
115234
- export interface UsersUsersGetOutputPublicMetadata {
115967
+ /**
115968
+ * Metadata the end user may write themselves. Treat it as untrusted.
115969
+ */
115970
+ unsafeMetadata: {
115971
+ [k: string]: unknown
115972
+ }
115973
+ /**
115974
+ * Metadata for the management plane only. Never reaches the end user or a token.
115975
+ */
115976
+ privateMetadata: {
115235
115977
  [k: string]: unknown
115236
115978
  }
115979
+ /**
115980
+ * Id of the primary identifier row. Null when there is no primary identifier.
115981
+ */
115982
+ primaryIdentifierId: (string | null)
115983
+ /**
115984
+ * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
115985
+ */
115986
+ emailChangeLockedUntil: (string | null)
115987
+ }
115237
115988
 
115238
115989
  export interface UsersUsersImportInput {
115239
115990
  /**
@@ -115246,15 +115997,42 @@ users: [unknown, ...(unknown)[]]
115246
115997
  }
115247
115998
 
115248
115999
  export interface UsersUsersImportOutput {
116000
+ /**
116001
+ * How many rows could not be imported at all.
116002
+ */
115249
116003
  failed: number
116004
+ /**
116005
+ * How many users were created.
116006
+ */
115250
116007
  created: number
116008
+ /**
116009
+ * One row per submitted row, in the order you sent them.
116010
+ */
115251
116011
  results: {
116012
+ /**
116013
+ * Zero-based index of the row in the `users` array you sent.
116014
+ */
115252
116015
  row: number
116016
+ /**
116017
+ * Why it was skipped, or what went wrong. Null for a created row.
116018
+ */
115253
116019
  reason: (string | null)
116020
+ /**
116021
+ * What happened to this row.
116022
+ */
115254
116023
  status: ("created" | "skipped" | "failed")
116024
+ /**
116025
+ * The created user's id. Null for skipped and failed rows.
116026
+ */
115255
116027
  userId: (string | null)
115256
116028
  }[]
116029
+ /**
116030
+ * How many rows were passed over — an address already in the directory, typically.
116031
+ */
115257
116032
  skipped: number
116033
+ /**
116034
+ * How many rows you submitted.
116035
+ */
115258
116036
  requested: number
115259
116037
  }
115260
116038
 
@@ -115282,9 +116060,21 @@ privateMetadata?: {
115282
116060
  }
115283
116061
 
115284
116062
  export interface UsersUsersInviteOutput {
116063
+ /**
116064
+ * False when the re-invite cooldown or the mail toolkit refused the send. The invite is still live.
116065
+ */
115285
116066
  mailed: boolean
116067
+ /**
116068
+ * The invited user, created immediately and listed straight away — they simply cannot sign in until they accept.
116069
+ */
115286
116070
  userId: string
116071
+ /**
116072
+ * False when this address had already been invited; the same user is returned.
116073
+ */
115287
116074
  created: boolean
116075
+ /**
116076
+ * When the invite link stops working (ISO 8601).
116077
+ */
115288
116078
  expiresAt: string
115289
116079
  }
115290
116080
 
@@ -115320,40 +116110,135 @@ includeWaitlisted?: boolean
115320
116110
  }
115321
116111
 
115322
116112
  export interface UsersUsersListOutput {
116113
+ /**
116114
+ * The page of users, newest first.
116115
+ */
115323
116116
  users: {
116117
+ /**
116118
+ * Id of this end user. Pass it to any users_users_* tool.
116119
+ */
115324
116120
  id: string
116121
+ /**
116122
+ * The user's display name. Null when nobody set one.
116123
+ */
115325
116124
  name: (string | null)
116125
+ /**
116126
+ * When the user was banned (ISO 8601). Null while they are not banned.
116127
+ */
115326
116128
  bannedAt: (string | null)
116129
+ /**
116130
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
116131
+ */
115327
116132
  erasedAt: (string | null)
116133
+ /**
116134
+ * URL of the user's avatar. Null when there is none.
116135
+ */
115328
116136
  imageUrl: (string | null)
116137
+ /**
116138
+ * Whether this is a test fixture — excluded from metering and from the default listing.
116139
+ */
115329
116140
  testUser: boolean
116141
+ /**
116142
+ * When the user was created (ISO 8601).
116143
+ */
115330
116144
  createdAt: string
116145
+ /**
116146
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
116147
+ */
115331
116148
  deletedAt: (string | null)
116149
+ /**
116150
+ * Product this user belongs to. Never an input — it comes from the calling identity.
116151
+ */
115332
116152
  productId: string
116153
+ /**
116154
+ * When the user was last changed (ISO 8601).
116155
+ */
115333
116156
  updatedAt: string
116157
+ /**
116158
+ * Whether this user is still on the waitlist and cannot sign in yet.
116159
+ */
115334
116160
  waitlisted: boolean
116161
+ /**
116162
+ * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
116163
+ */
115335
116164
  identifiers: {
116165
+ /**
116166
+ * Id of this identifier row.
116167
+ */
115336
116168
  id: string
116169
+ /**
116170
+ * What kind of identifier this is. Today always `email`.
116171
+ */
115337
116172
  type: "email"
116173
+ /**
116174
+ * The address as the user typed it, for display.
116175
+ */
115338
116176
  value: string
116177
+ /**
116178
+ * Whether this is the identifier the user signs in with and is contacted at.
116179
+ */
115339
116180
  isPrimary: boolean
116181
+ /**
116182
+ * When this address was verified (ISO 8601). Null while it never was.
116183
+ */
115340
116184
  verifiedAt: (string | null)
116185
+ /**
116186
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
116187
+ */
115341
116188
  valueCanonical: string
116189
+ /**
116190
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
116191
+ */
115342
116192
  verificationStatus: ("unverified" | "verified" | "expired")
115343
116193
  }[]
116194
+ /**
116195
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
116196
+ */
115344
116197
  lockedUntil: (string | null)
116198
+ /**
116199
+ * When the user last signed in (ISO 8601). Null if they never have.
116200
+ */
115345
116201
  lastSignInAt: (string | null)
116202
+ /**
116203
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
116204
+ */
116205
+ primaryEmail: (string | null)
116206
+ /**
116207
+ * Whether the user must set a new password at their next sign-in.
116208
+ */
115346
116209
  requiresReset: boolean
115347
- publicMetadata: UsersUsersListOutputPublicMetadata
115348
- unsafeMetadata: UsersUsersListOutputPublicMetadata
115349
- privateMetadata: UsersUsersListOutputPublicMetadata
116210
+ /**
116211
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
116212
+ */
116213
+ publicMetadata: {
116214
+ [k: string]: unknown
116215
+ }
116216
+ /**
116217
+ * Metadata the end user may write themselves. Treat it as untrusted.
116218
+ */
116219
+ unsafeMetadata: {
116220
+ [k: string]: unknown
116221
+ }
116222
+ /**
116223
+ * Metadata for the management plane only. Never reaches the end user or a token.
116224
+ */
116225
+ privateMetadata: {
116226
+ [k: string]: unknown
116227
+ }
116228
+ /**
116229
+ * Id of the primary identifier row. Null when there is no primary identifier.
116230
+ */
116231
+ primaryIdentifierId: (string | null)
116232
+ /**
116233
+ * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
116234
+ */
115350
116235
  emailChangeLockedUntil: (string | null)
115351
116236
  }[]
116237
+ /**
116238
+ * Pass back as `cursor` to fetch the next page. Null when this page is the last.
116239
+ */
115352
116240
  nextCursor: (string | null)
115353
116241
  }
115354
- export interface UsersUsersListOutputPublicMetadata {
115355
- [k: string]: unknown
115356
- }
115357
116242
 
115358
116243
  export interface UsersUsersSetPrimaryIdentifierInput {
115359
116244
  /**
@@ -115371,7 +116256,13 @@ userId: string
115371
116256
  }
115372
116257
 
115373
116258
  export interface UsersUsersSetPrimaryIdentifierOutput {
116259
+ /**
116260
+ * Id of the scheduled change. It appears in the audit rows and in the abort link mailed to the old address.
116261
+ */
115374
116262
  requestId: string
116263
+ /**
116264
+ * When the swap becomes applicable, if nobody aborts it first (ISO 8601). The delay is this product's `emailChange.overrideDelayHours`, 72 by default.
116265
+ */
115375
116266
  scheduledFor: string
115376
116267
  }
115377
116268
 
@@ -115383,37 +116274,126 @@ userId: string
115383
116274
  }
115384
116275
 
115385
116276
  export interface UsersUsersUnbanOutput {
116277
+ /**
116278
+ * Id of this end user. Pass it to any users_users_* tool.
116279
+ */
115386
116280
  id: string
116281
+ /**
116282
+ * The user's display name. Null when nobody set one.
116283
+ */
115387
116284
  name: (string | null)
116285
+ /**
116286
+ * When the user was banned (ISO 8601). Null while they are not banned.
116287
+ */
115388
116288
  bannedAt: (string | null)
116289
+ /**
116290
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
116291
+ */
115389
116292
  erasedAt: (string | null)
116293
+ /**
116294
+ * URL of the user's avatar. Null when there is none.
116295
+ */
115390
116296
  imageUrl: (string | null)
116297
+ /**
116298
+ * Whether this is a test fixture — excluded from metering and from the default listing.
116299
+ */
115391
116300
  testUser: boolean
116301
+ /**
116302
+ * When the user was created (ISO 8601).
116303
+ */
115392
116304
  createdAt: string
116305
+ /**
116306
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
116307
+ */
115393
116308
  deletedAt: (string | null)
116309
+ /**
116310
+ * Product this user belongs to. Never an input — it comes from the calling identity.
116311
+ */
115394
116312
  productId: string
116313
+ /**
116314
+ * When the user was last changed (ISO 8601).
116315
+ */
115395
116316
  updatedAt: string
116317
+ /**
116318
+ * Whether this user is still on the waitlist and cannot sign in yet.
116319
+ */
115396
116320
  waitlisted: boolean
116321
+ /**
116322
+ * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
116323
+ */
115397
116324
  identifiers: {
116325
+ /**
116326
+ * Id of this identifier row.
116327
+ */
115398
116328
  id: string
116329
+ /**
116330
+ * What kind of identifier this is. Today always `email`.
116331
+ */
115399
116332
  type: "email"
116333
+ /**
116334
+ * The address as the user typed it, for display.
116335
+ */
115400
116336
  value: string
116337
+ /**
116338
+ * Whether this is the identifier the user signs in with and is contacted at.
116339
+ */
115401
116340
  isPrimary: boolean
116341
+ /**
116342
+ * When this address was verified (ISO 8601). Null while it never was.
116343
+ */
115402
116344
  verifiedAt: (string | null)
116345
+ /**
116346
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
116347
+ */
115403
116348
  valueCanonical: string
116349
+ /**
116350
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
116351
+ */
115404
116352
  verificationStatus: ("unverified" | "verified" | "expired")
115405
116353
  }[]
116354
+ /**
116355
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
116356
+ */
115406
116357
  lockedUntil: (string | null)
116358
+ /**
116359
+ * When the user last signed in (ISO 8601). Null if they never have.
116360
+ */
115407
116361
  lastSignInAt: (string | null)
116362
+ /**
116363
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
116364
+ */
116365
+ primaryEmail: (string | null)
116366
+ /**
116367
+ * Whether the user must set a new password at their next sign-in.
116368
+ */
115408
116369
  requiresReset: boolean
115409
- publicMetadata: UsersUsersUnbanOutputPublicMetadata
115410
- unsafeMetadata: UsersUsersUnbanOutputPublicMetadata
115411
- privateMetadata: UsersUsersUnbanOutputPublicMetadata
115412
- emailChangeLockedUntil: (string | null)
116370
+ /**
116371
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
116372
+ */
116373
+ publicMetadata: {
116374
+ [k: string]: unknown
116375
+ }
116376
+ /**
116377
+ * Metadata the end user may write themselves. Treat it as untrusted.
116378
+ */
116379
+ unsafeMetadata: {
116380
+ [k: string]: unknown
115413
116381
  }
115414
- export interface UsersUsersUnbanOutputPublicMetadata {
116382
+ /**
116383
+ * Metadata for the management plane only. Never reaches the end user or a token.
116384
+ */
116385
+ privateMetadata: {
115415
116386
  [k: string]: unknown
115416
116387
  }
116388
+ /**
116389
+ * Id of the primary identifier row. Null when there is no primary identifier.
116390
+ */
116391
+ primaryIdentifierId: (string | null)
116392
+ /**
116393
+ * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
116394
+ */
116395
+ emailChangeLockedUntil: (string | null)
116396
+ }
115417
116397
 
115418
116398
  export interface UsersUsersUpdateInput {
115419
116399
  /**
@@ -115463,37 +116443,126 @@ export interface UsersUsersUpdateInputPublicMetadata1 {
115463
116443
  }
115464
116444
 
115465
116445
  export interface UsersUsersUpdateOutput {
116446
+ /**
116447
+ * Id of this end user. Pass it to any users_users_* tool.
116448
+ */
115466
116449
  id: string
116450
+ /**
116451
+ * The user's display name. Null when nobody set one.
116452
+ */
115467
116453
  name: (string | null)
116454
+ /**
116455
+ * When the user was banned (ISO 8601). Null while they are not banned.
116456
+ */
115468
116457
  bannedAt: (string | null)
116458
+ /**
116459
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
116460
+ */
115469
116461
  erasedAt: (string | null)
116462
+ /**
116463
+ * URL of the user's avatar. Null when there is none.
116464
+ */
115470
116465
  imageUrl: (string | null)
116466
+ /**
116467
+ * Whether this is a test fixture — excluded from metering and from the default listing.
116468
+ */
115471
116469
  testUser: boolean
116470
+ /**
116471
+ * When the user was created (ISO 8601).
116472
+ */
115472
116473
  createdAt: string
116474
+ /**
116475
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
116476
+ */
115473
116477
  deletedAt: (string | null)
116478
+ /**
116479
+ * Product this user belongs to. Never an input — it comes from the calling identity.
116480
+ */
115474
116481
  productId: string
116482
+ /**
116483
+ * When the user was last changed (ISO 8601).
116484
+ */
115475
116485
  updatedAt: string
116486
+ /**
116487
+ * Whether this user is still on the waitlist and cannot sign in yet.
116488
+ */
115476
116489
  waitlisted: boolean
116490
+ /**
116491
+ * Every identifier of this user, the primary one flagged. To bind the primary address itself, use `primaryEmail` — `identifiers.0` means "the first", not "the primary".
116492
+ */
115477
116493
  identifiers: {
116494
+ /**
116495
+ * Id of this identifier row.
116496
+ */
115478
116497
  id: string
116498
+ /**
116499
+ * What kind of identifier this is. Today always `email`.
116500
+ */
115479
116501
  type: "email"
116502
+ /**
116503
+ * The address as the user typed it, for display.
116504
+ */
115480
116505
  value: string
116506
+ /**
116507
+ * Whether this is the identifier the user signs in with and is contacted at.
116508
+ */
115481
116509
  isPrimary: boolean
116510
+ /**
116511
+ * When this address was verified (ISO 8601). Null while it never was.
116512
+ */
115482
116513
  verifiedAt: (string | null)
116514
+ /**
116515
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
116516
+ */
115483
116517
  valueCanonical: string
116518
+ /**
116519
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
116520
+ */
115484
116521
  verificationStatus: ("unverified" | "verified" | "expired")
115485
116522
  }[]
116523
+ /**
116524
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
116525
+ */
115486
116526
  lockedUntil: (string | null)
116527
+ /**
116528
+ * When the user last signed in (ISO 8601). Null if they never have.
116529
+ */
115487
116530
  lastSignInAt: (string | null)
116531
+ /**
116532
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
116533
+ */
116534
+ primaryEmail: (string | null)
116535
+ /**
116536
+ * Whether the user must set a new password at their next sign-in.
116537
+ */
115488
116538
  requiresReset: boolean
115489
- publicMetadata: UsersUsersUpdateOutputPublicMetadata
115490
- unsafeMetadata: UsersUsersUpdateOutputPublicMetadata
115491
- privateMetadata: UsersUsersUpdateOutputPublicMetadata
115492
- emailChangeLockedUntil: (string | null)
116539
+ /**
116540
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
116541
+ */
116542
+ publicMetadata: {
116543
+ [k: string]: unknown
115493
116544
  }
115494
- export interface UsersUsersUpdateOutputPublicMetadata {
116545
+ /**
116546
+ * Metadata the end user may write themselves. Treat it as untrusted.
116547
+ */
116548
+ unsafeMetadata: {
116549
+ [k: string]: unknown
116550
+ }
116551
+ /**
116552
+ * Metadata for the management plane only. Never reaches the end user or a token.
116553
+ */
116554
+ privateMetadata: {
115495
116555
  [k: string]: unknown
115496
116556
  }
116557
+ /**
116558
+ * Id of the primary identifier row. Null when there is no primary identifier.
116559
+ */
116560
+ primaryIdentifierId: (string | null)
116561
+ /**
116562
+ * Until this instant the user may not start another email change, because somebody reverted one (ISO 8601). Null for a user who never reverted one.
116563
+ */
116564
+ emailChangeLockedUntil: (string | null)
116565
+ }
115497
116566
 
115498
116567
  export interface UsersWaitlistFunnelInput {
115499
116568
 
@@ -115508,6 +116577,64 @@ registered: number
115508
116577
  unconfirmed: number
115509
116578
  }
115510
116579
 
116580
+ export interface UsersWaitlistGetInput {
116581
+ /**
116582
+ * The waitlisted user to read — the `userId` from `users_waitlist_list`.
116583
+ */
116584
+ userId: string
116585
+ }
116586
+
116587
+ export interface UsersWaitlistGetOutput {
116588
+ /**
116589
+ * Where in the funnel this entry is: `pending`, `invited`, `registered` or `withdrawn`.
116590
+ */
116591
+ status: ("pending" | "invited" | "registered" | "withdrawn")
116592
+ /**
116593
+ * The waitlisted user. Every users_users_* tool takes this id.
116594
+ */
116595
+ userId: string
116596
+ /**
116597
+ * When the entry joined the waitlist (ISO 8601).
116598
+ */
116599
+ createdAt: string
116600
+ /**
116601
+ * When the invite was sent (ISO 8601). Null while the entry is pending.
116602
+ */
116603
+ invitedAt: (string | null)
116604
+ /**
116605
+ * The email address that signed up.
116606
+ */
116607
+ identifier: string
116608
+ /**
116609
+ * Where the signup came from — the campaign, referrer and landing page recorded at the time.
116610
+ */
116611
+ attribution: {
116612
+ [k: string]: unknown
116613
+ }
116614
+ /**
116615
+ * When the address confirmed a double opt-in (ISO 8601). Null when it never did.
116616
+ */
116617
+ confirmedAt: (string | null)
116618
+ /**
116619
+ * When the address asked to be taken off the list (ISO 8601). Null when it did not.
116620
+ */
116621
+ withdrawnAt: (string | null)
116622
+ /**
116623
+ * What was recorded to show this address consented: when, from where, and under which wording.
116624
+ */
116625
+ consentProof: {
116626
+ [k: string]: unknown
116627
+ }
116628
+ /**
116629
+ * When the invitee finished signing up (ISO 8601). Null until they do.
116630
+ */
116631
+ registeredAt: (string | null)
116632
+ /**
116633
+ * Id of the live invite token. Null while the entry has not been invited.
116634
+ */
116635
+ inviteTokenId: (string | null)
116636
+ }
116637
+
115511
116638
  export interface UsersWaitlistImportInput {
115512
116639
  /**
115513
116640
  * The legacy signups to import, at most 500 per call — batch client-side beyond that.
@@ -115673,15 +116800,42 @@ unsafeMetadata?: {
115673
116800
  }
115674
116801
 
115675
116802
  export interface UsersWaitlistImportOutput {
116803
+ /**
116804
+ * How many could not be imported at all.
116805
+ */
115676
116806
  failed: number
116807
+ /**
116808
+ * One row per submitted row, in the order you sent them.
116809
+ */
115677
116810
  results: {
116811
+ /**
116812
+ * Zero-based index of the row in the array you sent.
116813
+ */
115678
116814
  row: number
116815
+ /**
116816
+ * Why it was skipped, or what went wrong. Null for an imported row.
116817
+ */
115679
116818
  reason: (string | null)
116819
+ /**
116820
+ * What happened to this row.
116821
+ */
115680
116822
  status: ("imported" | "skipped" | "failed")
116823
+ /**
116824
+ * The waitlisted user this row created. Null for skipped and failed rows.
116825
+ */
115681
116826
  userId: (string | null)
115682
116827
  }[]
116828
+ /**
116829
+ * How many were already on the list or otherwise passed over.
116830
+ */
115683
116831
  skipped: number
116832
+ /**
116833
+ * How many became waitlist entries.
116834
+ */
115684
116835
  imported: number
116836
+ /**
116837
+ * How many rows you submitted.
116838
+ */
115685
116839
  requested: number
115686
116840
  }
115687
116841
 
@@ -115696,12 +116850,30 @@ userIds: [string, ...(string)[]]
115696
116850
  }
115697
116851
 
115698
116852
  export interface UsersWaitlistInviteOutput {
116853
+ /**
116854
+ * How many of the requested users were invited.
116855
+ */
115699
116856
  invited: number
116857
+ /**
116858
+ * One row per user you asked for, in the order you sent them.
116859
+ */
115700
116860
  results: {
116861
+ /**
116862
+ * Why this user was skipped. Null for an invited row.
116863
+ */
115701
116864
  reason: (("suppressed" | "not_found" | "already_registered") | null)
116865
+ /**
116866
+ * Whether this user was invited or passed over.
116867
+ */
115702
116868
  status: ("invited" | "skipped")
116869
+ /**
116870
+ * The user this row is about.
116871
+ */
115703
116872
  userId: string
115704
116873
  }[]
116874
+ /**
116875
+ * How many were passed over — see each row's `reason`.
116876
+ */
115705
116877
  skipped: number
115706
116878
  }
115707
116879
 
@@ -115725,23 +116897,62 @@ confirmed?: boolean
115725
116897
  }
115726
116898
 
115727
116899
  export interface UsersWaitlistListOutput {
116900
+ /**
116901
+ * The page of waitlist entries, newest first.
116902
+ */
115728
116903
  entries: {
116904
+ /**
116905
+ * Where in the funnel this entry is: `pending`, `invited`, `registered` or `withdrawn`.
116906
+ */
115729
116907
  status: ("pending" | "invited" | "registered" | "withdrawn")
116908
+ /**
116909
+ * The waitlisted user. Every users_users_* tool takes this id.
116910
+ */
115730
116911
  userId: string
116912
+ /**
116913
+ * When the entry joined the waitlist (ISO 8601).
116914
+ */
115731
116915
  createdAt: string
116916
+ /**
116917
+ * When the invite was sent (ISO 8601). Null while the entry is pending.
116918
+ */
115732
116919
  invitedAt: (string | null)
116920
+ /**
116921
+ * The email address that signed up.
116922
+ */
115733
116923
  identifier: string
116924
+ /**
116925
+ * Where the signup came from — the campaign, referrer and landing page recorded at the time.
116926
+ */
115734
116927
  attribution: {
115735
116928
  [k: string]: unknown
115736
116929
  }
116930
+ /**
116931
+ * When the address confirmed a double opt-in (ISO 8601). Null when it never did.
116932
+ */
115737
116933
  confirmedAt: (string | null)
116934
+ /**
116935
+ * When the address asked to be taken off the list (ISO 8601). Null when it did not.
116936
+ */
115738
116937
  withdrawnAt: (string | null)
116938
+ /**
116939
+ * What was recorded to show this address consented: when, from where, and under which wording.
116940
+ */
115739
116941
  consentProof: {
115740
116942
  [k: string]: unknown
115741
116943
  }
116944
+ /**
116945
+ * When the invitee finished signing up (ISO 8601). Null until they do.
116946
+ */
115742
116947
  registeredAt: (string | null)
116948
+ /**
116949
+ * Id of the live invite token. Null while the entry has not been invited.
116950
+ */
115743
116951
  inviteTokenId: (string | null)
115744
116952
  }[]
116953
+ /**
116954
+ * Pass back as `cursor` to fetch the next page. Null when this page is the last.
116955
+ */
115745
116956
  nextCursor: (string | null)
115746
116957
  }
115747
116958