Skip to content

Interface: TenantsClient ​

The tenant: its profile and settings, the roles, the caller's preferences and its team.

Properties ​

getSettings ​

ts
getSettings: () => Promise<{
  approvals: {
     fourEyes: boolean;
     required: boolean;
     requiredFor?: ("app" | "workflow" | "rule" | "rule_set" | "collection_flow")[];
  };
  branding: {
     borderWidth?: number;
     colorScheme?: "system" | "light" | "dark";
     controlRadius?: number;
     font?: string;
     headingWeight?: number;
     logoAlt?: string;
     logoDarkUrl?: string;
     logoUrl?: string;
     name?: string;
     primary?: string;
     privacyUrl?: string;
     radius?: number;
     returnUrl?: string;
     supportEmail?: string;
     supportUrl?: string;
     termsUrl?: string;
  };
  cases: {
     businessHours?: {
        days: number[];
        enabled: boolean;
        end: string;
        start: string;
        timeZone: string;
     };
     defaultSlaHours?: number;
     onBreach?: {
        escalatePriority: boolean;
        notifyAssignee: boolean;
        notifyAssigners: boolean;
     };
     warnAtPct?: number;
  };
  collection: {
     abandonAfterDays?: number;
     defaultLinkTtlSeconds?: number;
     flowUrl?: string;
     locales?: string[];
  };
  console: {
     checklist?: "until_done" | "hidden";
     dateFormat?: "24h" | "12h";
     idleLockMinutes?: number;
     landing?: "cases" | "home" | "runs";
     maskForAnalysts?: ("document" | "email" | "phone" | "dateOfBirth" | "address")[];
     showRunContextTo?: "admins" | "all";
     timeZone?: string;
     workspaceName?: string;
  };
  embedOrigins: string[];
}>;

Returns ​

Promise<{ approvals: { fourEyes: boolean; required: boolean; requiredFor?: ("app" | "workflow" | "rule" | "rule_set" | "collection_flow")[]; }; branding: { borderWidth?: number; colorScheme?: "system" | "light" | "dark"; controlRadius?: number; font?: string; headingWeight?: number; logoAlt?: string; logoDarkUrl?: string; logoUrl?: string; name?: string; primary?: string; privacyUrl?: string; radius?: number; returnUrl?: string; supportEmail?: string; supportUrl?: string; termsUrl?: string; }; cases: { businessHours?: { days: number[]; enabled: boolean; end: string; start: string; timeZone: string; }; defaultSlaHours?: number; onBreach?: { escalatePriority: boolean; notifyAssignee: boolean; notifyAssigners: boolean; }; warnAtPct?: number; }; collection: { abandonAfterDays?: number; defaultLinkTtlSeconds?: number; flowUrl?: string; locales?: string[]; }; console: { checklist?: "until_done" | "hidden"; dateFormat?: "24h" | "12h"; idleLockMinutes?: number; landing?: "cases" | "home" | "runs"; maskForAnalysts?: ("document" | "email" | "phone" | "dateOfBirth" | "address")[]; showRunContextTo?: "admins" | "all"; timeZone?: string; workspaceName?: string; }; embedOrigins: string[]; }>


preferences ​

ts
preferences: () => Promise<{
  dateFormat?: "24h" | "12h";
  density?: "comfortable" | "compact";
  landing?: "cases" | "home" | "runs";
  recentSearches: string[];
  timeZone?: string;
}>;

Returns ​

Promise<{ dateFormat?: "24h" | "12h"; density?: "comfortable" | "compact"; landing?: "cases" | "home" | "runs"; recentSearches: string[]; timeZone?: string; }>


profile ​

ts
profile: () => Promise<{
  console: {
     checklist?: "until_done" | "hidden";
     dateFormat?: "24h" | "12h";
     idleLockMinutes?: number;
     landing?: "cases" | "home" | "runs";
     timeZone?: string;
     workspaceName?: string;
  };
  counts: {
     auditEvents: number;
     auditEventsIsEstimate: boolean;
     cases: number;
     documentBytes: number;
     documents: number;
     subjects: number;
  };
  id: string;
  idpOrgId: string | null;
  linksValidAfter: Date | null;
  name: string;
  provisionedAt: Date;
  region: string | null;
  status: "active" | "suspended";
  suspendedAt: Date | null;
  suspendedReason: string | null;
}>;

The tenant's state, the console's defaults and its counts (any signed-in person).

Returns ​

Promise<{ console: { checklist?: "until_done" | "hidden"; dateFormat?: "24h" | "12h"; idleLockMinutes?: number; landing?: "cases" | "home" | "runs"; timeZone?: string; workspaceName?: string; }; counts: { auditEvents: number; auditEventsIsEstimate: boolean; cases: number; documentBytes: number; documents: number; subjects: number; }; id: string; idpOrgId: string | null; linksValidAfter: Date | null; name: string; provisionedAt: Date; region: string | null; status: "active" | "suspended"; suspendedAt: Date | null; suspendedReason: string | null; }>


resume ​

ts
resume: (idToken) => Promise<{
  console: {
     checklist?: "until_done" | "hidden";
     dateFormat?: "24h" | "12h";
     idleLockMinutes?: number;
     landing?: "cases" | "home" | "runs";
     timeZone?: string;
     workspaceName?: string;
  };
  counts: {
     auditEvents: number;
     auditEventsIsEstimate: boolean;
     cases: number;
     documentBytes: number;
     documents: number;
     subjects: number;
  };
  id: string;
  idpOrgId: string | null;
  linksValidAfter: Date | null;
  name: string;
  provisionedAt: Date;
  region: string | null;
  status: "active" | "suspended";
  suspendedAt: Date | null;
  suspendedReason: string | null;
}>;

Parameters ​

idToken ​

string

Returns ​

Promise<{ console: { checklist?: "until_done" | "hidden"; dateFormat?: "24h" | "12h"; idleLockMinutes?: number; landing?: "cases" | "home" | "runs"; timeZone?: string; workspaceName?: string; }; counts: { auditEvents: number; auditEventsIsEstimate: boolean; cases: number; documentBytes: number; documents: number; subjects: number; }; id: string; idpOrgId: string | null; linksValidAfter: Date | null; name: string; provisionedAt: Date; region: string | null; status: "active" | "suspended"; suspendedAt: Date | null; suspendedReason: string | null; }>


ts
revokeLinks: (idToken) => Promise<{
  revokedLinks: number;
  validAfter: Date;
}>;

Parameters ​

idToken ​

string

Returns ​

Promise<{ revokedLinks: number; validAfter: Date; }>


roles ​

ts
roles: () => Promise<object[]>;

Returns ​

Promise<object[]>


suspend ​

ts
suspend: (reason, idToken) => Promise<{
  console: {
     checklist?: "until_done" | "hidden";
     dateFormat?: "24h" | "12h";
     idleLockMinutes?: number;
     landing?: "cases" | "home" | "runs";
     timeZone?: string;
     workspaceName?: string;
  };
  counts: {
     auditEvents: number;
     auditEventsIsEstimate: boolean;
     cases: number;
     documentBytes: number;
     documents: number;
     subjects: number;
  };
  id: string;
  idpOrgId: string | null;
  linksValidAfter: Date | null;
  name: string;
  provisionedAt: Date;
  region: string | null;
  status: "active" | "suspended";
  suspendedAt: Date | null;
  suspendedReason: string | null;
}>;

idToken: the caller's ID token from a sign-in under five minutes old.

Parameters ​

reason ​

string

idToken ​

string

Returns ​

Promise<{ console: { checklist?: "until_done" | "hidden"; dateFormat?: "24h" | "12h"; idleLockMinutes?: number; landing?: "cases" | "home" | "runs"; timeZone?: string; workspaceName?: string; }; counts: { auditEvents: number; auditEventsIsEstimate: boolean; cases: number; documentBytes: number; documents: number; subjects: number; }; id: string; idpOrgId: string | null; linksValidAfter: Date | null; name: string; provisionedAt: Date; region: string | null; status: "active" | "suspended"; suspendedAt: Date | null; suspendedReason: string | null; }>


team ​

ts
team: TeamClient;

updatePreferences ​

ts
updatePreferences: (body) => Promise<{
  dateFormat?: "24h" | "12h";
  density?: "comfortable" | "compact";
  landing?: "cases" | "home" | "runs";
  recentSearches: string[];
  timeZone?: string;
}>;

Parameters ​

body ​
dateFormat? ​

"24h" | "12h"

density? ​

"comfortable" | "compact"

landing? ​

"cases" | "home" | "runs"

recentSearches? ​

string[]

timeZone? ​

string

Returns ​

Promise<{ dateFormat?: "24h" | "12h"; density?: "comfortable" | "compact"; landing?: "cases" | "home" | "runs"; recentSearches: string[]; timeZone?: string; }>


updateSettings ​

ts
updateSettings: (body) => Promise<{
  approvals: {
     fourEyes: boolean;
     required: boolean;
     requiredFor?: ("app" | "workflow" | "rule" | "rule_set" | "collection_flow")[];
  };
  branding: {
     borderWidth?: number;
     colorScheme?: "system" | "light" | "dark";
     controlRadius?: number;
     font?: string;
     headingWeight?: number;
     logoAlt?: string;
     logoDarkUrl?: string;
     logoUrl?: string;
     name?: string;
     primary?: string;
     privacyUrl?: string;
     radius?: number;
     returnUrl?: string;
     supportEmail?: string;
     supportUrl?: string;
     termsUrl?: string;
  };
  cases: {
     businessHours?: {
        days: number[];
        enabled: boolean;
        end: string;
        start: string;
        timeZone: string;
     };
     defaultSlaHours?: number;
     onBreach?: {
        escalatePriority: boolean;
        notifyAssignee: boolean;
        notifyAssigners: boolean;
     };
     warnAtPct?: number;
  };
  collection: {
     abandonAfterDays?: number;
     defaultLinkTtlSeconds?: number;
     flowUrl?: string;
     locales?: string[];
  };
  console: {
     checklist?: "until_done" | "hidden";
     dateFormat?: "24h" | "12h";
     idleLockMinutes?: number;
     landing?: "cases" | "home" | "runs";
     maskForAnalysts?: ("document" | "email" | "phone" | "dateOfBirth" | "address")[];
     showRunContextTo?: "admins" | "all";
     timeZone?: string;
     workspaceName?: string;
  };
  embedOrigins: string[];
}>;

Full replace; omitted sections (e.g. cases) fall back to their defaults.

Parameters ​

body ​
approvals? ​

{ fourEyes?: boolean; required?: boolean; requiredFor?: ("app" | "workflow" | "rule" | "rule_set" | "collection_flow")[]; }

approvals.fourEyes? ​

boolean

approvals.required? ​

boolean

approvals.requiredFor? ​

("app" | "workflow" | "rule" | "rule_set" | "collection_flow")[]

branding? ​

{ borderWidth?: number; colorScheme?: "system" | "light" | "dark"; controlRadius?: number; font?: string; headingWeight?: number; logoAlt?: string; logoDarkUrl?: string; logoUrl?: string; name?: string; primary?: string; privacyUrl?: string; radius?: number; returnUrl?: string; supportEmail?: string; supportUrl?: string; termsUrl?: string; }

branding.borderWidth? ​

number

branding.colorScheme? ​

"system" | "light" | "dark"

branding.controlRadius? ​

number

branding.font? ​

string

branding.headingWeight? ​

number

branding.logoAlt? ​

string

branding.logoDarkUrl? ​

string

branding.logoUrl? ​

string

branding.name? ​

string

branding.primary? ​

string

branding.privacyUrl? ​

string

branding.radius? ​

number

branding.returnUrl? ​

string

branding.supportEmail? ​

string

branding.supportUrl? ​

string

branding.termsUrl? ​

string

cases? ​

{ businessHours?: { days?: number[]; enabled?: boolean; end?: string; start?: string; timeZone?: string; }; defaultSlaHours?: number; onBreach?: { escalatePriority?: boolean; notifyAssignee?: boolean; notifyAssigners?: boolean; }; warnAtPct?: number; }

cases.businessHours? ​

{ days?: number[]; enabled?: boolean; end?: string; start?: string; timeZone?: string; }

cases.businessHours.days? ​

number[]

cases.businessHours.enabled? ​

boolean

cases.businessHours.end? ​

string

cases.businessHours.start? ​

string

cases.businessHours.timeZone? ​

string

cases.defaultSlaHours? ​

number

cases.onBreach? ​

{ escalatePriority?: boolean; notifyAssignee?: boolean; notifyAssigners?: boolean; }

cases.onBreach.escalatePriority? ​

boolean

cases.onBreach.notifyAssignee? ​

boolean

cases.onBreach.notifyAssigners? ​

boolean

cases.warnAtPct? ​

number

collection? ​

{ abandonAfterDays?: number; defaultLinkTtlSeconds?: number; flowUrl?: string; locales?: string[]; }

collection.abandonAfterDays? ​

number

collection.defaultLinkTtlSeconds? ​

number

collection.flowUrl? ​

string

collection.locales? ​

string[]

console? ​

{ checklist?: "until_done" | "hidden"; dateFormat?: "24h" | "12h"; idleLockMinutes?: number; landing?: "cases" | "home" | "runs"; maskForAnalysts?: ("document" | "email" | "phone" | "dateOfBirth" | "address")[]; showRunContextTo?: "admins" | "all"; timeZone?: string; workspaceName?: string; }

console.checklist? ​

"until_done" | "hidden"

console.dateFormat? ​

"24h" | "12h"

console.idleLockMinutes? ​

number

console.landing? ​

"cases" | "home" | "runs"

console.maskForAnalysts? ​

("document" | "email" | "phone" | "dateOfBirth" | "address")[]

console.showRunContextTo? ​

"admins" | "all"

console.timeZone? ​

string

console.workspaceName? ​

string

embedOrigins? ​

string[]

Returns ​

Promise<{ approvals: { fourEyes: boolean; required: boolean; requiredFor?: ("app" | "workflow" | "rule" | "rule_set" | "collection_flow")[]; }; branding: { borderWidth?: number; colorScheme?: "system" | "light" | "dark"; controlRadius?: number; font?: string; headingWeight?: number; logoAlt?: string; logoDarkUrl?: string; logoUrl?: string; name?: string; primary?: string; privacyUrl?: string; radius?: number; returnUrl?: string; supportEmail?: string; supportUrl?: string; termsUrl?: string; }; cases: { businessHours?: { days: number[]; enabled: boolean; end: string; start: string; timeZone: string; }; defaultSlaHours?: number; onBreach?: { escalatePriority: boolean; notifyAssignee: boolean; notifyAssigners: boolean; }; warnAtPct?: number; }; collection: { abandonAfterDays?: number; defaultLinkTtlSeconds?: number; flowUrl?: string; locales?: string[]; }; console: { checklist?: "until_done" | "hidden"; dateFormat?: "24h" | "12h"; idleLockMinutes?: number; landing?: "cases" | "home" | "runs"; maskForAnalysts?: ("document" | "email" | "phone" | "dateOfBirth" | "address")[]; showRunContextTo?: "admins" | "all"; timeZone?: string; workspaceName?: string; }; embedOrigins: string[]; }>

Released under the Apache-2.0 License.