Get historical orders

Get historical crypto exchange orders for the requesting user. The user is resolved by the provided API key.

Note

To use this feature, you need an API key generated in the Revolut X web app. Please join the waitlist to get access.

Request

Query parameters
Query parameters

Filter historical orders by specific currency pairs (comma-separated).

Possible values: [filled, cancelled, rejected, replaced]

Filter orders by one or more specific states.

Possible values: [market, limit]

Filter orders by specific types (comma-separated).

Example: 3318215482991

Start timestamp for the query range in Unix epoch milliseconds.

Note

If start_date is omitted, it defaults to 1 week prior to the end_date. The difference between start_date and end_date must be <= 1 week.

Example: 3318215482991

End timestamp for the query range in Unix epoch milliseconds. Note: If end_date is not specified, it defaults to the current date. The difference between start_date and end_date must be <= 1 week.

Example: "ZGF0ZT0xNzY0OTMxNTAyODU0O2lkPTM3YjExMWJlLTcwMzYtNGYzNC1hYWYyLTM4ZDVjYTEyN2M1Yw=="

Pagination cursor obtained from the metadata.next_cursor of the previous response.

Possible values: >= 1 and <= 100
Example: 100

Default value: 100

Maximum number of records to return.

Response

OK

The list of historical orders.

Response body
Body object

ID of the order.

ID of the previous/replaced order. Present only if this order has replaced another one.

ID of the order assigned by the client when creating the order.

Symbol of the asset for which this order has been created.

Possible values: [buy, sell]

Side of the order. Indicates whether the order was to acquire (buy) or dispose of (sell) an asset.

Possible values: [market, limit]

Type of the order.

A market order is executed immediately at the current market price. A limit order is executed only if the asset reaches a specified price set by the trader.

Quantity of the order, expressed in base currency.

Quantity of the order that has been filled.

In other words, how much of the order has already been executed.

Quantity of the order that remains to be filled.

In other words, how much of the order remains to be executed.

The worst price for the client at which an order will be filled.

This is the worst price at which the user is willing to trade. For buy orders, it's the maximum price for the order; for sell orders, it's the minimum price.

Quantity-weighted average fill price of the order.

This is the average price at which the order has been executed so far. If the order is filled in parts at different prices, this indicates the overall average price for the order.

Possible values: [pending_new, new, partially_filled, filled, cancelled, rejected, replaced]

Status of the order:

  • pending_new: Accepted by a matching engine but not yet working.
  • new: Working order.
  • partially_filled: Partially filled order.
  • filled: Fully filled order.
  • cancelled: Cancelled order.
  • rejected: Rejected order.
  • replaced: Replaced order.

Reason for rejecting the order, present only for status=rejected.

Possible values: [gtc]

Time in force of the order. Indicates how long the order should remain active before it’s either executed or canceled. Possible values:

  • gtc: Good till cancelled. Means that the order stays active until it’s either completely filled or it's manually cancelled by the user who created the order.

Possible values: [allow_taker, post_only]
Example: ["post_only"]

Default value: allow_taker

List of execution instructions for the order.

Timestamp in Unix epoch milliseconds.

Timestamp in Unix epoch milliseconds.

Cursor used to retrieve the next page of results.

To continue paginating through the results, make a new request and pass this value in the cursor query parameter.

Was this page helpful?