Get order details
curl --request GET \
--url https://api.stabyl.com/v1/partner/exchange/orders/{order_id} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.stabyl.com/v1/partner/exchange/orders/{order_id}"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.stabyl.com/v1/partner/exchange/orders/{order_id}', 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://api.stabyl.com/v1/partner/exchange/orders/{order_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$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://api.stabyl.com/v1/partner/exchange/orders/{order_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.stabyl.com/v1/partner/exchange/orders/{order_id}")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stabyl.com/v1/partner/exchange/orders/{order_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"fills": [],
"order": {
"avg_fill_price": null,
"cancel_reason": null,
"client_order_id": "client-order-001",
"created_at": "2026-05-24T12:00:00Z",
"filled_quantity": "0.00",
"id": "0197f1f0-0000-7000-8000-000000000001",
"order_type": "limit",
"pair_id": "USD/NGN",
"price": "1650.00",
"quantity": "100.00",
"remaining_quantity": "100.00",
"replace": {
"replaced_by_order_id": null,
"replaces_order_id": null
},
"side": "buy",
"status": "accepted",
"time_in_force": "GTC"
}
},
"status": "success"
}{
"error": {
"code": "UNAUTHORIZED",
"message": "missing X-Api-Key header"
},
"status": "error"
}{
"error": {
"code": "NOT_FOUND",
"message": "resource not found"
},
"status": "error"
}Exchange
Get order details
Returns the canonical state of one order, including status, quantities, replacement linkage, and fills where available. Use this endpoint after create, cancel, replace, timeout, or retry events.
GET
/
partner
/
exchange
/
orders
/
{order_id}
Get order details
curl --request GET \
--url https://api.stabyl.com/v1/partner/exchange/orders/{order_id} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.stabyl.com/v1/partner/exchange/orders/{order_id}"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.stabyl.com/v1/partner/exchange/orders/{order_id}', 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://api.stabyl.com/v1/partner/exchange/orders/{order_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$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://api.stabyl.com/v1/partner/exchange/orders/{order_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.stabyl.com/v1/partner/exchange/orders/{order_id}")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stabyl.com/v1/partner/exchange/orders/{order_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"fills": [],
"order": {
"avg_fill_price": null,
"cancel_reason": null,
"client_order_id": "client-order-001",
"created_at": "2026-05-24T12:00:00Z",
"filled_quantity": "0.00",
"id": "0197f1f0-0000-7000-8000-000000000001",
"order_type": "limit",
"pair_id": "USD/NGN",
"price": "1650.00",
"quantity": "100.00",
"remaining_quantity": "100.00",
"replace": {
"replaced_by_order_id": null,
"replaces_order_id": null
},
"side": "buy",
"status": "accepted",
"time_in_force": "GTC"
}
},
"status": "success"
}{
"error": {
"code": "UNAUTHORIZED",
"message": "missing X-Api-Key header"
},
"status": "error"
}{
"error": {
"code": "NOT_FOUND",
"message": "resource not found"
},
"status": "error"
}Authorizations
API credential. Withdrawal quote and submit operations additionally require the documented Ed25519 timestamp, nonce, and signature headers.
Path Parameters
Public order ID returned by create or list order endpoints.
Response
Order details
Canonical order detail response, including order state and fills where available.
Show child attributes
Show child attributes
Example:
{
"fills": [
{
"created_at": "2026-01-14T10:31:00Z",
"fee": "0.25",
"fee_currency": "USDT",
"id": "123e4567-e89b-12d3-a456-426614174222",
"price": "1649.50",
"quantity": "25.00"
}
],
"order": {
"avg_fill_price": "1649.50",
"client_order_id": "cli-123",
"created_at": "2026-01-14T10:30:00Z",
"filled_quantity": "50.00",
"id": "123e4567-e89b-12d3-a456-426614174000",
"order_type": "limit",
"pair_id": "USD/NGN",
"price": "1650.00",
"quantity": "100.00",
"replace": {
"replaced_by_order_id": "123e4567-e89b-12d3-a456-426614174111",
"replaces_order_id": null
},
"side": "buy",
"status": "partially_filled",
"time_in_force": "POST_ONLY"
}
}
Available options:
success Was this page helpful?
⌘I