@atlasauth/backend 0.5.0 → 0.7.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.
Files changed (119) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/README.md +227 -0
  3. package/dist/client/activity.d.ts +104 -0
  4. package/dist/client/activity.js +29 -0
  5. package/dist/client/activity.js.map +1 -0
  6. package/dist/client/api-keys.d.ts +100 -0
  7. package/dist/client/api-keys.js +15 -0
  8. package/dist/client/api-keys.js.map +1 -1
  9. package/dist/client/audit-events.d.ts +103 -0
  10. package/dist/client/audit-events.js +43 -0
  11. package/dist/client/audit-events.js.map +1 -0
  12. package/dist/client/billing-plans.d.ts +43 -0
  13. package/dist/client/billing-plans.js +26 -0
  14. package/dist/client/billing-plans.js.map +1 -1
  15. package/dist/client/connectors.d.ts +174 -0
  16. package/dist/client/connectors.js +54 -0
  17. package/dist/client/connectors.js.map +1 -0
  18. package/dist/client/data-subject-requests.d.ts +21 -0
  19. package/dist/client/data-subject-requests.js +15 -0
  20. package/dist/client/data-subject-requests.js.map +1 -1
  21. package/dist/client/design.d.ts +295 -0
  22. package/dist/client/design.js +76 -0
  23. package/dist/client/design.js.map +1 -0
  24. package/dist/client/diagnostics.d.ts +53 -0
  25. package/dist/client/diagnostics.js +24 -0
  26. package/dist/client/diagnostics.js.map +1 -0
  27. package/dist/client/email-addresses.d.ts +22 -0
  28. package/dist/client/email-addresses.js +17 -0
  29. package/dist/client/email-addresses.js.map +1 -0
  30. package/dist/client/entitlement-overrides.d.ts +50 -0
  31. package/dist/client/entitlement-overrides.js +20 -0
  32. package/dist/client/entitlement-overrides.js.map +1 -0
  33. package/dist/client/error.d.ts +34 -0
  34. package/dist/client/error.js +33 -1
  35. package/dist/client/error.js.map +1 -1
  36. package/dist/client/import-export.d.ts +2 -0
  37. package/dist/client/import-export.js.map +1 -1
  38. package/dist/client/index.d.ts +461 -16
  39. package/dist/client/index.js +76 -2
  40. package/dist/client/index.js.map +1 -1
  41. package/dist/client/instance.d.ts +54 -0
  42. package/dist/client/instance.js +18 -0
  43. package/dist/client/instance.js.map +1 -1
  44. package/dist/client/invitations.d.ts +14 -0
  45. package/dist/client/invitations.js +9 -0
  46. package/dist/client/invitations.js.map +1 -1
  47. package/dist/client/legacy-auth.d.ts +45 -0
  48. package/dist/client/legacy-auth.js +18 -0
  49. package/dist/client/legacy-auth.js.map +1 -0
  50. package/dist/client/mcp.d.ts +86 -0
  51. package/dist/client/mcp.js +47 -0
  52. package/dist/client/mcp.js.map +1 -0
  53. package/dist/client/notifications.d.ts +92 -0
  54. package/dist/client/notifications.js +55 -0
  55. package/dist/client/notifications.js.map +1 -0
  56. package/dist/client/oauth-clients.d.ts +46 -2
  57. package/dist/client/oauth-clients.js +4 -0
  58. package/dist/client/oauth-clients.js.map +1 -1
  59. package/dist/client/oauth-providers.d.ts +67 -7
  60. package/dist/client/oauth-providers.js +7 -2
  61. package/dist/client/oauth-providers.js.map +1 -1
  62. package/dist/client/openfga.d.ts +137 -0
  63. package/dist/client/openfga.js +72 -0
  64. package/dist/client/openfga.js.map +1 -0
  65. package/dist/client/org-ldap-connections.d.ts +75 -0
  66. package/dist/client/org-ldap-connections.js +36 -0
  67. package/dist/client/org-ldap-connections.js.map +1 -0
  68. package/dist/client/organization-settings-schema.d.ts +24 -0
  69. package/dist/client/organization-settings-schema.js +30 -0
  70. package/dist/client/organization-settings-schema.js.map +1 -0
  71. package/dist/client/organizations.d.ts +205 -4
  72. package/dist/client/organizations.js +109 -0
  73. package/dist/client/organizations.js.map +1 -1
  74. package/dist/client/pca.d.ts +59 -0
  75. package/dist/client/pca.js +40 -0
  76. package/dist/client/pca.js.map +1 -0
  77. package/dist/client/platform.d.ts +328 -0
  78. package/dist/client/platform.js +187 -0
  79. package/dist/client/platform.js.map +1 -0
  80. package/dist/client/redirect-urls.d.ts +23 -0
  81. package/dist/client/redirect-urls.js +22 -0
  82. package/dist/client/redirect-urls.js.map +1 -0
  83. package/dist/client/request.d.ts +45 -0
  84. package/dist/client/request.js +35 -2
  85. package/dist/client/request.js.map +1 -1
  86. package/dist/client/session-exchange-apps.d.ts +43 -0
  87. package/dist/client/session-exchange-apps.js +25 -0
  88. package/dist/client/session-exchange-apps.js.map +1 -0
  89. package/dist/client/sessions.d.ts +28 -0
  90. package/dist/client/sessions.js +20 -0
  91. package/dist/client/sessions.js.map +1 -1
  92. package/dist/client/sign-in-tokens.d.ts +13 -1
  93. package/dist/client/sign-in-tokens.js +11 -0
  94. package/dist/client/sign-in-tokens.js.map +1 -1
  95. package/dist/client/test-mode.d.ts +44 -0
  96. package/dist/client/test-mode.js +26 -0
  97. package/dist/client/test-mode.js.map +1 -0
  98. package/dist/client/tickets.d.ts +49 -0
  99. package/dist/client/tickets.js +19 -0
  100. package/dist/client/tickets.js.map +1 -0
  101. package/dist/client/users.d.ts +351 -0
  102. package/dist/client/users.js +228 -0
  103. package/dist/client/users.js.map +1 -1
  104. package/dist/client/waitlist.d.ts +21 -0
  105. package/dist/client/waitlist.js +16 -0
  106. package/dist/client/waitlist.js.map +1 -1
  107. package/dist/client/webhooks.d.ts +60 -6
  108. package/dist/client/webhooks.js +36 -2
  109. package/dist/client/webhooks.js.map +1 -1
  110. package/dist/index.d.ts +2 -0
  111. package/dist/index.js +9 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/logout-token.d.ts +97 -0
  114. package/dist/logout-token.js +182 -0
  115. package/dist/logout-token.js.map +1 -0
  116. package/dist/verify.d.ts +7 -0
  117. package/dist/verify.js +13 -0
  118. package/dist/verify.js.map +1 -1
  119. package/package.json +3 -2
@@ -45,6 +45,11 @@ export interface CreateUserBody {
45
45
  public_metadata?: Metadata;
46
46
  private_metadata?: Metadata;
47
47
  unsafe_metadata?: Metadata;
48
+ /**
49
+ * Whether creating the user may notify them. Defaults to false, which
50
+ * guarantees no email, SMS or push is sent as a consequence of the create.
51
+ */
52
+ notify?: boolean;
48
53
  }
49
54
  export interface UpdateUserBody {
50
55
  first_name?: string;
@@ -170,7 +175,353 @@ export declare function usersResource(request: RequestFn): {
170
175
  deleted: true;
171
176
  tokens_revoked: number;
172
177
  }>;
178
+ /**
179
+ * `POST /v1/users/by_emails` — resolve up to 1000 addresses to user ids in
180
+ * one call. Verified, live users only by default; an address ABSENT from
181
+ * `data` has no such user. For rights requests pass `include_unverified`.
182
+ */
183
+ byEmails(body: UsersByEmailsBody): Promise<ListPage<UserEmailMatch>>;
184
+ /**
185
+ * `GET /v1/users/:id/resolved` — the flat identity: real primary email,
186
+ * whether it is verified, name, image and linked provider identities.
187
+ */
188
+ resolved(id: string): Promise<ResolvedUser>;
189
+ /** `GET /v1/users/:id/state` — portable state: progression, tier, flair, entitlements, directives, roles. */
190
+ state(id: string): Promise<UserState>;
191
+ /**
192
+ * `GET /v1/users/:id/sign_in_history` — successful sign-ins, newest first,
193
+ * cursor-paginated (`limit` 1–100, default 50). Works with `paginate()`:
194
+ * `paginate((p) => atlas.users.signInHistory('user_1', p))`.
195
+ */
196
+ signInHistory(id: string, params?: CursorParams): Promise<CursorPage<SignInEvent>>;
197
+ /**
198
+ * `GET /v1/users/:id/organization_memberships` — the organizations a user
199
+ * belongs to with role, resolved plan and join time. Cursor-paginated
200
+ * (`limit` default 20, max 100).
201
+ */
202
+ listOrganizationMemberships(id: string, params?: CursorParams): Promise<CursorPage<UserOrganizationMembership>>;
203
+ /**
204
+ * `POST /v1/users/:id/password` — set (reset) a user's password. Password
205
+ * history and policy apply unless `skip_password_checks` is set.
206
+ */
207
+ setPassword(id: string, body: SetUserPasswordBody): Promise<User>;
208
+ /** `DELETE /v1/users/:id/profile_image` — clear the profile image. */
209
+ deleteProfileImage(id: string): Promise<User>;
210
+ /** `DELETE /v1/users/:id/passkeys/:passkeyId` — remove one of the user's passkeys. */
211
+ deletePasskey(id: string, passkeyId: string): Promise<{
212
+ object: "passkey";
213
+ id: string;
214
+ deleted: true;
215
+ }>;
216
+ /**
217
+ * `POST /v1/users/:id/identities/import` — link a KNOWN provider identity
218
+ * (migration) without an OAuth flow. A `(provider, provider_user_id)` held
219
+ * by another user is a 409. Idempotent on the same user.
220
+ */
221
+ importIdentity(id: string, body: ImportIdentityBody): Promise<Identity>;
222
+ /**
223
+ * `DELETE /v1/users/:id/identities/by-provider/:provider` — hard-remove a
224
+ * provider identity (undo a mis-import). Unlike `unlinkIdentity`, no new
225
+ * user is created. The account's only sign-in identity is refused.
226
+ */
227
+ removeIdentityByProvider(id: string, provider: string): Promise<{
228
+ object: string;
229
+ id: string;
230
+ provider: string;
231
+ removed: boolean;
232
+ }>;
233
+ /**
234
+ * `POST /v1/users/:id/erasure_acks` — your app confirms it purged its copy
235
+ * of the user during a scheduled deletion, optionally contributing a JSON
236
+ * `payload` to the erasure export. Upserts on (user, source).
237
+ */
238
+ acknowledgeErasure(id: string, body: UserErasureAckBody, idempotencyKey?: string): Promise<UserErasureAck>;
239
+ /**
240
+ * `GET /v1/users/:id/erasure_export` — Atlas's own data about the user plus
241
+ * every app's contributed payload, in one package.
242
+ */
243
+ erasureExport(id: string): Promise<UserErasureExport>;
244
+ /** Graceful deletion with a cancellation window (`DELETE /v1/users/:id` stays the immediate path). */
245
+ deletion: {
246
+ /** `POST /v1/users/:id/deletion` — schedule; `grace_seconds` defaults to the instance erasure grace. */
247
+ schedule(id: string, body?: {
248
+ grace_seconds?: number;
249
+ }, idempotencyKey?: string): Promise<User>;
250
+ /** `POST /v1/users/:id/deletion/cancel` — 409 unless a deletion is still scheduled. */
251
+ cancel(id: string, idempotencyKey?: string): Promise<User>;
252
+ /** `POST /v1/users/:id/deletion/finalize` — purge once the window has lapsed; 409 if none is due. */
253
+ finalize(id: string, idempotencyKey?: string): Promise<{
254
+ object: "user";
255
+ id: string;
256
+ deleted: true;
257
+ }>;
258
+ };
259
+ /** Cross-property directives: suspension, read-only, forced logout. */
260
+ directives: {
261
+ /** `POST /v1/users/:id/directives` — revokes live sessions where applicable. */
262
+ impose(id: string, body: ImposeUserDirectiveBody, idempotencyKey?: string): Promise<UserDirective>;
263
+ /** `DELETE /v1/users/:id/directives` — lift the user's directive. */
264
+ lift(id: string): Promise<{
265
+ object: "directive";
266
+ user_id: string;
267
+ lifted: true;
268
+ }>;
269
+ };
270
+ /** Versioned consent records (ToS, privacy, marketing…). Append-only. */
271
+ consents: {
272
+ list(id: string): Promise<{
273
+ object: string;
274
+ data: UserConsent[];
275
+ }>;
276
+ /** Record acceptance (default) or `status: 'withdrawn'`. Repeating the current standing returns the existing record. */
277
+ record(id: string, body: RecordUserConsentBody, idempotencyKey?: string): Promise<UserConsent>;
278
+ };
279
+ /** Push number-matching approval of an arbitrary action ("approve this transfer"). */
280
+ approvalRequests: {
281
+ /**
282
+ * `POST /v1/users/:id/approval_requests` — push the prompt to the user's
283
+ * devices. Display the returned `match_number` yourself; 409 when the user
284
+ * has no push device.
285
+ */
286
+ create(id: string, body: CreateUserApprovalRequestBody): Promise<UserApprovalRequestCreated>;
287
+ /** `GET /v1/users/:id/approval_requests/:approvalId` — poll its status. */
288
+ get(id: string, approvalId: string): Promise<UserApprovalRequest>;
289
+ };
290
+ /** Security-notification preferences of one end user. */
291
+ notificationPreferences: {
292
+ get(id: string): Promise<UserNotificationPreferences>;
293
+ /** `{ preferences: { category: enabled } }`. Security-critical categories cannot be disabled. */
294
+ update(id: string, body: UpdateUserNotificationPreferencesBody): Promise<UserNotificationPreferences>;
295
+ };
296
+ /** Phone numbers on a user (the SMS counterpart of email addresses). */
297
+ phoneNumbers: {
298
+ /** Starts unverified. */
299
+ add(id: string, body: {
300
+ phone_number: string;
301
+ }): Promise<UserPhoneNumber>;
302
+ /** Mark verified. 409 if the number is already verified on another user. */
303
+ verify(id: string, phoneId: string): Promise<UserPhoneNumber>;
304
+ delete(id: string, phoneId: string): Promise<{
305
+ object: "phone_number";
306
+ id: string;
307
+ deleted: true;
308
+ }>;
309
+ };
310
+ /** XP / level progression. */
311
+ progression: {
312
+ /**
313
+ * `POST /v1/users/:id/progression/events` — append an event, idempotent on
314
+ * `idempotency_key` (per calling key). A negative `amount` needs the `*` scope.
315
+ */
316
+ addEvent(id: string, body: UserProgressionEventBody): Promise<UserProgressionEvent>;
317
+ };
173
318
  };
319
+ export interface UsersByEmailsBody {
320
+ /** Up to 1000 addresses, case-insensitive, deduplicated. */
321
+ email_addresses: string[];
322
+ /** Also match addresses never verified (for rights requests). Default false. */
323
+ include_unverified?: boolean;
324
+ /** Also match soft-deleted users. Default false. */
325
+ include_deleted?: boolean;
326
+ }
327
+ export interface UserEmailMatch {
328
+ email_address: string;
329
+ user_id: string;
330
+ verified: boolean;
331
+ /** Present (true) only for a soft-deleted user matched via `include_deleted`. */
332
+ deleted?: boolean;
333
+ }
334
+ export interface ResolvedUser {
335
+ object: string;
336
+ user_id: string;
337
+ /** The real primary email, never a placeholder; null when the user has none. */
338
+ email: string | null;
339
+ email_verified: boolean;
340
+ name: string | null;
341
+ image_url: string | null;
342
+ identities: Array<{
343
+ provider: string;
344
+ provider_user_id: string;
345
+ email: string | null;
346
+ }>;
347
+ }
348
+ export interface UserState {
349
+ object: 'user_state';
350
+ attributes: {
351
+ /** Keyed by track name. */
352
+ progression: Record<string, {
353
+ xp: number;
354
+ level: number;
355
+ }>;
356
+ /** From `public_metadata.tier`, when set. */
357
+ tier?: unknown;
358
+ /** From `public_metadata.flair`, when set. */
359
+ flair?: unknown;
360
+ };
361
+ entitlements: unknown[];
362
+ directives: unknown[];
363
+ roles: unknown[];
364
+ }
365
+ export interface SignInEvent {
366
+ object: 'sign_in_event';
367
+ id: string;
368
+ /** password, email_code, oauth, passkey, … */
369
+ method: string;
370
+ /** The social provider, for an oauth sign-in. */
371
+ provider: string | null;
372
+ provider_email: string | null;
373
+ ip: string | null;
374
+ /** The actor id when the sign-in was an impersonation. */
375
+ impersonated_by: string | null;
376
+ created_at: number;
377
+ }
378
+ export interface UserOrganizationMembership {
379
+ object: 'organization_membership';
380
+ organization_id: string;
381
+ organization_slug: string;
382
+ role: string;
383
+ plan: string | null;
384
+ joined_at: number;
385
+ }
386
+ export interface SetUserPasswordBody {
387
+ password: string;
388
+ skip_password_checks?: boolean;
389
+ /** Revoke the user's other sessions. */
390
+ sign_out_of_other_sessions?: boolean;
391
+ }
392
+ export interface ImportIdentityBody {
393
+ provider: string;
394
+ provider_user_id: string;
395
+ email_address?: string;
396
+ verified?: boolean;
397
+ }
398
+ export interface UserErasureAckBody {
399
+ /** The acknowledging app/system (its app id or a label). */
400
+ source: string;
401
+ /** Alias of `source`. */
402
+ app_id?: string;
403
+ /** Your data for the erasure export; omit to only confirm the purge. */
404
+ payload?: Record<string, unknown>;
405
+ }
406
+ export interface UserErasureAck {
407
+ object: 'user_erasure_ack';
408
+ id: string;
409
+ user_id: string;
410
+ source: string;
411
+ created_at: number;
412
+ }
413
+ export interface UserErasureExport {
414
+ object: 'erasure_export';
415
+ format_version: 1;
416
+ generated_at: number;
417
+ user_id: string;
418
+ /** Atlas's own data about the user (no secrets). */
419
+ atlas: Record<string, unknown>;
420
+ app_contributions: Array<{
421
+ source: string;
422
+ contributed_at: number;
423
+ payload: unknown;
424
+ }>;
425
+ }
426
+ export interface ImposeUserDirectiveBody {
427
+ /** ISO 8601 timestamp the suspension lasts until. */
428
+ suspended_until?: string;
429
+ read_only?: boolean;
430
+ forced_logout?: boolean;
431
+ reason?: string;
432
+ }
433
+ export interface UserDirective {
434
+ object: 'directive';
435
+ user_id: string;
436
+ suspended_until?: string;
437
+ read_only?: true;
438
+ forced_logout?: true;
439
+ reason?: string;
440
+ /** Live sessions revoked by imposing the directive. */
441
+ sessions_revoked: number;
442
+ }
443
+ export interface RecordUserConsentBody {
444
+ /** e.g. `tos`, `privacy`, `marketing`. */
445
+ policy: string;
446
+ /** The policy version accepted. */
447
+ version: string;
448
+ /** `accepted` (default) or `withdrawn`. */
449
+ status?: 'accepted' | 'withdrawn';
450
+ source?: string;
451
+ metadata?: Record<string, unknown>;
452
+ }
453
+ export interface UserConsent {
454
+ object: 'consent';
455
+ id: string;
456
+ policy: string;
457
+ version: string;
458
+ status: 'accepted' | 'withdrawn' | (string & {});
459
+ source: string | null;
460
+ metadata?: unknown;
461
+ created_at: number;
462
+ }
463
+ export interface CreateUserApprovalRequestBody {
464
+ /** What is being approved, shown on the device. */
465
+ description: string;
466
+ /** Extra key/value details shown under the description. Strings only. */
467
+ context?: Record<string, string>;
468
+ }
469
+ export interface UserApprovalRequestCreated {
470
+ object: 'approval_request';
471
+ id: string;
472
+ status: 'pending';
473
+ /** Show this to the user; they confirm the matching number on their device. */
474
+ match_number: string;
475
+ expires_at: number;
476
+ }
477
+ export interface UserApprovalRequest {
478
+ object: 'approval_request';
479
+ id: string;
480
+ status: 'pending' | 'approved' | 'denied' | 'expired';
481
+ description: string;
482
+ context?: Record<string, string>;
483
+ approved_by_device_id: string | null;
484
+ created_at: number;
485
+ expires_at: number;
486
+ resolved_at: number | null;
487
+ }
488
+ export interface UserNotificationPreference {
489
+ category: string;
490
+ label: string;
491
+ enabled: boolean;
492
+ /** False for security-critical categories, which are always enabled. */
493
+ optional: boolean;
494
+ }
495
+ export interface UserNotificationPreferences {
496
+ object: 'notification_preferences';
497
+ preferences: UserNotificationPreference[];
498
+ }
499
+ export interface UpdateUserNotificationPreferencesBody {
500
+ /** Category key → enabled. */
501
+ preferences: Record<string, boolean>;
502
+ }
503
+ export interface UserPhoneNumber {
504
+ object: 'phone_number';
505
+ id: string;
506
+ phone_number: string;
507
+ verified: boolean;
508
+ created_at: number;
509
+ }
510
+ export interface UserProgressionEventBody {
511
+ track?: string;
512
+ amount: number;
513
+ reason: string;
514
+ /** Required; a retry with the same key is a no-op. */
515
+ idempotency_key: string;
516
+ }
517
+ export interface UserProgressionEvent {
518
+ object: 'progression_event';
519
+ track: string;
520
+ xp: number;
521
+ level: number;
522
+ level_changed: boolean;
523
+ delta: number;
524
+ }
174
525
  /** One sign-in identity on a user: the base Atlas anchor, or a linked provider. */
175
526
  export interface Identity {
176
527
  object: 'identity';
@@ -130,6 +130,234 @@ function usersResource(request) {
130
130
  revokeGrant(grantId) {
131
131
  return request({ method: 'DELETE', path: `/v1/grants/${(0, request_1.enc)(grantId)}` });
132
132
  },
133
+ /**
134
+ * `POST /v1/users/by_emails` — resolve up to 1000 addresses to user ids in
135
+ * one call. Verified, live users only by default; an address ABSENT from
136
+ * `data` has no such user. For rights requests pass `include_unverified`.
137
+ */
138
+ byEmails(body) {
139
+ return request({ method: 'POST', path: '/v1/users/by_emails', body });
140
+ },
141
+ /**
142
+ * `GET /v1/users/:id/resolved` — the flat identity: real primary email,
143
+ * whether it is verified, name, image and linked provider identities.
144
+ */
145
+ resolved(id) {
146
+ return request({ method: 'GET', path: `/v1/users/${(0, request_1.enc)(id)}/resolved` });
147
+ },
148
+ /** `GET /v1/users/:id/state` — portable state: progression, tier, flair, entitlements, directives, roles. */
149
+ state(id) {
150
+ return request({ method: 'GET', path: `/v1/users/${(0, request_1.enc)(id)}/state` });
151
+ },
152
+ /**
153
+ * `GET /v1/users/:id/sign_in_history` — successful sign-ins, newest first,
154
+ * cursor-paginated (`limit` 1–100, default 50). Works with `paginate()`:
155
+ * `paginate((p) => atlas.users.signInHistory('user_1', p))`.
156
+ */
157
+ signInHistory(id, params = {}) {
158
+ return request({
159
+ method: 'GET',
160
+ path: `/v1/users/${(0, request_1.enc)(id)}/sign_in_history`,
161
+ query: { ...params },
162
+ });
163
+ },
164
+ /**
165
+ * `GET /v1/users/:id/organization_memberships` — the organizations a user
166
+ * belongs to with role, resolved plan and join time. Cursor-paginated
167
+ * (`limit` default 20, max 100).
168
+ */
169
+ listOrganizationMemberships(id, params = {}) {
170
+ return request({
171
+ method: 'GET',
172
+ path: `/v1/users/${(0, request_1.enc)(id)}/organization_memberships`,
173
+ query: { ...params },
174
+ });
175
+ },
176
+ /**
177
+ * `POST /v1/users/:id/password` — set (reset) a user's password. Password
178
+ * history and policy apply unless `skip_password_checks` is set.
179
+ */
180
+ setPassword(id, body) {
181
+ return request({ method: 'POST', path: `/v1/users/${(0, request_1.enc)(id)}/password`, body });
182
+ },
183
+ /** `DELETE /v1/users/:id/profile_image` — clear the profile image. */
184
+ deleteProfileImage(id) {
185
+ return request({ method: 'DELETE', path: `/v1/users/${(0, request_1.enc)(id)}/profile_image` });
186
+ },
187
+ /** `DELETE /v1/users/:id/passkeys/:passkeyId` — remove one of the user's passkeys. */
188
+ deletePasskey(id, passkeyId) {
189
+ return request({
190
+ method: 'DELETE',
191
+ path: `/v1/users/${(0, request_1.enc)(id)}/passkeys/${(0, request_1.enc)(passkeyId)}`,
192
+ });
193
+ },
194
+ /**
195
+ * `POST /v1/users/:id/identities/import` — link a KNOWN provider identity
196
+ * (migration) without an OAuth flow. A `(provider, provider_user_id)` held
197
+ * by another user is a 409. Idempotent on the same user.
198
+ */
199
+ importIdentity(id, body) {
200
+ return request({ method: 'POST', path: `/v1/users/${(0, request_1.enc)(id)}/identities/import`, body });
201
+ },
202
+ /**
203
+ * `DELETE /v1/users/:id/identities/by-provider/:provider` — hard-remove a
204
+ * provider identity (undo a mis-import). Unlike `unlinkIdentity`, no new
205
+ * user is created. The account's only sign-in identity is refused.
206
+ */
207
+ removeIdentityByProvider(id, provider) {
208
+ return request({
209
+ method: 'DELETE',
210
+ path: `/v1/users/${(0, request_1.enc)(id)}/identities/by-provider/${(0, request_1.enc)(provider)}`,
211
+ });
212
+ },
213
+ /**
214
+ * `POST /v1/users/:id/erasure_acks` — your app confirms it purged its copy
215
+ * of the user during a scheduled deletion, optionally contributing a JSON
216
+ * `payload` to the erasure export. Upserts on (user, source).
217
+ */
218
+ acknowledgeErasure(id, body, idempotencyKey) {
219
+ return request({
220
+ method: 'POST',
221
+ path: `/v1/users/${(0, request_1.enc)(id)}/erasure_acks`,
222
+ body,
223
+ idempotencyKey,
224
+ });
225
+ },
226
+ /**
227
+ * `GET /v1/users/:id/erasure_export` — Atlas's own data about the user plus
228
+ * every app's contributed payload, in one package.
229
+ */
230
+ erasureExport(id) {
231
+ return request({ method: 'GET', path: `/v1/users/${(0, request_1.enc)(id)}/erasure_export` });
232
+ },
233
+ /** Graceful deletion with a cancellation window (`DELETE /v1/users/:id` stays the immediate path). */
234
+ deletion: {
235
+ /** `POST /v1/users/:id/deletion` — schedule; `grace_seconds` defaults to the instance erasure grace. */
236
+ schedule(id, body = {}, idempotencyKey) {
237
+ return request({
238
+ method: 'POST',
239
+ path: `/v1/users/${(0, request_1.enc)(id)}/deletion`,
240
+ body,
241
+ idempotencyKey,
242
+ });
243
+ },
244
+ /** `POST /v1/users/:id/deletion/cancel` — 409 unless a deletion is still scheduled. */
245
+ cancel(id, idempotencyKey) {
246
+ return request({
247
+ method: 'POST',
248
+ path: `/v1/users/${(0, request_1.enc)(id)}/deletion/cancel`,
249
+ idempotencyKey,
250
+ });
251
+ },
252
+ /** `POST /v1/users/:id/deletion/finalize` — purge once the window has lapsed; 409 if none is due. */
253
+ finalize(id, idempotencyKey) {
254
+ return request({
255
+ method: 'POST',
256
+ path: `/v1/users/${(0, request_1.enc)(id)}/deletion/finalize`,
257
+ idempotencyKey,
258
+ });
259
+ },
260
+ },
261
+ /** Cross-property directives: suspension, read-only, forced logout. */
262
+ directives: {
263
+ /** `POST /v1/users/:id/directives` — revokes live sessions where applicable. */
264
+ impose(id, body, idempotencyKey) {
265
+ return request({
266
+ method: 'POST',
267
+ path: `/v1/users/${(0, request_1.enc)(id)}/directives`,
268
+ body,
269
+ idempotencyKey,
270
+ });
271
+ },
272
+ /** `DELETE /v1/users/:id/directives` — lift the user's directive. */
273
+ lift(id) {
274
+ return request({ method: 'DELETE', path: `/v1/users/${(0, request_1.enc)(id)}/directives` });
275
+ },
276
+ },
277
+ /** Versioned consent records (ToS, privacy, marketing…). Append-only. */
278
+ consents: {
279
+ list(id) {
280
+ return request({ method: 'GET', path: `/v1/users/${(0, request_1.enc)(id)}/consents` });
281
+ },
282
+ /** Record acceptance (default) or `status: 'withdrawn'`. Repeating the current standing returns the existing record. */
283
+ record(id, body, idempotencyKey) {
284
+ return request({
285
+ method: 'POST',
286
+ path: `/v1/users/${(0, request_1.enc)(id)}/consents`,
287
+ body,
288
+ idempotencyKey,
289
+ });
290
+ },
291
+ },
292
+ /** Push number-matching approval of an arbitrary action ("approve this transfer"). */
293
+ approvalRequests: {
294
+ /**
295
+ * `POST /v1/users/:id/approval_requests` — push the prompt to the user's
296
+ * devices. Display the returned `match_number` yourself; 409 when the user
297
+ * has no push device.
298
+ */
299
+ create(id, body) {
300
+ return request({ method: 'POST', path: `/v1/users/${(0, request_1.enc)(id)}/approval_requests`, body });
301
+ },
302
+ /** `GET /v1/users/:id/approval_requests/:approvalId` — poll its status. */
303
+ get(id, approvalId) {
304
+ return request({
305
+ method: 'GET',
306
+ path: `/v1/users/${(0, request_1.enc)(id)}/approval_requests/${(0, request_1.enc)(approvalId)}`,
307
+ });
308
+ },
309
+ },
310
+ /** Security-notification preferences of one end user. */
311
+ notificationPreferences: {
312
+ get(id) {
313
+ return request({
314
+ method: 'GET',
315
+ path: `/v1/users/${(0, request_1.enc)(id)}/notification_preferences`,
316
+ });
317
+ },
318
+ /** `{ preferences: { category: enabled } }`. Security-critical categories cannot be disabled. */
319
+ update(id, body) {
320
+ return request({
321
+ method: 'PATCH',
322
+ path: `/v1/users/${(0, request_1.enc)(id)}/notification_preferences`,
323
+ body,
324
+ });
325
+ },
326
+ },
327
+ /** Phone numbers on a user (the SMS counterpart of email addresses). */
328
+ phoneNumbers: {
329
+ /** Starts unverified. */
330
+ add(id, body) {
331
+ return request({ method: 'POST', path: `/v1/users/${(0, request_1.enc)(id)}/phone_numbers`, body });
332
+ },
333
+ /** Mark verified. 409 if the number is already verified on another user. */
334
+ verify(id, phoneId) {
335
+ return request({
336
+ method: 'POST',
337
+ path: `/v1/users/${(0, request_1.enc)(id)}/phone_numbers/${(0, request_1.enc)(phoneId)}/verify`,
338
+ });
339
+ },
340
+ delete(id, phoneId) {
341
+ return request({
342
+ method: 'DELETE',
343
+ path: `/v1/users/${(0, request_1.enc)(id)}/phone_numbers/${(0, request_1.enc)(phoneId)}`,
344
+ });
345
+ },
346
+ },
347
+ /** XP / level progression. */
348
+ progression: {
349
+ /**
350
+ * `POST /v1/users/:id/progression/events` — append an event, idempotent on
351
+ * `idempotency_key` (per calling key). A negative `amount` needs the `*` scope.
352
+ */
353
+ addEvent(id, body) {
354
+ return request({
355
+ method: 'POST',
356
+ path: `/v1/users/${(0, request_1.enc)(id)}/progression/events`,
357
+ body,
358
+ });
359
+ },
360
+ },
133
361
  };
134
362
  }
135
363
  //# sourceMappingURL=users.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/client/users.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/client/users.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,28 @@ export interface ListWaitlistResponse {
21
21
  has_more: boolean;
22
22
  next_cursor: string | null;
23
23
  }
24
+ export interface BulkWaitlistResult {
25
+ object: 'list';
26
+ data: WaitlistEntry[];
27
+ errors: Array<{
28
+ index: number;
29
+ email_address: string;
30
+ code: string;
31
+ message: string;
32
+ }>;
33
+ }
24
34
  export declare function waitlistResource(request: RequestFn): {
35
+ /** Add an address to the waitlist. Idempotent on the address. */
36
+ create(body: {
37
+ email_address: string;
38
+ }, idempotencyKey?: string): Promise<WaitlistEntry>;
39
+ /** Add up to 100 addresses; per-entry errors are returned, not thrown. */
40
+ bulkCreate(emailAddresses: string[], idempotencyKey?: string): Promise<BulkWaitlistResult>;
41
+ delete(id: string): Promise<{
42
+ object: "waitlist_entry";
43
+ id: string;
44
+ deleted: true;
45
+ }>;
25
46
  list(params?: ListWaitlistParams): Promise<ListWaitlistResponse>;
26
47
  /** Approve or deny a waitlist entry. */
27
48
  decide(id: string, body: {