cURL
curl --request GET \
--url https://drb.coinbase.com/api/v2/private/get_order_state \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": 4316,
"jsonrpc": "2.0",
"method": "private/get_order_state",
"params": {
"order_id": "ETH-331562"
}
}
'import requests
url = "https://drb.coinbase.com/api/v2/private/get_order_state"
payload = {
"id": 4316,
"jsonrpc": "2.0",
"method": "private/get_order_state",
"params": { "order_id": "ETH-331562" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: 4316,
jsonrpc: '2.0',
method: 'private/get_order_state',
params: {order_id: 'ETH-331562'}
})
};
fetch('https://drb.coinbase.com/api/v2/private/get_order_state', 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://drb.coinbase.com/api/v2/private/get_order_state",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'id' => 4316,
'jsonrpc' => '2.0',
'method' => 'private/get_order_state',
'params' => [
'order_id' => 'ETH-331562'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://drb.coinbase.com/api/v2/private/get_order_state"
payload := strings.NewReader("{\n \"id\": 4316,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_order_state\",\n \"params\": {\n \"order_id\": \"ETH-331562\"\n }\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://drb.coinbase.com/api/v2/private/get_order_state")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": 4316,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_order_state\",\n \"params\": {\n \"order_id\": \"ETH-331562\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://drb.coinbase.com/api/v2/private/get_order_state")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 4316,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_order_state\",\n \"params\": {\n \"order_id\": \"ETH-331562\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": 4316,
"jsonrpc": "2.0",
"result": {
"amount": 37,
"api": false,
"average_price": 118.94,
"creation_timestamp": 1550219749176,
"direction": "sell",
"filled_amount": 37,
"instrument_name": "ETH-PERPETUAL",
"is_liquidation": false,
"is_rebalance": false,
"label": "",
"last_update_timestamp": 1550219810944,
"max_show": 37,
"order_id": "ETH-331562",
"order_state": "filled",
"order_type": "limit",
"post_only": false,
"price": 118.94,
"reduce_only": false,
"time_in_force": "good_til_cancelled"
}
}{
"error": 123,
"jsonrpc": "2.0",
"message": "<string>",
"id": 123
}Trading
private/get_order_state
Retrieves the current state of an order identified by its order ID. The response includes order details such as status (open, filled, cancelled), filled amount, remaining amount, price, and other order properties.
Important Note for Mass Quotes: Quote orders are order-like structures that don’t fully translate to normal orders. When checking order state for quotes, the amount field represents the remaining amount, not the original order amount.
GET
/
private
/
get_order_state
cURL
curl --request GET \
--url https://drb.coinbase.com/api/v2/private/get_order_state \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": 4316,
"jsonrpc": "2.0",
"method": "private/get_order_state",
"params": {
"order_id": "ETH-331562"
}
}
'import requests
url = "https://drb.coinbase.com/api/v2/private/get_order_state"
payload = {
"id": 4316,
"jsonrpc": "2.0",
"method": "private/get_order_state",
"params": { "order_id": "ETH-331562" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: 4316,
jsonrpc: '2.0',
method: 'private/get_order_state',
params: {order_id: 'ETH-331562'}
})
};
fetch('https://drb.coinbase.com/api/v2/private/get_order_state', 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://drb.coinbase.com/api/v2/private/get_order_state",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'id' => 4316,
'jsonrpc' => '2.0',
'method' => 'private/get_order_state',
'params' => [
'order_id' => 'ETH-331562'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://drb.coinbase.com/api/v2/private/get_order_state"
payload := strings.NewReader("{\n \"id\": 4316,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_order_state\",\n \"params\": {\n \"order_id\": \"ETH-331562\"\n }\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://drb.coinbase.com/api/v2/private/get_order_state")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": 4316,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_order_state\",\n \"params\": {\n \"order_id\": \"ETH-331562\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://drb.coinbase.com/api/v2/private/get_order_state")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 4316,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_order_state\",\n \"params\": {\n \"order_id\": \"ETH-331562\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": 4316,
"jsonrpc": "2.0",
"result": {
"amount": 37,
"api": false,
"average_price": 118.94,
"creation_timestamp": 1550219749176,
"direction": "sell",
"filled_amount": 37,
"instrument_name": "ETH-PERPETUAL",
"is_liquidation": false,
"is_rebalance": false,
"label": "",
"last_update_timestamp": 1550219810944,
"max_show": 37,
"order_id": "ETH-331562",
"order_state": "filled",
"order_type": "limit",
"post_only": false,
"price": 118.94,
"reduce_only": false,
"time_in_force": "good_til_cancelled"
}
}{
"error": 123,
"jsonrpc": "2.0",
"message": "<string>",
"id": 123
}Authorizations
ApiKeyOAuth2
Call public/auth with grant_type: coinbase_cdp and a CDP JWT. Send the returned access_token as Authorization: Bearer.
Query Parameters
The order id Unique order identifier
Example:
"ETH-100234"
Was this page helpful?
⌘I