@atlasauth/backend 0.24.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/client/abac.d.ts +132 -0
- package/dist/client/abac.js +48 -0
- package/dist/client/abac.js.map +1 -0
- package/dist/client/access-policies.d.ts +100 -0
- package/dist/client/access-policies.js +29 -0
- package/dist/client/access-policies.js.map +1 -0
- package/dist/client/action-gallery.d.ts +1 -1
- package/dist/client/action-gallery.js.map +1 -1
- package/dist/client/actions.d.ts +129 -6
- package/dist/client/actions.js +4 -0
- package/dist/client/actions.js.map +1 -1
- package/dist/client/analytics-reports.d.ts +215 -0
- package/dist/client/analytics-reports.js +56 -0
- package/dist/client/analytics-reports.js.map +1 -0
- package/dist/client/app-catalog.d.ts +74 -0
- package/dist/client/app-catalog.js +30 -0
- package/dist/client/app-catalog.js.map +1 -0
- package/dist/client/attack-protection.d.ts +10 -0
- package/dist/client/attack-protection.js +8 -0
- package/dist/client/attack-protection.js.map +1 -1
- package/dist/client/audit-events.d.ts +71 -0
- package/dist/client/audit-events.js +28 -0
- package/dist/client/audit-events.js.map +1 -1
- package/dist/client/credentials.d.ts +8 -0
- package/dist/client/credentials.js.map +1 -1
- package/dist/client/delegated-ui-proxy.d.ts +25 -0
- package/dist/client/delegated-ui-proxy.js +46 -0
- package/dist/client/delegated-ui-proxy.js.map +1 -0
- package/dist/client/devices.d.ts +44 -0
- package/dist/client/devices.js +26 -0
- package/dist/client/devices.js.map +1 -0
- package/dist/client/email-templates.d.ts +1 -1
- package/dist/client/email-templates.js.map +1 -1
- package/dist/client/flags.d.ts +101 -0
- package/dist/client/flags.js +104 -0
- package/dist/client/flags.js.map +1 -0
- package/dist/client/groups.d.ts +146 -0
- package/dist/client/groups.js +67 -0
- package/dist/client/groups.js.map +1 -0
- package/dist/client/identity-verification.d.ts +62 -0
- package/dist/client/identity-verification.js +39 -0
- package/dist/client/identity-verification.js.map +1 -0
- package/dist/client/index.d.ts +943 -2
- package/dist/client/index.js +73 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/journeys.d.ts +108 -0
- package/dist/client/journeys.js +35 -0
- package/dist/client/journeys.js.map +1 -0
- package/dist/client/log-streams.d.ts +1 -1
- package/dist/client/marketing.d.ts +67 -0
- package/dist/client/marketing.js +26 -0
- package/dist/client/marketing.js.map +1 -0
- package/dist/client/mcp-gateways.d.ts +54 -0
- package/dist/client/mcp-gateways.js +25 -0
- package/dist/client/mcp-gateways.js.map +1 -0
- package/dist/client/messaging.d.ts +14 -3
- package/dist/client/messaging.js.map +1 -1
- package/dist/client/mfa-factors.d.ts +120 -0
- package/dist/client/mfa-factors.js +73 -0
- package/dist/client/mfa-factors.js.map +1 -0
- package/dist/client/migrations.d.ts +1 -1
- package/dist/client/migrations.js.map +1 -1
- package/dist/client/network-acls.d.ts +6 -1
- package/dist/client/network-acls.js.map +1 -1
- package/dist/client/network-zones.d.ts +56 -0
- package/dist/client/network-zones.js +29 -0
- package/dist/client/network-zones.js.map +1 -0
- package/dist/client/notifications.d.ts +1 -1
- package/dist/client/notifications.js.map +1 -1
- package/dist/client/oauth-clients.d.ts +183 -3
- package/dist/client/oauth-clients.js +64 -0
- package/dist/client/oauth-clients.js.map +1 -1
- package/dist/client/org-role-grants.d.ts +57 -0
- package/dist/client/org-role-grants.js +40 -0
- package/dist/client/org-role-grants.js.map +1 -0
- package/dist/client/organizations.d.ts +52 -0
- package/dist/client/organizations.js +44 -0
- package/dist/client/organizations.js.map +1 -1
- package/dist/client/page-templates.d.ts +78 -0
- package/dist/client/page-templates.js +31 -0
- package/dist/client/page-templates.js.map +1 -0
- package/dist/client/passkey-api.d.ts +73 -0
- package/dist/client/passkey-api.js +34 -0
- package/dist/client/passkey-api.js.map +1 -0
- package/dist/client/resources.d.ts +149 -0
- package/dist/client/resources.js +73 -0
- package/dist/client/resources.js.map +1 -0
- package/dist/client/risk-based-mfa.d.ts +147 -0
- package/dist/client/risk-based-mfa.js +30 -0
- package/dist/client/risk-based-mfa.js.map +1 -1
- package/dist/client/roles.d.ts +4 -0
- package/dist/client/roles.js.map +1 -1
- package/dist/client/service-connectors.d.ts +83 -0
- package/dist/client/service-connectors.js +33 -0
- package/dist/client/service-connectors.js.map +1 -0
- package/dist/client/ssf.d.ts +111 -0
- package/dist/client/ssf.js +49 -0
- package/dist/client/ssf.js.map +1 -0
- package/dist/client/sso-onboarding.d.ts +6 -0
- package/dist/client/sso-onboarding.js.map +1 -1
- package/dist/client/users.d.ts +302 -0
- package/dist/client/users.js +125 -0
- package/dist/client/users.js.map +1 -1
- package/dist/client/vault.d.ts +85 -0
- package/dist/client/vault.js +50 -0
- package/dist/client/vault.js.map +1 -0
- package/dist/client/vc.d.ts +128 -0
- package/dist/client/vc.js +43 -0
- package/dist/client/vc.js.map +1 -0
- package/dist/client/webhooks.d.ts +31 -2
- package/dist/client/webhooks.js.map +1 -1
- package/dist/client/workflows.d.ts +131 -0
- package/dist/client/workflows.js +36 -0
- package/dist/client/workflows.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/magic-did.d.ts +5 -0
- package/dist/magic-did.js +49 -0
- package/dist/magic-did.js.map +1 -0
- package/dist/migration-bridge.d.ts +9 -0
- package/dist/migration-bridge.js +28 -2
- package/dist/migration-bridge.js.map +1 -1
- package/dist/migration-presets-g3.d.ts +2 -0
- package/dist/migration-presets-g3.js +254 -0
- package/dist/migration-presets-g3.js.map +1 -0
- package/dist/migration-presets-g4/authentik.d.ts +14 -0
- package/dist/migration-presets-g4/authentik.js +37 -0
- package/dist/migration-presets-g4/authentik.js.map +1 -0
- package/dist/migration-presets-g4/fusionauth.d.ts +2 -0
- package/dist/migration-presets-g4/fusionauth.js +52 -0
- package/dist/migration-presets-g4/fusionauth.js.map +1 -0
- package/dist/migration-presets-g4/hanko.d.ts +12 -0
- package/dist/migration-presets-g4/hanko.js +46 -0
- package/dist/migration-presets-g4/hanko.js.map +1 -0
- package/dist/migration-presets-g4/keycloak.d.ts +16 -0
- package/dist/migration-presets-g4/keycloak.js +37 -0
- package/dist/migration-presets-g4/keycloak.js.map +1 -0
- package/dist/migration-presets-g4/logto.d.ts +12 -0
- package/dist/migration-presets-g4/logto.js +35 -0
- package/dist/migration-presets-g4/logto.js.map +1 -0
- package/dist/migration-presets-g4/ory.d.ts +2 -0
- package/dist/migration-presets-g4/ory.js +67 -0
- package/dist/migration-presets-g4/ory.js.map +1 -0
- package/dist/migration-presets-g4/supertokens.d.ts +13 -0
- package/dist/migration-presets-g4/supertokens.js +35 -0
- package/dist/migration-presets-g4/supertokens.js.map +1 -0
- package/dist/migration-presets-g4/zitadel.d.ts +2 -0
- package/dist/migration-presets-g4/zitadel.js +36 -0
- package/dist/migration-presets-g4/zitadel.js.map +1 -0
- package/dist/migration-presets-g4.d.ts +10 -0
- package/dist/migration-presets-g4.js +30 -0
- package/dist/migration-presets-g4.js.map +1 -0
- package/dist/migration-presets.d.ts +6 -0
- package/dist/migration-presets.js +102 -6
- package/dist/migration-presets.js.map +1 -1
- package/dist/request-auth.d.ts +32 -0
- package/dist/request-auth.js +72 -0
- package/dist/request-auth.js.map +1 -0
- package/dist/verify.d.ts +2 -0
- package/dist/verify.js.map +1 -1
- package/dist/workos-session.d.ts +30 -0
- package/dist/workos-session.js +123 -0
- package/dist/workos-session.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,6 +1,46 @@
|
|
|
1
1
|
import { type ProvisioningFields, type ProvisioningInput, type ProvisioningMetadata } from './compliance';
|
|
2
2
|
import { type RequestFn } from './request';
|
|
3
3
|
import type { ListPage } from './types';
|
|
4
|
+
export interface TrustedIssuer {
|
|
5
|
+
object: 'oauth_trusted_issuer';
|
|
6
|
+
id: string;
|
|
7
|
+
client_id: string;
|
|
8
|
+
issuer: string;
|
|
9
|
+
jwks: {
|
|
10
|
+
keys: unknown[];
|
|
11
|
+
} | null;
|
|
12
|
+
jwks_uri: string | null;
|
|
13
|
+
subject_mapping: 'user_id' | 'external_id' | 'email';
|
|
14
|
+
workload_kind: 'generic' | 'spiffe' | 'kubernetes' | 'github_actions' | 'gcp' | 'azure';
|
|
15
|
+
purpose: 'user_assertion' | 'client_auth' | 'both';
|
|
16
|
+
subject_pattern: string | null;
|
|
17
|
+
required_claims: Record<string, string> | null;
|
|
18
|
+
audiences: string[] | null;
|
|
19
|
+
created_at: number;
|
|
20
|
+
}
|
|
21
|
+
export interface TrustedIssuerInput {
|
|
22
|
+
issuer?: string;
|
|
23
|
+
jwks?: {
|
|
24
|
+
keys: unknown[];
|
|
25
|
+
};
|
|
26
|
+
jwks_uri?: string;
|
|
27
|
+
subject_mapping?: 'user_id' | 'external_id' | 'email';
|
|
28
|
+
workload_kind?: TrustedIssuer['workload_kind'];
|
|
29
|
+
tenant_id?: string;
|
|
30
|
+
purpose?: TrustedIssuer['purpose'];
|
|
31
|
+
subject_pattern?: string;
|
|
32
|
+
required_claims?: Record<string, string>;
|
|
33
|
+
audiences?: string[];
|
|
34
|
+
}
|
|
35
|
+
export interface WorkloadPreset {
|
|
36
|
+
object: 'workload_identity_preset';
|
|
37
|
+
kind: string;
|
|
38
|
+
title: string;
|
|
39
|
+
issuer: string | null;
|
|
40
|
+
jwks_uri: string | null;
|
|
41
|
+
subject_example: string;
|
|
42
|
+
notes: string;
|
|
43
|
+
}
|
|
4
44
|
export interface OAuthClient extends ProvisioningFields {
|
|
5
45
|
object: 'oauth_client';
|
|
6
46
|
id: string;
|
|
@@ -10,7 +50,7 @@ export interface OAuthClient extends ProvisioningFields {
|
|
|
10
50
|
redirect_uris: string[];
|
|
11
51
|
allowed_scopes: string[];
|
|
12
52
|
grant_types: string[];
|
|
13
|
-
token_endpoint_auth_method: 'client_secret_basic' | 'client_secret_post' | 'none';
|
|
53
|
+
token_endpoint_auth_method: 'client_secret_basic' | 'client_secret_post' | 'none' | 'private_key_jwt' | 'workload_jwt';
|
|
14
54
|
secret_prefix: string | null;
|
|
15
55
|
/**
|
|
16
56
|
* After a rotation with overlap: when the previous secret stops working (epoch
|
|
@@ -160,7 +200,7 @@ export interface CreateOAuthClientBody extends ProvisioningInput, OAuthClientLog
|
|
|
160
200
|
redirect_uris: string[];
|
|
161
201
|
allowed_scopes?: string[];
|
|
162
202
|
grant_types?: string[];
|
|
163
|
-
token_endpoint_auth_method?: 'client_secret_basic' | 'client_secret_post' | 'none';
|
|
203
|
+
token_endpoint_auth_method?: 'client_secret_basic' | 'client_secret_post' | 'none' | 'workload_jwt';
|
|
164
204
|
logo_url?: string;
|
|
165
205
|
first_party?: boolean;
|
|
166
206
|
/** How long the issued secret authenticates, in seconds; omit for no expiry. */
|
|
@@ -174,7 +214,7 @@ export interface UpdateOAuthClientBody extends OAuthClientLogoutFields, OAuthCli
|
|
|
174
214
|
name?: string;
|
|
175
215
|
redirect_uris?: string[];
|
|
176
216
|
allowed_scopes?: string[];
|
|
177
|
-
token_endpoint_auth_method?: 'client_secret_basic' | 'client_secret_post' | 'none';
|
|
217
|
+
token_endpoint_auth_method?: 'client_secret_basic' | 'client_secret_post' | 'none' | 'workload_jwt';
|
|
178
218
|
logo_url?: string | null;
|
|
179
219
|
first_party?: boolean;
|
|
180
220
|
/** Refuse every OAuth flow for this client without deleting it. */
|
|
@@ -280,10 +320,50 @@ export declare function oauthClientsResource(request: RequestFn): {
|
|
|
280
320
|
deleted: true;
|
|
281
321
|
note: string;
|
|
282
322
|
}>;
|
|
323
|
+
/**
|
|
324
|
+
* Per-application settings: allowed sign-in methods, hosted-page branding,
|
|
325
|
+
* the user-claim allow-list for ID tokens and userinfo, and writable traits.
|
|
326
|
+
*/
|
|
327
|
+
appSettings: {
|
|
328
|
+
/** `GET /v1/oauth_clients/:id/app_settings` */
|
|
329
|
+
get(id: string): Promise<OAuthClientAppSettings>;
|
|
330
|
+
/** `PATCH /v1/oauth_clients/:id/app_settings` — fields sent replace the stored ones; null clears. */
|
|
331
|
+
update(id: string, body: OAuthClientAppSettingsPatch): Promise<OAuthClientAppSettings>;
|
|
332
|
+
};
|
|
283
333
|
/** The client's back-channel logout delivery log, newest first. */
|
|
284
334
|
listBackchannelDeliveries(id: string, query?: BackchannelDeliveriesQuery): Promise<BackchannelLogoutDeliveryPage>;
|
|
285
335
|
/** Send a test back-channel logout now and return what the receiver answered. */
|
|
286
336
|
testBackchannelLogout(id: string): Promise<BackchannelLogoutTest>;
|
|
337
|
+
/** Set (or clear with null) the URLs of your own sign-in and consent pages for a client. */
|
|
338
|
+
setDelegatedUi(id: string, body: {
|
|
339
|
+
login_url?: string | null;
|
|
340
|
+
consent_url?: string | null;
|
|
341
|
+
}): Promise<{
|
|
342
|
+
object: "oauth_client_delegated_ui";
|
|
343
|
+
client_id: string;
|
|
344
|
+
login_url: string | null;
|
|
345
|
+
consent_url: string | null;
|
|
346
|
+
}>;
|
|
347
|
+
/** Delegated login: read, accept or reject the `login_challenge` your sign-in page received. */
|
|
348
|
+
loginRequests: {
|
|
349
|
+
get(loginChallenge: string): Promise<DelegatedLoginRequest>;
|
|
350
|
+
accept(loginChallenge: string, body: {
|
|
351
|
+
subject: string;
|
|
352
|
+
remember?: boolean;
|
|
353
|
+
amr?: string[];
|
|
354
|
+
acr?: string;
|
|
355
|
+
}): Promise<DelegatedRedirect>;
|
|
356
|
+
reject(loginChallenge: string, body?: DelegatedReject): Promise<DelegatedRedirect>;
|
|
357
|
+
};
|
|
358
|
+
/** Delegated consent: read, accept or reject the `consent_challenge` your consent page received. */
|
|
359
|
+
consentRequests: {
|
|
360
|
+
get(consentChallenge: string): Promise<DelegatedConsentRequest>;
|
|
361
|
+
accept(consentChallenge: string, body?: {
|
|
362
|
+
grant_scope?: string[];
|
|
363
|
+
remember?: boolean;
|
|
364
|
+
}): Promise<DelegatedRedirect>;
|
|
365
|
+
reject(consentChallenge: string, body?: DelegatedReject): Promise<DelegatedRedirect>;
|
|
366
|
+
};
|
|
287
367
|
/** RFC 7591 §3 initial access tokens for dynamic client registration. */
|
|
288
368
|
initialAccessTokens: {
|
|
289
369
|
list(): Promise<ListPage<OAuthInitialAccessToken>>;
|
|
@@ -294,6 +374,26 @@ export declare function oauthClientsResource(request: RequestFn): {
|
|
|
294
374
|
}>;
|
|
295
375
|
revoke(id: string): Promise<OAuthInitialAccessToken>;
|
|
296
376
|
};
|
|
377
|
+
/** Issuers whose signed tokens this client accepts (jwt-bearer grant, workload identity). */
|
|
378
|
+
trustedIssuers: {
|
|
379
|
+
list(clientId: string): Promise<ListPage<TrustedIssuer>>;
|
|
380
|
+
create(clientId: string, body: TrustedIssuerInput): Promise<TrustedIssuer>;
|
|
381
|
+
delete(clientId: string, issuerId: string): Promise<{
|
|
382
|
+
object: "oauth_trusted_issuer";
|
|
383
|
+
id: string;
|
|
384
|
+
deleted: true;
|
|
385
|
+
}>;
|
|
386
|
+
};
|
|
387
|
+
/** Workload identity federation helpers (SPIFFE, Kubernetes, GitHub Actions, GCP, Azure). */
|
|
388
|
+
workloadIdentity: {
|
|
389
|
+
presets(): Promise<ListPage<WorkloadPreset>>;
|
|
390
|
+
cloudTrust(query: {
|
|
391
|
+
provider: "aws" | "gcp" | "azure";
|
|
392
|
+
audience: string;
|
|
393
|
+
subject: string;
|
|
394
|
+
tenant_id?: string;
|
|
395
|
+
}): Promise<Record<string, unknown>>;
|
|
396
|
+
};
|
|
297
397
|
grants: {
|
|
298
398
|
list(clientId: string): Promise<ListPage<ClientGrant>>;
|
|
299
399
|
create(clientId: string, body: {
|
|
@@ -307,3 +407,83 @@ export declare function oauthClientsResource(request: RequestFn): {
|
|
|
307
407
|
}>;
|
|
308
408
|
};
|
|
309
409
|
};
|
|
410
|
+
export interface OAuthClientAppBranding {
|
|
411
|
+
heading?: string | null;
|
|
412
|
+
subheading?: string | null;
|
|
413
|
+
logo_url?: string | null;
|
|
414
|
+
primary_color?: string | null;
|
|
415
|
+
}
|
|
416
|
+
export interface OAuthClientAppSettingsPatch {
|
|
417
|
+
/** Method names (password, passkey, oauth_google, ...) or the families oauth and enterprise_sso. */
|
|
418
|
+
allowed_sign_in_methods?: string[] | null;
|
|
419
|
+
branding?: OAuthClientAppBranding | null;
|
|
420
|
+
/** User claims the app receives in ID tokens and userinfo; protocol claims always pass. */
|
|
421
|
+
claims_allowlist?: string[] | null;
|
|
422
|
+
/** Traits a session from this app may change. */
|
|
423
|
+
writable_traits?: string[] | null;
|
|
424
|
+
/** Overrides of the instance's risk-based MFA for sign-ins to this app. */
|
|
425
|
+
risk?: OAuthClientAppRisk | null;
|
|
426
|
+
}
|
|
427
|
+
export type OAuthClientRiskLevelAction = 'default' | 'allow' | 'notify' | 'mfa' | 'block';
|
|
428
|
+
export interface OAuthClientAppRisk {
|
|
429
|
+
enabled?: boolean | null;
|
|
430
|
+
mode?: 'enforce' | 'audit' | null;
|
|
431
|
+
step_up_threshold?: 'low' | 'medium' | 'high' | null;
|
|
432
|
+
on_high_risk_no_factor?: 'allow' | 'block' | 'require_enroll' | null;
|
|
433
|
+
level_actions?: {
|
|
434
|
+
medium?: OAuthClientRiskLevelAction | null;
|
|
435
|
+
high?: OAuthClientRiskLevelAction | null;
|
|
436
|
+
} | null;
|
|
437
|
+
/** The refresh-time check for sessions that came from this app. */
|
|
438
|
+
mid_session?: {
|
|
439
|
+
enabled?: boolean | null;
|
|
440
|
+
action?: 'revoke' | 'notify' | 'audit' | null;
|
|
441
|
+
} | null;
|
|
442
|
+
}
|
|
443
|
+
export interface OAuthClientAppSettings {
|
|
444
|
+
object: 'app_settings';
|
|
445
|
+
client_id: string;
|
|
446
|
+
allowed_sign_in_methods: string[] | null;
|
|
447
|
+
branding: Required<OAuthClientAppBranding> | null;
|
|
448
|
+
claims_allowlist: string[] | null;
|
|
449
|
+
writable_traits: string[] | null;
|
|
450
|
+
risk: OAuthClientAppRisk | null;
|
|
451
|
+
}
|
|
452
|
+
export interface DelegatedClientRef {
|
|
453
|
+
id: string;
|
|
454
|
+
client_id: string;
|
|
455
|
+
name: string;
|
|
456
|
+
first_party?: boolean;
|
|
457
|
+
}
|
|
458
|
+
export interface DelegatedLoginRequest {
|
|
459
|
+
object: 'oauth_login_request';
|
|
460
|
+
client: DelegatedClientRef;
|
|
461
|
+
requested_scope: string[];
|
|
462
|
+
audience: string | null;
|
|
463
|
+
page: 'sign-in' | 'sign-up';
|
|
464
|
+
/** The Atlas user already signed in on this browser, if any. */
|
|
465
|
+
session_subject: string | null;
|
|
466
|
+
ui_locales: string | null;
|
|
467
|
+
login_hint: string | null;
|
|
468
|
+
expires_at: number;
|
|
469
|
+
}
|
|
470
|
+
export interface DelegatedConsentRequest {
|
|
471
|
+
object: 'oauth_consent_request';
|
|
472
|
+
subject: string;
|
|
473
|
+
client: DelegatedClientRef;
|
|
474
|
+
requested_scope: string[];
|
|
475
|
+
audience: string | null;
|
|
476
|
+
authorization_details: unknown[];
|
|
477
|
+
organization_id: string | null;
|
|
478
|
+
redirect_uri: string;
|
|
479
|
+
expires_at: number;
|
|
480
|
+
}
|
|
481
|
+
export interface DelegatedRedirect {
|
|
482
|
+
object: 'oauth_login_redirect' | 'oauth_consent_redirect';
|
|
483
|
+
/** Send the end user's browser here next. */
|
|
484
|
+
redirect_to: string;
|
|
485
|
+
}
|
|
486
|
+
export interface DelegatedReject {
|
|
487
|
+
error?: 'access_denied' | 'login_required' | 'interaction_required' | 'consent_required' | 'account_selection_required' | 'unauthorized_client' | 'temporarily_unavailable' | 'server_error';
|
|
488
|
+
error_description?: string;
|
|
489
|
+
}
|
|
@@ -37,6 +37,20 @@ function oauthClientsResource(request) {
|
|
|
37
37
|
delete(id) {
|
|
38
38
|
return request({ method: 'DELETE', path: `/v1/oauth_clients/${(0, request_1.enc)(id)}` });
|
|
39
39
|
},
|
|
40
|
+
/**
|
|
41
|
+
* Per-application settings: allowed sign-in methods, hosted-page branding,
|
|
42
|
+
* the user-claim allow-list for ID tokens and userinfo, and writable traits.
|
|
43
|
+
*/
|
|
44
|
+
appSettings: {
|
|
45
|
+
/** `GET /v1/oauth_clients/:id/app_settings` */
|
|
46
|
+
get(id) {
|
|
47
|
+
return request({ method: 'GET', path: `/v1/oauth_clients/${(0, request_1.enc)(id)}/app_settings` });
|
|
48
|
+
},
|
|
49
|
+
/** `PATCH /v1/oauth_clients/:id/app_settings` — fields sent replace the stored ones; null clears. */
|
|
50
|
+
update(id, body) {
|
|
51
|
+
return request({ method: 'PATCH', path: `/v1/oauth_clients/${(0, request_1.enc)(id)}/app_settings`, body });
|
|
52
|
+
},
|
|
53
|
+
},
|
|
40
54
|
/** The client's back-channel logout delivery log, newest first. */
|
|
41
55
|
listBackchannelDeliveries(id, query = {}) {
|
|
42
56
|
return request({
|
|
@@ -49,6 +63,34 @@ function oauthClientsResource(request) {
|
|
|
49
63
|
testBackchannelLogout(id) {
|
|
50
64
|
return request({ method: 'POST', path: `/v1/oauth_clients/${(0, request_1.enc)(id)}/backchannel_logout/test` });
|
|
51
65
|
},
|
|
66
|
+
/** Set (or clear with null) the URLs of your own sign-in and consent pages for a client. */
|
|
67
|
+
setDelegatedUi(id, body) {
|
|
68
|
+
return request({ method: 'PUT', path: `/v1/oauth_clients/${(0, request_1.enc)(id)}/delegated_ui`, body });
|
|
69
|
+
},
|
|
70
|
+
/** Delegated login: read, accept or reject the `login_challenge` your sign-in page received. */
|
|
71
|
+
loginRequests: {
|
|
72
|
+
get(loginChallenge) {
|
|
73
|
+
return request({ method: 'GET', path: '/v1/oauth_login_requests', query: { login_challenge: loginChallenge } });
|
|
74
|
+
},
|
|
75
|
+
accept(loginChallenge, body) {
|
|
76
|
+
return request({ method: 'PUT', path: '/v1/oauth_login_requests/accept', query: { login_challenge: loginChallenge }, body });
|
|
77
|
+
},
|
|
78
|
+
reject(loginChallenge, body = {}) {
|
|
79
|
+
return request({ method: 'PUT', path: '/v1/oauth_login_requests/reject', query: { login_challenge: loginChallenge }, body });
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
/** Delegated consent: read, accept or reject the `consent_challenge` your consent page received. */
|
|
83
|
+
consentRequests: {
|
|
84
|
+
get(consentChallenge) {
|
|
85
|
+
return request({ method: 'GET', path: '/v1/oauth_consent_requests', query: { consent_challenge: consentChallenge } });
|
|
86
|
+
},
|
|
87
|
+
accept(consentChallenge, body = {}) {
|
|
88
|
+
return request({ method: 'PUT', path: '/v1/oauth_consent_requests/accept', query: { consent_challenge: consentChallenge }, body });
|
|
89
|
+
},
|
|
90
|
+
reject(consentChallenge, body = {}) {
|
|
91
|
+
return request({ method: 'PUT', path: '/v1/oauth_consent_requests/reject', query: { consent_challenge: consentChallenge }, body });
|
|
92
|
+
},
|
|
93
|
+
},
|
|
52
94
|
/** RFC 7591 §3 initial access tokens for dynamic client registration. */
|
|
53
95
|
initialAccessTokens: {
|
|
54
96
|
list() {
|
|
@@ -62,6 +104,28 @@ function oauthClientsResource(request) {
|
|
|
62
104
|
return request({ method: 'DELETE', path: `/v1/oauth_initial_access_tokens/${(0, request_1.enc)(id)}` });
|
|
63
105
|
},
|
|
64
106
|
},
|
|
107
|
+
/** Issuers whose signed tokens this client accepts (jwt-bearer grant, workload identity). */
|
|
108
|
+
trustedIssuers: {
|
|
109
|
+
list(clientId) {
|
|
110
|
+
return request({ method: 'GET', path: `/v1/oauth_clients/${(0, request_1.enc)(clientId)}/trusted_issuers` });
|
|
111
|
+
},
|
|
112
|
+
create(clientId, body) {
|
|
113
|
+
return request({ method: 'POST', path: `/v1/oauth_clients/${(0, request_1.enc)(clientId)}/trusted_issuers`, body });
|
|
114
|
+
},
|
|
115
|
+
delete(clientId, issuerId) {
|
|
116
|
+
return request({ method: 'DELETE', path: `/v1/oauth_clients/${(0, request_1.enc)(clientId)}/trusted_issuers/${(0, request_1.enc)(issuerId)}` });
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
/** Workload identity federation helpers (SPIFFE, Kubernetes, GitHub Actions, GCP, Azure). */
|
|
120
|
+
workloadIdentity: {
|
|
121
|
+
presets() {
|
|
122
|
+
return request({ method: 'GET', path: '/v1/workload_identity/presets' });
|
|
123
|
+
},
|
|
124
|
+
cloudTrust(query) {
|
|
125
|
+
const qs = new URLSearchParams(query).toString();
|
|
126
|
+
return request({ method: 'GET', path: `/v1/workload_identity/cloud_trust?${qs}` });
|
|
127
|
+
},
|
|
128
|
+
},
|
|
65
129
|
grants: {
|
|
66
130
|
list(clientId) {
|
|
67
131
|
return request({ method: 'GET', path: `/v1/oauth_clients/${(0, request_1.enc)(clientId)}/grants` });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-clients.js","sourceRoot":"","sources":["../../src/client/oauth-clients.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"oauth-clients.js","sourceRoot":"","sources":["../../src/client/oauth-clients.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type RequestFn } from './request';
|
|
2
|
+
import type { ListPage } from './types';
|
|
3
|
+
export interface OrgRoleGrant {
|
|
4
|
+
object: 'org_role_grant';
|
|
5
|
+
id: string;
|
|
6
|
+
grantor_org_id: string;
|
|
7
|
+
grantee_org_id: string;
|
|
8
|
+
role_keys: string[];
|
|
9
|
+
status: 'active' | 'revoked';
|
|
10
|
+
created_at: number;
|
|
11
|
+
revoked_at: number | null;
|
|
12
|
+
}
|
|
13
|
+
export interface OrgRoleDelegation {
|
|
14
|
+
object: 'org_role_delegation';
|
|
15
|
+
id: string;
|
|
16
|
+
grant_id: string;
|
|
17
|
+
user_id: string;
|
|
18
|
+
role_key: string;
|
|
19
|
+
created_at: number;
|
|
20
|
+
}
|
|
21
|
+
export interface EffectiveDelegatedRole {
|
|
22
|
+
organization_id: string;
|
|
23
|
+
grant_id: string;
|
|
24
|
+
role_key: string;
|
|
25
|
+
permissions: string[];
|
|
26
|
+
}
|
|
27
|
+
export declare function orgRoleGrantsResource(request: RequestFn): {
|
|
28
|
+
list(query?: {
|
|
29
|
+
grantor_org_id?: string;
|
|
30
|
+
grantee_org_id?: string;
|
|
31
|
+
status?: "active";
|
|
32
|
+
}): Promise<ListPage<OrgRoleGrant>>;
|
|
33
|
+
create(body: {
|
|
34
|
+
grantor_org_id: string;
|
|
35
|
+
grantee_org_id: string;
|
|
36
|
+
role_keys: string[];
|
|
37
|
+
}): Promise<OrgRoleGrant>;
|
|
38
|
+
get(id: string): Promise<OrgRoleGrant>;
|
|
39
|
+
update(id: string, body: {
|
|
40
|
+
role_keys: string[];
|
|
41
|
+
}): Promise<OrgRoleGrant>;
|
|
42
|
+
revoke(id: string): Promise<OrgRoleGrant>;
|
|
43
|
+
listDelegations(id: string): Promise<ListPage<OrgRoleDelegation>>;
|
|
44
|
+
delegate(id: string, body: {
|
|
45
|
+
user_id: string;
|
|
46
|
+
role_key: string;
|
|
47
|
+
}): Promise<OrgRoleDelegation>;
|
|
48
|
+
undelegate(id: string, delegationId: string): Promise<{
|
|
49
|
+
object: "org_role_delegation";
|
|
50
|
+
id: string;
|
|
51
|
+
deleted: true;
|
|
52
|
+
}>;
|
|
53
|
+
effective(query: {
|
|
54
|
+
user_id: string;
|
|
55
|
+
organization_id?: string;
|
|
56
|
+
}): Promise<ListPage<EffectiveDelegatedRole>>;
|
|
57
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.orgRoleGrantsResource = orgRoleGrantsResource;
|
|
4
|
+
const request_1 = require("./request");
|
|
5
|
+
const qs = (query) => {
|
|
6
|
+
const q = new URLSearchParams(Object.entries(query).filter((e) => e[1] !== undefined)).toString();
|
|
7
|
+
return q ? `?${q}` : '';
|
|
8
|
+
};
|
|
9
|
+
function orgRoleGrantsResource(request) {
|
|
10
|
+
return {
|
|
11
|
+
list(query = {}) {
|
|
12
|
+
return request({ method: 'GET', path: `/v1/org_role_grants${qs(query)}` });
|
|
13
|
+
},
|
|
14
|
+
create(body) {
|
|
15
|
+
return request({ method: 'POST', path: '/v1/org_role_grants', body });
|
|
16
|
+
},
|
|
17
|
+
get(id) {
|
|
18
|
+
return request({ method: 'GET', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}` });
|
|
19
|
+
},
|
|
20
|
+
update(id, body) {
|
|
21
|
+
return request({ method: 'PATCH', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}`, body });
|
|
22
|
+
},
|
|
23
|
+
revoke(id) {
|
|
24
|
+
return request({ method: 'DELETE', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}` });
|
|
25
|
+
},
|
|
26
|
+
listDelegations(id) {
|
|
27
|
+
return request({ method: 'GET', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}/delegations` });
|
|
28
|
+
},
|
|
29
|
+
delegate(id, body) {
|
|
30
|
+
return request({ method: 'POST', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}/delegations`, body });
|
|
31
|
+
},
|
|
32
|
+
undelegate(id, delegationId) {
|
|
33
|
+
return request({ method: 'DELETE', path: `/v1/org_role_grants/${(0, request_1.enc)(id)}/delegations/${(0, request_1.enc)(delegationId)}` });
|
|
34
|
+
},
|
|
35
|
+
effective(query) {
|
|
36
|
+
return request({ method: 'GET', path: `/v1/org_role_grants/effective${qs(query)}` });
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=org-role-grants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-role-grants.js","sourceRoot":"","sources":["../../src/client/org-role-grants.ts"],"names":[],"mappings":";;AAmCA,sDA8BC;AAjED,uCAAgD;AA8BhD,MAAM,EAAE,GAAG,CAAC,KAAyC,EAAE,EAAE;IACvD,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzH,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,SAAgB,qBAAqB,CAAC,OAAkB;IACtD,OAAO;QACL,IAAI,CAAC,QAAiF,EAAE;YACtF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,CAAC,IAA6E;YAClF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA6B;YAC9C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,eAAe,CAAC,EAAU;YACxB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,QAAQ,CAAC,EAAU,EAAE,IAA2C;YAC9D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,UAAU,CAAC,EAAU,EAAE,YAAoB;YACzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,gBAAgB,IAAA,aAAG,EAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,SAAS,CAAC,KAAoD;YAC5D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACvF,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type RequestFn } from './request';
|
|
2
|
+
import type { WebhookDelivery, WebhookEndpoint, WebhookEndpointWithSecret } from './webhooks';
|
|
2
3
|
import type { CursorPage, CursorParams, DataList, DeletedObject, ListPage, Metadata } from './types';
|
|
3
4
|
export interface Organization {
|
|
4
5
|
object: 'organization';
|
|
@@ -56,6 +57,16 @@ export interface OrganizationEndUserPoolPolicy {
|
|
|
56
57
|
/** Readers may sign up on the hosted pages. */
|
|
57
58
|
allowHostedSignup?: boolean;
|
|
58
59
|
}
|
|
60
|
+
/** Tighten-only password rules an org layers over the instance policy. */
|
|
61
|
+
export interface OrgPasswordPolicyOverride {
|
|
62
|
+
minLength?: number;
|
|
63
|
+
checkBreaches?: true;
|
|
64
|
+
requireUppercase?: true;
|
|
65
|
+
requireLowercase?: true;
|
|
66
|
+
requireNumber?: true;
|
|
67
|
+
requireSymbol?: true;
|
|
68
|
+
bannedPasswords?: string[];
|
|
69
|
+
}
|
|
59
70
|
/**
|
|
60
71
|
* The organization's security policy overrides. Keys are camelCase on this
|
|
61
72
|
* route, and only overrides that are set appear. Unknown keys from a newer API
|
|
@@ -63,6 +74,10 @@ export interface OrganizationEndUserPoolPolicy {
|
|
|
63
74
|
*/
|
|
64
75
|
export interface OrganizationPolicySettings {
|
|
65
76
|
requireMfa?: boolean;
|
|
77
|
+
/** Factor classes every member must have used; implies an MFA session. */
|
|
78
|
+
requiredFactors?: Array<'totp' | 'sms' | 'passkey' | 'push'>;
|
|
79
|
+
/** Tighten-only password rules for members. */
|
|
80
|
+
passwordPolicyOverride?: OrgPasswordPolicyOverride;
|
|
66
81
|
ssoRequired?: boolean;
|
|
67
82
|
sessionIdleOverrideMs?: number;
|
|
68
83
|
/**
|
|
@@ -230,6 +245,8 @@ export interface ReplaceOrganizationMetadataBody {
|
|
|
230
245
|
*/
|
|
231
246
|
export interface OrganizationPolicyPatch {
|
|
232
247
|
requireMfa?: boolean | null;
|
|
248
|
+
requiredFactors?: Array<'totp' | 'sms' | 'passkey' | 'push'> | null;
|
|
249
|
+
passwordPolicyOverride?: OrgPasswordPolicyOverride | null;
|
|
233
250
|
ssoRequired?: boolean | null;
|
|
234
251
|
sessionIdleOverrideMs?: number | null;
|
|
235
252
|
/** Restrict member sign-in methods; `null` clears (all methods). Unknown method → 400. */
|
|
@@ -245,6 +262,14 @@ export interface OrganizationPolicyPatch {
|
|
|
245
262
|
endUserPool?: OrganizationEndUserPoolPolicy | null;
|
|
246
263
|
[key: string]: unknown;
|
|
247
264
|
}
|
|
265
|
+
/** Fields an organization's endpoint accepts. */
|
|
266
|
+
export interface OrganizationWebhookEndpointBody {
|
|
267
|
+
url?: string;
|
|
268
|
+
/** Event types, or ["*"]; only this organization's events are ever delivered. */
|
|
269
|
+
enabled_events?: string[];
|
|
270
|
+
description?: string | null;
|
|
271
|
+
active?: boolean;
|
|
272
|
+
}
|
|
248
273
|
export declare function organizationsResource(request: RequestFn): {
|
|
249
274
|
list(params?: CursorParams): Promise<CursorPage<Organization>>;
|
|
250
275
|
get(id: string): Promise<Organization>;
|
|
@@ -356,6 +381,33 @@ export declare function organizationsResource(request: RequestFn): {
|
|
|
356
381
|
deleted: true;
|
|
357
382
|
}>;
|
|
358
383
|
};
|
|
384
|
+
/**
|
|
385
|
+
* The organization's own webhook endpoints. They receive only that
|
|
386
|
+
* organization's events and are hidden from the instance's endpoint list;
|
|
387
|
+
* the org's admins manage the same endpoints from the app.
|
|
388
|
+
*/
|
|
389
|
+
webhookEndpoints: {
|
|
390
|
+
list(orgId: string): Promise<ListPage<WebhookEndpoint>>;
|
|
391
|
+
get(orgId: string, endpointId: string): Promise<WebhookEndpoint>;
|
|
392
|
+
/** The signing secret is in this response only. */
|
|
393
|
+
create(orgId: string, body: OrganizationWebhookEndpointBody & {
|
|
394
|
+
url: string;
|
|
395
|
+
}, idempotencyKey?: string): Promise<WebhookEndpointWithSecret>;
|
|
396
|
+
update(orgId: string, endpointId: string, body: OrganizationWebhookEndpointBody): Promise<WebhookEndpoint>;
|
|
397
|
+
delete(orgId: string, endpointId: string): Promise<{
|
|
398
|
+
object: "webhook_endpoint";
|
|
399
|
+
id: string;
|
|
400
|
+
deleted: true;
|
|
401
|
+
}>;
|
|
402
|
+
/** Returns the new secret once; the previous one keeps signing for 24 hours. */
|
|
403
|
+
rotateSecret(orgId: string, endpointId: string): Promise<{
|
|
404
|
+
object: "webhook_secret";
|
|
405
|
+
secret: string;
|
|
406
|
+
overlap_seconds: number;
|
|
407
|
+
previous_secret_expires_at: number | null;
|
|
408
|
+
}>;
|
|
409
|
+
deliveries(orgId: string, endpointId: string, query?: Record<string, string | number | undefined>): Promise<ListPage<WebhookDelivery>>;
|
|
410
|
+
};
|
|
359
411
|
/** The organization's hosted-page branding overlay. */
|
|
360
412
|
branding: {
|
|
361
413
|
get(orgId: string): Promise<OrganizationBranding>;
|
|
@@ -164,6 +164,50 @@ function organizationsResource(request) {
|
|
|
164
164
|
});
|
|
165
165
|
},
|
|
166
166
|
},
|
|
167
|
+
/**
|
|
168
|
+
* The organization's own webhook endpoints. They receive only that
|
|
169
|
+
* organization's events and are hidden from the instance's endpoint list;
|
|
170
|
+
* the org's admins manage the same endpoints from the app.
|
|
171
|
+
*/
|
|
172
|
+
webhookEndpoints: {
|
|
173
|
+
list(orgId) {
|
|
174
|
+
return request({ method: 'GET', path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints` });
|
|
175
|
+
},
|
|
176
|
+
get(orgId, endpointId) {
|
|
177
|
+
return request({ method: 'GET', path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints/${(0, request_1.enc)(endpointId)}` });
|
|
178
|
+
},
|
|
179
|
+
/** The signing secret is in this response only. */
|
|
180
|
+
create(orgId, body, idempotencyKey) {
|
|
181
|
+
return request({ method: 'POST', path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints`, body, idempotencyKey });
|
|
182
|
+
},
|
|
183
|
+
update(orgId, endpointId, body) {
|
|
184
|
+
return request({
|
|
185
|
+
method: 'PATCH',
|
|
186
|
+
path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints/${(0, request_1.enc)(endpointId)}`,
|
|
187
|
+
body,
|
|
188
|
+
});
|
|
189
|
+
},
|
|
190
|
+
delete(orgId, endpointId) {
|
|
191
|
+
return request({
|
|
192
|
+
method: 'DELETE',
|
|
193
|
+
path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints/${(0, request_1.enc)(endpointId)}`,
|
|
194
|
+
});
|
|
195
|
+
},
|
|
196
|
+
/** Returns the new secret once; the previous one keeps signing for 24 hours. */
|
|
197
|
+
rotateSecret(orgId, endpointId) {
|
|
198
|
+
return request({
|
|
199
|
+
method: 'POST',
|
|
200
|
+
path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints/${(0, request_1.enc)(endpointId)}/rotate_secret`,
|
|
201
|
+
});
|
|
202
|
+
},
|
|
203
|
+
deliveries(orgId, endpointId, query = {}) {
|
|
204
|
+
return request({
|
|
205
|
+
method: 'GET',
|
|
206
|
+
path: `/v1/organizations/${(0, request_1.enc)(orgId)}/webhook_endpoints/${(0, request_1.enc)(endpointId)}/deliveries`,
|
|
207
|
+
query,
|
|
208
|
+
});
|
|
209
|
+
},
|
|
210
|
+
},
|
|
167
211
|
/** The organization's hosted-page branding overlay. */
|
|
168
212
|
branding: {
|
|
169
213
|
get(orgId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../src/client/organizations.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../src/client/organizations.ts"],"names":[],"mappings":"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"}
|