/positions/{dealId}

GET (version: 2)

Returns an open position for the active account by deal identifier.
Request
Parameter Type Name Description
Path dealId (String) deal identifier
Response
Open position data
market (Object)
Market data
bid (Number) Bid
delayTime (Number) Instrument price delay (minutes)
epic (String) Instrument epic identifier
expiry (String) Instrument expiry period
high (Number) High price
instrumentName (String) Instrument name
instrumentType (Constant)
Instrument type
BINARY Binaries
BUNGEE_CAPPED Capped bungees
BUNGEE_COMMODITIES Commodity bungees
BUNGEE_CURRENCIES Currency bungees
BUNGEE_INDICES Index bungees
COMMODITIES Commodities
CURRENCIES Currencies
INDICES Indices
OPT_COMMODITIES Commodity options
OPT_CURRENCIES Currency options
OPT_INDICES Index options
OPT_RATES FX options
OPT_SHARES Share options
RATES Rates
SECTORS Sectors
SHARES Shares
SPRINT_MARKET Sprint Market
TEST_MARKET Test market
UNKNOWN Unknown
lotSize (Number) Instrument lot size
low (Number) Low price
marketStatus (Constant)
Describes the current status of a given market
CLOSED Closed
EDITS_ONLY Open for edits
OFFLINE Offline
ON_AUCTION In auction mode
ON_AUCTION_NO_EDITS In no-edits mode
SUSPENDED Suspended
TRADEABLE Open for trades
netChange (Number) Price net change
offer (Number) Offer
percentageChange (Number) Price percentage change
scalingFactor (Number) multiplying factor to determine actual pip value for the levels used by the instrument
streamingPricesAvailable (Boolean) True if streaming prices are available, i.e. the market is tradeable and the client has appropriate permissions
updateTime (String) Local time of last instrument price update
updateTimeUTC (String) Time of last instrument price update
position (Object)
Position data
contractSize (Number) Size of the contract
controlledRisk (Boolean) True if position is risk controlled
createdDate (String) Local date the position was opened
createdDateUTC (String) Date the position was opened
currency (String) Position currency ISO code
dealId (String) Deal identifier
dealReference (String) Deal reference
direction (Constant)
Deal direction
BUY Buy
SELL Sell
level (Number) Level at which the position was opened
limitLevel (Number) Limit level
size (Number) Deal size
stopLevel (Number) Stop level
trailingStep (Number) Trailing step size
trailingStopDistance (Number) Trailing stop distance
Exceptions
HTTP code Description
400
error.public-api.failure.encryption.required A login has been attempted to the login V1 service by a client from the IG Singapore company. They need to use the v2 version as they need to send their passwords encrypyted.
400
error.request.invalid.date-range Invalid date range
400
error.security.api-key-missing The api key was not provided
400
invalid.input A generic input data error has occurred
401
error.public-api.failure.kyc.required The account is not allowed to log into public API. Please use the web platform.
401
error.public-api.failure.missing.credentials The user has not provided all required security credentials.
401
error.public-api.failure.pending.agreements.required The account is not allowed to log into public API. Please use the web platform.
401
error.public-api.failure.preferred.account.disabled The user's preferred account is disabled.
401
error.public-api.failure.preferred.account.not.set The user has not set a preferred account.
401
error.security.account-token-invalid The service requires an account token and the one provided was not valid
401
error.security.account-token-missing The service requires an account token and it was not provided
401
error.security.client-token-invalid The service requires a client token and the one provided was not valid
401
error.security.client-token-missing The service requires a client token and it was not provided
401
error.security.oauth-token-invalid Invalid OAuth access token
403
endpoint.unavailable.for.api-key The provided api key was not accepted
403
error.public-api.exceeded-account-allowance The account traffic allowance has been exceeded
403
error.public-api.exceeded-account-historical-data-allowance The account historical data traffic allowance has been exceeded
403
error.public-api.exceeded-account-trading-allowance The account trading traffic allowance has been exceeded
403
error.public-api.exceeded-api-key-allowance The api key traffic allowance has been exceeded
403
error.public-api.failure.stockbroking-not-supported Stockbroking not supported for Public API users.
403
error.security.api-key-disabled The provided api key was not accepted because it is not currently enabled
403
error.security.api-key-invalid The provided api key was not accepted
403
error.security.api-key-restricted The provided api key was not valid for the requesting account
403
error.security.api-key-revoked The provided api key was not accepted because it has been revoked
404
error.position.notfound The requested position was not found
404
invalid.url
500
error.positions.generic An unexpected error has been encountered on the server side, cannot proceed. Please contact the support
500
system.error

GET (version: 1)

Returns an open position for the active account by deal identifier.
Request
Parameter Type Name Description
Path dealId (String) deal identifier
Response
Open position data
market (Object)
Market data
bid (Number) Bid
delayTime (Number) Instrument price delay (minutes)
epic (String) Instrument epic identifier
expiry (String) Instrument expiry period
high (Number) High price
instrumentName (String) Instrument name
instrumentType (Constant)
Instrument type
BINARY Binaries
BUNGEE_CAPPED Capped bungees
BUNGEE_COMMODITIES Commodity bungees
BUNGEE_CURRENCIES Currency bungees
BUNGEE_INDICES Index bungees
COMMODITIES Commodities
CURRENCIES Currencies
INDICES Indices
OPT_COMMODITIES Commodity options
OPT_CURRENCIES Currency options
OPT_INDICES Index options
OPT_RATES FX options
OPT_SHARES Share options
RATES Rates
SECTORS Sectors
SHARES Shares
SPRINT_MARKET Sprint Market
TEST_MARKET Test market
UNKNOWN Unknown
lotSize (Number) Instrument lot size
low (Number) Low price
marketStatus (Constant)
Describes the current status of a given market
CLOSED Closed
EDITS_ONLY Open for edits
OFFLINE Offline
ON_AUCTION In auction mode
ON_AUCTION_NO_EDITS In no-edits mode
SUSPENDED Suspended
TRADEABLE Open for trades
netChange (Number) Price net change
offer (Number) Offer
percentageChange (Number) Price percentage change
scalingFactor (Number) multiplying factor to determine actual pip value for the levels used by the instrument
streamingPricesAvailable (Boolean) True if streaming prices are available, i.e. the market is tradeable and the client has appropriate permissions
updateTime (String) Last instrument price update time
position (Object)
Position data
contractSize (Number) Size of the contract
controlledRisk (Boolean) True if position is risk controlled
createdDate (String) Date the position was opened
currency (String) Position currency ISO code
dealId (String) Deal identifier
dealSize (Number) Deal size
direction (Constant)
Deal direction
BUY Buy
SELL Sell
limitLevel (Number) Limit level
openLevel (Number) Level at which the position was opened
stopLevel (Number) Stop level
trailingStep (Number) Trailing step size
trailingStopDistance (Number) Trailing stop distance
Exceptions
HTTP code Description
400
error.public-api.failure.encryption.required A login has been attempted to the login V1 service by a client from the IG Singapore company. They need to use the v2 version as they need to send their passwords encrypyted.
400
error.request.invalid.date-range Invalid date range
400
error.security.api-key-missing The api key was not provided
400
invalid.input A generic input data error has occurred
401
error.public-api.failure.kyc.required The account is not allowed to log into public API. Please use the web platform.
401
error.public-api.failure.missing.credentials The user has not provided all required security credentials.
401
error.public-api.failure.pending.agreements.required The account is not allowed to log into public API. Please use the web platform.
401
error.public-api.failure.preferred.account.disabled The user's preferred account is disabled.
401
error.public-api.failure.preferred.account.not.set The user has not set a preferred account.
401
error.security.account-token-invalid The service requires an account token and the one provided was not valid
401
error.security.account-token-missing The service requires an account token and it was not provided
401
error.security.client-token-invalid The service requires a client token and the one provided was not valid
401
error.security.client-token-missing The service requires a client token and it was not provided
401
error.security.oauth-token-invalid Invalid OAuth access token
403
endpoint.unavailable.for.api-key The provided api key was not accepted
403
error.public-api.exceeded-account-allowance The account traffic allowance has been exceeded
403
error.public-api.exceeded-account-historical-data-allowance The account historical data traffic allowance has been exceeded
403
error.public-api.exceeded-account-trading-allowance The account trading traffic allowance has been exceeded
403
error.public-api.exceeded-api-key-allowance The api key traffic allowance has been exceeded
403
error.public-api.failure.stockbroking-not-supported Stockbroking not supported for Public API users.
403
error.security.api-key-disabled The provided api key was not accepted because it is not currently enabled
403
error.security.api-key-invalid The provided api key was not accepted
403
error.security.api-key-restricted The provided api key was not valid for the requesting account
403
error.security.api-key-revoked The provided api key was not accepted because it has been revoked
404
error.position.notfound The requested position was not found
404
invalid.url
500
error.positions.generic An unexpected error has been encountered on the server side, cannot proceed. Please contact the support
500
system.error