Standard Metrics cap_table API
The cap_table API from Standard Metrics — 10 operation(s) for cap_table.
The cap_table API from Standard Metrics — 10 operation(s) for cap_table.
openapi: 3.0.3
info:
title: OAuth Token budgets cap_table API
version: 1.0.0
description: Token endpoint using client credentials flow.
servers:
- url: https://api.standardmetrics.io
tags:
- name: cap_table
paths:
/beta/investment/financing-events/get/:
post:
operationId: get_financing_events
summary: Get financing events
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
items:
$ref: '#/components/schemas/FinancingOut'
title: Response
type: array
description: "\n Retrieve financing events for companies in the portfolio. Returns all financing rounds if no filters are applied. Can be filtered by company ID or financing ID to get specific rounds. Each financing event includes stage, pre-money valuation, round size, fully diluted shares, closing date, and co-investor information.\n\n **Permissions:**\n - User must be authenticated via OAuth.\n - User must have access to the companies.\n "
tags:
- cap_table
requestBody:
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/FinancingFilters'
- type: 'null'
required: false
security:
- BearerAuth: []
/beta/investment/share-classes/get/:
post:
operationId: get_share_classes
summary: Get share classes
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ShareClassOut'
title: Response
type: array
description: "\n Retrieve share classes for a firm or a specific company. If no filters are provided, the endpoint returns all share classes across the firm. If company IDs or share class IDs are provided, it returns share classes specific to those companies or share classes.\n\n **Permissions:**\n - User must be authenticated via OAuth.\n - User must have access to the companies.\n "
tags:
- cap_table
requestBody:
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/ShareClassFilters'
- type: 'null'
required: false
security:
- BearerAuth: []
/beta/investment/transactions/get/:
post:
operationId: get_transactions
summary: Get transactions
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Transaction'
title: Response
type: array
description: "\n Retrieve transactions for a firm or a specific company. If no filters are provided, the endpoint returns all transactions across the firm. If company IDs or transaction IDs are provided, it returns transactions specific to those companies or transactions.\n\n **Permissions:**\n - User must be authenticated via OAuth.\n - User must have access to the companies.\n "
tags:
- cap_table
requestBody:
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/TransactionFilters'
- type: 'null'
required: false
security:
- BearerAuth: []
/beta/investment/securities/get/:
post:
operationId: get_securities
summary: Get securities
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
items:
discriminator:
mapping:
certificate: '#/components/schemas/CertificateOut'
convertible: '#/components/schemas/ConvertibleOut'
public_equity: '#/components/schemas/PublicEquityOut'
token_convertible: '#/components/schemas/TokenConvertibleOut'
token_investment: '#/components/schemas/TokenInvestmentOut'
token_warrant: '#/components/schemas/TokenWarrantOut'
warrant: '#/components/schemas/WarrantOut'
propertyName: type
oneOf:
- $ref: '#/components/schemas/CertificateOut'
- $ref: '#/components/schemas/WarrantOut'
- $ref: '#/components/schemas/PublicEquityOut'
- $ref: '#/components/schemas/TokenInvestmentOut'
- $ref: '#/components/schemas/TokenWarrantOut'
- $ref: '#/components/schemas/TokenConvertibleOut'
- $ref: '#/components/schemas/ConvertibleOut'
title: Response
type: array
description: "\n Retrieve securities for a firm or a specific company. If no filters are provided, the endpoint returns all securities across the firm. If company IDs or holding IDs are provided, it returns securities specific to those companies or holdings.\n\n **Permissions:**\n - User must be authenticated via OAuth.\n - User must have access to the companies.\n "
tags:
- cap_table
requestBody:
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/SecuritiesFilters'
- type: 'null'
required: false
security:
- BearerAuth: []
/beta/investment/share-classes/add/:
post:
operationId: add_share_classes
summary: Add share classes
parameters: []
responses:
'201':
description: Created
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ShareClassOut'
title: Response
type: array
description: "\n Add share classes to a company's cap table. Creates new share classes with specified pricing, type, and purchase information.\n\n **Permissions:**\n - User must be authenticated via OAuth.\n - User must have access to the company.\n - User must have permission to add data to the portco.\n "
tags:
- cap_table
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddShareClasses'
required: true
security:
- BearerAuth: []
/beta/investment/financing-rounds/add/:
post:
operationId: add_financing_rounds
summary: Add financing rounds
parameters: []
responses:
'201':
description: Created
content:
application/json:
schema:
items:
$ref: '#/components/schemas/FinancingOut'
title: Response
type: array
description: "\n Add financing rounds across your cap tables. Creates new financing events with stage information, valuations, and co-investor details.\n\n **Permissions:**\n - User must be authenticated via OAuth.\n - User must have access to the companies.\n - User must have permission to add data to the cap tables.\n "
tags:
- cap_table
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddFinancingRounds'
required: true
security:
- BearerAuth: []
/beta/investment/overrides/upsert/:
put:
operationId: upsert_overrides
summary: Upsert overrides
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MessagesResponse'
description: "\n Upsert overrides for ownership percentages, post-money valuations, and fair values. Creates or updates override data for companies and funds.\n\n **Permissions:**\n - User must be authenticated via OAuth.\n - User must have access to the companies and funds.\n - User must have permission to modify data in the portco.\n "
tags:
- cap_table
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OverridesToUpsert'
required: true
security:
- BearerAuth: []
/beta/investment/transactions/add/:
post:
operationId: add_transactions
summary: Add transactions
parameters: []
responses:
'201':
description: Created
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Transaction'
title: Response
type: array
description: "\n Add a list of transactions to a company's cap table. Supports sales, conversions, and exercises of securities.\n\n **Permissions:**\n - User must be authenticated via OAuth.\n - User must have access to the company.\n - User must have permission to add data to the portco.\n "
tags:
- cap_table
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddTransactions'
required: true
security:
- BearerAuth: []
/beta/investment/securities/add/:
post:
operationId: add_securities
summary: Add securities
parameters: []
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/MessagesResponse'
description: "\n Add a list of securities, across different types, to a company's cap table. Supports certificates, warrants, convertibles, and token-based securities.\n\n **Permissions:**\n - User must be authenticated via OAuth.\n - User must have access to the company.\n - User must have permission to add data to the portco.\n "
tags:
- cap_table
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddSecurities'
required: true
security:
- BearerAuth: []
/beta/investment/metrics/get/:
post:
operationId: get_metrics
summary: Get investment performance metrics (Alpha)
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsResponse'
description: "\n **Unstable:** This endpoint is in alpha and may change without notice.\n\n Retrieve investment metrics for portfolio companies.\n\n If `fund_ids` is omitted, metrics are aggregated across all funds.\n If `fund_ids` is provided, metrics reflect only those funds' positions.\n\n **Permissions:**\n - User must be authenticated via OAuth.\n - User must have access to the companies.\n "
tags:
- cap_table
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MetricsFilters'
required: true
security:
- BearerAuth: []
components:
schemas:
FairValue:
description: A fair value override to add to a company's cap table.
properties:
date:
format: date
title: Date
type: string
company_id:
title: Company Id
type: string
fair_value:
$ref: '#/components/schemas/MoneyAmount'
fund_id:
title: Fund Id
type: string
required:
- date
- company_id
- fair_value
- fund_id
title: FairValue
type: object
SeniorityPosition:
enum:
- SENIOR_TO_ALL
- PARI_PASSU
- PARI_PASSU_ALL_PREVIOUS
title: SeniorityPosition
type: string
x-enumDescriptions:
- Senior To All
- Pari Passu
- Pari Passu All Previous
x-enumNames:
- SENIOR_TO_ALL
- PARI_PASSU
- PARI_PASSU_ALL_PREVIOUS
TokenInvestmentOut:
description: A token investment being returned from our API.
properties:
id:
anyOf:
- type: string
- type: 'null'
description: The ID of the security.
examples:
- a2Ne
readOnly: true
title: Id
issue_date:
description: The date the security was issued.
examples:
- '2020-01-01'
format: date
title: Issue Date
type: string
fund_id:
description: The ID of the fund that holds this security.
examples:
- a2Ne
title: Fund Id
type: string
company_id:
description: The ID of the company this security belongs to.
examples:
- pvYe
title: Company Id
type: string
type:
const: token_investment
default: token_investment
title: Type
type: string
fund_name:
description: The name of the fund that holds this security.
examples:
- Fund I
title: Fund Name
type: string
company_name:
description: The name of the company this security belongs to.
examples:
- Acme Corp
title: Company Name
type: string
token:
anyOf:
- type: string
- type: 'null'
description: The token symbol or name.
examples:
- SMX
title: Token
investment_amount:
$ref: '#/components/schemas/MoneyAmount'
description: The total investment amount.
examples:
- currency: USD
value: '500000'
quantity:
anyOf:
- type: number
- type: string
description: The number of tokens held.
examples:
- '1000'
title: Quantity
price_per_token:
$ref: '#/components/schemas/MoneyAmount'
description: The price per token at purchase.
examples:
- currency: USD
value: '500'
financing_id:
description: The ID of the financing round this token investment belongs to.
examples:
- a2Ne
title: Financing Id
type: string
required:
- issue_date
- fund_id
- company_id
- fund_name
- company_name
- token
- investment_amount
- quantity
- price_per_token
- financing_id
title: TokenInvestmentOut
type: object
PariPassuRound:
description: A financing round in a pari passu group.
properties:
id:
description: The ID of the financing round.
examples:
- a2Ne
title: Id
type: string
name:
description: The name of the financing round.
examples:
- Series A
title: Name
type: string
required:
- id
- name
title: PariPassuRound
type: object
MoneyAmount:
description: A monetary amount.
properties:
value:
anyOf:
- type: number
- type: string
- type: 'null'
description: The value of the amount for the source currency.
examples:
- '1000000'
title: Value
converted_value:
anyOf:
- type: number
- type: string
- type: 'null'
description: The value of the amount converted to your firm's preferred currency.
examples:
- '1000000'
readOnly: true
title: Converted Value
currency:
anyOf:
- $ref: '#/components/schemas/CurrencyCode'
- type: 'null'
description: The currency of the amount.
examples:
- USD
converted_currency:
anyOf:
- $ref: '#/components/schemas/CurrencyCode'
- type: 'null'
description: The currency of the converted amount. Your firm's preferred currency.
examples:
- USD
readOnly: true
fx_rate:
anyOf:
- type: number
- type: string
- type: 'null'
description: The FX rate between the source currency and the converted currency.
examples:
- '1.0'
title: Fx Rate
is_custom_rate:
anyOf:
- type: boolean
- type: 'null'
description: Whether the FX rate is a custom rate.
examples:
- false
readOnly: true
title: Is Custom Rate
required:
- value
- currency
title: MoneyAmount
type: object
TokenConvertibleOut:
description: A token convertible being returned from our API.
properties:
id:
anyOf:
- type: string
- type: 'null'
description: The ID of the security.
examples:
- a2Ne
readOnly: true
title: Id
issue_date:
description: The date the security was issued.
examples:
- '2020-01-01'
format: date
title: Issue Date
type: string
fund_id:
description: The ID of the fund that holds this security.
examples:
- a2Ne
title: Fund Id
type: string
company_id:
description: The ID of the company this security belongs to.
examples:
- pvYe
title: Company Id
type: string
type:
const: token_convertible
default: token_convertible
title: Type
type: string
fund_name:
description: The name of the fund that holds this security.
examples:
- Fund I
title: Fund Name
type: string
company_name:
description: The name of the company this security belongs to.
examples:
- Acme Corp
title: Company Name
type: string
token:
anyOf:
- type: string
- type: 'null'
description: The token symbol or name.
examples:
- SMX
title: Token
purchase_amount:
$ref: '#/components/schemas/MoneyAmount'
description: The purchase amount of the token convertible.
examples:
- currency: USD
value: '250000'
financing_id:
description: The ID of the financing round this token convertible belongs to.
examples:
- a2Ne
title: Financing Id
type: string
required:
- issue_date
- fund_id
- company_id
- fund_name
- company_name
- token
- purchase_amount
- financing_id
title: TokenConvertibleOut
type: object
FinancingFilters:
additionalProperties: false
description: Options for fetching financing events.
properties:
company_ids:
anyOf:
- items:
type: string
type: array
- type: 'null'
description: Filter by company IDs.
examples:
- - pvYe
- a2Ne
title: Company Ids
financing_ids:
anyOf:
- items:
type: string
type: array
- type: 'null'
description: Filter by financing event IDs.
examples:
- - pvYe
- a2Ne
title: Financing Ids
sort_by:
anyOf:
- enum:
- closing_date
- +closing_date
- -closing_date
- round_size
- +round_size
- -round_size
type: string
- type: 'null'
description: Sort results by a field. Prefix with '-' for descending order, '+' or no prefix for ascending.
examples:
- -closing_date
title: Sort By
is_crypto:
anyOf:
- type: boolean
- type: 'null'
description: Filter by whether the financing event is a crypto financing event.
examples:
- false
title: Is Crypto
co_investors:
anyOf:
- items:
$ref: '#/components/schemas/CoInvestorFilter'
type: array
- type: 'null'
description: Filter financing events by co-investor name and role.
title: Co Investors
title: FinancingFilters
type: object
CompanyMetrics:
description: Investment metrics for a single company.
properties:
company_id:
title: Company Id
type: string
as_of_date:
format: date
title: As Of Date
type: string
currency:
$ref: '#/components/schemas/CurrencyCode'
irr:
anyOf:
- type: number
- type: string
- type: 'null'
title: Irr
moic:
anyOf:
- type: number
- type: string
- type: 'null'
title: Moic
fair_value:
anyOf:
- type: number
- type: string
- type: 'null'
title: Fair Value
investment_amount:
anyOf:
- type: number
- type: string
- type: 'null'
title: Investment Amount
realized_value:
anyOf:
- type: number
- type: string
- type: 'null'
title: Realized Value
ownership:
anyOf:
- type: number
- type: string
- type: 'null'
title: Ownership
total_shares_owned:
anyOf:
- type: number
- type: string
- type: 'null'
title: Total Shares Owned
pre_money_valuation:
anyOf:
- type: number
- type: string
- type: 'null'
title: Pre Money Valuation
post_money_valuation:
anyOf:
- type: number
- type: string
- type: 'null'
title: Post Money Valuation
fully_diluted_shares:
anyOf:
- type: number
- type: string
- type: 'null'
title: Fully Diluted Shares
latest_price_per_share:
anyOf:
- type: number
- type: string
- type: 'null'
title: Latest Price Per Share
required:
- company_id
- as_of_date
- currency
- irr
- moic
- fair_value
- investment_amount
- realized_value
- ownership
- total_shares_owned
- pre_money_valuation
- post_money_valuation
- fully_diluted_shares
- latest_price_per_share
title: CompanyMetrics
type: object
Exercise:
description: An exercise transaction.
properties:
company_id:
title: Company Id
type: string
date:
format: date
title: Date
type: string
security_id:
title: Security Id
type: string
converted_to_share_class_id:
title: Converted To Share Class Id
type: string
required:
- company_id
- date
- security_id
- converted_to_share_class_id
title: Exercise
type: object
PublicEquityOut:
description: A public equity holding being returned from our API.
properties:
id:
anyOf:
- type: string
- type: 'null'
description: The ID of the security.
examples:
- a2Ne
readOnly: true
title: Id
issue_date:
description: The date the security was issued.
examples:
- '2020-01-01'
format: date
title: Issue Date
type: string
fund_id:
description: The ID of the fund that holds this security.
examples:
- a2Ne
title: Fund Id
type: string
company_id:
description: The ID of the company this security belongs to.
examples:
- pvYe
title: Company Id
type: string
type:
const: public_equity
default: public_equity
title: Type
type: string
fund_name:
description: The name of the fund that holds this security.
examples:
- Fund I
title: Fund Name
type: string
company_name:
description: The name of the company this security belongs to.
examples:
- Acme Corp
title: Company Name
type: string
price_per_share:
$ref: '#/components/schemas/MoneyAmount'
description: The price per share at purchase.
examples:
- currency: USD
value: '25.00'
shares:
anyOf:
- type: number
- type: string
description: The number of shares held.
examples:
- '50000'
title: Shares
investment_amount:
$ref: '#/components/schemas/MoneyAmount'
description: The total investment amount.
examples:
- currency: USD
value: '1250000'
required:
- issue_date
- fund_id
- company_id
- fund_name
- company_name
- price_per_share
- shares
- investment_amount
title: PublicEquityOut
type: object
FinancingOut:
description: A financing event being returned from our API.
properties:
id:
anyOf:
- type: string
- type: 'null'
description: The ID of the financing.
examples:
- a2Ne
readOnly: true
title: Id
company_id:
description: The ID of the company this financing event belongs to.
examples:
- pvYe
title: Company Id
type: string
name:
description: The name of the financing round.
examples:
- Series A
title: Name
type: string
pre_money_valuation:
anyOf:
- $ref: '#/components/schemas/MoneyAmount'
- type: 'null'
description: The pre-money valuation of the company at the time of the financing round.
examples:
- currency: USD
value: '20000000'
round_size:
anyOf:
- $ref: '#/components/schemas/MoneyAmount'
- type: 'null'
description: The total size of the financing round.
examples:
- currency: USD
value: '5000000'
fully_diluted_shares:
anyOf:
- type: number
- type: string
- type: 'null'
description: The fully diluted share count at the time of the financing round.
examples:
- '1000000'
title: Fully Diluted Shares
closing_date:
description: The closing date of the financing round.
examples:
- '2030-01-01'
format: date
title: Closing Date
type: string
co_investors:
description: The list of co-investors in the financing round.
examples:
- is_lead: true
name: Investor 1
- is_lead: false
name: Investor 2
items:
$ref: '#/components/schemas/CoInvestor'
title: Co Investors
type: array
is_crypto:
default: false
description: Whether this is a crypto financing event.
examples:
- false
title: Is Crypto
type: boolean
liquidation_multiple:
anyOf:
- type: number
- type: string
- type: 'null'
description: The liquidation multiple (e.g., 1.00, 1.50, 2.00).
examples:
- '1.50'
title: Liquidation Multiple
cap_multiple:
anyOf:
- type: number
- type: string
- type: 'null'
description: The cap multiple for capped participating preferences.
examples:
- '3.00'
title: Cap Multiple
seniority_position:
anyOf:
- $ref: '#/components/schemas/SeniorityPosition'
- type: 'null'
description: 'The seniority position: SENIOR_TO_ALL or PARI_PASSU.'
examples:
- SENIOR_TO_ALL
participation_type:
anyOf:
- $ref: '#/components/schemas/ParticipationType'
- type: 'null'
description: 'The participation type: NON_PARTICIPATING, FULLY_PARTICIPATING, or CAPPED_PARTICIPATING.'
examples:
- NON_PARTICIPATING
pari_passu_rounds:
anyOf:
- items:
$ref: '#/components/schemas/PariPassuRound'
type: array
- type: 'null'
description: Financing rounds that share equal seniority in the same pari passu group.
examples:
- - id: a2Ne
name: Series A
title: Pari Passu Rounds
company_name:
description: The name of the company this financing event belongs to.
examples:
- Acme Corp
title: Company Name
type: string
required:
- company_id
- name
- pre_money_valuation
- round_size
- fully_diluted_shares
- closing_date
- co_investors
- company_name
title: FinancingOut
type: object
CertificateOut:
description: A certificate being returned from our API.
properties:
id:
anyOf:
- type: string
- type: 'null'
description: The ID of the security.
examples:
- a2Ne
readOnly: true
title: Id
issue_date:
description: The date the security was issued.
examples:
- '2020-01-01'
format: date
title: Issue Date
type: string
fund_id:
description: The ID of the fund that holds this security.
examples:
- a2Ne
title: Fund Id
type: string
company_id:
description: The ID of the company this security belongs to.
examples:
- pvYe
title: Company Id
type: string
type:
const: certificate
default: certificate
title: Type
type: string
fund_name:
description: The name of the fund that holds this security.
examples:
- Fund I
title: Fund Name
type: string
company_name:
description: The name of the company this security belongs to.
examples:
- Acme Corp
title: Company Name
type: string
investment_amount:
$ref: '#/components/schemas/MoneyAmount'
description: The total investment amount for this certificate.
examples:
- currency: USD
value: '1000000'
shares:
anyOf:
- type: number
- type: string
description: The number of shares held.
examples:
- '50000'
title: Shares
share_class_id:
description: The ID of the share class for this certificate.
examples:
- a2Ne
title: Share Class Id
type: string
financing_id:
anyOf:
- type: string
- type: 'null'
description: The ID of the financing round this certificate belongs to.
examples:
- a2Ne
title: Financing Id
share_class_name:
# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/standard-metrics/refs/heads/main/openapi/standard-metrics-cap-table-api-openapi.yml