# Check settings before you connect

> detect takes { "email": "you@yourdomain.com" } (3 to 320 characters) and returns { "detection": { … } }: Warmerly's best guess at the provider, from the…

Source: https://warmerly.com/docs/accounts/check-settings-before-you-connect

```text
POST /accounts/detect
POST /accounts/test-connection
```

`detect` takes `{ "email": "you@yourdomain.com" }` (3 to 320 characters) and returns `{ "detection": { … } }`: Warmerly's best guess at the provider, from the domain's live MX records, with the SMTP/IMAP hosts and ports the dashboard's connect wizard would prefill. A domain it cannot place comes back as an `unsupported` kind with a human-readable `note` rather than an error.

`test-connection` takes full `smtp` and `imap` objects (`host`, `port` from 1 to 65535, `user`, `pass`, all required) and reports whether each side authenticated, without saving anything. Use it to surface a credential problem before creating an account that would immediately pause. Hosts that point at private or internal addresses are refused with `400 bad_request`. On a failure, `message` is a plain-language reason; on success it is omitted.

```json
{ "smtp": { "ok": true }, "imap": { "ok": false, "message": "Invalid credentials" } }
```

## More from Accounts

- [Connect several accounts at once](https://warmerly.com/docs/accounts/connect-several-accounts-at-once): Requires X-Project-Id and a plan that includes the email channel (403 channelnotincluded otherwise). Takes {…
- [Domain health (records + blocklists in one call)](https://warmerly.com/docs/accounts/domain-health-records-blocklists-in-one-call): The single call behind the domain-health card in the dashboard, and the one to reach for first: it returns…
- [DNS and domain checks](https://warmerly.com/docs/accounts/dns-and-domain-checks): GET returns the last 10 DNS checks for the account, newest first, plus latest as a convenience (the first…
