# Confirm pending results with the broker now

URL: https://docs.fxapis.com/api-reference/trading/confirm-pending-results-with-the-broker-now

> Confirm pending results with the broker now. Confirms the result of every opening order on this account still in unknown, and brings its deals and positions…

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

Confirms the result of every opening order on this account still in `unknown`, and brings its deals and positions up to date with the broker. A close, stop change or cancel in `unknown` is not settled from deal history — its `stateDetail` says to check the position or order at the broker.

This happens automatically; call it when you do not want to wait. It is safe to call at any time and safe to call twice — nothing is recorded or settled twice.

`ambiguous` counts orders whose result the broker's records do not settle unambiguously. Those are left in `unknown` on purpose: a wrong guess produces a history that looks settled and is wrong, which is worse than the gap. They need a human.

`skipped` is `no-runtime` when the account is offline: bring it online and call again.

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

#### Parameters

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

#### Responses

- `200`
- `401`
- `403`
- `404`

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

#### 200 response fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | object | no |  |
| `data.accountId` | string (uuid) | no |  |
| `data.examined` | integer | no | Orders that were in `unknown`. |
| `data.resolved` | integer | no | How many now have a confirmed result. |
| `data.stillUnknown` | integer | no | Still unconfirmed, including the ambiguous ones. |
| `data.ambiguous` | integer | no | Orders the broker's records do not settle unambiguously. Left alone deliberately — a wrong guess produces a history that looks settled and is wrong. These need a human. |
| `data.historyNotReady` | integer | no | Orders left unconfirmed only because the broker's records were not available yet — usually for about half a minute after an account comes online. An empty answer is not treated as proof an order did not execute; they are confirmed on a later attempt. |
| `data.historyReady` | null \| boolean | no | Whether the broker's records were available for this check. Null when that could not be told. |
| `data.dealsIngested` | integer | no | Broker deals recorded, including ones no order caused. |
| `data.positionsOpen` | integer | no |  |
| `data.positionsClosed` | integer | no | Positions the broker stopped reporting. |
| `data.skipped` | null \| string | no | `no-runtime` when the account is offline, so there was nothing to ask; `unreachable` when the broker would not answer. |