@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.
@@ -119974,25 +119974,106 @@ export interface UsersApikeysCreateInput {
119974
119974
  type: ("server" | "publishable");
119975
119975
  }
119976
119976
  export interface UsersApikeysCreateOutput {
119977
+ /**
119978
+ * Id of the key. Pass it to users_apikeys_revoke.
119979
+ */
119977
119980
  id: string;
119981
+ /**
119982
+ * 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.
119983
+ */
119978
119984
  key: string;
119985
+ /**
119986
+ * The label a human gave this key — which backend or environment holds it.
119987
+ */
119988
+ name: string;
119989
+ /**
119990
+ * `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
119991
+ */
119992
+ type: ("server" | "publishable");
119993
+ /**
119994
+ * 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.
119995
+ */
119996
+ value: (string | null);
119997
+ /**
119998
+ * `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
119999
+ */
120000
+ prefix: string;
120001
+ /**
120002
+ * When the key was issued (ISO 8601).
120003
+ */
120004
+ createdAt: string;
120005
+ /**
120006
+ * When the key was revoked (ISO 8601). Null while it still works.
120007
+ */
120008
+ revokedAt: (string | null);
120009
+ }
120010
+ export interface UsersApikeysGetInput {
120011
+ /**
120012
+ * Id of the key to read — the `id` from users_apikeys_list.
120013
+ */
120014
+ id: string;
120015
+ }
120016
+ export interface UsersApikeysGetOutput {
120017
+ /**
120018
+ * Id of the key. Pass it to users_apikeys_revoke.
120019
+ */
120020
+ id: string;
120021
+ /**
120022
+ * The label a human gave this key — which backend or environment holds it.
120023
+ */
119979
120024
  name: string;
120025
+ /**
120026
+ * `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
120027
+ */
119980
120028
  type: ("server" | "publishable");
120029
+ /**
120030
+ * 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.
120031
+ */
119981
120032
  value: (string | null);
120033
+ /**
120034
+ * `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
120035
+ */
119982
120036
  prefix: string;
120037
+ /**
120038
+ * When the key was issued (ISO 8601).
120039
+ */
119983
120040
  createdAt: string;
120041
+ /**
120042
+ * When the key was revoked (ISO 8601). Null while it still works.
120043
+ */
119984
120044
  revokedAt: (string | null);
119985
120045
  }
119986
120046
  export interface UsersApikeysListInput {
119987
120047
  }
119988
120048
  export interface UsersApikeysListOutput {
119989
120049
  keys: {
120050
+ /**
120051
+ * Id of the key. Pass it to users_apikeys_revoke.
120052
+ */
119990
120053
  id: string;
120054
+ /**
120055
+ * The label a human gave this key — which backend or environment holds it.
120056
+ */
119991
120057
  name: string;
120058
+ /**
120059
+ * `server` for a secret backend key (usk_…), `publishable` for a browser-safe one (upk_…).
120060
+ */
119992
120061
  type: ("server" | "publishable");
120062
+ /**
120063
+ * 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.
120064
+ */
119993
120065
  value: (string | null);
120066
+ /**
120067
+ * `usk_`/`upk_` plus six characters — enough to recognise a key, never to use one.
120068
+ */
119994
120069
  prefix: string;
120070
+ /**
120071
+ * When the key was issued (ISO 8601).
120072
+ */
119995
120073
  createdAt: string;
120074
+ /**
120075
+ * When the key was revoked (ISO 8601). Null while it still works.
120076
+ */
119996
120077
  revokedAt: (string | null);
119997
120078
  }[];
119998
120079
  }
@@ -120003,7 +120084,13 @@ export interface UsersApikeysRevokeInput {
120003
120084
  id: string;
120004
120085
  }
120005
120086
  export interface UsersApikeysRevokeOutput {
120087
+ /**
120088
+ * Id of the key that was revoked.
120089
+ */
120006
120090
  id: string;
120091
+ /**
120092
+ * Always true — revocation is immediate and final.
120093
+ */
120007
120094
  revoked: true;
120008
120095
  }
120009
120096
  export interface UsersAuditListInput {
@@ -120037,21 +120124,60 @@ export interface UsersAuditListInput {
120037
120124
  targetType?: string;
120038
120125
  }
120039
120126
  export interface UsersAuditListOutput {
120127
+ /**
120128
+ * The page of audit events, newest first.
120129
+ */
120040
120130
  events: {
120131
+ /**
120132
+ * Id of this audit row.
120133
+ */
120041
120134
  id: string;
120135
+ /**
120136
+ * IP the action came from. Null when it was not an HTTP action.
120137
+ */
120042
120138
  ip: (string | null);
120139
+ /**
120140
+ * What happened, as a dotted name — `user.created`, `passkey.deleted`, `email_change.override_applied`.
120141
+ */
120043
120142
  action: string;
120143
+ /**
120144
+ * Id of the actor. Null for a system action.
120145
+ */
120044
120146
  actorId: (string | null);
120147
+ /**
120148
+ * Action-specific detail — the reason text, counts, whatever the action recorded.
120149
+ */
120045
120150
  metadata: {
120046
120151
  [k: string]: unknown;
120047
120152
  };
120153
+ /**
120154
+ * Id of the row the action was about. Null when there was none.
120155
+ */
120048
120156
  targetId: (string | null);
120157
+ /**
120158
+ * Who acted: `operator` (a human or agent on the management plane), `end_user`, or `system`.
120159
+ */
120049
120160
  actorType: ("operator" | "system" | "end_user");
120161
+ /**
120162
+ * When the action happened (ISO 8601).
120163
+ */
120050
120164
  createdAt: string;
120165
+ /**
120166
+ * Product the audited action happened in.
120167
+ */
120051
120168
  productId: string;
120169
+ /**
120170
+ * User agent the action came from. Null when none was sent.
120171
+ */
120052
120172
  userAgent: (string | null);
120173
+ /**
120174
+ * What kind of row the action was about — `user` or `product`. Null when it was about nothing in particular.
120175
+ */
120053
120176
  targetType: (string | null);
120054
120177
  }[];
120178
+ /**
120179
+ * Pass back as `cursor` to fetch the next page. Null when this page is the last.
120180
+ */
120055
120181
  nextCursor: (string | null);
120056
120182
  }
120057
120183
  export interface UsersConfigGetInput {
@@ -121027,12 +121153,33 @@ export interface UsersFactorsListInput {
121027
121153
  userId: string;
121028
121154
  }
121029
121155
  export interface UsersFactorsListOutput {
121156
+ /**
121157
+ * Every second factor this user has — types and status only, never material.
121158
+ */
121030
121159
  factors: {
121160
+ /**
121161
+ * Kind of second factor: `totp` or `backup_codes`. No key material is ever returned.
121162
+ */
121031
121163
  type: ("totp" | "backup_codes" | "webauthn");
121164
+ /**
121165
+ * Whether this factor is enrolled and usable, or still pending verification.
121166
+ */
121032
121167
  status: ("unverified" | "verified");
121168
+ /**
121169
+ * When the factor was enrolled (ISO 8601).
121170
+ */
121033
121171
  createdAt: string;
121172
+ /**
121173
+ * `backup_codes` only: how many of the batch are still unspent. Null for any other factor type.
121174
+ */
121034
121175
  remaining: (number | null);
121176
+ /**
121177
+ * When the factor was last used to sign in (ISO 8601). Null if it never was.
121178
+ */
121035
121179
  lastUsedAt: (string | null);
121180
+ /**
121181
+ * When the user first proved the factor works (ISO 8601). Null while it is unverified.
121182
+ */
121036
121183
  verifiedAt: (string | null);
121037
121184
  }[];
121038
121185
  }
@@ -121047,7 +121194,13 @@ export interface UsersFactorsResetInput {
121047
121194
  userId: string;
121048
121195
  }
121049
121196
  export interface UsersFactorsResetOutput {
121197
+ /**
121198
+ * Id of the scheduled reset. The same value arrives on `users/mfa.reset-settled`, which is what finishes this step.
121199
+ */
121050
121200
  requestId: string;
121201
+ /**
121202
+ * When the removal happens, if nobody aborts it first (ISO 8601). The delay is this product's, not a fixed one.
121203
+ */
121051
121204
  scheduledFor: string;
121052
121205
  }
121053
121206
  export interface UsersKeysListInput {
@@ -121328,6 +121481,50 @@ export interface UsersOpsSloGetOutput {
121328
121481
  signInFailureBaseline: (number | null);
121329
121482
  };
121330
121483
  }
121484
+ export interface UsersPasskeysGetInput {
121485
+ /**
121486
+ * The end user the credential belongs to.
121487
+ */
121488
+ userId: string;
121489
+ /**
121490
+ * Which credential to read — the `id` from `users_passkeys_list`.
121491
+ */
121492
+ passkeyId: string;
121493
+ }
121494
+ export interface UsersPasskeysGetOutput {
121495
+ /**
121496
+ * Id of the credential. Pass it to users_passkeys_revoke.
121497
+ */
121498
+ id: string;
121499
+ /**
121500
+ * The name the user gave this credential, so a person can tell their devices apart. Null when they never named it.
121501
+ */
121502
+ name: (string | null);
121503
+ /**
121504
+ * The authenticator MODEL’s identifier, which says what kind of device this is, never which one. Null when the authenticator withheld it.
121505
+ */
121506
+ aaguid: (string | null);
121507
+ /**
121508
+ * True when the platform syncs this credential, so it survives losing the device. False means it lives on that device alone.
121509
+ */
121510
+ backedUp: boolean;
121511
+ /**
121512
+ * When the credential was registered (ISO 8601).
121513
+ */
121514
+ createdAt: string;
121515
+ /**
121516
+ * The authenticator’s own counter as of the last assertion. 0 when the authenticator does not count.
121517
+ */
121518
+ signCount: number;
121519
+ /**
121520
+ * When it last signed in (ISO 8601). Null when it never has.
121521
+ */
121522
+ lastUsedAt: (string | null);
121523
+ /**
121524
+ * 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.
121525
+ */
121526
+ transports: string[];
121527
+ }
121331
121528
  export interface UsersPasskeysListInput {
121332
121529
  /**
121333
121530
  * The end user whose passkeys to list.
@@ -121335,14 +121532,41 @@ export interface UsersPasskeysListInput {
121335
121532
  userId: string;
121336
121533
  }
121337
121534
  export interface UsersPasskeysListOutput {
121535
+ /**
121536
+ * The credentials this user has registered, newest first. Empty when they have none.
121537
+ */
121338
121538
  passkeys: {
121539
+ /**
121540
+ * Id of the credential. Pass it to users_passkeys_revoke.
121541
+ */
121339
121542
  id: string;
121543
+ /**
121544
+ * The name the user gave this credential, so a person can tell their devices apart. Null when they never named it.
121545
+ */
121340
121546
  name: (string | null);
121547
+ /**
121548
+ * The authenticator MODEL’s identifier, which says what kind of device this is, never which one. Null when the authenticator withheld it.
121549
+ */
121341
121550
  aaguid: (string | null);
121551
+ /**
121552
+ * True when the platform syncs this credential, so it survives losing the device. False means it lives on that device alone.
121553
+ */
121342
121554
  backedUp: boolean;
121555
+ /**
121556
+ * When the credential was registered (ISO 8601).
121557
+ */
121343
121558
  createdAt: string;
121559
+ /**
121560
+ * The authenticator’s own counter as of the last assertion. 0 when the authenticator does not count.
121561
+ */
121344
121562
  signCount: number;
121563
+ /**
121564
+ * When it last signed in (ISO 8601). Null when it never has.
121565
+ */
121345
121566
  lastUsedAt: (string | null);
121567
+ /**
121568
+ * 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.
121569
+ */
121346
121570
  transports: string[];
121347
121571
  }[];
121348
121572
  }
@@ -121365,9 +121589,18 @@ export interface UsersPasskeysRevokeOutput {
121365
121589
  * Present when the revoke was refused — today, only because it was the last way in.
121366
121590
  */
121367
121591
  error: ({
121592
+ /**
121593
+ * Why it was refused. Today only `passkey_last_way_in`.
121594
+ */
121368
121595
  code: string;
121596
+ /**
121597
+ * The refusal in a sentence, safe to show a human.
121598
+ */
121369
121599
  message: string;
121370
121600
  } | null);
121601
+ /**
121602
+ * `deleted` when the credential is gone, `failed` when the revoke was refused.
121603
+ */
121371
121604
  status: ("deleted" | "failed");
121372
121605
  }
121373
121606
  export interface UsersSessionsGetInput {
@@ -121377,7 +121610,13 @@ export interface UsersSessionsGetInput {
121377
121610
  sessionId: string;
121378
121611
  }
121379
121612
  export interface UsersSessionsGetOutput {
121613
+ /**
121614
+ * Id of this session. Pass it to users_sessions_revoke.
121615
+ */
121380
121616
  id: string;
121617
+ /**
121618
+ * IP the session was opened from. Null when it was not recorded.
121619
+ */
121381
121620
  ip: (string | null);
121382
121621
  /**
121383
121622
  * `aal2` only if a verified second factor completed.
@@ -121387,18 +121626,45 @@ export interface UsersSessionsGetOutput {
121387
121626
  * The factors this session was established with.
121388
121627
  */
121389
121628
  amr: string[];
121629
+ /**
121630
+ * Whether the session is still usable, expired, or revoked.
121631
+ */
121390
121632
  status: ("active" | "revoked");
121633
+ /**
121634
+ * The end user this session belongs to.
121635
+ */
121391
121636
  userId: string;
121637
+ /**
121638
+ * When the session was opened (ISO 8601).
121639
+ */
121392
121640
  createdAt: string;
121641
+ /**
121642
+ * When the current token stops working unless refreshed (ISO 8601).
121643
+ */
121393
121644
  expiresAt: string;
121645
+ /**
121646
+ * When the session was revoked (ISO 8601). Null while it is live.
121647
+ */
121394
121648
  revokedAt: (string | null);
121649
+ /**
121650
+ * User agent the session was opened from. Null when none was sent.
121651
+ */
121395
121652
  userAgent: (string | null);
121653
+ /**
121654
+ * 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.
121655
+ */
121396
121656
  revokedReason: (string | null);
121397
121657
  /**
121398
121658
  * The operator behind an impersonated session, or null for an ordinary one.
121399
121659
  */
121400
121660
  impersonatedBy: (string | null);
121661
+ /**
121662
+ * When the session last refreshed its tokens (ISO 8601). Null if it never has.
121663
+ */
121401
121664
  lastRefreshedAt: (string | null);
121665
+ /**
121666
+ * When the session ends no matter how often it refreshes (ISO 8601).
121667
+ */
121402
121668
  absoluteExpiresAt: string;
121403
121669
  }
121404
121670
  export interface UsersSessionsImpersonateInput {
@@ -121434,16 +121700,49 @@ export interface UsersSessionsListInput {
121434
121700
  userId: string;
121435
121701
  }
121436
121702
  export interface UsersSessionsListOutput {
121703
+ /**
121704
+ * The sessions matching the filter, newest first.
121705
+ */
121437
121706
  sessions: {
121707
+ /**
121708
+ * Id of this session. Pass it to users_sessions_revoke.
121709
+ */
121438
121710
  id: string;
121711
+ /**
121712
+ * IP the session was opened from. Null when it was not recorded.
121713
+ */
121439
121714
  ip: (string | null);
121715
+ /**
121716
+ * Whether the session is still usable, expired, or revoked.
121717
+ */
121440
121718
  status: ("active" | "revoked");
121719
+ /**
121720
+ * The end user this session belongs to.
121721
+ */
121441
121722
  userId: string;
121723
+ /**
121724
+ * When the session was opened (ISO 8601).
121725
+ */
121442
121726
  createdAt: string;
121727
+ /**
121728
+ * When the current token stops working unless refreshed (ISO 8601).
121729
+ */
121443
121730
  expiresAt: string;
121731
+ /**
121732
+ * When the session was revoked (ISO 8601). Null while it is live.
121733
+ */
121444
121734
  revokedAt: (string | null);
121735
+ /**
121736
+ * User agent the session was opened from. Null when none was sent.
121737
+ */
121445
121738
  userAgent: (string | null);
121739
+ /**
121740
+ * When the session last refreshed its tokens (ISO 8601). Null if it never has.
121741
+ */
121446
121742
  lastRefreshedAt: (string | null);
121743
+ /**
121744
+ * When the session ends no matter how often it refreshes (ISO 8601).
121745
+ */
121447
121746
  absoluteExpiresAt: string;
121448
121747
  }[];
121449
121748
  }
@@ -121458,6 +121757,9 @@ export interface UsersSessionsRevokeInput {
121458
121757
  sessionId?: string;
121459
121758
  }
121460
121759
  export interface UsersSessionsRevokeOutput {
121760
+ /**
121761
+ * How many sessions were revoked. Zero when there was nothing live to revoke.
121762
+ */
121461
121763
  revoked: number;
121462
121764
  }
121463
121765
  export interface UsersStatsGetInput {
@@ -121580,48 +121882,137 @@ export interface UsersUsersBanInput {
121580
121882
  userId: string;
121581
121883
  }
121582
121884
  export interface UsersUsersBanOutput {
121885
+ /**
121886
+ * Id of this end user. Pass it to any users_users_* tool.
121887
+ */
121583
121888
  id: string;
121889
+ /**
121890
+ * The user's display name. Null when nobody set one.
121891
+ */
121584
121892
  name: (string | null);
121893
+ /**
121894
+ * When the user was banned (ISO 8601). Null while they are not banned.
121895
+ */
121585
121896
  bannedAt: (string | null);
121897
+ /**
121898
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
121899
+ */
121586
121900
  erasedAt: (string | null);
121901
+ /**
121902
+ * URL of the user's avatar. Null when there is none.
121903
+ */
121587
121904
  imageUrl: (string | null);
121905
+ /**
121906
+ * Whether this is a test fixture — excluded from metering and from the default listing.
121907
+ */
121588
121908
  testUser: boolean;
121909
+ /**
121910
+ * When the user was created (ISO 8601).
121911
+ */
121589
121912
  createdAt: string;
121913
+ /**
121914
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
121915
+ */
121590
121916
  deletedAt: (string | null);
121917
+ /**
121918
+ * Product this user belongs to. Never an input — it comes from the calling identity.
121919
+ */
121591
121920
  productId: string;
121921
+ /**
121922
+ * When the user was last changed (ISO 8601).
121923
+ */
121592
121924
  updatedAt: string;
121925
+ /**
121926
+ * Whether this user is still on the waitlist and cannot sign in yet.
121927
+ */
121593
121928
  waitlisted: boolean;
121929
+ /**
121930
+ * 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".
121931
+ */
121594
121932
  identifiers: {
121933
+ /**
121934
+ * Id of this identifier row.
121935
+ */
121595
121936
  id: string;
121937
+ /**
121938
+ * What kind of identifier this is. Today always `email`.
121939
+ */
121596
121940
  type: "email";
121941
+ /**
121942
+ * The address as the user typed it, for display.
121943
+ */
121597
121944
  value: string;
121945
+ /**
121946
+ * Whether this is the identifier the user signs in with and is contacted at.
121947
+ */
121598
121948
  isPrimary: boolean;
121949
+ /**
121950
+ * When this address was verified (ISO 8601). Null while it never was.
121951
+ */
121599
121952
  verifiedAt: (string | null);
121953
+ /**
121954
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
121955
+ */
121600
121956
  valueCanonical: string;
121957
+ /**
121958
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
121959
+ */
121601
121960
  verificationStatus: ("unverified" | "verified" | "expired");
121602
121961
  }[];
121962
+ /**
121963
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
121964
+ */
121603
121965
  lockedUntil: (string | null);
121966
+ /**
121967
+ * When the user last signed in (ISO 8601). Null if they never have.
121968
+ */
121604
121969
  lastSignInAt: (string | null);
121605
- requiresReset: boolean;
121606
- publicMetadata: UsersUsersBanOutputPublicMetadata;
121607
- unsafeMetadata: UsersUsersBanOutputPublicMetadata;
121608
- privateMetadata: UsersUsersBanOutputPublicMetadata;
121609
- emailChangeLockedUntil: (string | null);
121610
- }
121611
- export interface UsersUsersBanOutputPublicMetadata {
121612
- [k: string]: unknown;
121613
- }
121614
- export interface UsersUsersCreateInput {
121615
121970
  /**
121616
- * The user's display name.
121971
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
121617
121972
  */
121618
- name?: string;
121973
+ primaryEmail: (string | null);
121619
121974
  /**
121620
- * URL of the user's avatar image.
121975
+ * Whether the user must set a new password at their next sign-in.
121621
121976
  */
121622
- imageUrl?: string;
121977
+ requiresReset: boolean;
121623
121978
  /**
121624
- * Credential to store for this user. Supply hashes only; omit password to create no password identity.
121979
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
121980
+ */
121981
+ publicMetadata: {
121982
+ [k: string]: unknown;
121983
+ };
121984
+ /**
121985
+ * Metadata the end user may write themselves. Treat it as untrusted.
121986
+ */
121987
+ unsafeMetadata: {
121988
+ [k: string]: unknown;
121989
+ };
121990
+ /**
121991
+ * Metadata for the management plane only. Never reaches the end user or a token.
121992
+ */
121993
+ privateMetadata: {
121994
+ [k: string]: unknown;
121995
+ };
121996
+ /**
121997
+ * Id of the primary identifier row. Null when there is no primary identifier.
121998
+ */
121999
+ primaryIdentifierId: (string | null);
122000
+ /**
122001
+ * 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.
122002
+ */
122003
+ emailChangeLockedUntil: (string | null);
122004
+ }
122005
+ export interface UsersUsersCreateInput {
122006
+ /**
122007
+ * The user's display name.
122008
+ */
122009
+ name?: string;
122010
+ /**
122011
+ * URL of the user's avatar image.
122012
+ */
122013
+ imageUrl?: string;
122014
+ /**
122015
+ * Credential to store for this user. Supply hashes only; omit password to create no password identity.
121625
122016
  */
121626
122017
  password?: {
121627
122018
  /**
@@ -121714,37 +122105,126 @@ export interface UsersUsersCreateInputPublicMetadata1 {
121714
122105
  [k: string]: unknown;
121715
122106
  }
121716
122107
  export interface UsersUsersCreateOutput {
122108
+ /**
122109
+ * Id of this end user. Pass it to any users_users_* tool.
122110
+ */
121717
122111
  id: string;
122112
+ /**
122113
+ * The user's display name. Null when nobody set one.
122114
+ */
121718
122115
  name: (string | null);
122116
+ /**
122117
+ * When the user was banned (ISO 8601). Null while they are not banned.
122118
+ */
121719
122119
  bannedAt: (string | null);
122120
+ /**
122121
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
122122
+ */
121720
122123
  erasedAt: (string | null);
122124
+ /**
122125
+ * URL of the user's avatar. Null when there is none.
122126
+ */
121721
122127
  imageUrl: (string | null);
122128
+ /**
122129
+ * Whether this is a test fixture — excluded from metering and from the default listing.
122130
+ */
121722
122131
  testUser: boolean;
122132
+ /**
122133
+ * When the user was created (ISO 8601).
122134
+ */
121723
122135
  createdAt: string;
122136
+ /**
122137
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
122138
+ */
121724
122139
  deletedAt: (string | null);
122140
+ /**
122141
+ * Product this user belongs to. Never an input — it comes from the calling identity.
122142
+ */
121725
122143
  productId: string;
122144
+ /**
122145
+ * When the user was last changed (ISO 8601).
122146
+ */
121726
122147
  updatedAt: string;
122148
+ /**
122149
+ * Whether this user is still on the waitlist and cannot sign in yet.
122150
+ */
121727
122151
  waitlisted: boolean;
122152
+ /**
122153
+ * 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".
122154
+ */
121728
122155
  identifiers: {
122156
+ /**
122157
+ * Id of this identifier row.
122158
+ */
121729
122159
  id: string;
122160
+ /**
122161
+ * What kind of identifier this is. Today always `email`.
122162
+ */
121730
122163
  type: "email";
122164
+ /**
122165
+ * The address as the user typed it, for display.
122166
+ */
121731
122167
  value: string;
122168
+ /**
122169
+ * Whether this is the identifier the user signs in with and is contacted at.
122170
+ */
121732
122171
  isPrimary: boolean;
122172
+ /**
122173
+ * When this address was verified (ISO 8601). Null while it never was.
122174
+ */
121733
122175
  verifiedAt: (string | null);
122176
+ /**
122177
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
122178
+ */
121734
122179
  valueCanonical: string;
122180
+ /**
122181
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
122182
+ */
121735
122183
  verificationStatus: ("unverified" | "verified" | "expired");
121736
122184
  }[];
122185
+ /**
122186
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
122187
+ */
121737
122188
  lockedUntil: (string | null);
122189
+ /**
122190
+ * When the user last signed in (ISO 8601). Null if they never have.
122191
+ */
121738
122192
  lastSignInAt: (string | null);
122193
+ /**
122194
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
122195
+ */
122196
+ primaryEmail: (string | null);
122197
+ /**
122198
+ * Whether the user must set a new password at their next sign-in.
122199
+ */
121739
122200
  requiresReset: boolean;
121740
- publicMetadata: UsersUsersCreateOutputPublicMetadata;
121741
- unsafeMetadata: UsersUsersCreateOutputPublicMetadata;
121742
- privateMetadata: UsersUsersCreateOutputPublicMetadata;
122201
+ /**
122202
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
122203
+ */
122204
+ publicMetadata: {
122205
+ [k: string]: unknown;
122206
+ };
122207
+ /**
122208
+ * Metadata the end user may write themselves. Treat it as untrusted.
122209
+ */
122210
+ unsafeMetadata: {
122211
+ [k: string]: unknown;
122212
+ };
122213
+ /**
122214
+ * Metadata for the management plane only. Never reaches the end user or a token.
122215
+ */
122216
+ privateMetadata: {
122217
+ [k: string]: unknown;
122218
+ };
122219
+ /**
122220
+ * Id of the primary identifier row. Null when there is no primary identifier.
122221
+ */
122222
+ primaryIdentifierId: (string | null);
122223
+ /**
122224
+ * 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.
122225
+ */
121743
122226
  emailChangeLockedUntil: (string | null);
121744
122227
  }
121745
- export interface UsersUsersCreateOutputPublicMetadata {
121746
- [k: string]: unknown;
121747
- }
121748
122228
  export interface UsersUsersDeleteInput {
121749
122229
  /**
121750
122230
  * The opaque user id returned by users_users_create or _list.
@@ -121752,37 +122232,126 @@ export interface UsersUsersDeleteInput {
121752
122232
  userId: string;
121753
122233
  }
121754
122234
  export interface UsersUsersDeleteOutput {
122235
+ /**
122236
+ * Id of this end user. Pass it to any users_users_* tool.
122237
+ */
121755
122238
  id: string;
122239
+ /**
122240
+ * The user's display name. Null when nobody set one.
122241
+ */
121756
122242
  name: (string | null);
122243
+ /**
122244
+ * When the user was banned (ISO 8601). Null while they are not banned.
122245
+ */
121757
122246
  bannedAt: (string | null);
122247
+ /**
122248
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
122249
+ */
121758
122250
  erasedAt: (string | null);
122251
+ /**
122252
+ * URL of the user's avatar. Null when there is none.
122253
+ */
121759
122254
  imageUrl: (string | null);
122255
+ /**
122256
+ * Whether this is a test fixture — excluded from metering and from the default listing.
122257
+ */
121760
122258
  testUser: boolean;
122259
+ /**
122260
+ * When the user was created (ISO 8601).
122261
+ */
121761
122262
  createdAt: string;
122263
+ /**
122264
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
122265
+ */
121762
122266
  deletedAt: (string | null);
122267
+ /**
122268
+ * Product this user belongs to. Never an input — it comes from the calling identity.
122269
+ */
121763
122270
  productId: string;
122271
+ /**
122272
+ * When the user was last changed (ISO 8601).
122273
+ */
121764
122274
  updatedAt: string;
122275
+ /**
122276
+ * Whether this user is still on the waitlist and cannot sign in yet.
122277
+ */
121765
122278
  waitlisted: boolean;
122279
+ /**
122280
+ * 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".
122281
+ */
121766
122282
  identifiers: {
122283
+ /**
122284
+ * Id of this identifier row.
122285
+ */
121767
122286
  id: string;
122287
+ /**
122288
+ * What kind of identifier this is. Today always `email`.
122289
+ */
121768
122290
  type: "email";
122291
+ /**
122292
+ * The address as the user typed it, for display.
122293
+ */
121769
122294
  value: string;
122295
+ /**
122296
+ * Whether this is the identifier the user signs in with and is contacted at.
122297
+ */
121770
122298
  isPrimary: boolean;
122299
+ /**
122300
+ * When this address was verified (ISO 8601). Null while it never was.
122301
+ */
121771
122302
  verifiedAt: (string | null);
122303
+ /**
122304
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
122305
+ */
121772
122306
  valueCanonical: string;
122307
+ /**
122308
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
122309
+ */
121773
122310
  verificationStatus: ("unverified" | "verified" | "expired");
121774
122311
  }[];
122312
+ /**
122313
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
122314
+ */
121775
122315
  lockedUntil: (string | null);
122316
+ /**
122317
+ * When the user last signed in (ISO 8601). Null if they never have.
122318
+ */
121776
122319
  lastSignInAt: (string | null);
122320
+ /**
122321
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
122322
+ */
122323
+ primaryEmail: (string | null);
122324
+ /**
122325
+ * Whether the user must set a new password at their next sign-in.
122326
+ */
121777
122327
  requiresReset: boolean;
121778
- publicMetadata: UsersUsersDeleteOutputPublicMetadata;
121779
- unsafeMetadata: UsersUsersDeleteOutputPublicMetadata;
121780
- privateMetadata: UsersUsersDeleteOutputPublicMetadata;
122328
+ /**
122329
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
122330
+ */
122331
+ publicMetadata: {
122332
+ [k: string]: unknown;
122333
+ };
122334
+ /**
122335
+ * Metadata the end user may write themselves. Treat it as untrusted.
122336
+ */
122337
+ unsafeMetadata: {
122338
+ [k: string]: unknown;
122339
+ };
122340
+ /**
122341
+ * Metadata for the management plane only. Never reaches the end user or a token.
122342
+ */
122343
+ privateMetadata: {
122344
+ [k: string]: unknown;
122345
+ };
122346
+ /**
122347
+ * Id of the primary identifier row. Null when there is no primary identifier.
122348
+ */
122349
+ primaryIdentifierId: (string | null);
122350
+ /**
122351
+ * 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.
122352
+ */
121781
122353
  emailChangeLockedUntil: (string | null);
121782
122354
  }
121783
- export interface UsersUsersDeleteOutputPublicMetadata {
121784
- [k: string]: unknown;
121785
- }
121786
122355
  export interface UsersUsersExportInput {
121787
122356
  /**
121788
122357
  * Rows per page, 1-500. Default 100.
@@ -121808,40 +122377,129 @@ export interface UsersUsersExportInput {
121808
122377
  export interface UsersUsersExportOutput {
121809
122378
  count: number;
121810
122379
  users: {
122380
+ /**
122381
+ * Id of this end user. Pass it to any users_users_* tool.
122382
+ */
121811
122383
  id: string;
122384
+ /**
122385
+ * The user's display name. Null when nobody set one.
122386
+ */
121812
122387
  name: (string | null);
122388
+ /**
122389
+ * When the user was banned (ISO 8601). Null while they are not banned.
122390
+ */
121813
122391
  bannedAt: (string | null);
122392
+ /**
122393
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
122394
+ */
121814
122395
  erasedAt: (string | null);
122396
+ /**
122397
+ * URL of the user's avatar. Null when there is none.
122398
+ */
121815
122399
  imageUrl: (string | null);
122400
+ /**
122401
+ * Whether this is a test fixture — excluded from metering and from the default listing.
122402
+ */
121816
122403
  testUser: boolean;
122404
+ /**
122405
+ * When the user was created (ISO 8601).
122406
+ */
121817
122407
  createdAt: string;
122408
+ /**
122409
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
122410
+ */
121818
122411
  deletedAt: (string | null);
122412
+ /**
122413
+ * Product this user belongs to. Never an input — it comes from the calling identity.
122414
+ */
121819
122415
  productId: string;
122416
+ /**
122417
+ * When the user was last changed (ISO 8601).
122418
+ */
121820
122419
  updatedAt: string;
122420
+ /**
122421
+ * Whether this user is still on the waitlist and cannot sign in yet.
122422
+ */
121821
122423
  waitlisted: boolean;
122424
+ /**
122425
+ * 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".
122426
+ */
121822
122427
  identifiers: {
122428
+ /**
122429
+ * Id of this identifier row.
122430
+ */
121823
122431
  id: string;
122432
+ /**
122433
+ * What kind of identifier this is. Today always `email`.
122434
+ */
121824
122435
  type: "email";
122436
+ /**
122437
+ * The address as the user typed it, for display.
122438
+ */
121825
122439
  value: string;
122440
+ /**
122441
+ * Whether this is the identifier the user signs in with and is contacted at.
122442
+ */
121826
122443
  isPrimary: boolean;
122444
+ /**
122445
+ * When this address was verified (ISO 8601). Null while it never was.
122446
+ */
121827
122447
  verifiedAt: (string | null);
122448
+ /**
122449
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
122450
+ */
121828
122451
  valueCanonical: string;
122452
+ /**
122453
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
122454
+ */
121829
122455
  verificationStatus: ("unverified" | "verified" | "expired");
121830
122456
  }[];
122457
+ /**
122458
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
122459
+ */
121831
122460
  lockedUntil: (string | null);
122461
+ /**
122462
+ * When the user last signed in (ISO 8601). Null if they never have.
122463
+ */
121832
122464
  lastSignInAt: (string | null);
122465
+ /**
122466
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
122467
+ */
122468
+ primaryEmail: (string | null);
122469
+ /**
122470
+ * Whether the user must set a new password at their next sign-in.
122471
+ */
121833
122472
  requiresReset: boolean;
121834
- publicMetadata: UsersUsersExportOutputPublicMetadata;
121835
- unsafeMetadata: UsersUsersExportOutputPublicMetadata;
121836
- privateMetadata: UsersUsersExportOutputPublicMetadata;
122473
+ /**
122474
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
122475
+ */
122476
+ publicMetadata: {
122477
+ [k: string]: unknown;
122478
+ };
122479
+ /**
122480
+ * Metadata the end user may write themselves. Treat it as untrusted.
122481
+ */
122482
+ unsafeMetadata: {
122483
+ [k: string]: unknown;
122484
+ };
122485
+ /**
122486
+ * Metadata for the management plane only. Never reaches the end user or a token.
122487
+ */
122488
+ privateMetadata: {
122489
+ [k: string]: unknown;
122490
+ };
122491
+ /**
122492
+ * Id of the primary identifier row. Null when there is no primary identifier.
122493
+ */
122494
+ primaryIdentifierId: (string | null);
122495
+ /**
122496
+ * 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.
122497
+ */
121837
122498
  emailChangeLockedUntil: (string | null);
121838
122499
  }[];
121839
122500
  exportedAt: string;
121840
122501
  nextCursor: (string | null);
121841
122502
  }
121842
- export interface UsersUsersExportOutputPublicMetadata {
121843
- [k: string]: unknown;
121844
- }
121845
122503
  export interface UsersUsersGetInput {
121846
122504
  /**
121847
122505
  * The opaque user id returned by users_users_create or _list.
@@ -121849,37 +122507,126 @@ export interface UsersUsersGetInput {
121849
122507
  userId: string;
121850
122508
  }
121851
122509
  export interface UsersUsersGetOutput {
122510
+ /**
122511
+ * Id of this end user. Pass it to any users_users_* tool.
122512
+ */
121852
122513
  id: string;
122514
+ /**
122515
+ * The user's display name. Null when nobody set one.
122516
+ */
121853
122517
  name: (string | null);
122518
+ /**
122519
+ * When the user was banned (ISO 8601). Null while they are not banned.
122520
+ */
121854
122521
  bannedAt: (string | null);
122522
+ /**
122523
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
122524
+ */
121855
122525
  erasedAt: (string | null);
122526
+ /**
122527
+ * URL of the user's avatar. Null when there is none.
122528
+ */
121856
122529
  imageUrl: (string | null);
122530
+ /**
122531
+ * Whether this is a test fixture — excluded from metering and from the default listing.
122532
+ */
121857
122533
  testUser: boolean;
122534
+ /**
122535
+ * When the user was created (ISO 8601).
122536
+ */
121858
122537
  createdAt: string;
122538
+ /**
122539
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
122540
+ */
121859
122541
  deletedAt: (string | null);
122542
+ /**
122543
+ * Product this user belongs to. Never an input — it comes from the calling identity.
122544
+ */
121860
122545
  productId: string;
122546
+ /**
122547
+ * When the user was last changed (ISO 8601).
122548
+ */
121861
122549
  updatedAt: string;
122550
+ /**
122551
+ * Whether this user is still on the waitlist and cannot sign in yet.
122552
+ */
121862
122553
  waitlisted: boolean;
122554
+ /**
122555
+ * 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".
122556
+ */
121863
122557
  identifiers: {
122558
+ /**
122559
+ * Id of this identifier row.
122560
+ */
121864
122561
  id: string;
122562
+ /**
122563
+ * What kind of identifier this is. Today always `email`.
122564
+ */
121865
122565
  type: "email";
122566
+ /**
122567
+ * The address as the user typed it, for display.
122568
+ */
121866
122569
  value: string;
122570
+ /**
122571
+ * Whether this is the identifier the user signs in with and is contacted at.
122572
+ */
121867
122573
  isPrimary: boolean;
122574
+ /**
122575
+ * When this address was verified (ISO 8601). Null while it never was.
122576
+ */
121868
122577
  verifiedAt: (string | null);
122578
+ /**
122579
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
122580
+ */
121869
122581
  valueCanonical: string;
122582
+ /**
122583
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
122584
+ */
121870
122585
  verificationStatus: ("unverified" | "verified" | "expired");
121871
122586
  }[];
122587
+ /**
122588
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
122589
+ */
121872
122590
  lockedUntil: (string | null);
122591
+ /**
122592
+ * When the user last signed in (ISO 8601). Null if they never have.
122593
+ */
121873
122594
  lastSignInAt: (string | null);
122595
+ /**
122596
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
122597
+ */
122598
+ primaryEmail: (string | null);
122599
+ /**
122600
+ * Whether the user must set a new password at their next sign-in.
122601
+ */
121874
122602
  requiresReset: boolean;
121875
- publicMetadata: UsersUsersGetOutputPublicMetadata;
121876
- unsafeMetadata: UsersUsersGetOutputPublicMetadata;
121877
- privateMetadata: UsersUsersGetOutputPublicMetadata;
122603
+ /**
122604
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
122605
+ */
122606
+ publicMetadata: {
122607
+ [k: string]: unknown;
122608
+ };
122609
+ /**
122610
+ * Metadata the end user may write themselves. Treat it as untrusted.
122611
+ */
122612
+ unsafeMetadata: {
122613
+ [k: string]: unknown;
122614
+ };
122615
+ /**
122616
+ * Metadata for the management plane only. Never reaches the end user or a token.
122617
+ */
122618
+ privateMetadata: {
122619
+ [k: string]: unknown;
122620
+ };
122621
+ /**
122622
+ * Id of the primary identifier row. Null when there is no primary identifier.
122623
+ */
122624
+ primaryIdentifierId: (string | null);
122625
+ /**
122626
+ * 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.
122627
+ */
121878
122628
  emailChangeLockedUntil: (string | null);
121879
122629
  }
121880
- export interface UsersUsersGetOutputPublicMetadata {
121881
- [k: string]: unknown;
121882
- }
121883
122630
  export interface UsersUsersImportInput {
121884
122631
  /**
121885
122632
  * The users to import, at most 500 per call — batch client-side beyond that. Each row: identifiers (email), optional profile, optional password HASH, optional flags.
@@ -121890,15 +122637,42 @@ export interface UsersUsersImportInput {
121890
122637
  users: [unknown, ...(unknown)[]];
121891
122638
  }
121892
122639
  export interface UsersUsersImportOutput {
122640
+ /**
122641
+ * How many rows could not be imported at all.
122642
+ */
121893
122643
  failed: number;
122644
+ /**
122645
+ * How many users were created.
122646
+ */
121894
122647
  created: number;
122648
+ /**
122649
+ * One row per submitted row, in the order you sent them.
122650
+ */
121895
122651
  results: {
122652
+ /**
122653
+ * Zero-based index of the row in the `users` array you sent.
122654
+ */
121896
122655
  row: number;
122656
+ /**
122657
+ * Why it was skipped, or what went wrong. Null for a created row.
122658
+ */
121897
122659
  reason: (string | null);
122660
+ /**
122661
+ * What happened to this row.
122662
+ */
121898
122663
  status: ("created" | "skipped" | "failed");
122664
+ /**
122665
+ * The created user's id. Null for skipped and failed rows.
122666
+ */
121899
122667
  userId: (string | null);
121900
122668
  }[];
122669
+ /**
122670
+ * How many rows were passed over — an address already in the directory, typically.
122671
+ */
121901
122672
  skipped: number;
122673
+ /**
122674
+ * How many rows you submitted.
122675
+ */
121902
122676
  requested: number;
121903
122677
  }
121904
122678
  export interface UsersUsersInviteInput {
@@ -121924,9 +122698,21 @@ export interface UsersUsersInviteInput {
121924
122698
  };
121925
122699
  }
121926
122700
  export interface UsersUsersInviteOutput {
122701
+ /**
122702
+ * False when the re-invite cooldown or the mail toolkit refused the send. The invite is still live.
122703
+ */
121927
122704
  mailed: boolean;
122705
+ /**
122706
+ * The invited user, created immediately and listed straight away — they simply cannot sign in until they accept.
122707
+ */
121928
122708
  userId: string;
122709
+ /**
122710
+ * False when this address had already been invited; the same user is returned.
122711
+ */
121929
122712
  created: boolean;
122713
+ /**
122714
+ * When the invite link stops working (ISO 8601).
122715
+ */
121930
122716
  expiresAt: string;
121931
122717
  }
121932
122718
  export interface UsersUsersListInput {
@@ -121960,40 +122746,135 @@ export interface UsersUsersListInput {
121960
122746
  includeWaitlisted?: boolean;
121961
122747
  }
121962
122748
  export interface UsersUsersListOutput {
122749
+ /**
122750
+ * The page of users, newest first.
122751
+ */
121963
122752
  users: {
122753
+ /**
122754
+ * Id of this end user. Pass it to any users_users_* tool.
122755
+ */
121964
122756
  id: string;
122757
+ /**
122758
+ * The user's display name. Null when nobody set one.
122759
+ */
121965
122760
  name: (string | null);
122761
+ /**
122762
+ * When the user was banned (ISO 8601). Null while they are not banned.
122763
+ */
121966
122764
  bannedAt: (string | null);
122765
+ /**
122766
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
122767
+ */
121967
122768
  erasedAt: (string | null);
122769
+ /**
122770
+ * URL of the user's avatar. Null when there is none.
122771
+ */
121968
122772
  imageUrl: (string | null);
122773
+ /**
122774
+ * Whether this is a test fixture — excluded from metering and from the default listing.
122775
+ */
121969
122776
  testUser: boolean;
122777
+ /**
122778
+ * When the user was created (ISO 8601).
122779
+ */
121970
122780
  createdAt: string;
122781
+ /**
122782
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
122783
+ */
121971
122784
  deletedAt: (string | null);
122785
+ /**
122786
+ * Product this user belongs to. Never an input — it comes from the calling identity.
122787
+ */
121972
122788
  productId: string;
122789
+ /**
122790
+ * When the user was last changed (ISO 8601).
122791
+ */
121973
122792
  updatedAt: string;
122793
+ /**
122794
+ * Whether this user is still on the waitlist and cannot sign in yet.
122795
+ */
121974
122796
  waitlisted: boolean;
122797
+ /**
122798
+ * 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".
122799
+ */
121975
122800
  identifiers: {
122801
+ /**
122802
+ * Id of this identifier row.
122803
+ */
121976
122804
  id: string;
122805
+ /**
122806
+ * What kind of identifier this is. Today always `email`.
122807
+ */
121977
122808
  type: "email";
122809
+ /**
122810
+ * The address as the user typed it, for display.
122811
+ */
121978
122812
  value: string;
122813
+ /**
122814
+ * Whether this is the identifier the user signs in with and is contacted at.
122815
+ */
121979
122816
  isPrimary: boolean;
122817
+ /**
122818
+ * When this address was verified (ISO 8601). Null while it never was.
122819
+ */
121980
122820
  verifiedAt: (string | null);
122821
+ /**
122822
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
122823
+ */
121981
122824
  valueCanonical: string;
122825
+ /**
122826
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
122827
+ */
121982
122828
  verificationStatus: ("unverified" | "verified" | "expired");
121983
122829
  }[];
122830
+ /**
122831
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
122832
+ */
121984
122833
  lockedUntil: (string | null);
122834
+ /**
122835
+ * When the user last signed in (ISO 8601). Null if they never have.
122836
+ */
121985
122837
  lastSignInAt: (string | null);
122838
+ /**
122839
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
122840
+ */
122841
+ primaryEmail: (string | null);
122842
+ /**
122843
+ * Whether the user must set a new password at their next sign-in.
122844
+ */
121986
122845
  requiresReset: boolean;
121987
- publicMetadata: UsersUsersListOutputPublicMetadata;
121988
- unsafeMetadata: UsersUsersListOutputPublicMetadata;
121989
- privateMetadata: UsersUsersListOutputPublicMetadata;
122846
+ /**
122847
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
122848
+ */
122849
+ publicMetadata: {
122850
+ [k: string]: unknown;
122851
+ };
122852
+ /**
122853
+ * Metadata the end user may write themselves. Treat it as untrusted.
122854
+ */
122855
+ unsafeMetadata: {
122856
+ [k: string]: unknown;
122857
+ };
122858
+ /**
122859
+ * Metadata for the management plane only. Never reaches the end user or a token.
122860
+ */
122861
+ privateMetadata: {
122862
+ [k: string]: unknown;
122863
+ };
122864
+ /**
122865
+ * Id of the primary identifier row. Null when there is no primary identifier.
122866
+ */
122867
+ primaryIdentifierId: (string | null);
122868
+ /**
122869
+ * 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.
122870
+ */
121990
122871
  emailChangeLockedUntil: (string | null);
121991
122872
  }[];
122873
+ /**
122874
+ * Pass back as `cursor` to fetch the next page. Null when this page is the last.
122875
+ */
121992
122876
  nextCursor: (string | null);
121993
122877
  }
121994
- export interface UsersUsersListOutputPublicMetadata {
121995
- [k: string]: unknown;
121996
- }
121997
122878
  export interface UsersUsersSetPrimaryIdentifierInput {
121998
122879
  /**
121999
122880
  * The address to make primary. Must not already belong, verified, to another user of this product.
@@ -122009,7 +122890,13 @@ export interface UsersUsersSetPrimaryIdentifierInput {
122009
122890
  userId: string;
122010
122891
  }
122011
122892
  export interface UsersUsersSetPrimaryIdentifierOutput {
122893
+ /**
122894
+ * Id of the scheduled change. It appears in the audit rows and in the abort link mailed to the old address.
122895
+ */
122012
122896
  requestId: string;
122897
+ /**
122898
+ * When the swap becomes applicable, if nobody aborts it first (ISO 8601). The delay is this product's `emailChange.overrideDelayHours`, 72 by default.
122899
+ */
122013
122900
  scheduledFor: string;
122014
122901
  }
122015
122902
  export interface UsersUsersUnbanInput {
@@ -122019,37 +122906,126 @@ export interface UsersUsersUnbanInput {
122019
122906
  userId: string;
122020
122907
  }
122021
122908
  export interface UsersUsersUnbanOutput {
122909
+ /**
122910
+ * Id of this end user. Pass it to any users_users_* tool.
122911
+ */
122022
122912
  id: string;
122913
+ /**
122914
+ * The user's display name. Null when nobody set one.
122915
+ */
122023
122916
  name: (string | null);
122917
+ /**
122918
+ * When the user was banned (ISO 8601). Null while they are not banned.
122919
+ */
122024
122920
  bannedAt: (string | null);
122921
+ /**
122922
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
122923
+ */
122025
122924
  erasedAt: (string | null);
122925
+ /**
122926
+ * URL of the user's avatar. Null when there is none.
122927
+ */
122026
122928
  imageUrl: (string | null);
122929
+ /**
122930
+ * Whether this is a test fixture — excluded from metering and from the default listing.
122931
+ */
122027
122932
  testUser: boolean;
122933
+ /**
122934
+ * When the user was created (ISO 8601).
122935
+ */
122028
122936
  createdAt: string;
122937
+ /**
122938
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
122939
+ */
122029
122940
  deletedAt: (string | null);
122941
+ /**
122942
+ * Product this user belongs to. Never an input — it comes from the calling identity.
122943
+ */
122030
122944
  productId: string;
122945
+ /**
122946
+ * When the user was last changed (ISO 8601).
122947
+ */
122031
122948
  updatedAt: string;
122949
+ /**
122950
+ * Whether this user is still on the waitlist and cannot sign in yet.
122951
+ */
122032
122952
  waitlisted: boolean;
122953
+ /**
122954
+ * 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".
122955
+ */
122033
122956
  identifiers: {
122957
+ /**
122958
+ * Id of this identifier row.
122959
+ */
122034
122960
  id: string;
122961
+ /**
122962
+ * What kind of identifier this is. Today always `email`.
122963
+ */
122035
122964
  type: "email";
122965
+ /**
122966
+ * The address as the user typed it, for display.
122967
+ */
122036
122968
  value: string;
122969
+ /**
122970
+ * Whether this is the identifier the user signs in with and is contacted at.
122971
+ */
122037
122972
  isPrimary: boolean;
122973
+ /**
122974
+ * When this address was verified (ISO 8601). Null while it never was.
122975
+ */
122038
122976
  verifiedAt: (string | null);
122977
+ /**
122978
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
122979
+ */
122039
122980
  valueCanonical: string;
122981
+ /**
122982
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
122983
+ */
122040
122984
  verificationStatus: ("unverified" | "verified" | "expired");
122041
122985
  }[];
122986
+ /**
122987
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
122988
+ */
122042
122989
  lockedUntil: (string | null);
122990
+ /**
122991
+ * When the user last signed in (ISO 8601). Null if they never have.
122992
+ */
122043
122993
  lastSignInAt: (string | null);
122994
+ /**
122995
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
122996
+ */
122997
+ primaryEmail: (string | null);
122998
+ /**
122999
+ * Whether the user must set a new password at their next sign-in.
123000
+ */
122044
123001
  requiresReset: boolean;
122045
- publicMetadata: UsersUsersUnbanOutputPublicMetadata;
122046
- unsafeMetadata: UsersUsersUnbanOutputPublicMetadata;
122047
- privateMetadata: UsersUsersUnbanOutputPublicMetadata;
123002
+ /**
123003
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
123004
+ */
123005
+ publicMetadata: {
123006
+ [k: string]: unknown;
123007
+ };
123008
+ /**
123009
+ * Metadata the end user may write themselves. Treat it as untrusted.
123010
+ */
123011
+ unsafeMetadata: {
123012
+ [k: string]: unknown;
123013
+ };
123014
+ /**
123015
+ * Metadata for the management plane only. Never reaches the end user or a token.
123016
+ */
123017
+ privateMetadata: {
123018
+ [k: string]: unknown;
123019
+ };
123020
+ /**
123021
+ * Id of the primary identifier row. Null when there is no primary identifier.
123022
+ */
123023
+ primaryIdentifierId: (string | null);
123024
+ /**
123025
+ * 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.
123026
+ */
122048
123027
  emailChangeLockedUntil: (string | null);
122049
123028
  }
122050
- export interface UsersUsersUnbanOutputPublicMetadata {
122051
- [k: string]: unknown;
122052
- }
122053
123029
  export interface UsersUsersUpdateInput {
122054
123030
  /**
122055
123031
  * The user's display name. Pass null to clear.
@@ -122097,37 +123073,126 @@ export interface UsersUsersUpdateInputPublicMetadata1 {
122097
123073
  [k: string]: unknown;
122098
123074
  }
122099
123075
  export interface UsersUsersUpdateOutput {
123076
+ /**
123077
+ * Id of this end user. Pass it to any users_users_* tool.
123078
+ */
122100
123079
  id: string;
123080
+ /**
123081
+ * The user's display name. Null when nobody set one.
123082
+ */
122101
123083
  name: (string | null);
123084
+ /**
123085
+ * When the user was banned (ISO 8601). Null while they are not banned.
123086
+ */
122102
123087
  bannedAt: (string | null);
123088
+ /**
123089
+ * When this user's personal data was purged for good (ISO 8601). Null while it is intact.
123090
+ */
122103
123091
  erasedAt: (string | null);
123092
+ /**
123093
+ * URL of the user's avatar. Null when there is none.
123094
+ */
122104
123095
  imageUrl: (string | null);
123096
+ /**
123097
+ * Whether this is a test fixture — excluded from metering and from the default listing.
123098
+ */
122105
123099
  testUser: boolean;
123100
+ /**
123101
+ * When the user was created (ISO 8601).
123102
+ */
122106
123103
  createdAt: string;
123104
+ /**
123105
+ * When the user was soft-deleted (ISO 8601). Null while the account is live.
123106
+ */
122107
123107
  deletedAt: (string | null);
123108
+ /**
123109
+ * Product this user belongs to. Never an input — it comes from the calling identity.
123110
+ */
122108
123111
  productId: string;
123112
+ /**
123113
+ * When the user was last changed (ISO 8601).
123114
+ */
122109
123115
  updatedAt: string;
123116
+ /**
123117
+ * Whether this user is still on the waitlist and cannot sign in yet.
123118
+ */
122110
123119
  waitlisted: boolean;
123120
+ /**
123121
+ * 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".
123122
+ */
122111
123123
  identifiers: {
123124
+ /**
123125
+ * Id of this identifier row.
123126
+ */
122112
123127
  id: string;
123128
+ /**
123129
+ * What kind of identifier this is. Today always `email`.
123130
+ */
122113
123131
  type: "email";
123132
+ /**
123133
+ * The address as the user typed it, for display.
123134
+ */
122114
123135
  value: string;
123136
+ /**
123137
+ * Whether this is the identifier the user signs in with and is contacted at.
123138
+ */
122115
123139
  isPrimary: boolean;
123140
+ /**
123141
+ * When this address was verified (ISO 8601). Null while it never was.
123142
+ */
122116
123143
  verifiedAt: (string | null);
123144
+ /**
123145
+ * The address lowercased and NFC-normalised — what uniqueness is checked against.
123146
+ */
122117
123147
  valueCanonical: string;
123148
+ /**
123149
+ * `unverified`, `verified`, or `expired` when a verification link ran out before it was used.
123150
+ */
122118
123151
  verificationStatus: ("unverified" | "verified" | "expired");
122119
123152
  }[];
123153
+ /**
123154
+ * When a failed-attempt lockout expires (ISO 8601). Null when the user is not locked out.
123155
+ */
122120
123156
  lockedUntil: (string | null);
123157
+ /**
123158
+ * When the user last signed in (ISO 8601). Null if they never have.
123159
+ */
122121
123160
  lastSignInAt: (string | null);
123161
+ /**
123162
+ * The user's primary email address, as typed. Null when they have no primary identifier. Bind this rather than `identifiers.0.value`.
123163
+ */
123164
+ primaryEmail: (string | null);
123165
+ /**
123166
+ * Whether the user must set a new password at their next sign-in.
123167
+ */
122122
123168
  requiresReset: boolean;
122123
- publicMetadata: UsersUsersUpdateOutputPublicMetadata;
122124
- unsafeMetadata: UsersUsersUpdateOutputPublicMetadata;
122125
- privateMetadata: UsersUsersUpdateOutputPublicMetadata;
123169
+ /**
123170
+ * Metadata the end user may read; the only bag projected into their access token. Capped at 1.2 KB.
123171
+ */
123172
+ publicMetadata: {
123173
+ [k: string]: unknown;
123174
+ };
123175
+ /**
123176
+ * Metadata the end user may write themselves. Treat it as untrusted.
123177
+ */
123178
+ unsafeMetadata: {
123179
+ [k: string]: unknown;
123180
+ };
123181
+ /**
123182
+ * Metadata for the management plane only. Never reaches the end user or a token.
123183
+ */
123184
+ privateMetadata: {
123185
+ [k: string]: unknown;
123186
+ };
123187
+ /**
123188
+ * Id of the primary identifier row. Null when there is no primary identifier.
123189
+ */
123190
+ primaryIdentifierId: (string | null);
123191
+ /**
123192
+ * 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.
123193
+ */
122126
123194
  emailChangeLockedUntil: (string | null);
122127
123195
  }
122128
- export interface UsersUsersUpdateOutputPublicMetadata {
122129
- [k: string]: unknown;
122130
- }
122131
123196
  export interface UsersWaitlistFunnelInput {
122132
123197
  }
122133
123198
  export interface UsersWaitlistFunnelOutput {
@@ -122138,6 +123203,62 @@ export interface UsersWaitlistFunnelOutput {
122138
123203
  registered: number;
122139
123204
  unconfirmed: number;
122140
123205
  }
123206
+ export interface UsersWaitlistGetInput {
123207
+ /**
123208
+ * The waitlisted user to read — the `userId` from `users_waitlist_list`.
123209
+ */
123210
+ userId: string;
123211
+ }
123212
+ export interface UsersWaitlistGetOutput {
123213
+ /**
123214
+ * Where in the funnel this entry is: `pending`, `invited`, `registered` or `withdrawn`.
123215
+ */
123216
+ status: ("pending" | "invited" | "registered" | "withdrawn");
123217
+ /**
123218
+ * The waitlisted user. Every users_users_* tool takes this id.
123219
+ */
123220
+ userId: string;
123221
+ /**
123222
+ * When the entry joined the waitlist (ISO 8601).
123223
+ */
123224
+ createdAt: string;
123225
+ /**
123226
+ * When the invite was sent (ISO 8601). Null while the entry is pending.
123227
+ */
123228
+ invitedAt: (string | null);
123229
+ /**
123230
+ * The email address that signed up.
123231
+ */
123232
+ identifier: string;
123233
+ /**
123234
+ * Where the signup came from — the campaign, referrer and landing page recorded at the time.
123235
+ */
123236
+ attribution: {
123237
+ [k: string]: unknown;
123238
+ };
123239
+ /**
123240
+ * When the address confirmed a double opt-in (ISO 8601). Null when it never did.
123241
+ */
123242
+ confirmedAt: (string | null);
123243
+ /**
123244
+ * When the address asked to be taken off the list (ISO 8601). Null when it did not.
123245
+ */
123246
+ withdrawnAt: (string | null);
123247
+ /**
123248
+ * What was recorded to show this address consented: when, from where, and under which wording.
123249
+ */
123250
+ consentProof: {
123251
+ [k: string]: unknown;
123252
+ };
123253
+ /**
123254
+ * When the invitee finished signing up (ISO 8601). Null until they do.
123255
+ */
123256
+ registeredAt: (string | null);
123257
+ /**
123258
+ * Id of the live invite token. Null while the entry has not been invited.
123259
+ */
123260
+ inviteTokenId: (string | null);
123261
+ }
122141
123262
  export interface UsersWaitlistImportInput {
122142
123263
  /**
122143
123264
  * The legacy signups to import, at most 500 per call — batch client-side beyond that.
@@ -122305,15 +123426,42 @@ export interface UsersWaitlistImportInput {
122305
123426
  ];
122306
123427
  }
122307
123428
  export interface UsersWaitlistImportOutput {
123429
+ /**
123430
+ * How many could not be imported at all.
123431
+ */
122308
123432
  failed: number;
123433
+ /**
123434
+ * One row per submitted row, in the order you sent them.
123435
+ */
122309
123436
  results: {
123437
+ /**
123438
+ * Zero-based index of the row in the array you sent.
123439
+ */
122310
123440
  row: number;
123441
+ /**
123442
+ * Why it was skipped, or what went wrong. Null for an imported row.
123443
+ */
122311
123444
  reason: (string | null);
123445
+ /**
123446
+ * What happened to this row.
123447
+ */
122312
123448
  status: ("imported" | "skipped" | "failed");
123449
+ /**
123450
+ * The waitlisted user this row created. Null for skipped and failed rows.
123451
+ */
122313
123452
  userId: (string | null);
122314
123453
  }[];
123454
+ /**
123455
+ * How many were already on the list or otherwise passed over.
123456
+ */
122315
123457
  skipped: number;
123458
+ /**
123459
+ * How many became waitlist entries.
123460
+ */
122316
123461
  imported: number;
123462
+ /**
123463
+ * How many rows you submitted.
123464
+ */
122317
123465
  requested: number;
122318
123466
  }
122319
123467
  export interface UsersWaitlistInviteInput {
@@ -122326,12 +123474,30 @@ export interface UsersWaitlistInviteInput {
122326
123474
  userIds: [string, ...(string)[]];
122327
123475
  }
122328
123476
  export interface UsersWaitlistInviteOutput {
123477
+ /**
123478
+ * How many of the requested users were invited.
123479
+ */
122329
123480
  invited: number;
123481
+ /**
123482
+ * One row per user you asked for, in the order you sent them.
123483
+ */
122330
123484
  results: {
123485
+ /**
123486
+ * Why this user was skipped. Null for an invited row.
123487
+ */
122331
123488
  reason: (("suppressed" | "not_found" | "already_registered") | null);
123489
+ /**
123490
+ * Whether this user was invited or passed over.
123491
+ */
122332
123492
  status: ("invited" | "skipped");
123493
+ /**
123494
+ * The user this row is about.
123495
+ */
122333
123496
  userId: string;
122334
123497
  }[];
123498
+ /**
123499
+ * How many were passed over — see each row's `reason`.
123500
+ */
122335
123501
  skipped: number;
122336
123502
  }
122337
123503
  export interface UsersWaitlistListInput {
@@ -122353,23 +123519,62 @@ export interface UsersWaitlistListInput {
122353
123519
  confirmed?: boolean;
122354
123520
  }
122355
123521
  export interface UsersWaitlistListOutput {
123522
+ /**
123523
+ * The page of waitlist entries, newest first.
123524
+ */
122356
123525
  entries: {
123526
+ /**
123527
+ * Where in the funnel this entry is: `pending`, `invited`, `registered` or `withdrawn`.
123528
+ */
122357
123529
  status: ("pending" | "invited" | "registered" | "withdrawn");
123530
+ /**
123531
+ * The waitlisted user. Every users_users_* tool takes this id.
123532
+ */
122358
123533
  userId: string;
123534
+ /**
123535
+ * When the entry joined the waitlist (ISO 8601).
123536
+ */
122359
123537
  createdAt: string;
123538
+ /**
123539
+ * When the invite was sent (ISO 8601). Null while the entry is pending.
123540
+ */
122360
123541
  invitedAt: (string | null);
123542
+ /**
123543
+ * The email address that signed up.
123544
+ */
122361
123545
  identifier: string;
123546
+ /**
123547
+ * Where the signup came from — the campaign, referrer and landing page recorded at the time.
123548
+ */
122362
123549
  attribution: {
122363
123550
  [k: string]: unknown;
122364
123551
  };
123552
+ /**
123553
+ * When the address confirmed a double opt-in (ISO 8601). Null when it never did.
123554
+ */
122365
123555
  confirmedAt: (string | null);
123556
+ /**
123557
+ * When the address asked to be taken off the list (ISO 8601). Null when it did not.
123558
+ */
122366
123559
  withdrawnAt: (string | null);
123560
+ /**
123561
+ * What was recorded to show this address consented: when, from where, and under which wording.
123562
+ */
122367
123563
  consentProof: {
122368
123564
  [k: string]: unknown;
122369
123565
  };
123566
+ /**
123567
+ * When the invitee finished signing up (ISO 8601). Null until they do.
123568
+ */
122370
123569
  registeredAt: (string | null);
123570
+ /**
123571
+ * Id of the live invite token. Null while the entry has not been invited.
123572
+ */
122371
123573
  inviteTokenId: (string | null);
122372
123574
  }[];
123575
+ /**
123576
+ * Pass back as `cursor` to fetch the next page. Null when this page is the last.
123577
+ */
122373
123578
  nextCursor: (string | null);
122374
123579
  }
122375
123580
  export interface UsersWebhooksCreateInput {