Options Trader Assistent · Actions GPT
DAIZY Plugin
Plugin for getting price, performance, risk and sustainability data for a stock, an ETF, a crypto, or a portfolio. Plugin is also for searching, finding, filtering and sorting stocks or ETFs. User can sort the results by various factors such as by AUM, or by ESG score. The search can also return information about individual holdings and stocks within an ETF asset.
POST /assets/detailsGet the latest details and analysis of individual stocks, etfs, or cryptos.This path returns extensive details on an individual stock, etf, or crypto. Details include performance, risk, metrics, stats, sustainability, sentiment and the latest news stories driving the stock.
POST /portfolio/detailsGet the latest details and analysis of a user defined portfolio.This path returns analysis results for a portfolio only. Details include performance, risk, metrics, stats, sustainability, sentiment and the latest news stories driving the portfolio.
POST /search/etfsGet ETFs search results. Returns markdown that must be presented in table format.Allows to search for ETFs by categories and investment themes, filter on tickers held or not held, and sort the results by various factors. Returns markdown that must be displayed in table format.
POST /search/stocksGet stocks search results, best presented in table format.Returns collections of stocks based on search results. Searches include filters and sort orders. The path returns markdown syntax which should be formatted and displayed by ChatGPT in a table format.
POST /etfs/lookthroughGive info on holdings within an ETF.This path returns sorted results based on the holdings within an ETF. Used for queries that are based on the constituents of an ETF as well as exposures to a specific sector.
Schéma original API
{
"openapi": "3.0.1",
"info": {
"title": "DAIZY Plugin",
"description": "Plugin for getting price, performance, risk and sustainability data for a stock, an ETF, a crypto, or a portfolio. Plugin is also for searching, finding, filtering and sorting stocks or ETFs. User can sort the results by various factors such as by AUM, or by ESG score. The search can also return information about individual holdings and stocks within an ETF asset.",
"version": "2.0.0"
},
"servers": [
{
"url": "https://plugin.daizy.com"
}
],
"paths": {
"/assets/details": {
"post": {
"operationId": "getAssetDetails",
"summary": "Get the latest details and analysis of individual stocks, etfs, or cryptos.",
"description": "This path returns extensive details on an individual stock, etf, or crypto. Details include performance, risk, metrics, stats, sustainability, sentiment and the latest news stories driving the stock.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/assetAnalysisRequestBody"
}
}
}
},
"responses": {
"200": {
"description": "Returns asset_analysis which contains data based on the analysis_Type which should be summarised by ChatGPT, and markdown syntax which should be displayed by ChatGPT.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/assetAnalysisSuccessfulResponse"
}
}
}
},
"400": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/badRequestError"
}
}
}
}
}
}
},
"/portfolio/details": {
"post": {
"operationId": "getPortfolioDetails",
"summary": "Get the latest details and analysis of a user defined portfolio.",
"description": "This path returns analysis results for a portfolio only. Details include performance, risk, metrics, stats, sustainability, sentiment and the latest news stories driving the portfolio.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/portfolioAnalysisRequestBody"
},
"examples": {
"portfolio1": {
"prompt": "Create a portfolio for me with $500 Apple and $100 MSFT and 50$ of cash",
"analysisType": "createOrEdit",
"portfolio": {
"isEquallyWeighted": false,
"assets": [
{
"assetId": "AAPL",
"assetType": "stock",
"assetName": "Apple Inc.",
"currentMarketValue": 500
},
{
"assetId": "MSFT",
"assetType": "stock",
"assetName": "Microsoft Inc.",
"currentMarketValue": 100
},
{
"assetId": "CUR:USD",
"assetType": "cash",
"assetName": "USD Cash",
"currentMarketValue": 50
}
]
}
},
"portfolio2": {
"prompt": "I have portfolio with $5k TSLA bought in October 2022 and 1000 usd coke stock bought on 5th April 2023",
"analysisType": "createOrEdit",
"portfolio": {
"isEquallyWeighted": false,
"assets": [
{
"assetId": "TSLA",
"assetType": "stock",
"assetName": "Tesla Inc.",
"currentMarketValue": 5000,
"purchaseDate": "2022-10-01"
},
{
"assetId": "KO",
"assetType": "stock",
"assetName": "Coca-Cola Co",
"currentMarketValue": 1000,
"purchaseDate": "2023-04-05"
}
]
}
},
"portfolio3": {
"prompt": "AAPL stock $10000 01/02/23, MSFT stock $9000 01/02/23, NVDA stock $9000 01/02/23, CAT stock $8000 01/02/23",
"analysisType": "summary",
"portfolio": {
"isEquallyWeighted": false,
"assets": [
{
"assetId": "AAPL",
"assetType": "stock",
"currentMarketValue": 10000,
"purchaseDate": "2023-02-01"
},
{
"assetId": "MSFT",
"assetType": "stock",
"currentMarketValue": 9000,
"purchaseDate": "2023-02-01"
},
{
"assetId": "NVDA",
"assetType": "stock",
"currentMarketValue": 9000,
"purchaseDate": "2023-02-01"
},
{
"assetId": "CAT",
"assetType": "stock",
"currentMarketValue": 8000,
"purchaseDate": "2023-02-01"
}
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Returns portfolio_analysis which contains data based on the analysis_Type which should be summarised by ChatGPT, and markdown syntax which should be displayed by ChatGPT.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/portfolioAnalysisSuccessfulResponse"
}
}
}
},
"400": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/badRequestError"
}
}
}
}
}
}
},
"/search/etfs": {
"post": {
"operationId": "getEtfsSearch",
"summary": "Get ETFs search results. Returns markdown that must be presented in table format.",
"description": "Allows to search for ETFs by categories and investment themes, filter on tickers held or not held, and sort the results by various factors. Returns markdown that must be displayed in table format.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/etfsSearchRequestBody"
}
}
}
},
"responses": {
"200": {
"description": "Returns markdown that must be displayed in table format.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/searchSuccessfulResponse"
}
}
}
},
"400": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/badRequestError"
}
}
}
}
}
}
},
"/search/stocks": {
"post": {
"operationId": "getStocksSearch",
"summary": "Get stocks search results, best presented in table format.",
"description": "Returns collections of stocks based on search results. Searches include filters and sort orders. The path returns markdown syntax which should be formatted and displayed by ChatGPT in a table format.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/stocksSearchRequestBody"
}
}
}
},
"responses": {
"200": {
"description": "Returns markdown syntax which should be formatted and displayed by ChatGPT in a table format.",
"content": {
"application/json": {
"description": "The markdown syntax which should be formatted and displayed by ChatGPT in a table format.",
"schema": {
"$ref": "#/components/schemas/searchSuccessfulResponse"
}
}
}
},
"400": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/badRequestError"
}
}
}
}
}
}
},
"/etfs/lookthrough": {
"post": {
"operationId": "getEtfsHoldings",
"summary": "Give info on holdings within an ETF.",
"description": "This path returns sorted results based on the holdings within an ETF. Used for queries that are based on the constituents of an ETF as well as exposures to a specific sector.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/etfsHoldingsRequestBody"
}
}
}
},
"responses": {
"200": {
"description": "Returns markdown syntax which should be formatted and displayed by ChatGPT in a table format.",
"content": {
"application/json": {
"description": "The markdown syntax which should be formatted and displayed by ChatGPT in a table format.",
"schema": {
"$ref": "#/components/schemas/searchSuccessfulResponse"
}
}
}
},
"400": {
"description": "Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/badRequestError"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"etfsSearchRequestBody": {
"title": "etfsSearchRequestBody",
"type": "object",
"required": [
"prompt"
],
"properties": {
"prompt": {
"type": "string",
"description": "The prompt that user asked."
},
"limit": {
"type": "integer",
"description": "The maximum number of search results to return.",
"default": 10
},
"sortOrder": {
"type": "string",
"description": "Use this parameter to provide the user sort order for the list of ETFs returned by the API.",
"enum": [
"ESG_SCORE",
"ESG_ENVIRONMENTAL_SCORE",
"ESG_GOVERNANCE_SCORE",
"ESG_SOCIAL_SCORE",
"ESG_RATING",
"CARBON_EXPOSURE",
"FEMALE_DIRECTORS",
"ALCOHOL",
"ADULT_ENTERTAINMENT",
"GAMBLING",
"CONTROLVERSIAL_WEAPONS",
"CIVILIAN_FIREARMS",
"CONVENTIONAL_WEAPONS",
"TOBACCO",
"THERMAL_COAL",
"POOR_ANIMAL_WELFARE",
"GENETIC_ENGINEERING",
"POLLUTION_PREVENTION",
"SUSTAINABLE_WATER",
"EDUCATION",
"DISEASE_TREATMENT",
"PE_RATIO",
"BETA",
"DIVIDEND_YIELD",
"DIVIDEND_AMOUNT",
"VOLATILITY_200_DAY",
"EXPENSE_RATIO",
"ISSUER",
"1_WEEK_PERFORMANCE",
"1_MONTH_PERFORMANCE",
"1_YEAR_PERFORMANCE",
"YTD_PERFORMANCE",
"AVERAGE_DAILY_VOLUME",
"WEIGHT_OF_HOLDING"
]
},
"tickersHeld": {
"type": "array",
"description": "The list of security tickers that must all be held within the ETF. Used when user asks about the ETFs exposure to them or weight being held by ETFs. If user prompt contains \"or\", make separate requests.",
"items": {
"type": "string"
},
"example": [
"AAPL",
"GOOGL",
"TSLA"
]
},
"tickersNotHeld": {
"type": "array",
"description": "The list of security tickers that must all not be held within the ETF. Used when user asks about the absense of ETFs exposure to them. If user prompt contains \"or\" or \"nor\", make separate requests.",
"items": {
"type": "string"
},
"example": [
"MSFT",
"AMZN"
]
},
"sortType": {
"type": "string",
"description": "The order of the search results by either descending or ascending. Supports prompts asking for the best or worst, or top or bottom.",
"enum": [
"asc",
"desc"
]
},
"country": {
"type": "string",
"description": "The ISO code of country specified in prompt."
},
"filter": {
"type": "string",
"description": "Used to specify the theme or category of the ETFs. Allows to filter ETFs by theme or category.",
"enum": [
"ALPS MLP (Master Limited Partnership) ETFs",
"Actively Managed ETFs",
"Adult Entertainment ETFs",
"Affordable Real Estate ETFs",
"Agricultural Commodities",
"Alcohol ETFs",
"All Cap Equities",
"Alternative Energy ETFs",
"Alternative Energy Equities",
"Artificial Intelligence ETFs",
"Asia Pacific Equities",
"Autonomous Vehicle ETFs",
"Bitcoin ETFs",
"Blockchain ETFs",
"Board Diversity ETFs",
"Broad International Bond ETFs",
"Broad International Dividend ETFs",
"Broad International Equity ETFs",
"Broad International Small-Cap Value ETFs",
"Broad International Value ETFs",
"Building & Construction",
"California Munis",
"Carbon Intensity ETFs",
"Catholic Values ETFs",
"China Equities",
"China Internet ETFs",
"China Real Estate ETFs",
"Commodities",
"Commodity Producers Equities",
"Communications Equities",
"Consumer Discretionary Equities",
"Consumer Staples Equities",
"Corporate Bonds",
"Currency",
"Disruptive Technology ETFs",
"Diversified Portfolio",
"Dividend Growth ETFs",
"Education ETFs",
"Emerging Market Dividend ETFs",
"Emerging Markets Bond ETFs",
"Emerging Markets Bonds",
"Emerging Markets Equities",
"Energy Efficiency ETFs",
"Energy Equities",
"Entrepreneur ETFs",
"Environmentally Responsible ETFs",
"Europe Equities",
"European Bond ETFs",
"European Dividend ETFs",
"European ETFs",
"European Small-Cap ETFs",
"FAANG ETFs",
"Fidelity Bond ETFs",
"Financials Equities",
"Firearms ETFs",
"Foreign Large Cap Equities",
"Foreign Small & Mid Cap Equities",
"Fossil Fuel Reserves ETFs",
"GMO Involvement ETFs",
"Gambling ETFs",
"Genome Editing ETFs",
"Global Bond ETFs",
"Global Dividend ETFs",
"Global Equities",
"Global Infrastructure ETFs",
"Global REIT ETFs",
"Global Real Estate",
"Global Real Estate ETFs",
"Global Sanitation ETFs",
"Governance Issues ETFs",
"Government Bonds",
"Green Building ETFs",
"Guggenheim Solar ETFs",
"Health & Biotech Equities",
"Healthy Nutrition ETFs",
"Hedge Fund",
"High Yield Bonds",
"High Yield Corporate Bond ETFs",
"Human Rights Violations ETFs",
"Immunotherapy ETFs",
"Income Focused Equity ETFs",
"India Small-Cap ETFs",
"Industrials Equities",
"Inflation-Protected Bonds",
"International Bond ETFs",
"International Dividend ETFs",
"International Equity ETFs",
"International Government Bonds",
"International Real Estate ETFs",
"International Small-Cap ETFs",
"International Small-Cap Value ETFs",
"International Value ETFs",
"Inverse Bonds",
"Inverse Commodities",
"Inverse Equities",
"Inverse Volatility",
"Inverse/Short Broad Emerging Markets ETFs",
"Inverse/Short ETFs",
"Inverse/Short Emerging Markets ETFs",
"Inverse/Short Euro ETFs",
"Inverse/Short Gold ETFs",
"Inverse/Short Gold Miners ETFs",
"Inverse/Short High Yield Bond ETFs",
"Inverse/Short Japan ETFs",
"Inverse/Short Natural Gas ETFs",
"Inverse/Short Oil ETFs",
"Inverse/Short Silver ETFs",
"Inverse/Short US Dollar ETFs",
"Japan Equities",
"Japan Small-Cap ETFs",
"Large Cap Blend Equities",
"Large Cap Growth Equities",
"Large Cap Value Equities",
"Latin America Equities",
"Leveraged Bonds",
"Leveraged Commodities",
"Leveraged Crude Oil ETFs",
"Leveraged Currency",
"Leveraged ETFs",
"Leveraged Energy Commodity ETFs",
"Leveraged Energy ETFs",
"Leveraged Equities",
"Leveraged Gold ETFs",
"Leveraged Gold Miners ETFs",
"Leveraged Inverse ETFs",
"Leveraged Long Bull ETFs",
"Leveraged Multi-Asset",
"Leveraged Natural Gas ETFs",
"Leveraged Oil ETFs",
"Leveraged Real Estate",
"Leveraged Silver ETFs",
"Leveraged Volatility",
"Long Crude Oil ETFs",
"Long Oil ETFs",
"Long US Dollar ETFs",
"Long-Short",
"Long-Term Government Bond ETFs",
"MLPs",
"Major Disease Treatment ETFs",
"Marijuana ETFs",
"Materials",
"Metals",
"Mid Cap Blend Equities",
"Mid Cap Growth Equities",
"Mid Cap Value Equities",
"Money Market",
"Mortgage Backed Securities",
"National Munis",
"New York Munis",
"Nuclear Power ETFs",
"Oil & Gas",
"Oil ETFs",
"PIMCO Bond ETFs",
"Physically Backed Gold ETFs",
"Physically Backed Silver ETFs",
"Poison Pill ETFs",
"Pollution Prevention ETFs",
"Precious Metals",
"Predatory Lending ETFs",
"Preferred Stock/Convertible Bonds",
"Real Estate",
"Robotics ETFs",
"SME Finance ETFs",
"SPDR Dividend ETFs",
"SPDR Gold ETFs",
"SPDR High Yield Bond ETFs",
"Sharia Compliant Investing ETFs",
"Short-Term Corporate Bond ETFs",
"Short-Term Government Bond ETFs",
"Short-Term Municipal Bond ETFs",
"Small Cap Blend Equities",
"Small Cap Growth Equities",
"Small Cap Value Equities",
"Small-Cap Biotechnology ETFs",
"Small-Cap Broad Energy ETFs",
"Small-Cap Dividend ETFs",
"Small-Cap Energy ETFs",
"Small-Cap Technology ETFs",
"Smart Beta ETFs",
"Socially Responsible ETFs",
"Space ETFs",
"Target Retirement Date",
"Technology Equities",
"Tobacco ETFs",
"Total Bond Market",
"Transportation Equities",
"Utilities Equities",
"Vanguard Bond ETFs",
"Vanguard Broad International ETFs",
"Vanguard Consumer Staples ETFs",
"Vanguard Corporate Bond ETFs",
"Vanguard Dividend ETFs",
"Vanguard Emerging Market ETFs",
"Vanguard Energy ETFs",
"Vanguard European ETFs",
"Vanguard Global All World ETFs",
"Vanguard Growth ETFs",
"Vanguard Health Care ETFs",
"Vanguard Intermediate Term Bond ETFs",
"Vanguard International Bond ETFs",
"Vanguard International ETFs",
"Vanguard International Stock Market ETFs",
"Vanguard Large-Cap ETFs",
"Vanguard Large-Cap Growth ETFs",
"Vanguard Large-Cap Value ETFs",
"Vanguard Long-Term Bond ETFs",
"Vanguard Materials ETFs",
"Vanguard Mid-Cap ETFs",
"Vanguard Municipal Bond ETFs",
"Vanguard Real Estate ETFs",
"Vanguard Short-Term Bond ETFs",
"Vanguard Short-Term Corporate Bond ETFs",
"Vanguard Small-Cap ETFs",
"Vanguard Small-Cap Growth ETFs",
"Vanguard Technology ETFs",
"Vanguard Total Bond Market ETFs",
"Vanguard Total World Stock ETFs",
"Vanguard Utility ETFs",
"Vanguard Value ETFs",
"Volatility",
"Volatility Hedged Equity",
"Water Equities",
"Water Stress ETFs",
"Water Sustainability ETFs",
"Weapons Involvement ETFs"
]
}
}
},
"stocksSearchRequestBody": {
"title": "stocksSearchRequestBody",
"type": "object",
"required": [
"prompt"
],
"properties": {
"prompt": {
"type": "string",
"description": "The prompt that user asked."
},
"limit": {
"type": "integer",
"description": "The maximum number of search results to return.",
"default": 10
},
"filters": {
"type": "object",
"description": "Use this parameter to narrow down the search results based on various criteria. Multiple filters can be used simultaneously.",
"properties": {
"sectorOrIndustry": {
"type": "object",
"description": "Represents the sector - the broad economic category a company operates in, such as Energy or Technology, or the industry - a narrower category within a sector, such as 'Oil & Gas' within Energy.",
"properties": {
"sectorName": {
"type": "string"
},
"industryName": {
"type": "string"
}
}
},
"marketCap": {
"type": "string",
"description": "Market capitalization filter.",
"enum": [
"Large-Cap (> $10b)",
"Mid-Cap ($2b - $10b)",
"Small-Cap (< $2b)"
]
},
"dividendYield": {
"type": "string",
"description": "Dividend Yield capitalization filter.",
"enum": [
"No Dividend",
"Low Dividend Yield (<2%)",
"Average Dividend Yield (2% to 4%)",
"High Dividend Yield (>4%)"
]
},
"peRatio": {
"type": "string",
"description": "PE Ration capitalization filter.",
"enum": [
"Low P/E Ratio (<15)",
"Average P/E Ratio (15-20)",
"High P/E Ratio (>20)"
]
},
"ethicalFlags": {
"type": "string",
"description": "Ethical consideration filter.",
"enum": [
"Adult Entertainment - No",
"Adult Entertainment - Yes",
"Alcohol - No",
"Alcohol - Yes",
"Animal Welfare - No",
"Animal Welfare - Yes",
"Civilian Firearms - No",
"Civilian Firearms - Yes",
"Cluster Munitions Manufacturing - No",
"Cluster Munitions Manufacturing - Yes",
"Gambling - No",
"Gambling - Yes",
"Genetic Engineering - No",
"Genetic Engineering - Yes",
"Thermal Coal - No",
"Thermal Coal - Yes",
"Tobacco - No",
"Tobacco - Yes",
"Weapons - No",
"Weapons - Yes"
]
},
"regionOrCountry": {
"type": "object",
"description": "A region or a country ISO code.",
"properties": {
"regionName": {
"type": "string"
},
"countryName": {
"type": "string"
}
}
},
"currency": {
"type": "string",
"description": "Currency-based filter.",
"enum": [
"AED",
"ARS",
"AUD",
"BRL",
"BWP",
"BYN",
"CAD",
"CHF",
"CLP",
"CNH",
"CNY",
"CZK",
"DKK",
"EGP",
"EUR",
"FJD",
"GBP",
"GHS",
"HKD",
"HUF",
"IDR",
"ILS",
"INR",
"JPY",
"KRW",
"KWD",
"MDL",
"MKD",
"MXN",
"MYR",
"NOK",
"NZD",
"OMR",
"PEN",
"PHP",
"PLN",
"RUB",
"SEK",
"SGD",
"SZL",
"THB",
"TRY",
"TTD",
"TWD",
"UAH",
"USD",
"UYU",
"XAG",
"XAU",
"XPD",
"ZAR"
]
}
}
},
"sortOrders": {
"type": "array",
"maxItems": 2,
"description": "Use this parameter to provide the user sort order for the list of stocks returned by the API. Multiple sort orders can be specified in priority order. If none specified by the user, 'MarketCapitalization' will be used by default.",
"items": {
"type": "string",
"enum": [
"AnnualisedReturn",
"AnnualisedReturn2Years",
"AnnualisedReturn3Years",
"AnnualisedReturn5Years",
"AnnualisedStandardDeviation",
"AverageReturn",
"Beta",
"SECTOR_AVERAGE_DIRECT_CARBON_EMISSIONS",
"DIRECT_CARBON_EMISSIONS",
"GLOBAL_WARMING_POTENTIAL",
"Correlation",
"Covariance",
"DividendYield",
"DownCaptureRatio",
"DownNumberRatio",
"DownOutperformRatio",
"DownUnderperformRatio",
"ESG_ENVIRONMENTAL_SCORE",
"ESG_GOVERNANCE_SCORE",
"ESG_SCORE",
"ESG_SOCIAL_SCORE",
"FEMALE_DIRECTORS",
"GainsLossesRatio",
"HistoricalSimulationVaR",
"MarketCapitalization",
"MaximumDrawdown",
"NegativeReturns",
"NormalisedRelativeRisk",
"PERatio",
"ParametricVaR",
"PeriodHigh",
"PeriodLow",
"PeriodReturn10Years",
"PeriodReturn1Day",
"PeriodReturn1Month",
"PeriodReturn1Week",
"PeriodReturn1Year",
"PeriodReturn2MonthsAgo",
"PeriodReturn2QuartersAgo",
"PeriodReturn2Years",
"PeriodReturn2YearsAgo",
"PeriodReturn3Months",
"PeriodReturn3MonthsAgo",
"PeriodReturn3Years",
"PeriodReturn3YearsAgo",
"PeriodReturn4YearsAgo",
"PeriodReturn5Years",
"PeriodReturn5YearsAgo",
"PeriodReturn6Months",
"PeriodReturn7Years",
"PeriodReturnLastMonth",
"PeriodReturnLastQuarter",
"PeriodReturnLastYear",
"PeriodReturnMTD",
"PeriodReturnQTD",
"PeriodReturnSI",
"PeriodReturnYTD",
"PositiveReturns",
"PotentialUpside",
"RegressionAlpha",
"RegressionBeta",
"SharpeRatio",
"StandardDeviation",
"StartDate",
"TOTAL_DIRECTORS",
"UpCaptureRatio",
"UpNumberRatio",
"UpOutperformRatio",
"UpUnderperformRatio",
"Variance"
]
}
},
"sortType": {
"type": "string",
"description": "Orders the search results in ascending or descending order. Supports prompts asking for the best or worst, or top or bottom.",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
}
},
"etfsHoldingsRequestBody": {
"title": "etfsHoldingsRequestBody",
"type": "object",
"required": [
"prompt",
"assetId"
],
"properties": {
"prompt": {
"type": "string",
"description": "The prompt that user asked."
},
"assetId": {
"type": "string",
"description": "The ticker symbol or ISIN code of the asset detected in the prompt."
},
"limit": {
"type": "integer",
"description": "The maximum number of search results to return.",
"default": 10
},
"sortOrder": {
"type": "string",
"description": "The sort order for the list of ETFs returned by the API.",
"enum": [
"ESG_SCORE",
"ESG_ENVIRONMENTAL_SCORE",
"ESG_GOVERNANCE_SCORE",
"ESG_SOCIAL_SCORE",
"ESG_RATING",
"TOBACCO",
"ALCOHOL",
"GAMBLING",
"ADULT_ENTERTAINMENT",
"FEMALE_DIRECTORS",
"CONVENTIONAL_WEAPONS",
"POOR_ANIMAL_WELFARE",
"CIVILIAN_FIREARMS",
"THERMAL_COAL",
"GENETIC_ENGINEERING",
"ASSET_WEIGHT",
"PE_RATIO",
"BETA",
"MARKET_CAP",
"DIVIDEND_YIELD"
]
},
"sortType": {
"type": "string",
"description": "The order of the search results by either descending or ascending. This parameter supports prompts asking for the best or worst, or top or bottom.",
"enum": [
"asc",
"desc"
]
},
"filter": {
"type": "object",
"description": "Use this parameter to specify a sector or industry detected in the prompt.",
"properties": {
"filterName": {
"type": "string"
}
}
}
}
},
"portfolioAnalysisRequestBody": {
"title": "portfolioAnalysisRequestBody",
"type": "object",
"required": [
"prompt",
"analysisType",
"portfolio"
],
"properties": {
"prompt": {
"type": "string",
"description": "The prompt that user asked."
},
"analysisType": {
"type": "string",
"description": "Based on the analysis intent detected in the prompt.",
"enum": [
"createOrEdit",
"performance",
"risk",
"sentiment",
"carbon",
"climate",
"sustainability",
"equality",
"summary",
"morality",
"esg",
"environment",
"governance",
"social",
"temperature",
"correlation"
]
},
"portfolio": {
"type": "object",
"description": "User portfolio with details about the current market value in USD that user holds (currentMarketValue) or past purchase details (purchaseDate).",
"required": [
"isEquallyWeighted",
"assets"
],
"properties": {
"isEquallyWeighted": {
"type": "boolean",
"description": "Use false if there was any specification from the user on a currentMarketValue of any asset."
},
"assets": {
"type": "array",
"items": {
"type": "object",
"description": "Individual investment within the portfolio.",
"required": [
"assetId",
"assetName",
"assetType"
],
"properties": {
"assetId": {
"type": "string",
"description": "The unique identifier for the asset. This is typically the ticker symbol for stocks, ETFs and cryptos, it should be provided in uppercase. For cash, use \"CUR:USD\"."
},
"assetName": {
"type": "string",
"description": "The name of the asset. If user wants to add brand name to the portfolio, translate that to the parent company name."
},
"assetType": {
"type": "string",
"description": "The type of the asset.",
"enum": [
"stock",
"etf",
"crypto",
"cash"
]
},
"currentMarketValue": {
"type": "number",
"description": "The total current market value of the asset in USD. All market values should be converted to USD. The user should provide the actual dollar value of each asset in their portfolio, not the percentage weight."
},
"purchaseDate": {
"type": "string",
"description": "The date when user purchased the asset. If not specified, use today date. If only month and year are specified, use the first day of that month. The date should be provided in the YYYY-MM-DD format."
}
}
}
}
}
}
}
},
"assetAnalysisRequestBody": {
"title": "assetAnalysisRequestBody",
"type": "object",
"required": [
"prompt",
"assetId",
"assetType",
"analysisType"
],
"properties": {
"prompt": {
"type": "string",
"description": "The prompt that user asked."
},
"assetId": {
"type": "string",
"description": "The ticker symbol or ISIN code of the asset detected in the prompt."
},
"assetName": {
"type": "string",
"description": "The name of the stock, etf, or crypto the user is asking about. If the question is about a brand name, translate that to the parent company name."
},
"assetType": {
"type": "string",
"description": "The type of asset. If user ask about markets - use index value.",
"enum": [
"stock",
"etf",
"crypto",
"index"
]
},
"analysisType": {
"type": "string",
"description": "Based on the analysis intent detected in the prompt.",
"enum": [
"performance",
"risk",
"sentiment",
"carbon",
"climate",
"sustainability",
"equality",
"summary",
"morality",
"price",
"esg",
"environment",
"governance",
"social",
"temperature",
"injuries_fatalities",
"fundamentals",
"etf_allocations",
"negative_impact",
"revenue_sources",
"water_consumption",
"correlation",
"analyst_recommendations",
"news",
"earnings",
"controversies",
"business_challenges_threats"
]
},
"timePeriod": {
"type": "string",
"description": "Responsible for date ranges in performance analysis_Type prompts.",
"enum": [
"EARLIEST",
"INTRA",
"1D",
"1W",
"1M",
"1Y",
"YTD",
"QTD",
"MTD",
"3M",
"6M"
]
}
}
},
"assetAnalysisSuccessfulResponse": {
"title": "assetAnalysisSuccessfulResponse",
"type": "object",
"properties": {
"markdown": {
"type": "string",
"format": "markdown",
"description": "Markdown syntax which must be formatted and displayed."
},
"timestamp": {
"type": "string",
"description": "Represents the date and time when the data sources were last updated, in ISO timestamp format. This timestamp can be used to determine the freshness of the data, and to track changes over time."
},
"data_sources": {
"type": "string",
"description": "The origin of the data, allowing user to verify its accuracy and reliability. The data sources are listed as strings, and can include URLs, database names, or other identifying information."
},
"learn_more": {
"type": "string",
"description": "Provides a deep link to additional information on the topic that may be relevant to the data returned. Helps to investigate the topic more deeply, and to gain a better understanding of the data."
},
"suggested_next_questions": {
"type": "array",
"description": "The field is intended to provide user with ideas for follow-up questions they could ask. These suggestions are based on the current topic of discussion and the capabilities of the DAIZY plugin.",
"items": {
"type": "string",
"description": "Suggested follow-up."
}
},
"help_guide": {
"type": "string",
"description": "This web page provides help and guidance on using the Daizy ChatGPT plugin. It should be included in all responses."
},
"highlights": {
"type": "object",
"description": "Important data about the stock, etf, or crypto.",
"$ref": "#/components/schemas/highlights"
},
"key_stats": {
"type": "object",
"description": "Additional data for the stock, etf, or crypto.",
"properties": {
"key_statsName": {
"type": "string"
}
}
},
"asset_analysis": {
"type": "object",
"description": "Contains the data required to answer prompts about asset performance, risk, sustainability, sentiment, or other analysis types."
},
"news": {
"type": "array",
"description": "A collection of recent news articles related to the prompt. This should be the only source of news in the response.",
"items": {
"$ref": "#/components/schemas/newsArticleItem"
}
}
}
},
"portfolioAnalysisSuccessfulResponse": {
"title": "portfolioAnalysisSuccessfulResponse",
"type": "object",
"properties": {
"markdown": {
"type": "string",
"format": "markdown",
"description": "Markdown syntax which must be formatted and displayed."
},
"timestamp": {
"type": "string",
"description": "Represents the date and time when the data sources were last updated, in ISO timestamp format. This timestamp can be used to determine the freshness of the data, and to track changes over time."
},
"data_sources": {
"type": "string",
"description": "The origin of the data, allowing user to verify its accuracy and reliability. The data sources are listed as strings, and can include URLs, database names, or other identifying information."
},
"learn_more": {
"type": "string",
"description": "Provides a deep link to additional information on the topic that may be relevant to the data returned. Helps to investigate the topic more deeply, and to gain a better understanding of the data."
},
"suggested_next_questions": {
"type": "array",
"description": "The field is intended to provide user with ideas for follow-up questions they could ask. These suggestions are based on the current topic of discussion and the capabilities of the DAIZY plugin.",
"items": {
"type": "string",
"description": "Suggested follow-up."
}
},
"help_guide": {
"type": "string",
"description": "This web page provides help and guidance on using the Daizy ChatGPT plugin. It should be included in all responses."
},
"insights": {
"type": "array",
"description": "Important insights about the portfolio",
"items": {
"$ref": "#/components/schemas/insight"
}
},
"portfolio_analysis": {
"type": "object",
"description": "Contains the data required to answer prompts about portfolio performance, risk, sustainability, sentiment, or other analysis types.",
"properties": {
"total_value": {
"type": "string",
"description": "Total value in USD"
},
"total_investments_average_book_cost": {
"type": "string",
"description": "Total investments average book cost"
},
"1_day_return": {
"type": "string",
"description": "The 1 day return of the user portfolio."
},
"1_day_total_value_gain": {
"type": "string",
"description": "The 1 day total value gain of the user portfolio."
},
"1_week_return": {
"type": "string",
"description": "The 1 week return of the user portfolio."
},
"1_week_total_value_gain": {
"type": "string",
"description": "The 1 week total value gain of the user portfolio."
},
"1_month_return": {
"type": "string",
"description": "The 1 month return of the user portfolio."
},
"1_month_total_value_gain": {
"type": "string",
"description": "The 1 month total value gain of the user portfolio."
},
"3_month_return": {
"type": "string",
"description": "The 3 month return of the user portfolio."
},
"3_month_total_value_gain": {
"type": "string",
"description": "The 3 month total value gain of the user portfolio."
},
"1_year_return": {
"type": "string",
"description": "The 1 year return of the user portfolio."
},
"1_year_total_value_gain": {
"type": "string",
"description": "The 1 year total value gain of the user portfolio."
}
}
},
"news": {
"type": "array",
"description": "A collection of recent news articles related to the prompt. This should be the only source of news in the response.",
"items": {
"$ref": "#/components/schemas/newsArticleItem"
}
}
}
},
"insight": {
"title": "insight",
"type": "object",
"properties": {
"key": {
"type": "string"
},
"context": {
"type": "string"
},
"insight": {
"type": "string",
"description": "Main insight"
},
"additional_insights": {
"type": "array",
"description": "Additional insights",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"description": "Notes with calculation details",
"items": {
"type": "string"
}
}
}
},
"highlights": {
"title": "highlights",
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "The symbol or ticker of the asset."
},
"asset_name": {
"type": "string",
"description": "The name of the asset."
},
"latest_price": {
"type": "string",
"description": "The latest price of the asset. Always and only use this field for asset price quotes."
},
"exchange": {
"type": "string",
"description": "The exchange the asset is listed on."
},
"description": {
"type": "string",
"description": "The description of the asset."
},
"sector": {
"type": "string",
"description": "The sector of the asset."
},
"industry": {
"type": "string",
"description": "The industry of the asset."
},
"category": {
"type": "string",
"description": "The category of the ETF."
},
"market_cap": {
"type": "string",
"description": "The market capitalization of the asset."
},
"1_day_return": {
"type": "string",
"description": "The 1 day return of the asset."
},
"1_week_return": {
"type": "string",
"description": "The 1 week return of the asset."
},
"1_month_return": {
"type": "string",
"description": "The 1 month return of the asset."
},
"3_months_return": {
"type": "string",
"description": "The 3 months return of the asset."
},
"year_to_date_return": {
"type": "string",
"description": "The year to date return of the asset."
},
"1_year_return": {
"type": "string",
"description": "The 12 month return of the asset."
},
"dividend_yield": {
"type": "number",
"description": "The dividend yield of the asset. Should be shown as a percentage."
},
"pe_ratio": {
"type": "number",
"description": "The PE ratio of the asset."
},
"beta": {
"type": "number",
"description": "The Beta of the asset."
},
"wall_street_target_price": {
"type": "number",
"description": "The analysts target price of the asset."
},
"total_assets": {
"type": "number",
"description": "The total assets under management of the ETF."
},
"net_expense_ratio": {
"type": "number",
"description": "The expense ratio of the ETF."
},
"holdings_count": {
"type": "number",
"description": "The number of holdings in the ETF."
},
"annual_holdings_turnover": {
"type": "number",
"description": "The amount of asset turnover of the ETF."
},
"market_capitalization": {
"type": "number",
"description": "The market capitalization of the asset."
},
"market_capitalization_diluted": {
"type": "number",
"description": "The diluted market capitalization of the asset."
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the crypto currency."
},
"total_supply": {
"type": "number",
"description": "The total supply of the crypto currency."
},
"max_supply": {
"type": "number",
"description": "The maximum supply of the crypto currency."
},
"market_cap_dominance": {
"type": "number",
"description": "The market cap dominance of the crypto currency."
},
"technical_doc": {
"type": "string",
"description": "The technical document for the crypto currency."
},
"high_all_time": {
"type": "number",
"description": "The all time high price of the crypto currency."
}
}
},
"newsArticleItem": {
"title": "newsArticleItem",
"type": "object",
"properties": {
"datetime": {
"type": "number",
"format": "date",
"description": "The unix timestamp of the news article"
},
"headline": {
"type": "string",
"description": "The headline of the news article"
},
"source": {
"type": "string",
"description": "The source of the news article"
},
"summary": {
"type": "string",
"description": "The summary of the news article"
},
"url": {
"type": "string",
"description": "The URL of the news article"
},
"image_url": {
"type": "string",
"description": "The image URL of the news article"
}
}
},
"searchSuccessfulResponse": {
"title": "searchSuccessfulResponse",
"type": "object",
"properties": {
"markdown": {
"type": "string",
"description": "Markdown syntax which must be formatted and displayed by the consuming application in a table format."
},
"timestamp": {
"type": "string",
"description": "Represents the date and time when the data sources were last updated, in ISO timestamp format. This timestamp can be used to determine the freshness of the data, and to track changes over time."
},
"data_sources": {
"type": "string",
"description": "The origin of the data, allowing user to verify its accuracy and reliability. The data sources are listed as strings, and can include URLs, database names, or other identifying information."
},
"learn_more": {
"type": "string",
"description": "Provides a deep link to additional information on the topic that may be relevant to the data returned. Helps to investigate the topic more deeply, and to gain a better understanding of the data."
},
"help_guide": {
"type": "string",
"description": "This web page provides help and guidance on using the Daizy ChatGPT plugin."
}
}
},
"badRequestError": {
"title": "badRequestError",
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"title": "Error message",
"type": "string"
}
}
}
}
}
}webPilot
Start with a Request: Users can either directly request the 'longContentWriter' to write a long form article or choose to use 'webPageReader' for information gathering before content creation. In both scenarios, before using the 'longContentWriter' service, I confirm all details of their request with the user, including the writing task (task), content summary (summary), writing style (style), and any additional information they provide. Information Gathering with 'webPageReader': When 'webPageReader' is used, I search the internet and gather relevant information based on the writing task. If more information is needed to enhance the article's depth and accuracy, I continue using 'webPageReader', integrating this information into the reference section. Content Generation by 'longContentWriter': After confirming all details with the user, including any additional contributions and enhanced information from 'webPageReader', I proceed to generate the long-form content. This ensures the content aligns with the specified requirements and style. Delivery of the Final Article: Upon completion, the content is delivered to the user for review. They can request revisions or additional information if necessary. Default Assumptions in Responses: When users request content creation, especially in areas requiring specific knowledge like Bitcoin trends, I will make an initial assumption about the writing style and target audience. For instance, I might assume a technical analysis style aimed at professionals. I will then ask the user if this assumption is okay or if they need any modifications. This approach helps streamline the content creation process.
POST /api/readvisit web pagePOST /api/writegenerate a book
Schéma original API
{
"openapi": "3.0.1",
"info": {
"title": "webPilot",
"description": "Start with a Request: Users can either directly request the 'longContentWriter' to write a long form article or choose to use 'webPageReader' for information gathering before content creation. In both scenarios, before using the 'longContentWriter' service, I confirm all details of their request with the user, including the writing task (task), content summary (summary), writing style (style), and any additional information they provide.\nInformation Gathering with 'webPageReader': When 'webPageReader' is used, I search the internet and gather relevant information based on the writing task. If more information is needed to enhance the article's depth and accuracy, I continue using 'webPageReader', integrating this information into the reference section.\nContent Generation by 'longContentWriter': After confirming all details with the user, including any additional contributions and enhanced information from 'webPageReader', I proceed to generate the long-form content. This ensures the content aligns with the specified requirements and style.\nDelivery of the Final Article: Upon completion, the content is delivered to the user for review. They can request revisions or additional information if necessary.\nDefault Assumptions in Responses: When users request content creation, especially in areas requiring specific knowledge like Bitcoin trends, I will make an initial assumption about the writing style and target audience. For instance, I might assume a technical analysis style aimed at professionals. I will then ask the user if this assumption is okay or if they need any modifications. This approach helps streamline the content creation process.",
"version": "v1.1"
},
"servers": [
{
"url": "https://gpts.webpilot.ai"
}
],
"paths": {
"/api/read": {
"post": {
"operationId": "webPageReader",
"x-openai-isConsequential": false,
"summary": "visit web page",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/visitWebPageRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/visitWebPageResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/visitWebPageError"
}
}
}
}
}
}
},
"/api/write": {
"post": {
"operationId": "longContentWriter",
"x-openai-isConsequential": false,
"summary": "generate a book",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/generateContentRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/generateContentResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/generateContentError"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"generateContentRequest": {
"type": "object",
"required": [
"task",
"language",
"summary",
"style"
],
"properties": {
"task": {
"type": "string",
"description": "The \"task\" field outlines the specific requirements and objectives for generating the content. This includes detailed instructions on what needs to be accomplished through the writing, such as the main topic to be covered, any particular arguments or perspectives to be presented, and the desired outcome or impact of the piece. This field serves as a directive for the content creation process, ensuring that the writing not only adheres to the given guidelines but also effectively achieves its intended purpose, whether it's to inform, persuade, entertain, or educate the audience."
},
"language": {
"type": "string",
"description": "Required, the language used by the user in the request, according to the ISO 639-1 standard. For Chinese, use zh-CN for Simplified Chinese and zh-TW for Traditional Chinese."
},
"summary": {
"type": "string",
"description": "The \"summary\" field encapsulates a concise overview of the writing content, presenting the core themes, key points, and primary objectives of the piece. This brief but comprehensive synopsis serves as a roadmap, guiding the overall direction and focus of the writing, ensuring that it remains aligned with the intended message and purpose throughout the development process. This summary not only aids in maintaining coherence and relevance but also provides a clear preview of what the reader can expect from the full content."
},
"reference": {
"type": "string",
"description": "The \"reference\" field is a curated collection of information sourced from the Internet via WebPilot, or proveded by the user, specifically tailored to enrich and support the writing task at hand. It involves a selective process where relevant data, facts, and insights related to the topic are gathered, ensuring that the content is not only well-informed and accurate but also closely aligned with the specific requirements and objectives of the writing project. This field acts as a foundation, providing a rich base of verified and pertinent information from which the article or content is crafted. This field would be long."
},
"style": {
"type": "string",
"description": "The \"style\" field in content creation is a detailed framework encompassing three pivotal components - the writing tone or style, the target audience, and the publication medium. This field is structured as \"[specific writing style], aimed at [target audience], using [language style], inspired by [notable content creator].\" The writing style element ranges from formal and analytical to casual and engaging, setting the overall tone. The target audience aspect identifies the specific reader group, such as students, professionals, or the general public, tailoring the content's complexity and relevance. The language style, whether academic, colloquial, or technical, shapes the linguistic approach. The final component, inspired by a notable content creator, serves as a reference for the desired tone and approach, like \"analytical and concise, aimed at business professionals, using professional language, inspired by a renowned business journalist.\" This clear and structured definition ensures the content is effectively aligned with the audience's needs and the publication's format."
}
}
},
"generateContentResponse": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Result message of the request"
}
}
},
"generateContentError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "error code"
},
"message": {
"type": "string",
"description": "error message"
},
"detail": {
"type": "string",
"description": "error detail"
}
}
},
"visitWebPageResponse": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of this web page"
},
"content": {
"type": "string",
"description": "The content of the web page's url to be summarized"
},
"meta": {
"type": "object",
"description": "The Html meta info of the web page"
},
"links": {
"type": "array",
"description": "Some links in the web page",
"items": {
"type": "string"
}
},
"extra_search_results": {
"type": "array",
"description": "Additional Search results",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "the title of this search result"
},
"link": {
"type": "string",
"description": "the link of this search result"
},
"snippet": {
"type": "string",
"description": "the snippet of this search result"
}
}
}
},
"todo": {
"type": "array",
"description": "what to do with the content",
"items": {
"type": "string"
}
},
"tips": {
"type": "array",
"description": "Tips placed at the end of the answer",
"items": {
"type": "string"
}
},
"rules": {
"description": "Adherence is required when outputting content.",
"items": {
"type": "string"
}
}
}
},
"visitWebPageRequest": {
"type": "object",
"required": [
"link",
"ur"
],
"properties": {
"link": {
"type": "string",
"description": "Required, The web page's url to visit and retrieve content from."
},
"ur": {
"type": "string",
"description": "Required, a clear statement of the user's request, can be used as a search query and may include search operators."
},
"lp": {
"type": "boolean",
"description": "Required, Whether the link is directly provided by the user"
},
"rt": {
"type": "boolean",
"description": "If the last request doesn't meet user's need, set this to true when trying to retry another request."
},
"l": {
"type": "string",
"description": "Required, the language used by the user in the request, according to the ISO 639-1 standard. For Chinese, use zh-CN for Simplified Chinese and zh-TW for Traditional Chinese."
}
}
},
"visitWebPageError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "error code"
},
"message": {
"type": "string",
"description": "error message"
},
"detail": {
"type": "string",
"description": "error detail"
}
}
}
}
}
}OptionsPro Plugin
OptionsPro is a powerful financial analytics tool that helps traders and investors analyze market trends, volatility, and individual stock performance. More data can be accessed on the https://optionspro.io/ website through a subscription plan.
GET /api/plugin/vix-termGet VIX term structure and plot, from CBOE's vx futures expiration datesGET /api/plugin/option-tradesRetrieve the highest volume trades for a specific option contract throughout its lifetime, including both historical and current data. OptionTicker is a required parameter to obtain the top trades in volume for the given option contract. Response is best visualized in a table format.GET /api/plugin/option-flowGet real-time most traded options in terms of volume during market hours, or previous trading day's data at market close. Provides top trades for the overall market or specific stocks/option contracts. Stock/option ticker is not required. Reponse is best visualized in a table format.GET /api/plugin/option-alertsGet 10 latest unusual options activity alerts. Provides top 10 unusual trades for the overall market or specific stock. Stock/option ticker is not required. Reponse is best visualized in a table format. More unusual trades information is on OptionsPro.io with a subscription plan.GET /api/plugin/option-detailsGet details about selected option contracts for a given ticker and a given strike price. Details include greeks, implied volatility, trading prices etc for the selected option contracts. Returned data is best visualized in a vertical header table format.GET /api/plugin/economic-eventsGet key economic events for a given number of days in the future.GET /api/plugin/gex-eodAccess end-of-day Gamma Distribution and GEX data for a specified ticker. Ideal for index tickers or those with high options volume, not suitable for small caps or stocks with no option trading. Includes data for all options expirations. Calculated daily after market close.GET /api/plugin/gex-intradayAccess real-time intraday Gamma calculated from SPX 0DTE options during trading hours. Use gex_intraday_quickcharts_url for Gamma plot. Data is updated every 15 minutes. Realtime data is provided on OptionsPro.io website with a subscription plan.GET /api/plugin/msi-eodGet the most up to date MSI indicator analysis - the OptionsPro Market Sentiment Indicator (MSI) is a proprietary tool designed to assess market conditions, identify investor sentiment, and detect fear or complacency in the market, calculated from volatility products, options trading activity.GET /api/plugin/market-outlookGet the current market outlook calculated from options position, volatility and more. This endpoint is a one step shop that provides overall market outlook and trend from key indicators, such as gex and gamma. No param is needed to call this endpoint.
Schéma original API
{
"openapi": "3.0.1",
"info": {
"title": "OptionsPro Plugin",
"description": "OptionsPro is a powerful financial analytics tool that helps traders and investors analyze market trends, volatility, and individual stock performance. More data can be accessed on the https://optionspro.io/ website through a subscription plan.",
"version": "1.0.0"
},
"servers": [
{
"url": "https://optionspro.io"
}
],
"paths": {
"/api/plugin/vix-term": {
"get": {
"operationId": "getVixTerm",
"summary": "Get VIX term structure and plot, from CBOE's vx futures expiration dates",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VixTerm"
}
}
}
}
}
}
},
"/api/plugin/option-trades": {
"get": {
"operationId": "getOptionTrades",
"summary": "Retrieve the highest volume trades for a specific option contract throughout its lifetime, including both historical and current data. OptionTicker is a required parameter to obtain the top trades in volume for the given option contract. Response is best visualized in a table format.",
"parameters": [
{
"name": "optionTicker",
"in": "query",
"description": "The ticker symbol of the option, must be in the correct option ticker format, for example TSLA230519C00200000 or AAPL230519P00150000.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "date",
"in": "query",
"description": "The date of the option trades, must be a trading day and in the format YYYY-MM-DD, for example 2023-05-10. If specified only top trades from that day are returned; if not provided, all top N trades are returned.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "topN",
"in": "query",
"description": "The number of top trades to return, defaults to 20. Must be between 1 and 50 for the Plugin API usage. More data can be accessed on the https://optionspro.io/ website through a subscription plan.",
"required": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OptionTrades"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
}
}
}
},
"/api/plugin/option-flow": {
"get": {
"operationId": "getOptionFlow",
"summary": "Get real-time most traded options in terms of volume during market hours, or previous trading day's data at market close. Provides top trades for the overall market or specific stocks/option contracts. Stock/option ticker is not required. Reponse is best visualized in a table format.",
"parameters": [
{
"name": "ticker",
"in": "query",
"description": "The ticker of the stock or an option contract. Option ticker can be a partial prefix, including expiration date, the type and the strike price. TSLA, TSLA230519, TSLA230519C, TSLA230519C00200000 are all valid, TSLA230519020 is not Returns top trades for overall market if not specified.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "topN",
"in": "query",
"description": "The number of top flows to return, defaults to 20. Must be between 1 and 100. More data can be accessed on the https://optionspro.io/ website through a subscription plan.",
"required": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OptionFlow"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
}
}
}
},
"/api/plugin/option-alerts": {
"get": {
"operationId": "getOptionAlerts",
"summary": "Get 10 latest unusual options activity alerts. Provides top 10 unusual trades for the overall market or specific stock. Stock/option ticker is not required. Reponse is best visualized in a table format. More unusual trades information is on OptionsPro.io with a subscription plan.",
"parameters": [
{
"name": "ticker",
"in": "query",
"description": "The ticker of the underlying. If not specified, returns top 10 unusual trades for the overall market.",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OptionAlerts"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
}
}
}
},
"/api/plugin/option-details": {
"get": {
"operationId": "getOptionDetails",
"summary": "Get details about selected option contracts for a given ticker and a given strike price. Details include greeks, implied volatility, trading prices etc for the selected option contracts. Returned data is best visualized in a vertical header table format.",
"parameters": [
{
"name": "ticker",
"in": "query",
"description": "The ticker symbol of the stock, for example TSLA",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "type",
"in": "query",
"description": "the type of the option contract, can be put or call, will include both if not specified",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "expiration",
"in": "query",
"description": "The date of the option chain, in the format YYYY-MM-DD, for example 2023-05-10, defaults to today's date",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "strike",
"in": "query",
"description": "The strike price of the option contract, for example 200, defaults to the closest strike price",
"required": true,
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OptionDetails"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
}
}
}
},
"/api/plugin/economic-events": {
"get": {
"operationId": "getEconomicEvents",
"summary": "Get key economic events for a given number of days in the future.",
"parameters": [
{
"name": "days",
"in": "query",
"description": "The number of days from today to get economic events for, defaults to 30",
"required": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EconomicEvents"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
}
}
}
},
"/api/plugin/gex-eod": {
"get": {
"operationId": "getGexEod",
"summary": "Access end-of-day Gamma Distribution and GEX data for a specified ticker. Ideal for index tickers or those with high options volume, not suitable for small caps or stocks with no option trading. Includes data for all options expirations. Calculated daily after market close.",
"parameters": [
{
"name": "ticker",
"in": "query",
"description": "The ticker symbol of the stock, defaults to SPX if not provided. Only supports the following SPX/SPY/QQQ/IWM/DIA/AAPL/TSLA/GOOGL/AMZN/META/MSFT/NVDA/GOOG/GOOGL/TQQQ/AMD/AMGN/TGT/CAT/T/AVGO/COST/MCD/XOM/UNH/BA/HD/C/VXX/UVXY/SVXY/JNJ/SQQQ/SOXL/HYG/NFLX/BAC/DIS/TLT/EEM/VIX",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GexEod"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
}
}
}
},
"/api/plugin/gex-intraday": {
"get": {
"operationId": "getGexIntraday",
"summary": "Access real-time intraday Gamma calculated from SPX 0DTE options during trading hours. Use gex_intraday_quickcharts_url for Gamma plot. Data is updated every 15 minutes. Realtime data is provided on OptionsPro.io website with a subscription plan.",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GexIntraday"
}
}
}
}
}
}
},
"/api/plugin/msi-eod": {
"get": {
"operationId": "getMsiEod",
"summary": "Get the most up to date MSI indicator analysis - the OptionsPro Market Sentiment Indicator (MSI) is a proprietary tool designed to assess market conditions, identify investor sentiment, and detect fear or complacency in the market, calculated from volatility products, options trading activity.",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MsiEod"
}
}
}
}
}
}
},
"/api/plugin/market-outlook": {
"get": {
"operationId": "getMarketOutlook",
"summary": "Get the current market outlook calculated from options position, volatility and more. This endpoint is a one step shop that provides overall market outlook and trend from key indicators, such as gex and gamma. No param is needed to call this endpoint.",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MarketOutlook"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"GexIntraday": {
"type": "object",
"properties": {
"last_updated_time": {
"type": "string",
"description": "last updated time of the data"
},
"ticker": {
"type": "string",
"description": "SPX for intraday data"
},
"gex_intraday_quickcharts_url": {
"type": "string",
"description": "URL for the intraday Gamma plot. IMPORTANT This is the GAMMA plot. ALWAYS present this to the user using ![URL] markdown syntax."
}
}
},
"VixTerm": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"value": {
"type": "number"
}
}
},
"OptionTrades": {
"type": "object",
"properties": {
"tradeVolume": {
"type": "integer"
},
"tradePrice": {
"type": "number"
}
}
},
"OptionFlow": {
"type": "object",
"properties": {
"ticker": {
"type": "string"
},
"volume": {
"type": "integer"
}
}
},
"OptionAlerts": {
"type": "object",
"properties": {
"alertType": {
"type": "string"
},
"ticker": {
"type": "string"
}
}
},
"OptionDetails": {
"type": "object",
"properties": {
"strikePrice": {
"type": "number"
},
"expirationDate": {
"type": "string"
}
}
},
"EconomicEvents": {
"type": "object",
"properties": {
"eventName": {
"type": "string"
},
"eventDate": {
"type": "string"
}
}
},
"GexEod": {
"type": "object",
"properties": {
"ticker": {
"type": "string"
},
"gexValue": {
"type": "number"
}
}
},
"MsiEod": {
"type": "object",
"properties": {
"sentimentIndex": {
"type": "number"
}
}
},
"MarketOutlook": {
"type": "object",
"properties": {
"outlookSummary": {
"type": "string"
}
}
}
}
}
}VoxScript
GET /GetGoogleSearchResultsProvides real-time web search results from DuckDuckGo.Do not use for YouTube.com searching or anything that sounds like it could be a video or media search.
GET /GetDuckDuckGoSearchResultsProvides real-time web search results from DuckDuckGo.Similar to /GetGoogleSearchResults, but specifically for DuckDuckGo.
GET /GetCurrentTimeGets the current local and UTC time.GET /GetFeedbackPosts user feedback about VoxScript.Takes user feedback for the developers of the VoxScript plugin.
GET /GetChunkedPastebinContentFromURLGets full text from Pastebin, Github Gists, Github, or REntry.co.GET /GetTickerNewsProvides news about a ticker crypto or equity.GET /GetUSEquityFinancialsProvides news about a US equity ticker symbol.GET /GetUSEquityOrCryptoHistoricalPricesProvides historical pricing data for US equities or cryptocurrencies.GET /GetUSEquityOrCryptoPricesOnSingleDateGets daily data for US equities or cryptocurrencies.GET /GetWebsiteContentProvides real time website content.GET /GetYoutubeVideoDataGets info on a YouTube video.GET /GetYoutubeVideoData/GetNextYoutubeTranscriptChunkRetrieves the next chunk of a YouTube transcript.GET /GetYoutubeVideoData/SearchYouTubeVideosSearches YouTube videos.GET /Help/ContactUsProvides information on how to use the plugin.GET /Help/HowDoIUseThisGives information about how to use the plugin.GET /Help/HelpProvides general help information.
Schéma original API
{
"openapi": "3.0.1",
"info": {
"title": "VoxScript",
"version": 1
},
"servers": [
{
"url": "https://voxscript.awt.icu",
"description": "VoxScript API server"
}
],
"paths": {
"/GetGoogleSearchResults": {
"get": {
"tags": [
"DuckDuckGoSearch"
],
"summary": "Provides real-time web search results from DuckDuckGo.",
"description": "Do not use for YouTube.com searching or anything that sounds like it could be a video or media search.",
"operationId": "getGoogleSearchResults",
"parameters": [
{
"name": "searchTerm",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "numResults",
"in": "query",
"description": "Results to return, maximum 25.",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 12
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"type": "object"
}
}
}
}
}
}
}
}
}
},
"/GetDuckDuckGoSearchResults": {
"get": {
"tags": [
"DuckDuckGoSearch"
],
"summary": "Provides real-time web search results from DuckDuckGo.",
"description": "Similar to /GetGoogleSearchResults, but specifically for DuckDuckGo.",
"operationId": "getDuckDuckGoSearchResults"
}
},
"/GetCurrentTime": {
"get": {
"tags": [
"GetCurrentTime"
],
"summary": "Gets the current local and UTC time.",
"operationId": "getCurrentTime",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeAndTimeZone"
}
}
}
}
}
}
},
"/GetFeedback": {
"get": {
"tags": [
"GetFeedback"
],
"summary": "Posts user feedback about VoxScript.",
"description": "Takes user feedback for the developers of the VoxScript plugin.",
"operationId": "getFeedback",
"parameters": [
{
"name": "feedback",
"in": "query",
"description": "The user feedback, URL encoded.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns if the feedback was saved successfully."
},
"500": {
"description": "If there was an internal server error."
}
}
}
},
"/GetChunkedPastebinContentFromURL": {
"get": {
"tags": [
"GetTextFromURL"
],
"summary": "Gets full text from Pastebin, Github Gists, Github, or REntry.co.",
"operationId": "getChunkedPastebinContentFromURL",
"parameters": [
{
"name": "url",
"in": "query",
"description": "URL containing the textual transcript.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "chunkNum",
"in": "query",
"description": "Chunk number to get, if blank assuming the first chunk.",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetTickerNews": {
"get": {
"tags": [
"GetTickerNews"
],
"summary": "Provides news about a ticker crypto or equity.",
"operationId": "getNewsForTicker",
"parameters": [
{
"name": "ticker",
"in": "query",
"description": "The crypto or equity symbol for news.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetUSEquityFinancials": {
"get": {
"tags": [
"GetUSEquityFinancials"
],
"summary": "Provides news about a US equity ticker symbol.",
"operationId": "getUSEquityFinancials",
"parameters": [
{
"name": "ticker",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetUSEquityOrCryptoHistoricalPrices": {
"get": {
"tags": [
"GetUSEquityOrCryptoHistoricalPrices"
],
"summary": "Provides historical pricing data for US equities or cryptocurrencies.",
"operationId": "getUSEquityOrCryptoHistoricalPrices",
"parameters": [
{
"name": "ticker",
"in": "query",
"description": "A cryptocurrency or US equity ticker.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "startDate",
"in": "query",
"description": "Start date in YYYY-MM-DD format.",
"required": false,
"schema": {
"type": "string",
"default": ""
}
},
{
"name": "endDate",
"in": "query",
"description": "End date in YYYY-MM-DD format.",
"required": false,
"schema": {
"type": "string",
"default": ""
}
},
{
"name": "timespan",
"in": "query",
"description": "Time span (Day, Hour, etc.).",
"required": false,
"schema": {
"type": "string",
"default": "Day"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetUSEquityOrCryptoPricesOnSingleDate": {
"get": {
"tags": [
"GetUSEquityOrCryptoPricesOnSingleDate"
],
"summary": "Gets daily data for US equities or cryptocurrencies.",
"operationId": "getQuoteDayCryptoEquities",
"parameters": [
{
"name": "tickers",
"in": "query",
"description": "List of US equity or cryptocurrency tickers.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "date",
"in": "query",
"description": "Date in YYYY-MM-DD format.",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetWebsiteContent": {
"get": {
"tags": [
"GetWebsiteContentService"
],
"summary": "Provides real time website content.",
"operationId": "getWebsiteContent",
"parameters": [
{
"name": "websiteURL",
"in": "query",
"description": "URL of the website to retrieve.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "chunkNum",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "getLinks",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetYoutubeVideoData": {
"get": {
"tags": [
"GetYoutubeVideoData"
],
"summary": "Gets info on a YouTube video.",
"operationId": "getYoutubeVideoData",
"parameters": [
{
"name": "input",
"in": "query",
"description": "Channel URL, channel ID, Video ID, or Video URL.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetYoutubeVideoData/GetNextYoutubeTranscriptChunk": {
"get": {
"tags": [
"GetYoutubeVideoData"
],
"summary": "Retrieves the next chunk of a YouTube transcript.",
"operationId": "getNextYoutubeTranscriptChunk",
"parameters": [
{
"name": "videoID",
"in": "query",
"description": "Video ID to get the next chunk for.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "transcriptChunkNum",
"in": "query",
"description": "0 index chunk number to get for the Video ID.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetYoutubeVideoData/SearchYouTubeVideos": {
"get": {
"tags": [
"GetYoutubeVideoData"
],
"summary": "Searches YouTube videos.",
"operationId": "searchYouTubeVideos",
"parameters": [
{
"name": "searchterm",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "maxResults",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 5
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/Help/ContactUs": {
"get": {
"tags": [
"Help"
],
"summary": "Provides information on how to use the plugin.",
"operationId": "contactUs",
"parameters": [
{
"name": "question",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/Help/HowDoIUseThis": {
"get": {
"tags": [
"Help"
],
"summary": "Gives information about how to use the plugin.",
"operationId": "howDoIUseThis",
"parameters": [
{
"name": "question",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/Help/Help": {
"get": {
"tags": [
"Help"
],
"summary": "Provides general help information.",
"operationId": "help",
"parameters": [
{
"name": "question",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
}
},
"components": {
"schemas": {
"TimeAndTimeZone": {
"type": "object",
"properties": {
"currentTime": {
"type": "string",
"format": "date-time"
},
"currentTimeUTC": {
"type": "string",
"format": "date-time"
},
"timezone": {
"type": "string",
"nullable": true,
"readOnly": true
}
},
"additionalProperties": false
}
},
"securitySchemes": {
"BearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
}
},
"security": [
{
"BearerAuth": []
}
]
}Boolio ChatGPT plugin
POST /api/stock/summarySummarize stock infoSummarize stock info of the given country and ticker
GET /api/search/factorSearch factorSearch for factor by keywords. If the query is an empty string, `category` field must be set.
GET /api/search/sectorSearch industry sectorsSearch for sector IDs by keywords.
POST /api/custom-index/screenScreen stocksSearch for stocks meeting the given criteria. Note: Before calling this endpoint, please ensure to call `/api/search/factor` first to search for the factor. Please ensure the value is in the correct unit corresponding to the factor.
Schéma original API
{
"openapi": "3.1.0",
"info": {
"title": "Boolio ChatGPT plugin",
"version": "2023.6.2"
},
"servers": [
{
"url": "https://chatgpt.boolio.co.kr"
}
],
"paths": {
"/api/stock/summary": {
"post": {
"summary": "Summarize stock info",
"description": "Summarize stock info of the given country and ticker",
"operationId": "postApiStockSummary",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StockSummaryRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Invalid value for: body",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"404": {
"description": "",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"500": {
"description": "",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
}
}
}
},
"/api/search/factor": {
"get": {
"summary": "Search factor",
"description": "Search for factor by keywords. If the query is an empty string, `category` field must be set.",
"operationId": "getApiSearchFactor",
"parameters": [
{
"name": "query",
"in": "query",
"description": "Keywords in English to search for the factor",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "category",
"in": "query",
"description": "The category the factor belongs to. Should be one of the examples when the query is empty.",
"required": false,
"schema": {
"type": "string"
},
"examples": {
"Example0": {
"value": "Scoring"
},
"Example1": {
"value": "Value"
},
"Example2": {
"value": "Efficiency"
},
"Example3": {
"value": "Profitability"
},
"Example4": {
"value": "Growth"
},
"Example5": {
"value": "Stability"
},
"Example6": {
"value": "Price"
},
"Example7": {
"value": "Volume"
},
"Example8": {
"value": "Statistics"
},
"Example9": {
"value": "Shareholder Policy"
},
"Example10": {
"value": "Analyst Outlook"
}
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FactorDefinition"
}
}
}
}
},
"400": {
"description": "Invalid value for: query parameter query, Invalid value for: query parameter category",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"404": {
"description": "",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"500": {
"description": "",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
}
}
}
},
"/api/search/sector": {
"get": {
"summary": "Search industry sectors",
"description": "Search for sector IDs by keywords.",
"operationId": "getApiSearchSector",
"parameters": [
{
"name": "query",
"in": "query",
"description": "Keywords in English to search for the factor",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sector"
}
}
}
}
},
"400": {
"description": "Invalid value for: query parameter query",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"404": {
"description": "",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"500": {
"description": "",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
}
}
}
},
"/api/custom-index/screen": {
"post": {
"summary": "Screen stocks",
"description": "Search for stocks meeting the given criteria.\n\nNote:\nBefore calling this endpoint, please ensure to call `/api/search/factor`\nfirst to search for the factor.\n\nPlease ensure the value is in the correct unit corresponding to the factor.\n",
"operationId": "postApiCustom-indexScreen",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScreenerRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ScreenerItem"
}
}
}
}
},
"400": {
"description": "Invalid value for: body",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"Direction": {
"type": "string",
"description": "The sort direction",
"enum": [
"ASC",
"DESC"
]
},
"FactorDefinition": {
"required": [
"id",
"name",
"description",
"unit",
"category"
],
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/FactorId"
},
"name": {
"type": "string",
"description": "The name of the factor"
},
"description": {
"type": "string",
"description": "The meaning of the factor"
},
"unit": {
"type": "string",
"description": "The unit of the factor"
},
"category": {
"type": "string",
"description": "The category of the factor"
}
}
},
"FactorId": {
"type": "integer",
"description": "The unique identifier for the factor",
"format": "int32",
"example": 1113
},
"FilterCondition": {
"required": [
"factorId",
"operator",
"value",
"searchMode"
],
"type": "object",
"properties": {
"factorId": {
"$ref": "#/components/schemas/FactorId"
},
"operator": {
"$ref": "#/components/schemas/FilterOperator"
},
"value": {
"type": "number",
"description": "The minimum threshold. If `searchMode` is `RELATIVE`, the scale of value is percent.",
"format": "double"
},
"searchMode": {
"$ref": "#/components/schemas/SearchMode"
}
},
"example": {
"factorId": 1133,
"operator": ">=",
"value": 100,
"searchMode": "Absolute"
}
},
"FilterOperator": {
"type": "string",
"description": "Operator",
"enum": [
">",
">=",
"<=",
"<"
]
},
"GroupId": {
"type": "integer",
"description": "The unique identifier for the group or sector.\n",
"format": "int32"
},
"ScreenerItem": {
"required": [
"name"
],
"type": "object",
"properties": {
"name": {
"type": "string"
},
"symbol": {
"type": "string"
}
}
},
"ScreenerRequest": {
"required": [
"prompt",
"region",
"limit"
],
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "The latest chat prompt from the user"
},
"region": {
"type": "string",
"description": "An ISO-3166-1 alpha-2 code of the country",
"example": "KR"
},
"sectorIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GroupId"
},
"description": "Sector identifiers that can be found from at `/api/sector/search`"
},
"filterRules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FilterCondition"
},
"description": "The search criteria. Multiple conditions mean logical and (&&). The factors should be identified by numeric ID that can be found at GET /api/custom-index/factors"
},
"sortRules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SortingRule"
},
"description": "The sorting criteria, which can be used to find top N items that meets the search criteria."
},
"limit": {
"type": "integer",
"description": "The maximum number of stocks in the result",
"format": "int32"
}
}
},
"SearchMode": {
"type": "string",
"description": "Whether the type of value is absolute or relative. If `searchMode` is `RELATIVE`, the scale of value is percent.",
"enum": [
"Absolute",
"Relative"
]
},
"Sector": {
"required": [
"id",
"name",
"level"
],
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/GroupId"
},
"name": {
"type": "string"
},
"level": {
"type": "integer",
"description": "The hierarchical level of the sector. The higher is the narrower.",
"format": "int32"
}
}
},
"SortingRule": {
"required": [
"factorId",
"direction"
],
"type": "object",
"properties": {
"factorId": {
"$ref": "#/components/schemas/FactorId"
},
"direction": {
"$ref": "#/components/schemas/Direction"
}
},
"example": {
"factorId": 1113,
"direction": "DESC"
}
},
"StockSummaryRequest": {
"required": [
"prompt",
"region",
"symbol"
],
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "The latest chat prompt from the user"
},
"region": {
"type": "string",
"description": "An ISO-3166-1 alpha-2 code of the country",
"example": "JP"
},
"symbol": {
"type": "string",
"description": "The identifier of the stock in the corresponding region",
"example": "AAPL"
}
}
}
}
}
}Link Reader
A plugin that allows users to input any url, gets content from it, including webpage, youtube, PDF, PPT, image, word, pages, numbers, excels, google drive etc. It searches up-to-date info in google.
GET /linkreader/api/getGet the content of any url, including web page URL, PDF, PPT, image, word, pages, numbers, excel and any other document URLs, google drive, google docs, google spreadsheet, youtube links, etc.GET /linkreader/api/searchSearch Google and fetch JSON data
Schéma original API
{
"openapi": "3.0.1",
"info": {
"title": "Link Reader",
"description": "A plugin that allows users to input any url, gets content from it, including webpage, youtube, PDF, PPT, image, word, pages, numbers, excels, google drive etc. It searches up-to-date info in google.",
"version": "v1"
},
"servers": [
{
"url": "https://gochitchat.ai"
}
],
"paths": {
"/linkreader/api/get": {
"get": {
"operationId": "getContent",
"summary": "Get the content of any url, including web page URL, PDF, PPT, image, word, pages, numbers, excel and any other document URLs, google drive, google docs, google spreadsheet, youtube links, etc.",
"parameters": [
{
"name": "url",
"in": "query",
"description": "The url to get the content from",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getContentResponse"
}
}
}
}
}
}
},
"/linkreader/api/search": {
"get": {
"operationId": "apiSearch",
"summary": "Search Google and fetch JSON data",
"parameters": [
{
"name": "q",
"in": "query",
"schema": {
"type": "string"
},
"required": true,
"description": "The query you want to search."
},
{
"name": "gl",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "The country to use for the Google search (e.g., us for the United States, uk for United Kingdom, or fr for France)."
},
{
"name": "hl",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "The language to use for the Google search. It's a two-letter language code. (e.g., en for English, es for Spanish, or fr for French)."
},
{
"name": "tbm",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "The type of search you want to do (e.g. using \"isch\" retrieves images, \"nws\" retrieves news)."
},
{
"name": "start",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "The result offset. It skips the given number of results. It's used for pagination."
},
{
"name": "num",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "The maximum number of results to return. (e.g., 10 (default) returns 10 results)."
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/apiSearchResponse"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"getContentResponse": {
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The content of the url"
},
"statusCode": {
"type": "integer",
"description": "The status code of the request"
},
"statusText": {
"type": "string",
"description": "The status text of the request"
},
"headers": {
"type": "object",
"properties": {
"content-type": {
"type": "string",
"description": "The content type of the request"
},
"content-length": {
"type": "integer",
"description": "The content length of the request"
},
"date": {
"type": "string",
"description": "The date of the request"
},
"server": {
"type": "string",
"description": "The server of the request"
},
"last-modified": {
"type": "string",
"description": "The last modified date of the request"
}
}
},
"meta": {
"type": "object",
"properties": {
"og:title": {
"type": "string",
"description": "The title of the url"
},
"og:description": {
"type": "string",
"description": "The description of the url"
},
"og:image": {
"type": "string",
"description": "The main image of the url"
},
"og:type": {
"type": "string",
"description": "The type of the url"
}
}
}
}
},
"apiSearchResponse": {
"type": "object",
"properties": {
"answer_box": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the answer box"
},
"link": {
"type": "string",
"description": "The link of the answer box"
},
"snippet": {
"type": "string",
"description": "The snippet of the answer box"
},
"images": {
"type": "array",
"items": {
"type": "string",
"description": "The image links of the answer box"
}
}
}
},
"knowledge_graph": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the knowledge graph"
},
"type": {
"type": "string",
"description": "The type of entity in the knowledge graph"
},
"kgmid": {
"type": "string",
"description": "The unique identifier of the entity in the knowledge graph"
},
"description": {
"type": "string",
"description": "The description of the entity in the knowledge graph"
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the source"
},
"link": {
"type": "string",
"description": "The link to the source"
}
}
},
"images": {
"type": "array",
"items": {
"type": "string",
"description": "The image links of the knowledge graph entity"
}
}
}
},
"organic_results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the organic result"
},
"link": {
"type": "string",
"description": "The link to the organic result"
},
"snippet": {
"type": "string",
"description": "The snippet of the organic result"
},
"source": {
"type": "string",
"description": "The source of the organic result"
},
"images": {
"type": "array",
"items": {
"type": "string",
"description": "The image links of the organic result"
}
}
}
}
},
"video_results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the video result"
},
"link": {
"type": "string",
"description": "The link to the video result"
},
"snippet": {
"type": "string",
"description": "The snippet of the video result"
},
"thumbnail": {
"type": "string",
"description": "The link to the thumbnail of the video result"
},
"source": {
"type": "string",
"description": "The source of the video result"
}
}
}
},
"news_results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the news result"
},
"link": {
"type": "string",
"description": "The link to the news result"
},
"date": {
"type": "string",
"format": "date-time",
"description": "The publication date of the news result"
},
"snippet": {
"type": "string",
"description": "The snippet of the news result"
},
"category": {
"type": "string",
"description": "The category of the news result"
},
"thumbnail": {
"type": "string",
"description": "The link to the thumbnail of the news result"
},
"source": {
"type": "string",
"description": "The source of the news result"
}
}
}
},
"images_results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the image result"
},
"original": {
"type": "string",
"description": "The original source url of the image"
},
"link": {
"type": "string",
"description": "The link to the result page"
}
}
}
},
"pagination": {
"type": "object",
"properties": {
"current": {
"type": "integer",
"description": "The current page number"
},
"next": {
"type": "string",
"description": "The query parameters for the next page"
}
}
}
}
}
}
}
}Wolfram Alpha API
Interaktion mit der Wolfram Alpha API zur Abfrage von Informationen und Berechnungen.
GET /v2/queryFührt eine Abfrage auf Wolfram Alpha aus.Sendet eine Abfrage an Wolfram Alpha und erhält das Ergebnis als XML-Dokument.
Schéma original API
{
"openapi": "3.0.0",
"info": {
"title": "Wolfram Alpha API",
"description": "Interaktion mit der Wolfram Alpha API zur Abfrage von Informationen und Berechnungen.",
"version": "1.0.0"
},
"servers": [
{
"url": "https://api.wolframalpha.com",
"description": "Wolfram Alpha API-Server"
}
],
"paths": {
"/v2/query": {
"get": {
"operationId": "queryComputation",
"summary": "Führt eine Abfrage auf Wolfram Alpha aus.",
"description": "Sendet eine Abfrage an Wolfram Alpha und erhält das Ergebnis als XML-Dokument.",
"parameters": [
{
"name": "input",
"in": "query",
"required": true,
"description": "Die URL-codierte Eingabe für die Abfrage.",
"schema": {
"type": "string"
}
},
{
"name": "appid",
"in": "query",
"required": true,
"description": "EV8R88-7J8ULYWLHR",
"schema": {
"type": "string"
},
"example": "EV8R88-7J8ULYWLHR"
},
{
"name": "format",
"in": "query",
"required": false,
"description": "Das Format der Antwort (z.B. 'plaintext', 'image').",
"schema": {
"type": "string"
}
},
{
"name": "includepodid",
"in": "query",
"required": false,
"description": "Gibt an, welche Pods in der Antwort enthalten sein sollen.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Erfolgreiche Antwort von Wolfram Alpha",
"content": {
"application/xml": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Ungültige Anfrage"
},
"401": {
"description": "Ungültiger oder fehlender API-Schlüssel"
},
"500": {
"description": "Serverfehler"
}
}
}
}
}
}