# Set your profile and account defaults

Your **Profile** holds two kinds of settings: your personal display preferences, and the account-wide defaults
that new monitors and contacts inherit when you create them. Neither changes how anything already running is
monitored - defaults only apply going forward.

## Display preferences

Open the top-right menu -> **Profile**. These are personal preferences: they change how information is
*shown to you*, not how anything is monitored.

### Settings reference

| Setting (UI label) | API field (v2 JSON path) | Type / allowed values | Default | Plan limits | What it does for you |
|---|---|---|---|---|---|
| First name / Last name | `firstName`, `lastName` | string | empty | none | Shown in your profile and on receipts. |
| Company | `company` | string | empty | none | Shown on invoices. |
| Phone | `phone` | string | empty | none | Contact number on file. |
| Country | `country` | ISO country code | none | none | Used for invoices and localisation. |
| Time zone | `timezone` | IANA time zone id | account's signup zone | none | Converts every timestamp shown in the dashboard, reports and status pages to your local time. |
| Language | `language` | language code (`en`, `de`, `fr`, ...) | your signup language | none | The language the app and email alerts are shown in. |
| Date format, Time format | not on `PATCH /account` (first-party profile only) | preset strings | account default | none | How timestamps are displayed across the dashboard, reports and status pages. |
| Theme | not an account field (browser-local) | Light / Dark / Auto | Auto | none | Auto follows your system preference. |

## Set your display preferences in the app

1. Open the top-right menu -> **Profile**.
2. Edit any of **Theme**, **Language**, **Date format**, **Time format** or **Time zone**.
3. **Save**.

## Do it with the API or MCP

`PATCH /account` (scope `account:write`) accepts a partial update of `firstName`, `lastName`, `company`,
`phone`, `country`, `timezone` and `language` - send only the fields you're changing; `""` clears a text field.
`timezone` accepts either an IANA id (`Europe/Berlin`) or the equivalent Windows zone name and always reads
back as IANA. `dateFormat`/`timeFormat`/`phoneExt` and the per-service-type default agent pools are first-party
profile fields only (`POST /user`), not on this endpoint. There is no MCP tool for writing profile settings -
the MCP server is deliberately read-only on `/account` (profile, email and defaults are treated as identity
data you change yourself in the app).

```
PATCH /account
Authorization: Bearer <token>
{ "timezone": "Europe/Berlin", "language": "de" }
```

## Account defaults

The **Defaults** tab (**Profile -> Defaults**) sets what a brand-new monitor or contact starts with, so you
don't have to repeat the same choices every time. Changing a default only affects things you create
**after** the change - it never edits monitors or contacts you already have.

### New-monitor defaults

| Setting (UI label) | Default | What it does for you |
|---|---|---|
| Default monitoring locations | All world | See [Set your default monitoring locations](/monitors/default-locations/) for the full guide, including the pool **fallback** setting. |
| Check interval | trial/plan default | The interval a new monitor starts with. |
| Timeout | plan/type default | The timeout a new monitor starts with. |
| Down confirmations (minimum down count) | plan default | How many re-checking locations must agree before a new monitor is confirmed down - see [How down detection works](/monitors/down-detection/). |
| Tags | none | Tags automatically applied to every new monitor. |
| Attach SSL/TLS expiry | off | New Website/HTTPS monitors start with a certificate-expiry sub-check attached. |
| Attach domain expiry | off | New monitors start with a domain-expiry sub-check attached. |
| Attach DNS blacklist (DNSBL) | off | New monitors start with a DNSBL sub-check attached. |
| Attach indexability | off | New Website/HTTPS monitors start with the site-indexability sub-check attached (where your plan includes it). |
| Public status page (open stat) | off | New monitors start with their public stats page enabled or disabled. |
| Subscribe new monitors to all contacts | off | Every existing contact is automatically subscribed to alerts (and reports) on a newly created monitor. |

### New-contact defaults

| Setting (UI label) | Default | What it does for you |
|---|---|---|
| Subscribe to alerts on all monitors | off | A newly created contact is automatically subscribed to Down/Up alerts on every existing monitor. |
| Subscribe to reports on all monitors | off | A newly created contact is automatically subscribed to periodic reports on every existing monitor. |
| Include repeated-down alerts | off | Whether a new contact keeps being notified while an outage continues, not just at the start. |
| Alert delay | none | How many missed checks a new contact waits through before the first notification. |
| Grouped alerts | account default | Whether a new contact's alerts are batched together rather than sent one by one. |
| Language | your profile language | The language a new contact's alerts and reports are sent in. |
| Quiet hours | off | A daily time window (start/end) during which a new contact is not notified. |
| Send news/product updates | account default | Whether a new contact is opted in to non-alert HostTracker email. |

## Set account defaults in the app

1. Open **Profile -> Defaults**.
2. Adjust the **new-monitor defaults** and/or **new-contact defaults** sections above.
3. **Save.**

:::note
Changing a default only affects things you create **after** the change. To push a new location set onto
monitors you already have, use bulk edit - see [Set your default monitoring locations](/monitors/default-locations/).
:::

## Related

- [Set your default monitoring locations](/monitors/default-locations/)
- [Sign in with Google, Microsoft or LinkedIn](/account/oauth/)
- [Subaccounts & permissions](/account/subaccounts/)
