v2

latestOpenAPI 3.0.3Apache 2.02026-08-0715707.5 MB
Orders

Place an order

Places a new order. After the creation request for the order is accepted, further processing takes place asynchronously.

post/orders

Headers

idempotency-keystring uuid required
Example:ccb07f42-4104-44ad-8e1f-c660bb7b269c

A UUID to be used as an idempotency key. This prevents a duplicate request from being replayed. https://docs.upvest.co/documentation/concepts/api_concepts/idempotency

Request body

user_idstring uuid

The ID of the user. Either user ID or business ID must be specified.

business_idstring uuid

The ID of the business. Either user ID or business ID must be specified.

account_idstring uuid required

The ID of the account that owns the order

cash_amountstring

Cash amount for a nominal order, not required if a share quantity is specified.

currency'EUR' | 'GBP' | 'USD'

The currency for the order.

side'BUY' | 'SELL' required

Side of the order.

  • BUY -
  • SELL -
instrument_idstring required

International securities identification number defined by ISO 6166.

instrument_id_type'ISIN' required

The type of the ID used in the request.

  • ISIN -
order_type'MARKET' | 'LIMIT' | 'STOP'

Type of the order.

  • MARKET -
  • LIMIT -
  • STOP -
quantitystring

Quantity of securities for the order. Only required if the cash amount is not specified.

user_instrument_fit_acknowledgementboolean

Only applicable if the user has failed the instrument fit check for the instrument type being ordered. True if the user has acknowledged their willingness to trade.

limit_pricestring

The limit price for orders of the type 'limit'.

stop_pricestring

The stop price for orders of the type 'stop'.

expiry_datestring

The order expiration date (last day the order can trade) in the YYYY-MM-DD format. The expiry date can only be set for LIMIT and STOP orders. RFC 3339, section 5.6 RFC 3339. The default value is order creation date + 359 days

client_referencestring

Immutable reference to the API flow that initiated the order. For client initiated API flows, this is a client provided ID. For internal initiations, it is set to the ID of the related object.

execution_flow'STRAIGHT_THROUGH' | 'BLOCK'

Execution flow that the order processing goes through. If no value is specified, the default value is assumed - STRAIGHT_THROUGH.

  • STRAIGHT_THROUGH -
  • BLOCK -
decision_maker_idstring

ID of the user behind the decision to place an order. Required only if different from the user_id. (e.g. child account order placed by a guardian)

Response

The request for the order creation has been accepted for processing.

idstring uuid required
created_atstring date-time required

Date and time when the resource was created. RFC 3339-5, ISO8601 UTC

updated_atstring date-time required

Date and time when the resource was last updated. RFC 3339-5, ISO8601 UTC

user_idstring uuid

The ID of the user. Either user ID or business ID must be specified.

business_idstring uuid

The ID of the business. Either user ID or business ID must be specified.

account_idstring uuid required

The ID of the account that owns the order

cash_amountstring required

Cash amount for a nominal order, not required if a share quantity is specified.

currency'EUR' | 'GBP' | 'USD' required

The currency for the order.

side'BUY' | 'SELL' required

Side of the order.

  • BUY -
  • SELL -
instrument_idstring required

International securities identification number defined by ISO 6166.

instrument_id_type'ISIN' required

The type of the ID used in the request.

  • ISIN -
order_type'MARKET' | 'LIMIT' | 'STOP' required

Type of the order.

  • MARKET -
  • LIMIT -
  • STOP -
quantitystring required

Quantity of securities for the order. Only required if the cash amount is not specified.

user_instrument_fit_acknowledgementboolean

Only applicable if the user has failed the instrument fit check for the instrument type being ordered. True if the user has acknowledged their willingness to trade.

limit_pricestring

The limit price for orders of the type 'limit'.

stop_pricestring

The stop price for orders of the type 'stop'.

expiry_datestring

The order expiration date (last day the order can trade) in the YYYY-MM-DD format. The expiry date can only be set for LIMIT and STOP orders. RFC 3339, section 5.6 RFC 3339. The default value is order creation date + 359 days

status'NEW' | 'PROCESSING' | 'FILLED' | 'CANCELLED' required

The execution status of the order.

  • NEW -
  • PROCESSING -
  • FILLED -
  • CANCELLED -
feestring required
cancellation_reason'CANCELLED_BY_CLIENT' | 'CANCELLED_BY_UPVEST_OPERATIONS' | 'CANCELLED_BY_TRADING_PARTNER' | 'CANCELLED_BY_UPVEST_PLATFORM'

Reason for Order cancellation. The field is present in case the Order has a status of CANCELLED.

  • CANCELLED_BY_CLIENT -
  • CANCELLED_BY_UPVEST_OPERATIONS -
  • CANCELLED_BY_TRADING_PARTNER -
  • CANCELLED_BY_UPVEST_PLATFORM -
initiation_flow'API' | 'PORTFOLIO' | 'CASH_DIVIDEND_REINVESTMENT' | 'PORTFOLIO_REBALANCING' | 'SELL_TO_COVER_FEES' | 'SELL_TO_COVER_TAXES' | 'ACCOUNT_LIQUIDATION' | 'UPVEST_OPERATIONS' | 'SAVINGS_PLAN' | 'CLIENT_OPERATIONS' required

Initiation flow used during order creation, i.e. what triggered the order.

  • API -
  • PORTFOLIO -
  • CASH_DIVIDEND_REINVESTMENT -
  • PORTFOLIO_REBALANCING -
  • SELL_TO_COVER_FEES -
  • SELL_TO_COVER_TAXES -
  • ACCOUNT_LIQUIDATION -
  • UPVEST_OPERATIONS -
  • SAVINGS_PLAN -
  • CLIENT_OPERATIONS -
execution_flow'STRAIGHT_THROUGH' | 'BLOCK'

Execution flow that the order processing goes through. If no value is specified, the default value is assumed - STRAIGHT_THROUGH.

  • STRAIGHT_THROUGH -
  • BLOCK -
client_referencestring

Immutable reference to the API flow that initiated the order. For client initiated API flows, this is a client provided ID. For internal initiations, it is set to the ID of the related object.

decision_maker_idstring

ID of the user behind the decision to place an order. Required only if different from the user_id. (e.g. child account order placed by a guardian)