# Bring an account online

URL: https://docs.fxapis.com/api-reference/lifecycle/bring-an-account-online

> Bring an account online. Starts connecting the account and returns 202 immediately — the broker login is still in progress.

`POST https://api.fxapis.com/v1/accounts/{id}/warm`

Starts connecting the account and returns **202** immediately — the broker login is still in progress. Poll `pollUrl` until `state` is `ready`.

Calling this for an account that is already online is harmless and returns `alreadyRunning: true`, so a client that is unsure can simply call it.

Returns 409 when the account needs a human first (a wrong password, 2FA, a certificate, trading disabled at the broker). Retrying will not fix those, and repeated failed logins are how a broker locks an account.

Authentication: `Authorization: Bearer <API key>`.

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string (uuid) | yes |  |

#### Responses

- `202`
- `401`
- `404`
- `409`
- `503`

Failures return `{ "error": { "code", "message" } }`; every code is listed at https://docs.fxapis.com/errors.

#### 202 response fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | object | no |  |
| `data.accountId` | string (uuid) | no |  |
| `data.runtimeId` | string (uuid) | no |  |
| `data.alreadyRunning` | boolean | no | True when the account was already online or connecting; asking again is harmless. |
| `data.state` | "created" \| "provisioning" \| "standby" \| "starting" \| "connecting" \| "synchronizing" \| "ready" \| "executing" \| "cooling" \| "offline" \| "degraded" \| "reconnecting" \| "invalid_credentials" \| "trading_disabled" \| "needs_2fa" \| "needs_certificate" \| "error" | no |  |
| `data.pollUrl` | string | no | Poll here until `state` is `ready`. |