curl --request GET \
--url https://api.passu.ai/v1/metrics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.passu.ai/v1/metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.passu.ai/v1/metrics', 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.passu.ai/v1/metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.passu.ai/v1/metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.passu.ai/v1/metrics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.passu.ai/v1/metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"metric_type": "FINANCIAL_LINE_ITEM",
"updated_at": "2023-11-07T05:31:56Z",
"value": 123,
"attributes": {},
"quotes": [
{
"quote_type": "TEXT",
"fact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"text": "<string>",
"author": "<string>",
"title": "<string>",
"table_name": "<string>",
"row_names": [
"<string>"
]
}
],
"portfolio_holding_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"issuer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sector_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"industry": "CORPORATE_GROUP",
"business_description": "<string>",
"company_structure": {
"legal_entities": [
"<string>"
],
"entity_roles": {},
"company_links": [
{
"subject": "<string>",
"relationship": "HAS_BUSINESS_NAME",
"object": "<string>",
"citations": [
{
"kind": "WEB",
"title": "<string>",
"passages": [
"<string>"
],
"url": "<string>",
"published_at": "2023-11-07T05:31:56Z"
}
]
}
]
}
},
"facility": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"issuer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"seniority": "FIRST_LIEN",
"security_type": "TERM_LOAN",
"currency": "USD"
},
"holding": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"facility_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"acquisition_dates": [
{
"value": "2023-12-25",
"precision": "DAY",
"source_metric_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"acquisition_date_quotes": [
{
"quote_type": "TEXT",
"chunk_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"text": "<string>",
"author": "<string>",
"title": "<string>"
}
]
},
"reporting_period": {
"period_end": "2023-12-25",
"calendar_year": 123,
"calendar_quarter": 123,
"is_standard_period_end": true
}
}
],
"has_more": true,
"next_cursor": "<string>",
"calendar_unresolved_company_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"request_id": "<string>",
"instance": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"request_id": "<string>",
"instance": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"request_id": "<string>",
"instance": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}List metrics
List metrics.
Ordinary listings retain their paginated metric shape. A grouped request
uses repeated group_by values and returns aggregate rows with their
dimension resources, plus reconciliation totals for the filtered population.
Filters run before aggregation; sort and limit run after aggregation.
curl --request GET \
--url https://api.passu.ai/v1/metrics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.passu.ai/v1/metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.passu.ai/v1/metrics', 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.passu.ai/v1/metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.passu.ai/v1/metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.passu.ai/v1/metrics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.passu.ai/v1/metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"metric_type": "FINANCIAL_LINE_ITEM",
"updated_at": "2023-11-07T05:31:56Z",
"value": 123,
"attributes": {},
"quotes": [
{
"quote_type": "TEXT",
"fact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"text": "<string>",
"author": "<string>",
"title": "<string>",
"table_name": "<string>",
"row_names": [
"<string>"
]
}
],
"portfolio_holding_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"issuer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sector_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"industry": "CORPORATE_GROUP",
"business_description": "<string>",
"company_structure": {
"legal_entities": [
"<string>"
],
"entity_roles": {},
"company_links": [
{
"subject": "<string>",
"relationship": "HAS_BUSINESS_NAME",
"object": "<string>",
"citations": [
{
"kind": "WEB",
"title": "<string>",
"passages": [
"<string>"
],
"url": "<string>",
"published_at": "2023-11-07T05:31:56Z"
}
]
}
]
}
},
"facility": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"issuer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"seniority": "FIRST_LIEN",
"security_type": "TERM_LOAN",
"currency": "USD"
},
"holding": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"facility_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"acquisition_dates": [
{
"value": "2023-12-25",
"precision": "DAY",
"source_metric_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"acquisition_date_quotes": [
{
"quote_type": "TEXT",
"chunk_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"text": "<string>",
"author": "<string>",
"title": "<string>"
}
]
},
"reporting_period": {
"period_end": "2023-12-25",
"calendar_year": 123,
"calendar_quarter": 123,
"is_standard_period_end": true
}
}
],
"has_more": true,
"next_cursor": "<string>",
"calendar_unresolved_company_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"request_id": "<string>",
"instance": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"request_id": "<string>",
"instance": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"request_id": "<string>",
"instance": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Add a uniquely resolved reporting_period when available.
"calendar"WHERE-style comparisons joined by AND, applied before grouping. Supports =, !=, >, >=, <, <= and null. Extension fields require an applicable metric_type; issuer_id aliases the holding's canonical issuer.
1 - 1000Filter a financial statement line, including NII bridge components. Narrows to FINANCIAL_LINE_ITEM.
REVENUE, ADJUSTED_EBITDA, DEPRECIATION_AMORTIZATION, OPERATING_INCOME, INTEREST_EXPENSE, PIK_INTEREST_EXPENSE, PRETAX_INCOME, INCOME_TAX_EXPENSE, NET_INCOME, CASH_FROM_OPERATIONS, CHANGE_IN_NWC, CAPEX, INTEREST_PAID, INCOME_TAXES_PAID, DIVIDENDS_PAID, SHARE_REPURCHASES, DEBT_ISSUANCE, DEBT_REPAYMENTS, CASH_AND_EQUIVALENTS, TOTAL_DEBT, SECURED_DEBT, TOTAL_EQUITY, GROSS_PROFIT, EBITDA, ACCOUNTS_RECEIVABLE, INVENTORY, TOTAL_CURRENT_ASSETS, NET_PROPERTY_PLANT_EQUIPMENT, GOODWILL_AND_INTANGIBLES, TOTAL_ASSETS, ACCOUNTS_PAYABLE, TOTAL_CURRENT_LIABILITIES, SHORT_TERM_DEBT, LONG_TERM_DEBT, LEASE_LIABILITIES, PENSION_LIABILITIES, TOTAL_LIABILITIES, ACQUISITIONS, ASSET_SALE_PROCEEDS, NET_CHANGE_IN_CASH, STOCK_BASED_COMPENSATION, COST_OF_REVENUE, SGA_EXPENSE, RESEARCH_AND_DEVELOPMENT, TOTAL_OPERATING_EXPENSES, NONOPERATING_INCOME_EXPENSE, INTEREST_INCOME, EQUITY_METHOD_INCOME, NONCONTROLLING_INTEREST_INCOME, IMPAIRMENT_CHARGES, CASH_FROM_INVESTING, CASH_FROM_FINANCING, DEFERRED_INCOME_TAXES, CHANGE_IN_RECEIVABLES, CHANGE_IN_INVENTORY, CHANGE_IN_PAYABLES, FX_EFFECT_ON_CASH, STOCK_ISSUANCE_PROCEEDS, PREFERRED_STOCK_VALUE, NONCONTROLLING_INTEREST_EQUITY, OTHER_ASSETS_NONCURRENT, OTHER_LIABILITIES_NONCURRENT, OTHER_CURRENT_ASSETS, OTHER_CURRENT_LIABILITIES, DEFERRED_TAX_LIABILITIES, DEFERRED_TAX_ASSETS, OPERATING_LEASE_ROU_ASSET, EQUITY_METHOD_INVESTMENTS, SHORT_TERM_INVESTMENTS, INTEREST_PAYABLE, INCOME_TAXES_PAYABLE, TOTAL_INVESTMENT_INCOME, CASH_INTEREST_INCOME, PIK_INTEREST_INCOME, DIVIDEND_INCOME, CASH_DIVIDEND_INCOME, PIK_DIVIDEND_INCOME, INTEREST_AND_DIVIDEND_INCOME, CAPITAL_STRUCTURING_FEES, INVESTMENT_FEE_INCOME, OTHER_FEE_INCOME, OTHER_INVESTMENT_INCOME, BASE_MANAGEMENT_FEES, INCOME_INCENTIVE_FEES, CAPITAL_GAINS_INCENTIVE_FEES, COMBINED_INCENTIVE_FEES, ADMINISTRATIVE_EXPENSES, OTHER_GA_EXPENSES, SHAREHOLDER_SERVICING_FEES, TOTAL_INVESTMENT_EXPENSES, EXPENSES_BEFORE_FEE_WAIVERS, FEE_WAIVERS_REIMBURSEMENTS, NII_BEFORE_TAX, INVESTMENT_INCOME_TAX, NET_INVESTMENT_INCOME, NII_PER_SHARE, NII_PER_SHARE_BASIC, NII_PER_SHARE_DILUTED, WEIGHTED_AVERAGE_SHARES_BASIC, WEIGHTED_AVERAGE_SHARES_DILUTED, PROFESSIONAL_FEES, DIRECTORS_FEES, EXPENSES_INCLUDING_TAXES, NET_INTEREST_INCOME_EXPENSE, DISCONTINUED_OPERATIONS_INCOME, NET_INCOME_INCLUDING_NCI, TEMPORARY_EQUITY, TOTAL_INVESTMENTS_FAIR_VALUE, TOTAL_INVESTMENTS_COST, REALIZED_INVESTMENT_GAIN_LOSS, UNREALIZED_INVESTMENT_GAIN_LOSS, REALIZED_INVESTMENT_GAIN_LOSS_BEFORE_TAX, UNREALIZED_INVESTMENT_GAIN_LOSS_BEFORE_TAX, GAAP_EPS_BASIC, GAAP_EPS_DILUTED Filter metrics by event id.
Filter metrics by company id.
Filter metrics by sector id.
Filter metrics by type. Discriminator for the metric single-table hierarchy.
FINANCIAL_LINE_ITEM, LEVERAGE_TARGET, CURRENT_LEVERAGE, CAPITAL_ALLOCATION_PRIORITY, LIQUIDITY, PIK_INCOME, PIK_COLLECTIONS, FIRST_LIEN_SHARE, NON_ACCRUAL_SHARE, FLOATING_RATE_SHARE, CORPORATE_DEBT_RATE_EXPOSURE, SPILLOVER_INCOME, UNDISTRIBUTED_NII, INDUSTRY_EXPOSURE, RETURN_ON_EQUITY, CHEMICALS_VOLUME, CHEMICALS_CAPACITY_UTILIZATION, PRODUCT_SEGMENT_MIX, END_MARKET_EXPOSURE, CUSTOMER_CONCENTRATION, GEOGRAPHIC_EXPOSURE, MAINTENANCE_GROWTH_CAPEX_SPLIT, PRIMARY_INPUT_COST_DRIVERS, PRODUCTION_VOLUME, CASH_OPERATING_COST, PROVED_RESERVES, REALIZED_PRICE_HEDGE, STATED_BREAKEVEN, RATE_BASE_CAPEX_PLAN, COMMS_SUBSCRIBERS_NET_ADDS, COMMS_ARPU_ARPA, COMMS_CHURN, COMMS_NETWORK_FOOTPRINT, DEBT_TO_CAPITAL, HOMEBUILDING_GROSS_MARGIN, NAV_GAV, TOTAL_LIABILITIES, SHARES_OUTSTANDING, PORTFOLIO_HOLDING Filter to a specific leverage sub-type. Implicitly narrows to leverage metrics (LEVERAGE_TARGET, CURRENT_LEVERAGE).
DEBT_TO_EBITDA, FFO_TO_DEBT, MOODYS_CFO_TO_DEBT, S_AND_P_FFO_TO_DEBT, FITCH_FFO_TO_DEBT, DEBT_TO_CAPITALIZATION, DEBT_TO_EQUITY, PORTFOLIO_DEBT_TO_EBITDA, PORTFOLIO_AVG_LOAN_TO_VALUE Filter to a specific liquidity sub-type. Implicitly narrows to LIQUIDITY metrics. Sub-type for LIQUIDITY metrics.
BALANCE_SHEET, CREDIT_FACILITY, OTHER Filter to a specific capital-allocation category. Implicitly narrows to CAPITAL_ALLOCATION_PRIORITY metrics.
DEBT_REDUCTION, SHAREHOLDER_RETURNS, M_AND_A, ORGANIC_GROWTH, OTHER Filter by Schedule-of-Investments row role. Implicitly narrows to PORTFOLIO_HOLDING metrics. Persisted investment or source-reported portfolio adjustment.
DATA, AGGREGATE_ADJUSTMENT Filter by Schedule-of-Investments instrument class. Implicitly narrows to PORTFOLIO_HOLDING metrics. Coarse instrument kind, derived from the row's type context.
DEBT, EQUITY, FUND, CASH_EQUIVALENT, DERIVATIVE, OTHER Filter portfolio holdings by canonical issuer id.
Filter portfolio holdings by control scope or JV look-through scope. The 1940-Act control scope section a holding is printed under.
UNKNOWN preserves honest source uncertainty when the filing does not
disclose 1940-Act control scope. JOINT_VENTURE marks rows from a
non-filer entity's sub-schedule (a JV look-through).
UNKNOWN, NON_CONTROLLED_NON_AFFILIATED, NON_CONTROLLED_AFFILIATED, CONTROLLED, JOINT_VENTURE Filter portfolio holdings by economic exposure vehicle. Economic vehicle through which the BDC owns a position.
DIRECT_OPERATING_COMPANY, JOINT_VENTURE, INVESTMENT_FUND, OTHER, UNCLEAR Repeat to exclude exposure vehicles before aggregation and totals.
Economic vehicle through which the BDC owns a position.
DIRECT_OPERATING_COMPANY, JOINT_VENTURE, INVESTMENT_FUND, OTHER, UNCLEAR Opaque cursor for pagination.
Maximum number of records to return.
1 <= x <= 200Repeat to select an explicit grouped representation, for example group_by=event_id&group_by=issuer_id.
Allowlisted grouped representations of the public metric collection.
event_id, issuer_id, facility_id, maturity_year Public scalar field used to sort metrics. Extension fields require metric_type; grouped requests accept their response dimensions and aggregates.
1 - 64^[a-z][a-z0-9_]*$Sort direction. Null values sort last.
asc, desc Filter by reporting period-end calendar year.
2 <= x <= 9998Filter by reporting period-end calendar quarter.
1 <= x <= 4Response
Successful Response
- MetricListResponse
- PortfolioHoldingGroupedListResponse