curl --request POST \
--url https://api.example.com/api/v1/positions/active \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"page": {
"limit": 2,
"offset": 1
},
"filter": [
{
"value": 123
}
],
"orderBy": [
{
"direction": "asc"
}
],
"searchKey": "<string>"
}
'import requests
url = "https://api.example.com/api/v1/positions/active"
payload = {
"page": {
"limit": 2,
"offset": 1
},
"filter": [{ "value": 123 }],
"orderBy": [{ "direction": "asc" }],
"searchKey": "<string>"
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
page: {limit: 2, offset: 1},
filter: [{value: 123}],
orderBy: [{direction: 'asc'}],
searchKey: '<string>'
})
};
fetch('https://api.example.com/api/v1/positions/active', 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.example.com/api/v1/positions/active",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'page' => [
'limit' => 2,
'offset' => 1
],
'filter' => [
[
'value' => 123
]
],
'orderBy' => [
[
'direction' => 'asc'
]
],
'searchKey' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/positions/active"
payload := strings.NewReader("{\n \"page\": {\n \"limit\": 2,\n \"offset\": 1\n },\n \"filter\": [\n {\n \"value\": 123\n }\n ],\n \"orderBy\": [\n {\n \"direction\": \"asc\"\n }\n ],\n \"searchKey\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
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.post("https://api.example.com/api/v1/positions/active")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"page\": {\n \"limit\": 2,\n \"offset\": 1\n },\n \"filter\": [\n {\n \"value\": 123\n }\n ],\n \"orderBy\": [\n {\n \"direction\": \"asc\"\n }\n ],\n \"searchKey\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/positions/active")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"page\": {\n \"limit\": 2,\n \"offset\": 1\n },\n \"filter\": [\n {\n \"value\": 123\n }\n ],\n \"orderBy\": [\n {\n \"direction\": \"asc\"\n }\n ],\n \"searchKey\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body[
{
"avgBuyPrice": 123,
"invested": 123,
"positionId": 123,
"roi": 123,
"shares": 123,
"tokenId": "<string>",
"unrealizedCurrentPrice": 123,
"unrealizedPnl": 123,
"value": 123
}
]{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Active Position
Currently held (open) positions with unrealized PnL for a wallet or cohort. One row per position token; open (unresolved) markets only.
curl --request POST \
--url https://api.example.com/api/v1/positions/active \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"page": {
"limit": 2,
"offset": 1
},
"filter": [
{
"value": 123
}
],
"orderBy": [
{
"direction": "asc"
}
],
"searchKey": "<string>"
}
'import requests
url = "https://api.example.com/api/v1/positions/active"
payload = {
"page": {
"limit": 2,
"offset": 1
},
"filter": [{ "value": 123 }],
"orderBy": [{ "direction": "asc" }],
"searchKey": "<string>"
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
page: {limit: 2, offset: 1},
filter: [{value: 123}],
orderBy: [{direction: 'asc'}],
searchKey: '<string>'
})
};
fetch('https://api.example.com/api/v1/positions/active', 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.example.com/api/v1/positions/active",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'page' => [
'limit' => 2,
'offset' => 1
],
'filter' => [
[
'value' => 123
]
],
'orderBy' => [
[
'direction' => 'asc'
]
],
'searchKey' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/positions/active"
payload := strings.NewReader("{\n \"page\": {\n \"limit\": 2,\n \"offset\": 1\n },\n \"filter\": [\n {\n \"value\": 123\n }\n ],\n \"orderBy\": [\n {\n \"direction\": \"asc\"\n }\n ],\n \"searchKey\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
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.post("https://api.example.com/api/v1/positions/active")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"page\": {\n \"limit\": 2,\n \"offset\": 1\n },\n \"filter\": [\n {\n \"value\": 123\n }\n ],\n \"orderBy\": [\n {\n \"direction\": \"asc\"\n }\n ],\n \"searchKey\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/positions/active")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"page\": {\n \"limit\": 2,\n \"offset\": 1\n },\n \"filter\": [\n {\n \"value\": 123\n }\n ],\n \"orderBy\": [\n {\n \"direction\": \"asc\"\n }\n ],\n \"searchKey\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body[
{
"avgBuyPrice": 123,
"invested": 123,
"positionId": 123,
"roi": 123,
"shares": 123,
"tokenId": "<string>",
"unrealizedCurrentPrice": 123,
"unrealizedPnl": 123,
"value": 123
}
]{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Authorizations
API key issued for programmatic access.
Body
Show child attributes
Show child attributes
Filters to apply, combined with AND. Use a group for OR.
1A single condition, or a group combining conditions with AND/OR.
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
Sort keys in priority order; the first is the primary sort. Defaults to the table's configured ranking when omitted.
Show child attributes
Show child attributes
Free-text search over: Market (embedding + full-text relevance).
Response
List of Active Position rows
Average buying price of open shares
Total amount invested in the position
Position token identifier
Return on investment percentage
Currently held shares
The CLOB token ID representing the position. Links to token lookup table.
Current price of the position
Unrealized profit and loss
Current market value of held shares