Inventory Filtering

The inventory filtering endpoint filters for bonds that are available
for trading at the time of the request. Multiple fields can be filtered
for, including reference data fields (such as S&P rating, bond type) as
well as the bid / ask price and yields. These filters should be
specified in the filters field. We're also able to filter for ISINs
that fulfill a specific trade size.

Two types of filtering are supported:

  • Reference data filtering: specify filters for reference data fields,
    such as S&P rating, bond type, and more.
  • Live inventory filtering: specify filters for price, yield to
    maturity, and yield to worst, filter for quotes that match a trade
    size, and get bids and asks from the returns field.

In addition, specific fields can be requested in the response. These
fields should be specified in the returns field.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
double
0 to 1

Capital gains tax rate as a decimal between 0 and 1. Meaningful
when tax_profile is custom_taxable or uk_taxable; under
uk_taxable it is overridden to 0 for Gilts and QCBs. The
us_taxable profile does not apply a capital-gains adjustment —
post-tax yield under us_taxable is computed multiplicatively from
the effective income tax rate alone, deferring real capgain
handling until a dedicated US capital-gains field is added.

double
0 to 1

Marginal income tax rate as a decimal between 0 and 1. Meaningful
when tax_profile is custom_taxable or uk_taxable; ignored
under us_taxable, which uses federal_tax_rate + state_tax_rate

  • residing_state per-bond rules instead.
double
0 to 1
Defaults to 0.37

Investor's marginal federal income tax rate, as a decimal 0-1.
Used only under the us_taxable profile (alongside
state_tax_rate + residing_state); ignored under
custom_taxable/uk_taxable, which use custom_income_tax.
Default 0.37.

filters
object

In a filter object, each key is either a field to filter on or an operator.
Each value is either a filter condition object or, in the case of certain
operators, an array of filter objects.

Some of the fields which can be filtered on are explicitly defined on this schema.
Any of the other fields in the reference data model can be used as an
InventoryFilter key.

string

JSON-encoded objective function that defines the scoring formula for ranking bonds.
Contains a list of weighted terms, each referencing a field or an arithmetic expression.
Example: {"terms": [{"term": {"type": "field", "field": "duration", "factor": 0.01}, "factor": 1.0}]}

integer

The page number of the results to return. If not provided, the default is page 1.

integer

The number of results to return per page. If not provided, the default is 100.

string
length between 2 and 2

Two-letter state code of the investor's state of residence.
Example: "CA", "NY", "TX". Used only under the us_taxable
profile (drives per-bond state-tax exemptions); ignored under
custom_taxable/uk_taxable.

returns
array of objects
required

The fields to return in the response.

returns*
string

The risk group ID to filter for tradable inventory. If left null,
and a single risk group exists for the organization, it will be
used as the default risk group. If left null, and more than one
risk group exists, the request will fail.

string
enum

Specify a side for inventory filters. Possible values:

  • 'buy' will limit the results to bonds that have quotes to buy
    the instrument.
  • 'sell' will limit the results to bonds that have quotes to sell
    the instrument.
  • 'both' will limit the results to bonds that have quotes on both
    sides of the market, i.e. at least one quote to buy and one to sell.

Important note: If you are building a UI that leverages this API, you should be
especially cognizant that this value represents inventory side, not trade side.

A client who wants to purchase a bond will look for asks/offers where the
counterparty wants to sell. Hence, they should pass 'sell' to the API.

A client who wants to sell a bond will look for bids where the counterparty
wants to buy. Hence, they should pass 'buy' to the API.

Allowed:
sort_by
array of strings

The fields to sort the results by. Each field can optionally specify a direction
by appending '.asc' or '.desc'. If no direction is specified, defaults to ascending order.

sort_by
double
0 to 1
Defaults to 0

Investor's marginal state income tax rate, as a decimal 0-1.
Used only under the us_taxable profile; ignored under
custom_taxable/uk_taxable.

string
enum
Defaults to us_taxable

Tax profile classification controlling how post-tax yield fields
and the post-tax objective term are computed.

  • us_taxable (default): post-tax yield is the pre-tax yield
    multiplied by (1 - effective_tax_rate), where
    effective_tax_rate is the per-bond combination of
    federal_tax_rate + state_tax_rate + residing_state with
    treasury, US-territory, state-exempt-agency, and muni
    federal/state exemption carve-outs applied per bond. Capital
    gains is not applied under this profile (deferred until a real
    US capgain field is defined).
  • custom_taxable: post-tax yield is the bivariate Taylor
    expansion of after-tax YTW evaluated at constants
    (s = custom_income_tax, g = custom_capital_gains_tax).
    Federal/state/residing-state are ignored.
  • uk_taxable: same Taylor expansion as custom_taxable
    (using custom_income_tax and custom_capital_gains_tax), but
    the capital-gains rate is forced to 0 for instruments exempt from
    UK capital gains tax — Gilts (ice_sector_1 = Sovereign and
    currency = GBP) and QCBs (qcb_indicator = true). Income tax
    still applies to exempt instruments.
  • non_taxable: no tax is applied to any instrument. Post-tax yield
    equals the pre-tax yield and tax-equivalent yield receives no
    gross-up. All rate fields are ignored.
Allowed:
string

Filtering by trade_size will only return asks and bids that
would completely fill an order of the specified quantity. More
specifically, it will return quotes where the minimum quantity is
less than or equal to the specified trade_size and the total
quantity is greater than or equal to the specified trade_size.
Optionally, set value to "lowest" to get all the quotes sorted from
least to greatest min_quantity.

boolean
Defaults to false

Whether to use close data after market hours. When false (default),
only reference data is returned when market is closed. When true,
orders are shown as available even after market close (9:30 AM - 4:00 PM EST/EDT, Monday-Friday).

Responses

Language
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json