{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/alpaca/json-schema/alpaca-asset-schema.json",
  "title": "Asset",
  "description": "Assets are sorted by asset class, exchange and symbol. Some assets are not tradable with Alpaca. These assets will be marked with the flag tradable=false",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/alpaca-assets-api-openapi.yml#/components/schemas/Asset",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Asset ID"
    },
    "class": {
      "$ref": "#/$defs/AssetClass"
    },
    "exchange": {
      "$ref": "#/$defs/Exchange"
    },
    "symbol": {
      "type": "string",
      "description": "The symbol of the asset"
    },
    "name": {
      "type": "string",
      "description": "The official name of the asset"
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ],
      "description": "active or inactive"
    },
    "tradable": {
      "type": "boolean",
      "description": "Asset is tradable on Alpaca or not"
    },
    "marginable": {
      "type": "boolean",
      "description": "Asset is marginable or not"
    },
    "shortable": {
      "type": "boolean",
      "description": "Asset is shortable or not"
    },
    "easy_to_borrow": {
      "type": "boolean",
      "description": "Asset is easy-to-borrow or not (filtering for easy_to_borrow = True is the best way to check whether the name is currently available to short at Alpaca)."
    },
    "fractionable": {
      "type": "boolean",
      "description": "Asset is fractionable or not"
    },
    "last_close_pct_change": {
      "type": "string",
      "format": "decimal",
      "description": "Percent change for the trading day as of last market closure. NOTE: This field is currently in this spec however it may not be present in the production environment at time of publishing. It will be coming in a future update at which point this spec should be updated."
    },
    "last_price": {
      "type": "string",
      "format": "decimal",
      "description": "Most recent available price for this asset on the market. NOTE: This field is currently in this spec however it may not be present in the production environment at time of publishing. It will be coming in a future update at which point this spec should be updated."
    },
    "last_close": {
      "type": "string",
      "description": "Last price of the asset upon market closure on the most recent trading day. NOTE: This field is currently in this spec however it may not be present in the production environment at time of publishing. It will be coming in a future update at which point this spec should be updated.",
      "format": "decimal"
    }
  },
  "required": [
    "id",
    "class",
    "symbol"
  ],
  "$defs": {
    "AssetClass": {
      "type": "string",
      "enum": [
        "us_equity",
        "crypto"
      ]
    },
    "Exchange": {
      "type": "string",
      "title": "Exchange",
      "description": "Represents the exchange where an asset is traded.\n\nFor Stocks:\n- AMEX\n- ARCA\n- BATS\n- NYSE\n- NASDAQ\n- NYSEARCA\n- OTC\n\nFor Crypto:\n- ERSX\n- FTXU",
      "enum": [
        "AMEX",
        "ARCA",
        "BATS",
        "NYSE",
        "NASDAQ",
        "NYSEARCA",
        "OTC",
        "ERSX",
        "FTXU"
      ]
    }
  }
}