curl --request GET \
--url https://perp-api.phoenix.trade/v1/trader/{authority}/order-history \
--header 'Authorization: Bearer <token>'import requests
url = "https://perp-api.phoenix.trade/v1/trader/{authority}/order-history"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://perp-api.phoenix.trade/v1/trader/{authority}/order-history', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://perp-api.phoenix.trade/v1/trader/{authority}/order-history",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://perp-api.phoenix.trade/v1/trader/{authority}/order-history"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://perp-api.phoenix.trade/v1/trader/{authority}/order-history")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://perp-api.phoenix.trade/v1/trader/{authority}/order-history")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"baseQty": "<string>",
"filledBaseQty": "<string>",
"isReduceOnly": true,
"marketSymbol": "<string>",
"orderSequenceNumber": "<string>",
"price": "<string>",
"remainingBaseQty": "<string>",
"side": "bid",
"status": "active",
"completedAt": "2023-11-07T05:31:56Z",
"isConditionalOrder": true,
"isStopLoss": true,
"isStopLossDirection": true,
"placedAt": "2023-11-07T05:31:56Z"
}
],
"hasMore": true,
"nextCursor": "<string>",
"prevCursor": "<string>"
}Get order history
Handles GET /v1/trader/{authority}/order-history via get.v1.trader.by_authority.order_history.
curl --request GET \
--url https://perp-api.phoenix.trade/v1/trader/{authority}/order-history \
--header 'Authorization: Bearer <token>'import requests
url = "https://perp-api.phoenix.trade/v1/trader/{authority}/order-history"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://perp-api.phoenix.trade/v1/trader/{authority}/order-history', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://perp-api.phoenix.trade/v1/trader/{authority}/order-history",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://perp-api.phoenix.trade/v1/trader/{authority}/order-history"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://perp-api.phoenix.trade/v1/trader/{authority}/order-history")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://perp-api.phoenix.trade/v1/trader/{authority}/order-history")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"baseQty": "<string>",
"filledBaseQty": "<string>",
"isReduceOnly": true,
"marketSymbol": "<string>",
"orderSequenceNumber": "<string>",
"price": "<string>",
"remainingBaseQty": "<string>",
"side": "bid",
"status": "active",
"completedAt": "2023-11-07T05:31:56Z",
"isConditionalOrder": true,
"isStopLoss": true,
"isStopLossDirection": true,
"placedAt": "2023-11-07T05:31:56Z"
}
],
"hasMore": true,
"nextCursor": "<string>",
"prevCursor": "<string>"
}Authorizations
Bearer access token issued by /v1/auth/* login endpoints.
Path Parameters
Authority pubkey
Query Parameters
x >= 0Response
Order history
Generic paginated response wrapper with bidirectional cursor support.
The cursor system supports both forward (newer) and backward (older) pagination:
prev_cursor: Use this cursor to poll for new items (items newer than the current result set)next_cursor: Use this cursor to load more items (items older than the current result set)
The direction is embedded in the cursor itself, so clients just need to pass
the appropriate cursor to the cursor parameter.
Show child attributes
Show child attributes
Whether there are more results available after this page
Opaque cursor for fetching the next page of older results.
Pass this value as the cursor parameter in the next request to load
more.
Opaque cursor for fetching newer items (for polling).
Pass this value as the cursor parameter to get items newer than the
first item in data.