# See how each instrument maps onto an account's broker

URL: https://docs.fxapis.com/api-reference/instruments/see-how-each-instrument-maps-onto-an-accounts-broker

> See how each instrument maps onto an account's broker. For every instrument, the symbol an order naming it will trade on this account — or why it cannot: the…

`GET https://api.fxapis.com/v1/accounts/{id}/instruments`

For every instrument, the symbol an order naming it will trade on this account — or why it cannot: the broker has several plausible symbols (`ambiguous`, with `candidates`), or does not offer it (`missing`). Useful when a member connects, to tell them which signals their account can follow.

A symbol is mapped automatically only when its name matches and, where the market has one standard contract, its contract size agrees: gold quoted per gram is never taken for gold per ounce.

Returns 409 `SYMBOLS_NOT_SYNCED` for an account that has never been online.

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

#### Parameters

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

#### Responses

- `200`
- `401`
- `404`
- `409`

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[].instrument` | string | no | Example: `"XAUUSD"` |
| `data[].name` | string | no |  |
| `data[].category` | "forex" \| "metals" \| "indices" \| "energies" \| "crypto" | no |  |
| `data[].status` | "mapped" \| "ambiguous" \| "missing" | no | `mapped`: orders naming the instrument trade `symbol`. `ambiguous`: the broker has more than one plausible symbol (in `candidates`), so an order must name the one it means. `missing`: the broker does not offer it to this account. |
| `data[].symbol` | null \| string | no | Example: `"XAUUSD.a"` |
| `data[].reason` | null \| string | no | Example: `"its name once the broker's suffix is removed, contract size agrees"` |
| `data[].candidates` | object[] | no |  |
| `data[].candidates[].symbol` | string | no |  |
| `data[].candidates[].confidence` | number | no | 0 to 1. |
| `data[].candidates[].reason` | string | no |  |
| `meta` | object | no |  |
| `meta.syncedAt` | string (date-time) | no | When the list was read from the broker. |
| `meta.server` | string | no |  |
| `meta.symbolCount` | integer | no |  |
| `meta.utcOffsetSeconds` | null \| integer | no | The broker's server clock minus UTC, in seconds, measured when the sessions were read. Example: `10800` |
| `meta.sessionsSyncedAt` | null \| string (date-time) | no | When the sessions were read; null until they have been. |