List Orders endpoint - get pending orders returning HTTP 400

Hi,

I’m getting HTTP 400 back when I request for order_status=PENDING orders:

GET https://api.coinbase.com/api/v3/brokerage/orders/historical/batch?order_status=PENDING&limit=250

The response contains:

HTTP 400 Bad Request

"error":"unknown",
"error_details":"failed to parse Query request does not support querying active status orders"

Without the order_status param it works fine, is it a mistake on my part or should that response be a 500 (while it’s properly implemented on your end)?

Thanks!

Getting the same thing. other statuses work fine, but OPEN and PENDING give that same error. I guess since both open and pending are considered active on the books, they can’t be parsed. Perhaps because it’s the “historical” endpoint? Except for that returning all types does return open/pending orders, so they just can’t parse them if they’re active. Strange that they would show an example code in the docs that includes pending.

You also can’t order_by status, so at this point it seems the only way to get all your active orders is to call your entire order history and parse it yourself. This seems like it would be nearly unfeasible after you’ve made say, 100,000 orders in your account.

4 Likes

GET https://coinbase.com/api/v3/brokerage/stream/orders?product_id=BTC-EUR&status=OPEN

Unofficial, but seems work - must be properly signed. However, it is stream. Unless you specify accept: text/event-stream, you just get stream of JSONs where the first is snapshot and updates follows.

It seems that event streams are part of api/v3.

1 Like