Fund Data API
Positions, NAV, risk, and fees: read and propose
25 GET endpoints, one per real analyst tool. Every response is redacted at the edge, fail-closed, the same posture as Nyx Analyst. 4 additional POST endpoints stage a maker-checker proposal for a human manager to approve; none of them execute anything themselves.
Fund Overview
The fund's base currency, inception date, AUM target, share classes, and latest NAV summary.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
No parameters — call it with no query string.
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/overview" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/overview", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/overview
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/overview",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundOverview()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_overview()Object(3)
Object(3)
Array(1)
Object(8)
Object(4)
Positions
The fund's current row-level live positions (never paper-trading holdings).
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
No parameters — call it with no query string.
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/positions" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/positions", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/positions
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/positions",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundPositions()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_positions()Object(4)
Array(6)
Object(6)
Object(6)
Object(6)
Object(6)
Object(6)
Object(6)
Portfolio Breakdown
The fund's current portfolio breakdown by asset, source type, and venue.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
No parameters — call it with no query string.
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/breakdown" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/breakdown", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/breakdown
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/breakdown",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundBreakdown()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_breakdown()Object(5)
Array(6)
Object(6)
Object(6)
Object(6)
Object(6)
Object(6)
Object(6)
Array(6)
Object(4)
Object(4)
Object(4)
Object(4)
Object(4)
Object(4)
Array(3)
Object(3)
Object(3)
Object(3)
Array(6)
Object(4)
Object(4)
Object(4)
Object(4)
Object(4)
Object(4)
Current Exposure
The fund's current gross/net/long/short/cash exposure snapshot.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
No parameters — call it with no query string.
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/exposure" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/exposure", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/exposure
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/exposure",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundExposure()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_exposure()Object(11)
Array(3)
Object(6)
Object(6)
Object(6)
Array(1)
Object(6)
Array(4)
Object(6)
Object(6)
Object(6)
Object(6)
Array(2)
Object(6)
Object(6)
Exposure Series
The fund's exposure evolution over a trailing window of days.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| days | integer | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/exposure/series" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/exposure/series", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/exposure/series
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/exposure/series",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundExposureSeries()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_exposure_series()Array(3)
Object(9)
Object(9)
Object(9)
P&L Attribution
P&L attribution between the NAV run on a given date and the immediately preceding usable run.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| date | string | Required | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/pnl/attribution" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/pnl/attribution", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/pnl/attribution
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/pnl/attribution",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundPnlAttribution()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_pnl_attribution()Object(10)
Array(4)
Object(3)
Object(3)
Object(3)
Object(3)
Value at Risk (VaR)
A parametric Value-at-Risk estimate for the live portfolio.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| confidence | 0.95 | 0.99 | Optional | — |
| horizonDays | 1 | 10 | Optional | — |
| method | "sample" | "ewma" | Optional | — |
| windowDays | integer | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/risk/var" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/risk/var", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/risk/var
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/risk/var",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundRiskVar()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_risk_var()Object(2)
Object(12)
Array(3)
Object(3)
Object(3)
Object(3)
Array(3)
Object(3)
Object(3)
Object(3)
Array(1)
Trial Balance
The fund's trial balance as of a given date.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| asOf | string | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/trial-balance" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/trial-balance", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/trial-balance
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/trial-balance",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundTrialBalance()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_trial_balance()Object(5)
Array(3)
Object(7)
Object(7)
Object(7)
Capital Accounts
Per-investor capital accounts for the fund's latest complete NAV run.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
No parameters — call it with no query string.
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/capital-accounts" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/capital-accounts", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/capital-accounts
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/capital-accounts",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundCapitalAccounts()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_capital_accounts()Object(4)
Array(1)
Object(11)
Expenses
The fund's expense accruals/payments.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| limit | integer | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/expenses" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/expenses", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/expenses
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/expenses",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundExpenses()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_expenses()Object(2)
Array(3)
Object(8)
Object(8)
Object(8)
Fee Terms
The fund's configured management/performance fee terms and share classes.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
No parameters — call it with no query string.
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/fee-terms" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/fee-terms", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/fee-terms
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/fee-terms",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundFeeTerms()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_fee_terms()Object(9)
Array(1)
Object(9)
Trades
The fund's executed exchange trades (real connections only), cursor-paginated, most recent first.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| from | string | Optional | — |
| to | string | Optional | — |
| symbol | string | Optional | — |
| side | "buy" | "sell" | Optional | — |
| limit | integer | Optional | — |
| cursor | string | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/trades" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/trades", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/trades
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/trades",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundTrades()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_trades()Object(3)
Array(3)
Object(10)
Object(10)
Object(10)
Journal Entries
Raw posted journal lines across a date window of at most 92 days, with exact debit/credit sums.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| from | string | Required | — |
| to | string | Required | — |
| limit | integer | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/ledger/journal-entries" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/ledger/journal-entries", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/ledger/journal-entries
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/ledger/journal-entries",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundLedgerJournalEntries()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_ledger_journal_entries()Object(6)
Array(2)
Object(17)
Object(17)
GL Account Detail
Transaction-level detail (opening balance, each posted line, running balance) for one GL account.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| accountCode | string | Required | — |
| from | string | Optional | — |
| to | string | Optional | — |
| limit | integer | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/ledger/gl-detail" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/ledger/gl-detail", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/ledger/gl-detail
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/ledger/gl-detail",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundLedgerGlDetail()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_ledger_gl_detail()Object(8)
Array(1)
Object(9)
Investors
The fund's investor register: display name, status, and open subscription-lot counts/units.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| limit | integer | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/investors" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/investors", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/investors
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/investors",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundInvestors()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_investors()Object(2)
Array(2)
Object(6)
Object(6)
Capital Activity
Subscription/redemption intake requests: type, requested amount/fraction, dealing date, and status.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| status | "pending" | "running" | "executed" | "settled" | "cancelled" | "failed" | Optional | — |
| limit | integer | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/capital-activity" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/capital-activity", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/capital-activity
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/capital-activity",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundCapitalActivity()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_capital_activity()Object(2)
Array(1)
Object(14)
Dealing Calendar
The fund's dealing calendar configuration: frequency, notice days, and settlement days.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
No parameters — call it with no query string.
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/dealing-calendar" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/dealing-calendar", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/dealing-calendar
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/dealing-calendar",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundDealingCalendar()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_dealing_calendar()Object(1)
Object(5)
LP Reports
Recent LP report metadata: period covered, status, and a short narrative preview.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| limit | integer | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/lp-reports" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/lp-reports", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/lp-reports
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/lp-reports",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundLpReports()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_lp_reports()Object(2)
Array(1)
Object(7)
P&L Attribution Dates
The list of dates a P&L attribution can be run for (dates with a usable NAV run).
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
No parameters — call it with no query string.
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/pnl/attribution-dates" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/pnl/attribution-dates", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/pnl/attribution-dates
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/pnl/attribution-dates",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundPnlAttributionDates()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_pnl_attribution_dates()Object(2)
Array(3)
Stress-Test Presets
The available historical stress-scenario presets, with their real-world date window and per-asset returns.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
No parameters — call it with no query string.
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/risk/stress/presets" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/risk/stress/presets", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/risk/stress/presets
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/risk/stress/presets",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundRiskStressPresets()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_risk_stress_presets()Object(2)
Array(2)
Object(6)
Object(2)
Object(7)
Object(4)
Object(6)
Object(2)
Object(4)
Object(4)
Run Stress Preset
Runs a canonical historical stress preset against the fund's live holdings or its latest complete NAV run. SIMULATED what-if, never actual NAV.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| presetKey | "may_2021_crash" | "luna_collapse_2022" | "ftx_week_2022" | "covid_mar_2020" | Required | — |
| includeCapitalImpact | boolean | Optional | — |
| basis | "live" | "latest_nav_run" | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/risk/stress/run" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/risk/stress/run", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/risk/stress/run
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/risk/stress/run",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundRiskStressRun()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_risk_stress_run()Object(4)
Object(9)
Object(6)
Object(6)
Array(6)
Object(7)
Object(7)
Object(7)
Object(7)
Object(7)
Object(7)
Reconciliation Breaks
Reconciliation breaks (differences between the ledger and venue/chain truth), with quantity/USD deltas.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| status | "open" | "resolved" | "ignored" | "all" | Optional | — |
| limit | integer | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/recon/breaks" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/recon/breaks", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/recon/breaks
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/recon/breaks",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundReconBreaks()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_recon_breaks()Object(2)
Array(1)
Object(13)
Alerts
The fund's configured risk-alert rules and recent alert events.
Requires an Authorization: Bearer <API key> header (a nyx_dk_… developer key, minted from the developer console at /developers/console). Reflects Nyx's shadow NAV, reconciled against your fund administrator.
| Name | Type | Required | Description |
|---|---|---|---|
| eventsLimit | integer | Optional | — |
cURL
curl -s -X GET "https://nyxsuite.com/api/v1/fund/alerts" \
-H "Authorization: Bearer nyx_dk_demo000000000000000000000000000000000000000"JavaScript
const res = await fetch("https://nyxsuite.com/api/v1/fund/alerts", {
method: "GET",
headers: { Authorization: "Bearer nyx_dk_demo000000000000000000000000000000000000000" },
})
const data = await res.json()Python
# GET https://nyxsuite.com/api/v1/fund/alerts
import requests
res = requests.get(
"https://nyxsuite.com/api/v1/fund/alerts",
headers={"Authorization": "Bearer nyx_dk_demo000000000000000000000000000000000000000"},
)
data = res.json()SDK
// TypeScript (@nyxsuite/sdk)
import { NyxClient } from '@nyxsuite/sdk'
const client = new NyxClient({ apiKey: 'nyx_dk_demo000000000000000000000000000000000000000', baseUrl: 'https://nyxsuite.com/api/v1' })
const data = await client.fundAlerts()
# Python (nyxsuite)
from nyxsuite import NyxClient
client = NyxClient(api_key="nyx_dk_demo000000000000000000000000000000000000000", base_url="https://nyxsuite.com/api/v1")
data = client.fund_alerts()Object(3)
Array(1)
Object(6)
Array(1)
Object(8)
Propose (write) endpoints
Stage a proposal, a human approves it
These 4endpoints require an API key with the "propose" scope (a separate grant from "fund_data"), the demo key can never use them. Each stages a maker-checker proposal for a human manager to review in the NYX console and returns 201 with { proposal_id, status: "pending", note }. Pass an Idempotency-Key header to make a retry safe: replaying the same key returns the original response instead of staging a second proposal.
Propose accruing a new fund expense (category, amount, description, effective date) for a human manager to review and approve. Does NOT post anything itself.
Propose striking NAV for a given valuation date, for a human manager to review and approve. Does NOT enqueue or run a strike itself.
Propose a new subscription or redemption intake request (investor, dealing date), for a human manager to review and approve. Does NOT create the request itself.
Propose sending an existing LP report to the fund's LP contacts, for a human manager to review and approve. Does NOT send anything itself.