Clearstreet8e71 · Schema
Instrument
Represents a tradable financial instrument.
CompanyFinTechBrokerageAPIInstitutional
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/clearstreet8e71/main/json-schema/clearstreet8e71-instrument-schema.json",
"title": "Instrument",
"description": "Represents a tradable financial instrument.",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/clearstreet8e71-openapi.yaml#/components/schemas/Instrument",
"allOf": [
{
"type": "object",
"required": [
"id",
"symbol",
"venue",
"country_of_issue",
"currency",
"is_marginable",
"easy_to_borrow",
"is_short_prohibited",
"is_threshold_security",
"is_liquidation_only",
"is_tradable",
"is_fractionable",
"is_ptp"
],
"properties": {
"adv": {
"type": [
"string",
"null"
],
"description": "Average daily share volume from the security definition.\nWhen a null/undefined value is observed, it indicates that there is no available data."
},
"cax_adjusted_previous_close": {
"type": [
"string",
"null"
],
"description": "Corporate-action-adjusted last close; present only when an adjustment\nexists for the previous_close date.\nWhen a null/undefined value is observed, it indicates that there is no available data."
},
"country_of_issue": {
"type": "string",
"description": "The ISO country code of the instrument's issue"
},
"currency": {
"type": "string",
"description": "The ISO currency code in which the instrument is traded"
},
"easy_to_borrow": {
"type": "boolean",
"description": "Indicates if the instrument is classified as Easy-To-Borrow"
},
"id": {
"type": "string",
"format": "uuid",
"description": "Unique instrument identifier (UUID)"
},
"instrument_type": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/SecurityType",
"description": "The type of security (e.g., Common Stock, ETF)\nWhen a null/undefined value is observed, it indicates that there is no available data."
}
]
},
"is_fractionable": {
"type": "boolean",
"description": "Indicates if the instrument supports fractional-quantity orders"
},
"is_liquidation_only": {
"type": "boolean",
"description": "Indicates if the instrument is liquidation only and cannot be bought"
},
"is_marginable": {
"type": "boolean",
"description": "Indicates if the instrument is marginable"
},
"is_ptp": {
"type": "boolean",
"description": "Indicates if the instrument is a publicly traded partnership (PTP).\nPTP sales are subject to a 10% withholding tax for non-US tax residents."
},
"is_short_prohibited": {
"type": "boolean",
"description": "Indicates if short selling is prohibited for the instrument. This is a\nstanding property of the security. For the live Rule 201 circuit\nbreaker, see `short_sale_restricted` on the market-data snapshot."
},
"is_threshold_security": {
"type": "boolean",
"description": "Indicates if the instrument is on the Regulation SHO Threshold Security List"
},
"is_tradable": {
"type": "boolean",
"description": "Indicates if the instrument is tradable"
},
"long_margin_rate": {
"type": [
"string",
"null"
],
"description": "The percent of a long position's value you must post as margin\nWhen a null/undefined value is observed, it indicates that there is no available data."
},
"name": {
"type": [
"string",
"null"
],
"description": "The full name of the instrument or its issuer\nWhen a null/undefined value is observed, it indicates that there is no available data."
},
"notional_adv": {
"type": [
"string",
"null"
],
"description": "Notional average daily volume (ADV multiplied by the cax-adjusted close\nwhen present, the raw previous close otherwise).\nWhen a null/undefined value is observed, it indicates that there is no available data."
},
"previous_close": {
"type": [
"string",
"null"
],
"description": "Last close price from the security definition.\nWhen a null/undefined value is observed, it indicates that there is no available data."
},
"short_margin_rate": {
"type": [
"string",
"null"
],
"description": "The percent of a short position's value you must post as margin\nWhen a null/undefined value is observed, it indicates that there is no available data."
},
"symbol": {
"type": "string",
"description": "The trading symbol for the instrument"
},
"tick_rules": {
"type": "array",
"items": {
"$ref": "#/$defs/TickRule"
},
"description": "Price bands this instrument quotes on, ascending. Absent when we have no\nschedule for it, which includes an option whose penny-program status our\nreference data never supplied."
},
"venue": {
"type": "string",
"description": "The MIC code of the primary listing venue"
}
}
},
{
"type": "object",
"properties": {
"options_contract_expiry_dates": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/OptionExpiryDate"
},
"description": "Available options expiration dates for this instrument, each annotated\nwith which settlement cycles have listed contracts on it.\nPresent only when `include_options_expiry_dates=true` in the request.\nWhen a null/undefined value is observed, it indicates it does not apply."
},
"options_expiry_dates": {
"type": [
"array",
"null"
],
"items": {
"type": "string",
"format": "date"
},
"description": "Available options expiration dates for this instrument.\nPresent only when `include_options_expiry_dates=true` in the request.\n\nDeprecated: use `options_contract_expiry_dates`, which carries the same\ndates annotated with settlement-cycle information.\nWhen a null/undefined value is observed, it indicates it does not apply.",
"deprecated": true
}
}
}
],
"$defs": {
"OptionExpiryDate": {
"type": "object",
"description": "An options expiry date, annotated with which settlement cycles have\nlisted contracts on it.",
"required": [
"date",
"has_settles_on_open",
"has_settles_on_close"
],
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "The expiration date."
},
"has_settles_on_close": {
"type": "boolean",
"description": "Whether this date has at least one listed contract that settles at\nthe close (PM settlement) -- the standard cycle."
},
"has_settles_on_open": {
"type": "boolean",
"description": "Whether this date has at least one contract that settles on the opening\nprint (AM settlement) and can still be traded. AM-settled contracts stop\ntrading at the close of the business day before settlement, so this turns\nfalse before the expiration date arrives. A date leaves the list once no\ncontract on it can be traded in either settlement cycle."
}
}
},
"SecurityType": {
"type": "string",
"description": "Security type",
"enum": [
"COMMON_STOCK",
"INDEX",
"OPTION",
"CASH"
]
},
"TickRule": {
"type": "object",
"description": "One band of an instrument's tick schedule. A price in the band is valid only\nif it is a whole multiple of `tick_size`. Bands describe the instrument\nitself: on an equity they say nothing about that equity's option chain.",
"required": [
"start_price",
"tick_size"
],
"properties": {
"end_price": {
"type": [
"string",
"null"
],
"description": "Upper bound of the band, exclusive. Absent on the last band, which runs\nto infinity.\nWhen a null/undefined value is observed, it indicates it does not apply."
},
"start_price": {
"type": "string",
"description": "Lowest price in the band, inclusive."
},
"tick_size": {
"type": "string",
"description": "Minimum price increment within the band."
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/clearstreet8e71-instrument"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.