Account Settings

Account Settings

Account settings let you customize behavior for one account without changing the whole system. They're edited from the Account Management → Details → Settings section in the frontend and through the account settings API:

  • GET /accounts/{accountId}/settings
  • PUT /accounts/{accountId}/settings/{settingName}

This is where you currently:

  • override email settings for a specific account
  • choose the dashboard that should open by default for that account
  • tune the size limit used when selecting files for compaction jobs

Permissions

Viewing and updating account settings requires account admin access for that account, or global admin access.

Sensitive values

Sensitive account settings are redacted on read. If you save an account email password, later reads from the UI or API won't return the stored value.

Maintenance note

This page is tied directly to the code-defined registry in src/Logship/Service/Services/Accounts/Settings/AccountSettingStore.cs, the parsing logic in src/Logship/Service/Services/Accounts/Models/AccountSettingValue.cs, and the code that consumes these settings. Whenever an account setting is added, removed, renamed, retyped, or its behavior changes in code, this documentation must be updated in the same change.

Quick example

Here are a few common account-level changes:

PUT /accounts/11111111-1111-1111-1111-111111111111/settings/Logship.Dashboards.Default
Authorization: Bearer <token>
Content-Type: application/json

{
  "value": "operations-overview"
}
PUT /accounts/11111111-1111-1111-1111-111111111111/settings/Logship.Storage.Compaction.MaxFileSize
Authorization: Bearer <token>
Content-Type: application/json

{
  "value": "1 GB"
}
PUT /accounts/11111111-1111-1111-1111-111111111111/settings/Logship.Communication.Email.FromAddress
Authorization: Bearer <token>
Content-Type: application/json

{
  "value": "alerts@domain.com"
}

How account settings work

Account settings are stored per account and returned by /accounts/{accountId}/settings.

The important part is how they interact with the rest of the system:

  • account email settings override the matching system email connection values for account-scoped mail
  • Logship.Communication.Email.Drop.Unsent.After is account-scoped
  • Logship.Dashboards.Default is used when loading the account landing dashboard
  • Logship.Storage.Compaction.MaxFileSize is used when selecting files for compaction jobs

Setting reference

SettingTypeDefaultSensitiveWhat it does
Logship.Communication.Email.EndpointstringnullNoOutgoing email server and port. Example: mail.domain.com:993.
Logship.Communication.Email.UserNamestringnullNoOutgoing email username.
Logship.Communication.Email.PasswordstringnullYesOutgoing email password.
Logship.Communication.Email.FromAddressstringnullNoOutgoing email from address. If left empty, it defaults to the username.
Logship.Communication.Email.Drop.Unsent.AfterTimeSpan01:00:00NoAge threshold after which queued unsent emails are dropped.
Logship.Dashboards.DefaultstringnullNoDashboard identifier loaded by default for the account landing experience.
Logship.Storage.Compaction.MaxFileSizesize1 GBNoMaximum total file size target used while selecting files for compaction.

Email overrides

These account settings are used for account-scoped mail:

  • Logship.Communication.Email.Endpoint
  • Logship.Communication.Email.UserName
  • Logship.Communication.Email.Password
  • Logship.Communication.Email.FromAddress

When these are set for an account, they override the matching system email connection values for that account's outgoing mail.

That's useful when:

  • one account must send through a different mail server
  • one account needs a different sender identity
  • one account needs separate credentials

Logship.Communication.Email.Drop.Unsent.After

This setting is also account-scoped, but it controls queue behavior rather than connection details.

It defines how old a queued email can be before Logship drops it instead of sending it.

Use a standard TimeSpan value such as:

00:15:00
01:00:00
06:00:00

If an email is older than this threshold when processing runs, the messenger service drops it.

Default dashboard

Logship.Dashboards.Default is used by the account landing page to decide which dashboard to load by default.

If the setting contains a value, the frontend attempts to load that dashboard for the current account. If it isn't set, the account falls back to the standard welcome experience.

This is a practical way to land users on an operations dashboard, a service overview dashboard, or any other dashboard your team wants to treat as the account homepage.

Compaction max file size

Logship.Storage.Compaction.MaxFileSize is read by AssignSchemaCompactionJobsTask when it selects files for compaction.

In plain English: this value limits how much data Logship will try to roll into a compaction job before it stops selecting more files.

Accepted units

This setting accepts the following suffixes:

  • B
  • KB
  • MB
  • GB

Examples:

512 MB
1 GB
1073741824 B

The parser is case-insensitive for these unit suffixes.

Common variations

Keep the shared system email connection, but change the visible sender for one account

Set only:

  • Logship.Communication.Email.FromAddress

Give one account a completely separate mail configuration

Set:

  • Logship.Communication.Email.Endpoint
  • Logship.Communication.Email.UserName
  • Logship.Communication.Email.Password
  • Logship.Communication.Email.FromAddress

Tune compaction selection for a larger or smaller account

Adjust Logship.Storage.Compaction.MaxFileSize to change the size threshold used during compaction job selection.

Troubleshooting

I saved an account email password, but it reads back as blank

That's expected.

Sensitive account settings are redacted on read, so the stored password is not returned by the API or frontend.

Emails for this account are being dropped before they send

Check Logship.Communication.Email.Drop.Unsent.After.

If the threshold is too short for your queue and delivery pattern, older queued emails will be dropped instead of sent.

The account landing page isn't opening the dashboard I expected

Check whether Logship.Dashboards.Default is set for that account and whether it points to the dashboard you expect to load.

My compaction size value isn't being accepted

Use one of the supported size suffixes:

  • B
  • KB
  • MB
  • GB

Safe examples are:

512 MB
1 GB

For installation-wide defaults and operational tuning, see System Settings.