Skip to main content
GET
cURL

Authorizations

X-Monaco-Signature
string
header
required

Ed25519 session-key request signing. Every authenticated request carries three headers: X-Monaco-PublicKey (64-char lowercase-hex session public key), X-Monaco-Timestamp (Unix milliseconds, within 30s of server time), and X-Monaco-Signature (hex ed25519 signature). The signature is over METHOD\npath?query\ntimestamp_ms\nSHA256_hex(body), where the body hash is the SHA-256 of the empty byte string when there is no body. Obtain the session keypair from POST /api/v1/auth/challenge followed by POST /api/v1/auth/verify.

Query Parameters

positionId
string
marginAccountId
string
tradingPairId
string<uuid>

Trading pair identifier (UUID)

Minimum string length: 1
pageSize
integer<uint32>
default:20

Items per page (max 1000)

Required range: 1 <= x <= 1000
reductionOnly
boolean

When true, return only DECREASE, CLOSE, and LIQUIDATE execution rows.

pageToken
string

Pagination cursor with two states:

  • Omitted or empty string (""): start a cursor walk with no prior position, from the newest event — this listing always sorts newest-first.
  • Non-empty: an opaque cursor from a previous response's nextPageToken; results resume immediately after that position.

Every walk covers full position history — hot and archived rows merged. The response carries no item count: this listing's relation is too large to count behind a filter. Filters must match the request that produced the token, or the request is rejected 400.

Response

OK

events
object[] | null
pageSize
integer<uint32> | null
nextPageToken
string | null

Cursor for the next page, minted from the last row of an over-fetched page: this listing is one SQL statement with one global ORDER BY, so a page shorter than pageSize proves the walk is exhausted and this is empty. A non-empty token always has at least one further row behind it.