---
title: "Get a single base instrument by ID"
method: GET
path: "/v4/user/accounts/{server}/{accountId}/instruments/base/{instrumentId}"
tags: ["Instruments (v4)"]
---

# Get a single base instrument by ID

`GET /v4/user/accounts/{server}/{accountId}/instruments/base/{instrumentId}`

## Request

- Base URL: `https://trading-api.oanda.com` (the document declares no server; this is the origin it was published from)
- URL: `https://trading-api.oanda.com/v4/user/accounts/{server}/{accountId}/instruments/base/{instrumentId}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/oanda/apis/up-gateway-v1/docs/v4/user/accounts/:server/:accountId/instruments/base/:instrumentId/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns base instrument details for a single instrument.

## Path parameters

- `server` 'oanda' | 'oanda-demo' | 'otms' | 'v20' | 'v20-demo' | 'oj' | 'oj-demo' | 'opt' | 'ftmo-1', required
- `accountId` string, required
- `instrumentId` string, required

## Response `200`

OK

- object
  - `data` object, required
    - `id` string
    - `name` string
    - `description` string
    - `category` 'CURRENCY' | 'STOCK' | 'FUTURES' | 'CRYPTO' | 'INDEX' | 'BOND' | 'COMMODITY' | 'EQUITY' | 'EQUITY_CZ' | 'EQUITY_UK' | 'EQUITY_ES' | 'EQUITY_PL' | 'EQUITY_DE' | 'EQUITY_NL' | 'EQUITY_FR' | 'EQUITY_BE' | 'EQUITY_DK' | 'EQUITY_FI' | 'EQUITY_PT' | 'EQUITY_SE' | 'EQUITY_US' | 'ETF'
    - `pipLocation` number
    - `displayPrecision` number

## Other responses

- `400`: FAIL

---

[API](https://skmtc.dev/oanda/apis/up-gateway-v1.md) - [All operations](https://skmtc.dev/oanda/apis/up-gateway-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/oanda/apis/up-gateway-v1/revisions/395d645513bf?raw)
