Account Entities
These interfaces are used by the Account adapter and encapsulate data objects used by Epicenter Account API.
Account
AccountPermissionReadOutView
The AccountPermissionReadOutView interface defines the structure of a permission entry associated with an account.
Properties
objectType('account'): Identifies the object as an account permission entry.role?(string): (Optional) Role assigned to the user within the account.handle?(string): (Optional) Handle of the user associated with the permission.adminKey?(string): (Optional) Administrative key tied to the permission entry.
LogoReadOutView
The LogoReadOutView interface defines the structure of an account logo.
Properties
imageType?('PNG' | 'JPG' | 'SVG'): (Optional) Image format of the stored logo.
WorkerPartition
WorkerPartition is a string‑literal union type that defines which compute cluster your project runs in.
Values
'DEVELOPMENT': For testing in team accounts.'FREE': Good for personal accounts.'LICENSED': Shared with other paying customers.'ACCOUNT': Siloed for the accounts.'NONE': No partitions are available.'ALL': All partitions are available.
PersonalAccountCreateInView
The PersonalAccountCreateInView interface defines the structure for creating a personal account.
Properties
objectType('personal'): Identifies the account as a personal account.shortName(string): Account short name.adminKey(string): The admin who is creating the account.name(string): A descriptive name of the account.workerPartition?(WorkerPartition): (WorkerPartition): (Optional) The compute cluster used for the account's projects.active?(boolean): (Optional) Indicates whether the account is active.sharedSecret?(string): (Optional) Set by the account owner and used for account-wide encryption.
TeamAccountCreateInView
The TeamAccountCreateInView interface defines the structure for creating a team account with extended configuration options.
Properties
objectType('team'): Identifies the account as a team account.shortName(string): Account short name.adminKey(string): The admin who is creating the account.name(string): A descriptive name of the account.secretStrategy?(SecretStrategyCreateInView): (Optional) Secret‑generation strategy.displayNameStrategy?(DisplayNameStrategyCreateInView): (Optional) Display‑name generation strategy.allowDeletion?(boolean): (Optional) Indicates whether the account can be deleted.retentionPreference?(RetentionPreferenceCreateInView): (Optional) Data‑retention configuration.multiFactorStrategy?(MultiFactorStrategyCreateInView): (Optional) Multi‑factor authentication configuration.active?(boolean): (Optional) Indicates whether the account is active.apiSecret?(SecretCreateInView): (Optional) API secret configuration.accountSetting?(AccountSettingCreateInView): (Optional) Account‑level settings.billingInformation?(BillingInformationCreateInView): (Optional) Billing configuration.legacySettings?(AccountLegacySettingsCreateInView): (Optional) Legacy configuration.workerPartition?(WorkerPartition): (WorkerPartition): (Optional) The compute cluster used for the account's projects.allowStrongFacilitators?(boolean): (Optional) Indicates whether strong facilitators are allowed.sharedSecret?(string): (Optional) Set by the account owner and used for account-wide encryption.allowAmbiguousHandles?(boolean): (Optional) Indicates whether ambiguous handles are permitted.lockoutLimits?(LockoutLimitsCreateInView): (Optional) Lockout configuration.
AccountReadOutView
AccountReadOutView is a union of these types:
PersonalAccountReadOutView: Represents a personal account.TeamAccountReadOutView: Represents a team account.
PersonalAccountReadOutView
The PersonalAccountReadOutView interface defines the returned structure of a personal account.
Properties
objectType('personal'): Identifies the account as a personal account.shortName?(string): (Optional) Account short name.name?(string): (Optional) A descriptive name of the account.workerPartition?(WorkerPartition): (Optional) The compute cluster used for the account's projects.active?(boolean): (Optional) Indicates whether the account is active.admin?(Admin): (Optional) Identifies the admin who created the account.projects?(Project[]): (Optional) Projects belonging to the account.tombstone?(string): (Optional) Deletion marker for the account.created?(string): (Optional) Timestamp of account creation.lastUpdated?(string): (Optional) Timestamp of last update.
TeamAccountReadOutView
The TeamAccountReadOutView interface defines the returned structure of a team account.
Properties
objectType('team'): Identifies the account as a team account.shortName?(string): (Optional) Account short name.name?(string): (Optional) A descriptive name of the account.workerPartition?(WorkerPartition): (Optional) The compute cluster used for the account's projects.secretStrategy?(SecretStrategyReadOutView): (Optional) Secret‑generation strategy.displayNameStrategy?(DisplayNameStrategyReadOutView): (Optional) Display‑name generation strategy.allowDeletion?(boolean): (Optional) Allows an admin to delete the account.retentionPreference?(RetentionPreferenceReadOutView): (Optional) Data‑retention configuration.multiFactorStrategy?(MultiFactorStrategyReadOutView): (Optional) MFA configuration.active?(boolean): (Optional) Indicates whether the account is active.accountSetting?(AccountSettingReadOutView): (Optional) Account‑level settings.billingInformation?(BillingInformationReadOutView): (Optional) Billing configuration.legacySettings?(AccountLegacySettingsReadOutView): (Optional) Legacy configuration.allowStrongFacilitators?(boolean): (Optional) Whether strong facilitators are allowed.allowAmbiguousHandles?(boolean): (Optional) Whether ambiguous handles are permitted.lockoutLimits?(LockoutLimitsReadOutView): (Optional) Lockout configuration.members?(AccountPermissionReadOutView[]): (Optional) List of account members and their permissions.logo?(LogoReadOutView): (Optional) Account logo.projects?(Project[]): (Optional) Projects belonging to the account.tombstone?(string): (Optional) Deletion marker for the account.created?(string): (Optional) Timestamp of account creation.lastUpdated?(string): (Optional) Timestamp of last update.
PersonalAccountUpdateInView
The PersonalAccountUpdateInView interface defines the structure for updating a personal account.
Properties
objectType('personal'): Identifies the account as a personal account.name?(string): (Optional) Updated name of the account.workerPartition?(WorkerPartition): (Optional) The compute cluster used for the account's projects.active?(boolean): (Optional) Updated active status.
TeamAccountUpdateInView
The TeamAccountUpdateInView interface defines the structure for updating a team account.
Properties
objectType('team'): Identifies the account as a team account.name?(string): (Optional) Updated name of the account.workerPartition?(WorkerPartition): (Optional) The compute cluster used for the account's projects.active?(boolean): (Optional) Updated active status.billingInterval?(string): (Optional) Updated billing interval.
Account settings
AccountLegacySettingsCreateInView
The AccountLegacySettingsCreateInView interface defines legacy configuration options for backward compatibility.
Properties
authorizationMode?(string): (Optional) Authorization mode used by legacy systems.
AccountLegacySettingsReadOutView
The AccountLegacySettingsReadOutView interface defines stored legacy configuration.
Properties
authorizationMode?(string): (Optional) Authorization mode used by legacy systems.
AccountSettingCreateInView
The AccountSettingCreateInView interface defines configuration options for account‑level limits and permissions.
Properties
allowProjectScopedModels?(boolean): (Optional) Whether project‑scoped models are allowed.concurrentRunLimit?(number): (Optional) Maximum number of concurrent runs.authenticatedProjectLimit?(number): (Optional) Maximum number of authenticated projects.maximumUsers?(number): (Optional) Maximum number of users allowed in the account.allowMultiPlayer?(boolean): (Optional) Whether multiplayer features are enabled.
AccountSettingReadOutView
The AccountSettingReadOutView interface defines stored account‑level configuration.
Properties
allowProjectScopedModels?(boolean): (Optional) Whether project‑scoped models are allowed.concurrentRunLimit?(number): (Optional) Maximum number of concurrent runs.authenticatedProjectLimit?(number): (Optional) Maximum number of authenticated projects.maximumUsers?(number): (Optional) Maximum number of users allowed.allowMultiPlayer?(boolean): (Optional) Whether multiplayer features are enabled.
Secret strategy
SecretStrategyCreateInView
The SecretStrategyCreateInView interface defines configuration options for generating and managing secrets.
Properties
difficulty?(string): (Optional) Difficulty level for secret generation.encryption?(string): (Optional) Encryption method used for the secret.expirationDays?(number): (Optional) Number of days before the secret expires.reuseHorizon?(number): (Optional) Minimum number of days before a previous secret may be reused.
SecretStrategyReadOutView
The SecretStrategyReadOutView interface defines the stored configuration for secret‑generation behavior.
Properties
difficulty?(string): (Optional) Difficulty level used for secret generation.encryption?(string): (Optional) Encryption method applied to the secret.expirationDays?(number): (Optional) Number of days before the secret expires.reuseHorizon?(number): (Optional) Minimum number of days before a previous secret may be reused.
Display name strategy
DisplayNameStrategyCreateInView
The DisplayNameStrategyCreateInView interface defines how display names are generated and managed.
Properties
displayNameGenerator(string): Generator strategy used to create display names.clearOnDeletion(boolean): Indicates whether the display name should be cleared when the user is deleted.
DisplayNameStrategyReadOutView
The DisplayNameStrategyReadOutView interface defines the stored configuration for display‑name generation.
Properties
displayNameGenerator?(string): (Optional) Generator strategy used to create display names.clearOnDeletion?(boolean): (Optional) Indicates whether display names are cleared when the user is deleted.
Retention preference
RetentionPreferenceCreateInView
The RetentionPreferenceCreateInView interface defines data‑retention rules for users and account data.
Properties
inactiveUserRetentionDays?(number): (Optional) Number of days to retain inactive users.dataRetentionDays?(number): (Optional) Number of days to retain associated data.
RetentionPreferenceReadOutView
The RetentionPreferenceReadOutView interface defines stored retention rules for users and account data.
Properties
inactiveUserRetentionDays?(number): (Optional) Number of days inactive users are retained.dataRetentionDays?(number): (Optional) Number of days associated data is retained.
Multi factor strategy
MultiFactorStrategyCreateInView
The MultiFactorStrategyCreateInView interface defines multi‑factor authentication requirements and expiration rules.
Properties
expirationDays(number): Number of days before MFA credentials expire.adminMultiFactorRequirement(string): MFA requirement level for administrators.userMultiFactorRequirement(string): MFA requirement level for standard users.
MultiFactorStrategyReadOutView
The MultiFactorStrategyReadOutView interface defines stored multi‑factor authentication configuration.
Properties
expirationDays?(number): (Optional) Number of days before MFA credentials expire.adminMultiFactorRequirement?(string): (Optional) MFA requirement level for administrators.userMultiFactorRequirement?(string): (Optional) MFA requirement level for standard users.
Billing information
BillingInformationCreateInView
The BillingInformationCreateInView interface defines billing‑related configuration for an account.
Properties
subscriptionPlan?(string): (Optional) The license type. Controls what features you have access to.subscriptionExpiration?(string): (Optional) Subscription expiration date.billingInterval?(string): (Optional) The billing period for the Epicenter account.
BillingInformationReadOutView
The BillingInformationReadOutView interface defines stored billing information for an account.
Properties
subscriptionPlan?(string): (Optional) The license type. Controls what features you have access to.subscriptionExpiration?(string): (Optional) Subscription expiration date.billingInterval?(string): (Optional) The billing period for the Epicenter account.
Lockout limits
LockoutLimitsCreateInView
The LockoutLimitsCreateInView interface defines lockout thresholds for failed authentication attempts.
Properties
blackoutMinutes(number): Number of minutes a user is locked out after exceeding limits.adminAttempts(number): Maximum failed attempts allowed for administrators.userAttempts(number): Maximum failed attempts allowed for standard users.
LockoutLimitsReadOutView
The LockoutLimitsReadOutView interface defines stored lockout thresholds.
Properties
adminAttempts?(number): (Optional) Maximum failed attempts allowed for administrators.userAttempts?(number): (Optional) Maximum failed attempts allowed for standard users.blackoutMinutes?(number): (Optional) Number of minutes a user is locked out.