@atlasauth/backend 0.18.0 → 0.20.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 (90) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/backchannel-handlers.d.ts +87 -0
  3. package/dist/backchannel-handlers.js +137 -0
  4. package/dist/backchannel-handlers.js.map +1 -0
  5. package/dist/client/activity.d.ts +13 -2
  6. package/dist/client/activity.js.map +1 -1
  7. package/dist/client/audit-logs.d.ts +7 -0
  8. package/dist/client/audit-logs.js.map +1 -1
  9. package/dist/client/compliance.d.ts +216 -0
  10. package/dist/client/compliance.js +77 -0
  11. package/dist/client/compliance.js.map +1 -0
  12. package/dist/client/credentials.d.ts +427 -0
  13. package/dist/client/credentials.js +162 -0
  14. package/dist/client/credentials.js.map +1 -0
  15. package/dist/client/data-subject-requests.d.ts +36 -1
  16. package/dist/client/data-subject-requests.js.map +1 -1
  17. package/dist/client/design.d.ts +48 -0
  18. package/dist/client/design.js +9 -0
  19. package/dist/client/design.js.map +1 -1
  20. package/dist/client/entitlement-overrides.d.ts +30 -0
  21. package/dist/client/entitlement-overrides.js +9 -0
  22. package/dist/client/entitlement-overrides.js.map +1 -1
  23. package/dist/client/env.d.ts +16 -0
  24. package/dist/client/env.js +38 -0
  25. package/dist/client/env.js.map +1 -0
  26. package/dist/client/error.d.ts +12 -0
  27. package/dist/client/error.js +6 -0
  28. package/dist/client/error.js.map +1 -1
  29. package/dist/client/index.d.ts +321 -7
  30. package/dist/client/index.js +39 -1
  31. package/dist/client/index.js.map +1 -1
  32. package/dist/client/instance.d.ts +414 -3
  33. package/dist/client/instance.js +77 -3
  34. package/dist/client/instance.js.map +1 -1
  35. package/dist/client/integrations.d.ts +107 -0
  36. package/dist/client/integrations.js +25 -0
  37. package/dist/client/integrations.js.map +1 -0
  38. package/dist/client/messaging.d.ts +18 -4
  39. package/dist/client/messaging.js +6 -2
  40. package/dist/client/messaging.js.map +1 -1
  41. package/dist/client/oauth-clients.d.ts +18 -3
  42. package/dist/client/oauth-clients.js +4 -2
  43. package/dist/client/oauth-clients.js.map +1 -1
  44. package/dist/client/operator.d.ts +100 -0
  45. package/dist/client/operator.js +132 -0
  46. package/dist/client/operator.js.map +1 -0
  47. package/dist/client/platform.d.ts +250 -9
  48. package/dist/client/platform.js +88 -6
  49. package/dist/client/platform.js.map +1 -1
  50. package/dist/client/privacy.d.ts +127 -0
  51. package/dist/client/privacy.js +44 -0
  52. package/dist/client/privacy.js.map +1 -0
  53. package/dist/client/referrals.d.ts +53 -6
  54. package/dist/client/referrals.js +9 -0
  55. package/dist/client/referrals.js.map +1 -1
  56. package/dist/client/request.d.ts +58 -1
  57. package/dist/client/request.js +6 -2
  58. package/dist/client/request.js.map +1 -1
  59. package/dist/client/sealed-box.d.ts +7 -0
  60. package/dist/client/sealed-box.js +62 -0
  61. package/dist/client/sealed-box.js.map +1 -0
  62. package/dist/client/sessions.d.ts +16 -5
  63. package/dist/client/sessions.js +7 -10
  64. package/dist/client/sessions.js.map +1 -1
  65. package/dist/client/status.d.ts +200 -0
  66. package/dist/client/status.js +54 -0
  67. package/dist/client/status.js.map +1 -0
  68. package/dist/client/users.d.ts +2 -0
  69. package/dist/client/users.js.map +1 -1
  70. package/dist/client/webhooks.d.ts +265 -13
  71. package/dist/client/webhooks.js +52 -3
  72. package/dist/client/webhooks.js.map +1 -1
  73. package/dist/index.d.ts +8 -6
  74. package/dist/index.js +19 -4
  75. package/dist/index.js.map +1 -1
  76. package/dist/oidc.d.ts +75 -1
  77. package/dist/oidc.js +48 -0
  78. package/dist/oidc.js.map +1 -1
  79. package/dist/referral-test-calls.d.ts +26 -13
  80. package/dist/referral-test-calls.js +40 -14
  81. package/dist/referral-test-calls.js.map +1 -1
  82. package/dist/testing.d.ts +45 -6
  83. package/dist/testing.js +37 -2
  84. package/dist/testing.js.map +1 -1
  85. package/dist/verify.d.ts +9 -0
  86. package/dist/verify.js.map +1 -1
  87. package/dist/webhooks.d.ts +8 -0
  88. package/dist/webhooks.js +13 -4
  89. package/dist/webhooks.js.map +1 -1
  90. package/package.json +5 -1
@@ -1,3 +1,5 @@
1
+ import { type ProvisioningFields, type ProvisioningInput, type ProvisioningMetadata } from './compliance';
2
+ import type { KeyKind, StandardKey, Whoami } from './credentials';
1
3
  import { type AtlasRequestSettings, type RequestFn, type UnknownFieldsEvent } from './request';
2
4
  import type { ListPage } from './types';
3
5
  import type { BackchannelDeliveriesQuery, BackchannelLogoutDeliveryPage, BackchannelLogoutTest } from './oauth-clients';
@@ -13,6 +15,28 @@ export interface AtlasIdAppPreflight {
13
15
  checked_at: number;
14
16
  user_count: number;
15
17
  findings: PreflightFinding[];
18
+ /** The page origins the Sign in with Atlas button script ran on in the last 7 days. */
19
+ button_rendered_origins?: {
20
+ origin: string;
21
+ last_seen_at: number;
22
+ requests: number;
23
+ }[];
24
+ /** How the last 7 days' sign-ins started: the rendered button, the script API, One Tap, the no-script fallback, or unmarked. */
25
+ authorize_requests_7d?: {
26
+ button: number;
27
+ js: number;
28
+ fedcm: number;
29
+ fallback: number;
30
+ unmarked: number;
31
+ };
32
+ /** Origins of sign-ins that came through the no-script fallback link (`?atlasid_fallback=1`). */
33
+ fallback_origins?: {
34
+ origin: string;
35
+ last_seen_at: number;
36
+ requests: number;
37
+ }[];
38
+ /** Whether the app's homepage references the button script (null = could not check). */
39
+ homepage_includes_script?: boolean | null;
16
40
  }
17
41
  /**
18
42
  * The platform client: the platform-key (`psk_...`) surface for provisioning and
@@ -22,8 +46,14 @@ export interface AtlasIdAppPreflight {
22
46
  * platform key manages many apps, a secret key manages exactly one instance.
23
47
  */
24
48
  export interface AtlasPlatformClientConfig {
25
- /** The platform key (`psk_...`). Sent as `Authorization: Bearer <key>`; never logged. */
49
+ /**
50
+ * The platform key (`atlas_live_psk_…` or legacy `psk_…`), or a one-hour
51
+ * platform-bound access token from `exchangeOperatorToken`. Sent as
52
+ * `Authorization: Bearer <key>`; never logged.
53
+ */
26
54
  platformKey: string;
55
+ /** Sealed secret delivery (`x25519:<public key>`); see AtlasClientConfig.secretRecipient. */
56
+ secretRecipient?: string;
27
57
  /** Base URL of the API, e.g. `https://api.atlasauth.net`. */
28
58
  apiUrl?: string;
29
59
  /** Injectable `fetch`, for tests and non-global-fetch runtimes. */
@@ -34,7 +64,7 @@ export interface AtlasPlatformClientConfig {
34
64
  onUnknownFields?: (event: UnknownFieldsEvent) => void;
35
65
  }
36
66
  /** An app (instance) a platform owns. Never carries a secret. */
37
- export interface PlatformApp {
67
+ export interface PlatformApp extends ProvisioningFields {
38
68
  object: 'app';
39
69
  id: string;
40
70
  name: string;
@@ -86,12 +116,17 @@ export interface CreatePlatformAppBody {
86
116
  /** Default true: also provision a test-mode sibling instance. */
87
117
  create_development_sibling?: boolean;
88
118
  tags?: string[];
119
+ metadata?: ProvisioningMetadata;
120
+ /** A stable key of your own: a repeat create with it returns the existing app (200, no secret). */
121
+ external_ref?: string;
89
122
  }
90
123
  export interface UpdatePlatformAppBody {
91
124
  name?: string;
92
125
  /** Origin strings, or `{ origin, integration }` entries (`redirect` | `embedded` | `auto`). */
93
126
  allowed_origins?: AllowedOriginInput[];
94
127
  tags?: string[];
128
+ /** Replaces the provisioning metadata. */
129
+ metadata?: ProvisioningMetadata;
95
130
  }
96
131
  export interface ListPlatformAppsParams {
97
132
  /** Only apps carrying this tag. */
@@ -100,8 +135,10 @@ export interface ListPlatformAppsParams {
100
135
  archived?: boolean;
101
136
  /** `true`: include archived apps alongside active ones. */
102
137
  include_archived?: boolean;
138
+ /** Only apps whose provisioning metadata matches every pair. */
139
+ metadata?: ProvisioningMetadata;
103
140
  }
104
- export interface CreatePlatformInstanceBody {
141
+ export interface CreatePlatformInstanceBody extends ProvisioningInput {
105
142
  environment?: 'production' | 'development';
106
143
  /** Origin strings, or `{ origin, integration }` entries (`redirect` | `embedded` | `auto`). */
107
144
  allowed_origins?: AllowedOriginInput[];
@@ -145,9 +182,10 @@ export interface RotateAtlasIdAppSecretBody {
145
182
  overlap_seconds?: number;
146
183
  }
147
184
  /** Metadata of a currently-valid secret key. Never the secret itself. */
148
- export interface PlatformSecretKey {
185
+ export interface PlatformSecretKey extends ProvisioningFields {
149
186
  object: 'secret_key';
150
187
  id: string;
188
+ name?: string | null;
151
189
  prefix: string;
152
190
  created_at: number;
153
191
  expires_at?: number | null;
@@ -162,11 +200,70 @@ export interface PlatformAppTransfer {
162
200
  }
163
201
  export interface PlatformAppBulkDeleteResult {
164
202
  object: 'bulk_delete_result';
203
+ /** `disable` (ids) or `hard_delete` (a sandbox metadata selection). */
204
+ mode?: 'disable' | 'hard_delete';
205
+ dry_run?: boolean;
165
206
  results: Array<{
166
207
  id: string;
208
+ type?: string;
209
+ instance_id?: string;
167
210
  deleted: boolean;
168
211
  reason?: string;
169
212
  }>;
213
+ changes?: Array<{
214
+ section: string;
215
+ before: unknown;
216
+ after: unknown;
217
+ }>;
218
+ }
219
+ /** A sandbox teardown selection: must carry `sandbox: true`. */
220
+ export interface SandboxTeardownBody {
221
+ metadata: ProvisioningMetadata;
222
+ dry_run?: boolean;
223
+ }
224
+ /** A named, tagged extra secret key for an app. */
225
+ export interface CreatePlatformSecretKeyBody extends ProvisioningInput {
226
+ name?: string;
227
+ /** Any instance of the same app; default the app's own. */
228
+ instance_id?: string;
229
+ }
230
+ export interface CreatedPlatformSecretKey extends PlatformSecretKey {
231
+ app_id: string;
232
+ instance_id: string;
233
+ /** Present only on a fresh create (never on an idempotent replay). */
234
+ secret?: string;
235
+ note?: string;
236
+ }
237
+ export interface CloneConfigBody {
238
+ /** Default `development`. */
239
+ to_environment?: 'development' | 'production';
240
+ target_instance_id?: string;
241
+ /** Default auth_config, roles, redirect_urls. */
242
+ sections?: Array<'auth_config' | 'allowed_origins' | 'roles' | 'redirect_urls'>;
243
+ include_origins?: boolean;
244
+ dry_run?: boolean;
245
+ }
246
+ export interface CloneConfigResult {
247
+ object: 'clone_config_result' | 'dry_run';
248
+ source_instance_id: string;
249
+ target_instance_id: string | null;
250
+ to_environment: string;
251
+ created_target: boolean;
252
+ sections: string[];
253
+ excluded: Array<{
254
+ path: string;
255
+ reason: 'secret' | 'instance_specific';
256
+ }>;
257
+ never_copied: string[];
258
+ changes: Array<{
259
+ section: string;
260
+ before: unknown;
261
+ after: unknown;
262
+ }>;
263
+ target?: PlatformApp | null;
264
+ /** When a new instance was created for the clone: its secret key, shown once. */
265
+ secret?: string;
266
+ note?: string;
170
267
  }
171
268
  export interface AccountlessApp {
172
269
  object: 'accountless_app';
@@ -231,7 +328,7 @@ export interface AtlasIdAppBrandingInput {
231
328
  copy?: AtlasIdAppCopy;
232
329
  }
233
330
  /** A Sign in with Atlas app: an OpenID Connect client on the Atlas issuer. */
234
- export interface AtlasIdApp {
331
+ export interface AtlasIdApp extends ProvisioningFields {
235
332
  object: 'atlas_id_app';
236
333
  id: string;
237
334
  client_id: string;
@@ -248,7 +345,10 @@ export interface AtlasIdApp {
248
345
  allowed_scopes: string[];
249
346
  type: 'confidential' | 'public';
250
347
  secret_prefix?: string | null;
348
+ /** The instance that manages this app's grants (its scoped key lists and revokes them), or null. */
251
349
  managed_by_instance_id?: string | null;
350
+ /** `instance_toggle`: an instance's Sign in with Atlas toggle app; `adopted`: handed to an instance with `setManagedBy`. */
351
+ managed_via?: 'instance_toggle' | 'adopted' | null;
252
352
  created_at: number;
253
353
  updated_at: number;
254
354
  /** On `get` only: people who have approved the app. */
@@ -268,8 +368,12 @@ export interface AtlasIdApp {
268
368
  /** Create / rotate response: confidential apps carry the client secret exactly once. */
269
369
  export interface AtlasIdAppWithSecret extends AtlasIdApp {
270
370
  client_secret?: string;
371
+ /** With a `secretRecipient`: the client secret sealed to it. */
372
+ sealed_client_secret?: string;
271
373
  /** The per-app webhook signing secret, returned exactly once (first set, or rotated). */
272
374
  webhook_secret?: string;
375
+ /** With a `secretRecipient`: the webhook secret sealed to it. */
376
+ sealed_webhook_secret?: string;
273
377
  /** On a rotation: the overlap applied, in seconds. */
274
378
  overlap_seconds?: number;
275
379
  note?: string;
@@ -346,7 +450,7 @@ interface AtlasIdAppFields {
346
450
  allowed_scopes?: string[];
347
451
  branding?: AtlasIdAppBrandingInput | null;
348
452
  }
349
- export interface CreateAtlasIdAppBody extends AtlasIdAppFields {
453
+ export interface CreateAtlasIdAppBody extends AtlasIdAppFields, ProvisioningInput {
350
454
  name: string;
351
455
  redirect_uris: string[];
352
456
  /** Default `confidential`. */
@@ -354,6 +458,8 @@ export interface CreateAtlasIdAppBody extends AtlasIdAppFields {
354
458
  }
355
459
  export interface UpdateAtlasIdAppBody extends AtlasIdAppFields {
356
460
  name?: string;
461
+ /** Replaces the provisioning metadata. */
462
+ metadata?: ProvisioningMetadata;
357
463
  redirect_uris?: string[];
358
464
  /**
359
465
  * Per-app webhook (public https): user.updated, user.deleted and grant.revoked for
@@ -361,7 +467,117 @@ export interface UpdateAtlasIdAppBody extends AtlasIdAppFields {
361
467
  */
362
468
  webhook_url?: string | null;
363
469
  }
470
+ export interface AccountAuditRecord {
471
+ object: 'account_audit_log';
472
+ id: string;
473
+ account_id: string;
474
+ actor: {
475
+ type: string;
476
+ id: string | null;
477
+ };
478
+ action: string;
479
+ target: {
480
+ type: string | null;
481
+ id: string | null;
482
+ };
483
+ instance_id: string | null;
484
+ ip: string | null;
485
+ user_agent: string | null;
486
+ metadata: Record<string, unknown>;
487
+ created_at: number;
488
+ }
489
+ export interface AccountAuditStream {
490
+ object: 'account_audit_stream';
491
+ id: string;
492
+ url: string;
493
+ format: 'atlas' | 'cloudevents';
494
+ active: boolean;
495
+ has_secret: true;
496
+ cursor: string | null;
497
+ consecutive_failures: number;
498
+ failing_since: number | null;
499
+ next_attempt_at: number | null;
500
+ last_delivered_at: number | null;
501
+ last_error: string | null;
502
+ created_at: number;
503
+ updated_at: number;
504
+ }
364
505
  declare function platformNamespaces(request: RequestFn): {
506
+ /** Introspect the platform key / token this client uses. */
507
+ whoami(): Promise<Whoami>;
508
+ /** Every credential on the account (incl. revoked), and minting/revoking them. */
509
+ keys: {
510
+ list(params?: {
511
+ kind?: KeyKind;
512
+ status?: StandardKey["status"];
513
+ instance_id?: string;
514
+ }): Promise<ListPage<StandardKey>>;
515
+ /** Scopes ⊆ the caller's; per-app grant scopes `atlas_id_apps:<app id>:grants:read|write` allowed. */
516
+ create(body: {
517
+ scopes: string[];
518
+ name?: string;
519
+ application_ids?: string[];
520
+ expires_at?: number | string;
521
+ ip_allowlist?: string[];
522
+ owner?: string;
523
+ key_format?: "atlas" | "legacy";
524
+ }): Promise<{
525
+ object: "platform_api_key";
526
+ id: string;
527
+ prefix: string;
528
+ scopes: string[];
529
+ secret?: string;
530
+ sealed_secret?: string;
531
+ }>;
532
+ update(id: string, body: {
533
+ name?: string | null;
534
+ owner?: string | null;
535
+ expires_at?: number | string | null;
536
+ }): Promise<{
537
+ object: "platform_api_key";
538
+ id: string;
539
+ }>;
540
+ revoke(id: string): Promise<{
541
+ object: "key";
542
+ id: string;
543
+ kind: KeyKind;
544
+ revoked: true;
545
+ }>;
546
+ };
547
+ /** The account audit log and its streams. */
548
+ audit: {
549
+ list(params?: {
550
+ limit?: number;
551
+ starting_after?: string;
552
+ action?: string;
553
+ }): Promise<ListPage<AccountAuditRecord>>;
554
+ streams: {
555
+ list(): Promise<ListPage<AccountAuditStream>>;
556
+ create(body: {
557
+ url: string;
558
+ format?: "atlas" | "cloudevents";
559
+ }): Promise<AccountAuditStream & {
560
+ secret?: string;
561
+ sealed_secret?: string;
562
+ }>;
563
+ update(id: string, body: {
564
+ url?: string;
565
+ format?: "atlas" | "cloudevents";
566
+ active?: boolean;
567
+ }): Promise<AccountAuditStream>;
568
+ delete(id: string): Promise<{
569
+ object: "account_audit_stream";
570
+ id: string;
571
+ deleted: true;
572
+ }>;
573
+ test(id: string): Promise<{
574
+ id: string;
575
+ ok: boolean;
576
+ status: number | null;
577
+ error?: string;
578
+ }>;
579
+ };
580
+ };
365
581
  apps: {
366
582
  /** Archived apps are hidden unless `include_archived` or `archived` is set. */
367
583
  list(params?: ListPlatformAppsParams): Promise<ListPage<PlatformApp>>;
@@ -377,7 +593,18 @@ declare function platformNamespaces(request: RequestFn): {
377
593
  note: string;
378
594
  }>;
379
595
  /** Disable up to 100 apps; ids you do not own are skipped as `not_found`. */
380
- bulkDelete(ids: string[]): Promise<PlatformAppBulkDeleteResult>;
596
+ bulkDelete(ids: string[] | SandboxTeardownBody): Promise<PlatformAppBulkDeleteResult>;
597
+ /**
598
+ * Hard delete every sandbox-tagged app and resource of this platform
599
+ * (`{ sandbox: true }` must be in the selection). `dry_run` lists what would go.
600
+ */
601
+ sandboxTeardown(metadata?: ProvisioningMetadata, opts?: {
602
+ dryRun?: boolean;
603
+ }): Promise<PlatformAppBulkDeleteResult>;
604
+ /** Copy an app's configuration into its development (or another) instance, secrets excluded. */
605
+ cloneConfig(id: string, body?: CloneConfigBody, idempotencyKey?: string): Promise<CloneConfigResult>;
606
+ /** Mint an additional named, taggable secret key (shown once; `external_ref` makes it idempotent). */
607
+ createSecretKey(id: string, body?: CreatePlatformSecretKeyBody, idempotencyKey?: string): Promise<CreatedPlatformSecretKey>;
381
608
  /** Hide from the default listing. Does not disable the app. */
382
609
  archive(id: string): Promise<PlatformApp>;
383
610
  unarchive(id: string): Promise<PlatformApp>;
@@ -387,7 +614,9 @@ declare function platformNamespaces(request: RequestFn): {
387
614
  */
388
615
  rotateSecret(id: string, body?: RotatePlatformSecretBody, idempotencyKey?: string): Promise<PlatformAppSecretRotation>;
389
616
  /** Currently-valid secret keys (metadata only). */
390
- secretKeys(id: string): Promise<ListPage<PlatformSecretKey>>;
617
+ secretKeys(id: string, params?: {
618
+ metadata?: ProvisioningMetadata;
619
+ }): Promise<ListPage<PlatformSecretKey>>;
391
620
  instances: {
392
621
  list(appId: string): Promise<ListPage<PlatformApp>>;
393
622
  /** Add an instance (e.g. development beside production); secret revealed once. */
@@ -415,7 +644,9 @@ declare function platformNamespaces(request: RequestFn): {
415
644
  };
416
645
  /** Sign in with Atlas apps registered to the platform's account. */
417
646
  atlasIdApps: {
418
- list(): Promise<AtlasIdAppList>;
647
+ list(params?: {
648
+ metadata?: ProvisioningMetadata;
649
+ }): Promise<AtlasIdAppList>;
419
650
  /** Register an app. A confidential app's `client_secret` is returned exactly once. */
420
651
  create(body: CreateAtlasIdAppBody, idempotencyKey?: string): Promise<AtlasIdAppWithSecret>;
421
652
  get(id: string): Promise<AtlasIdApp>;
@@ -450,6 +681,16 @@ declare function platformNamespaces(request: RequestFn): {
450
681
  revokeGrant(id: string, grantId: string): Promise<AtlasIdGrantRevocation>;
451
682
  /** Move the app's URLs from one origin to another. `dry_run: true` writes nothing. */
452
683
  moveOrigin(id: string, body: OriginMoveRequest): Promise<OriginMove>;
684
+ /**
685
+ * Hand the app's grant management to an instance of the same account
686
+ * (`managed_via: "adopted"`), or take it back with `null`. That instance's
687
+ * secret key, scoped to `privacy:grants:revoke` or `atlas_id_grants:*`,
688
+ * then lists and revokes the app's grants, so a data-rights tool never
689
+ * needs the platform key. The app stays yours to edit.
690
+ */
691
+ setManagedBy(id: string, instanceId: string | null): Promise<AtlasIdApp & {
692
+ changed: boolean;
693
+ }>;
453
694
  /**
454
695
  * New per-app webhook signing secret (`webhook_secret`), returned once. By
455
696
  * default the previous secret stops at once; for `overlap_seconds` it signs
@@ -1,14 +1,59 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createAtlasPlatformClient = createAtlasPlatformClient;
4
+ const compliance_1 = require("./compliance");
4
5
  const request_1 = require("./request");
5
6
  // ---- the client ----------------------------------------------------------------
6
7
  function platformNamespaces(request) {
7
8
  return {
9
+ /** Introspect the platform key / token this client uses. */
10
+ whoami() {
11
+ return request({ method: 'GET', path: '/v1/platform/whoami' });
12
+ },
13
+ /** Every credential on the account (incl. revoked), and minting/revoking them. */
14
+ keys: {
15
+ list(params = {}) {
16
+ return request({ method: 'GET', path: '/v1/platform/keys', query: { ...params } });
17
+ },
18
+ /** Scopes ⊆ the caller's; per-app grant scopes `atlas_id_apps:<app id>:grants:read|write` allowed. */
19
+ create(body) {
20
+ return request({ method: 'POST', path: '/v1/platform/keys', body });
21
+ },
22
+ update(id, body) {
23
+ return request({ method: 'PATCH', path: `/v1/platform/keys/${(0, request_1.enc)(id)}`, body });
24
+ },
25
+ revoke(id) {
26
+ return request({ method: 'POST', path: `/v1/platform/keys/${(0, request_1.enc)(id)}/revoke` });
27
+ },
28
+ },
29
+ /** The account audit log and its streams. */
30
+ audit: {
31
+ list(params = {}) {
32
+ return request({ method: 'GET', path: '/v1/platform/audit_logs', query: { ...params } });
33
+ },
34
+ streams: {
35
+ list() {
36
+ return request({ method: 'GET', path: '/v1/platform/audit_streams' });
37
+ },
38
+ create(body) {
39
+ return request({ method: 'POST', path: '/v1/platform/audit_streams', body });
40
+ },
41
+ update(id, body) {
42
+ return request({ method: 'PATCH', path: `/v1/platform/audit_streams/${(0, request_1.enc)(id)}`, body });
43
+ },
44
+ delete(id) {
45
+ return request({ method: 'DELETE', path: `/v1/platform/audit_streams/${(0, request_1.enc)(id)}` });
46
+ },
47
+ test(id) {
48
+ return request({ method: 'POST', path: `/v1/platform/audit_streams/${(0, request_1.enc)(id)}/test` });
49
+ },
50
+ },
51
+ },
8
52
  apps: {
9
53
  /** Archived apps are hidden unless `include_archived` or `archived` is set. */
10
54
  list(params = {}) {
11
- return request({ method: 'GET', path: '/v1/platform/apps', query: { ...params } });
55
+ const { metadata, ...rest } = params;
56
+ return request({ method: 'GET', path: '/v1/platform/apps', query: { ...rest, ...(0, compliance_1.metadataQuery)(metadata) } });
12
57
  },
13
58
  /** Provision an app; its secret key is revealed exactly once. */
14
59
  create(body = {}, idempotencyKey) {
@@ -26,7 +71,30 @@ function platformNamespaces(request) {
26
71
  },
27
72
  /** Disable up to 100 apps; ids you do not own are skipped as `not_found`. */
28
73
  bulkDelete(ids) {
29
- return request({ method: 'POST', path: '/v1/platform/apps/bulk_delete', body: { ids } });
74
+ return request({
75
+ method: 'POST',
76
+ path: '/v1/platform/apps/bulk_delete',
77
+ body: Array.isArray(ids) ? { ids } : ids,
78
+ });
79
+ },
80
+ /**
81
+ * Hard delete every sandbox-tagged app and resource of this platform
82
+ * (`{ sandbox: true }` must be in the selection). `dry_run` lists what would go.
83
+ */
84
+ sandboxTeardown(metadata = { sandbox: true }, opts = {}) {
85
+ return request({
86
+ method: 'POST',
87
+ path: '/v1/platform/apps/bulk_delete',
88
+ body: { metadata, ...(opts.dryRun ? { dry_run: true } : {}) },
89
+ });
90
+ },
91
+ /** Copy an app's configuration into its development (or another) instance, secrets excluded. */
92
+ cloneConfig(id, body = {}, idempotencyKey) {
93
+ return request({ method: 'POST', path: `/v1/platform/apps/${(0, request_1.enc)(id)}/clone_config`, body, idempotencyKey });
94
+ },
95
+ /** Mint an additional named, taggable secret key (shown once; `external_ref` makes it idempotent). */
96
+ createSecretKey(id, body = {}, idempotencyKey) {
97
+ return request({ method: 'POST', path: `/v1/platform/apps/${(0, request_1.enc)(id)}/secret_keys`, body, idempotencyKey });
30
98
  },
31
99
  /** Hide from the default listing. Does not disable the app. */
32
100
  archive(id) {
@@ -48,8 +116,8 @@ function platformNamespaces(request) {
48
116
  });
49
117
  },
50
118
  /** Currently-valid secret keys (metadata only). */
51
- secretKeys(id) {
52
- return request({ method: 'GET', path: `/v1/platform/apps/${(0, request_1.enc)(id)}/secret_keys` });
119
+ secretKeys(id, params = {}) {
120
+ return request({ method: 'GET', path: `/v1/platform/apps/${(0, request_1.enc)(id)}/secret_keys`, query: (0, compliance_1.metadataQuery)(params.metadata) });
53
121
  },
54
122
  instances: {
55
123
  list(appId) {
@@ -120,8 +188,8 @@ function platformNamespaces(request) {
120
188
  },
121
189
  /** Sign in with Atlas apps registered to the platform's account. */
122
190
  atlasIdApps: {
123
- list() {
124
- return request({ method: 'GET', path: '/v1/platform/atlas_id_apps' });
191
+ list(params = {}) {
192
+ return request({ method: 'GET', path: '/v1/platform/atlas_id_apps', query: (0, compliance_1.metadataQuery)(params.metadata) });
125
193
  },
126
194
  /** Register an app. A confidential app's `client_secret` is returned exactly once. */
127
195
  create(body, idempotencyKey) {
@@ -199,6 +267,20 @@ function platformNamespaces(request) {
199
267
  body,
200
268
  });
201
269
  },
270
+ /**
271
+ * Hand the app's grant management to an instance of the same account
272
+ * (`managed_via: "adopted"`), or take it back with `null`. That instance's
273
+ * secret key, scoped to `privacy:grants:revoke` or `atlas_id_grants:*`,
274
+ * then lists and revokes the app's grants, so a data-rights tool never
275
+ * needs the platform key. The app stays yours to edit.
276
+ */
277
+ setManagedBy(id, instanceId) {
278
+ return request({
279
+ method: 'PUT',
280
+ path: `/v1/platform/atlas_id_apps/${(0, request_1.enc)(id)}/managed_by`,
281
+ body: { instance_id: instanceId },
282
+ });
283
+ },
202
284
  /**
203
285
  * New per-app webhook signing secret (`webhook_secret`), returned once. By
204
286
  * default the previous secret stops at once; for `overlap_seconds` it signs
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/client/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/client/platform.ts"],"names":[],"mappings":"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"}