A brapi publica um documento OpenAPI 3.1 com todos os endpoints, parâmetros, schemas de resposta e exemplos. Ele é gerado a partir do código das rotas, então não fica defasado em relação à API.
{ "openapi": "3.1.0", "info": { "title": "brapi - API do Mercado Financeiro Brasileiro", "version": "3.0.0", "description": "Acesso instantâneo a dados do mercado financeiro brasileiro e internacional.\n\n**Recursos Principais:**\n\n* **Cotações:** Obtenha valores de cotação e históricos para ações brasileiras, fundos imobiliários (FIIs), BDRs, índices e ETFs.\n* **Criptomoedas:** Consulte cotações e dados históricos de diversas criptomoedas em várias moedas fiduciárias.\n* **Moedas:** Acesse taxas de câmbio entre diferentes moedas.\n* **Dados Fundamentalistas:** Obtenha dados financeiros detalhados de empresas listadas (requer módulos específicos).\n* **Dividendos:** Consulte informações sobre pagamentos de dividendos e JCP.\n* **Inflação:** Acesse índices de inflação históricos para diferentes países.\n\n**SDKs Oficiais:**\n\nRecomendamos o uso de nossas SDKs oficiais para integração mais rápida e robusta:\n\n* **TypeScript/JavaScript:** npm install brapi\n * Tipos completos com IntelliSense\n * Suporte a Node.js e navegador\n * Retry automático e tratamento de erros tipado\n * GitHub: https://github.com/brapi-dev/brapi-typescript\n\n* **Python:** pip install brapi\n * Suporte síncrono e assíncrono (AsyncBrapi)\n * Type hints completos com Pydantic\n * Compatível com Python 3.8+\n * GitHub: https://github.com/brapi-dev/brapi-python\n\n**Vantagens das SDKs:**\n* 60% menos código comparado com requisições manuais\n* Autenticação automática e tratamento de erros\n* Retry inteligente com backoff exponencial\n* Validação de tipos e autocomplete\n* Documentação integrada no editor\n\nUtilize esta API para integrar dados financeiros robustos em suas aplicações, dashboards ou análises.\n\n**Website Oficial:** https://brapi.dev\n**Documentação das SDKs:** https://brapi.dev/docs/sdks\n\n**Versionamento e descontinuação:** Use rotas versionadas em `/api/v2` para novas integrações. A brapi publica mudanças incompatíveis com antecedência. Uma rota descontinuada envia `Deprecation: true` e `Sunset: <HTTP-date>`, além de um link para https://brapi.dev/docs/versioning.", "contact": { "name": "brapi", "url": "https://brapi.dev", "email": "[email protected]" }, "externalDocs": { "description": "Política de versionamento e descontinuação", "url": "https://brapi.dev/versioning.md" }, "x-brapi-versioning": { "strategy": "url", "currentVersion": "v2", "policyUrl": "https://brapi.dev/versioning.md", "deprecationHeaders": [ "Deprecation", "Sunset", "Link" ] }, "license": { "name": "MIT", "url": "https://opensource.org/licenses/MIT" } }, "servers": [ { "url": "https://brapi.dev", "description": "Servidor principal da API brapi" }, { "url": "http://localhost:3001", "description": "Servidor local para desenvolvimento" } ], "tags": [ { "name": "Cotações", "description": "Consulte informações detalhadas sobre ações, BDRs, ETFs e índices brasileiros. Obtenha preços em tempo real, dados fundamentalistas, históricos e dividendos." }, { "name": "Fundos Imobiliários", "description": "Acesse dados completos de FIIs: cotações, indicadores fundamentalistas (P/VP, DY), relatórios gerenciais e histórico de proventos." }, { "name": "Fundos", "description": "Descubra e consulte fundos brasileiros listados e estruturados, incluindo FIIs, FIAGROs, FI-Infra/FIFs, FIDCs e FIPs." }, { "name": "Opções", "description": "Consulte contratos, cadeias EOD negociadas e histórico de opções." }, { "name": "Câmbio", "description": "Monitore taxas de câmbio entre moedas fiduciárias de todo o mundo, com atualizações frequentes e dados históricos." }, { "name": "Macroeconomia", "description": "Acompanhe os principais indicadores macroeconômicos do Brasil, incluindo inflação (IPCA, IGP-M), Taxa Selic, agregados monetários e atividade." }, { "name": "Renda Fixa", "description": "Consulte dados de títulos públicos e outros instrumentos de renda fixa brasileira." }, { "name": "Criptomoedas", "description": "Obtenha cotações em tempo real e dados históricos de criptomoedas, disponíveis em diversas moedas de referência." }, { "name": "Tickers", "description": "Descubra, filtre e valide tickers B3 disponíveis na brapi. Use como camada de identidade antes dos endpoints de dados de mercado." }, { "name": "Conta", "description": "Dados da conta autenticada, como plano atual e uso da janela vigente." }, { "name": "Utilitários", "description": "Ferramentas auxiliares para descobrir ativos disponíveis e verificar a saúde da API." } ], "components": { "securitySchemes": { "Bearer": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT", "description": "Token de API obtido no dashboard em brapi.dev/dashboard" } }, "schemas": { "DatabaseHealth": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "ok", "error" ] }, "latencyMs": { "type": "number", "minimum": 0 }, "error": { "type": "string" } }, "required": [ "status" ], "example": { "status": "ok", "latencyMs": 1 } }, "HealthResponse": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "ok" ] }, "timestamp": { "type": "string", "format": "date-time" }, "uptime": { "type": "number", "minimum": 0 }, "database": { "$ref": "#/components/schemas/DatabaseHealth" } }, "required": [ "status", "timestamp", "uptime" ], "example": { "status": "ok", "timestamp": "2026-02-08T16:25:38.608Z", "uptime": 866.658018047, "database": { "status": "ok", "latencyMs": 1 } } }, "AvailableResponse": { "type": "object", "properties": { "stocks": { "type": "array", "items": { "type": "string" }, "description": "Lista de códigos de ações disponíveis", "example": [ "PETR4", "VALE3", "ITUB4" ] }, "indexes": { "type": "array", "items": { "type": "string" }, "description": "Lista de índices disponíveis", "example": [ "^BVSP", "IFIX.SA" ] } }, "required": [ "stocks", "indexes" ], "example": { "stocks": [ "BBDC4", "GOLL54", "B3SA3", "ITSA4", "COGN3", "ITUB4", "BBAS3", "MGLU3", "VALE3", "PETR4" ], "indexes": [ "^BVSP", "IFIX.SA" ] } }, "ErrorResponse": { "type": "object", "properties": { "error": { "type": "boolean", "enum": [ true ] }, "message": { "type": "string" }, "code": { "type": "string" } }, "required": [ "error", "message" ], "description": "Erro interno do servidor", "example": { "error": true, "message": "Erro interno do servidor", "code": "INTERNAL_SERVER_ERROR" } }, "CryptoCoinSimple": { "type": "object", "properties": { "currency": { "type": "string" }, "currencyRateFromUSD": { "type": "number" }, "coinName": { "type": "string" }, "coinImageUrl": { "type": "string" }, "coin": { "type": "string" }, "regularMarketChange": { "type": "number" }, "regularMarketPrice": { "type": "number" }, "regularMarketChangePercent": { "type": "number" }, "regularMarketDayLow": { "type": "number" }, "regularMarketDayHigh": { "type": "number" }, "regularMarketDayRange": { "type": "string" }, "regularMarketVolume": { "type": "number" }, "marketCap": { "type": "number" }, "regularMarketTime": { "type": "string" }, "usedInterval": { "type": "string" }, "usedRange": { "type": "string" }, "historicalDataPrice": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "integer" }, "open": { "type": "number", "nullable": true }, "high": { "type": "number", "nullable": true }, "low": { "type": "number", "nullable": true }, "close": { "type": "number", "nullable": true }, "volume": { "type": "number", "nullable": true }, "adjustedClose": { "type": "number", "nullable": true } }, "required": [ "date", "open", "high", "low", "close", "volume", "adjustedClose" ] } }, "validRanges": { "type": "array", "items": { "type": "string" } }, "validIntervals": { "type": "array", "items": { "type": "string" } } }, "required": [ "currency", "currencyRateFromUSD", "coinName", "coin", "regularMarketChange", "regularMarketPrice", "regularMarketChangePercent", "regularMarketDayLow", "regularMarketDayHigh", "regularMarketDayRange", "regularMarketVolume", "marketCap", "regularMarketTime" ] }, "CryptoResponseSimple": { "type": "object", "properties": { "coins": { "type": "array", "items": { "$ref": "#/components/schemas/CryptoCoinSimple" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "coins", "requestedAt", "took" ], "example": { "coins": [ { "currency": "BRL", "currencyRateFromUSD": 5.2159, "coinName": "Bitcoin", "coinImageUrl": "https://cdn.jsdelivr.net/gh/spothq/cryptocurrency-icons@master/svg/color/btc.svg", "coin": "BTC", "regularMarketChange": 9553.84, "regularMarketPrice": 371028.28, "regularMarketChangePercent": 2.64, "regularMarketDayLow": 359613.69, "regularMarketDayHigh": 372616.12, "regularMarketDayRange": "359613.69 - 372616.12", "regularMarketVolume": 199263021357.47, "marketCap": 0, "regularMarketTime": "2026-02-08T16:24:00.000Z" } ], "requestedAt": "2026-02-08T16:26:22.155Z", "took": 350 } }, "CryptoAvailableResponse": { "type": "object", "properties": { "coins": { "type": "array", "items": { "type": "string" } } }, "required": [ "coins" ], "example": { "coins": [ "BTC", "ETH", "ADA", "BNB", "USDT", "XRP", "DOGE", "SOL", "USDC", "DOT1", "UNI3", "BCH", "LTC", "LINK", "MATIC", "AVAX" ] } }, "CurrencyQuoteSimple": { "type": "object", "properties": { "fromCurrency": { "type": "string" }, "toCurrency": { "type": "string" }, "name": { "type": "string" }, "high": { "type": "string" }, "low": { "type": "string" }, "bidVariation": { "type": "string" }, "percentageChange": { "type": "string" }, "bidPrice": { "type": "string" }, "askPrice": { "type": "string" }, "updatedAtTimestamp": { "type": "string" }, "updatedAtDate": { "type": "string" } }, "required": [ "fromCurrency", "toCurrency", "name", "high", "low", "bidVariation", "percentageChange", "bidPrice", "askPrice", "updatedAtTimestamp", "updatedAtDate" ] }, "CurrencyResponseSimple": { "type": "object", "properties": { "currency": { "type": "array", "items": { "$ref": "#/components/schemas/CurrencyQuoteSimple" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "currency", "requestedAt", "took" ], "example": { "currency": [ { "fromCurrency": "USD", "toCurrency": "BRL", "name": "Dólar Americano/Real Brasileiro", "high": "5.343", "low": "5.20858", "bidVariation": "-0.0546", "percentageChange": "-1.035958", "bidPrice": "5.2159", "askPrice": "5.2189", "updatedAtTimestamp": "1770415348", "updatedAtDate": "2026-02-06 19:02:28" }, { "fromCurrency": "EUR", "toCurrency": "BRL", "name": "Euro/Real Brasileiro", "high": "6.1915", "low": "6.15764", "bidVariation": "0.03386", "percentageChange": "0.549886", "bidPrice": "6.1915", "askPrice": "6.2415", "updatedAtTimestamp": "1770527911", "updatedAtDate": "2026-02-08 02:18:31" } ], "requestedAt": "2026-02-08T16:26:24.131Z", "took": 27 } }, "CurrencyHistoricalPairResult": { "type": "object", "properties": { "pair": { "type": "string" }, "fromCurrency": { "type": "string" }, "toCurrency": { "type": "string" }, "observations": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string", "example": "2026-04-30" }, "value": { "type": "number", "example": 4.9886 } }, "required": [ "date", "value" ] } } }, "required": [ "pair", "fromCurrency", "toCurrency", "observations" ], "example": { "pair": "USD-BRL", "fromCurrency": "USD", "toCurrency": "BRL", "observations": [ { "date": "2026-04-30", "value": 4.9886 }, { "date": "2026-04-29", "value": 4.9712 }, { "date": "2026-04-28", "value": 4.9854 }, { "date": "2026-04-25", "value": 5.0123 }, { "date": "2026-04-24", "value": 5.0218 } ] } }, "CurrencyHistoricalError": { "type": "object", "properties": { "pair": { "type": "string", "example": "BTC-BRL" }, "code": { "type": "string", "example": "UNSUPPORTED_PAIR" }, "message": { "type": "string", "example": "Par `BTC-BRL` não suportado em /historical. Use /api/v2/crypto para criptomoedas." }, "details": { "type": "object", "additionalProperties": { "nullable": true } } }, "required": [ "pair", "code", "message" ] }, "CurrencyHistoricalResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/CurrencyHistoricalPairResult" } }, "errors": { "type": "array", "items": { "$ref": "#/components/schemas/CurrencyHistoricalError" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "pair": "USD-BRL", "fromCurrency": "USD", "toCurrency": "BRL", "observations": [ { "date": "2026-04-30", "value": 4.9886 }, { "date": "2026-04-29", "value": 4.9712 }, { "date": "2026-04-28", "value": 4.9854 }, { "date": "2026-04-25", "value": 5.0123 }, { "date": "2026-04-24", "value": 5.0218 } ] }, { "pair": "EUR-BRL", "fromCurrency": "EUR", "toCurrency": "BRL", "observations": [ { "date": "2026-04-30", "value": 5.6712 }, { "date": "2026-04-29", "value": 5.6543 }, { "date": "2026-04-28", "value": 5.6789 } ] } ], "requestedAt": "2026-04-30T12:00:00.000Z", "took": 14 } }, "CurrencyAvailableResponse": { "type": "object", "properties": { "currencies": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "currency": { "type": "string" } }, "required": [ "name", "currency" ] } } }, "required": [ "currencies" ], "example": { "currencies": [ { "name": "USD-BRL", "currency": "Dólar Americano/Real Brasileiro" }, { "name": "USD-BRLT", "currency": "Dólar Americano/Real Brasileiro Turismo" }, { "name": "CAD-BRL", "currency": "Dólar Canadense/Real Brasileiro" }, { "name": "EUR-BRL", "currency": "Euro/Real Brasileiro" }, { "name": "GBP-BRL", "currency": "Libra Esterlina/Real Brasileiro" }, { "name": "JPY-BRL", "currency": "Iene Japonês/Real Brasileiro" } ] } }, "DictionaryEntry": { "type": "object", "properties": { "key": { "type": "string" }, "label": { "type": "string" }, "description": { "type": "string" }, "calculation": { "type": "string", "nullable": true }, "endpoints": { "type": "array", "items": { "type": "string" } }, "category": { "type": "string" }, "type": { "type": "string", "enum": [ "number", "string", "boolean", "date", "object", "array" ] }, "unit": { "type": "string", "nullable": true } }, "required": [ "key", "label", "description", "calculation", "endpoints", "category", "type", "unit" ], "example": { "key": "symbol", "label": "Símbolo", "description": "Código de negociação do ativo brasileiro (ex: PETR4, VALE3)", "calculation": null, "endpoints": [ "/api/quote/{tickers}", "/api/quote/list" ], "category": "quote", "type": "string", "unit": null } }, "DictionaryResponse": { "type": "object", "properties": { "fields": { "type": "array", "items": { "$ref": "#/components/schemas/DictionaryEntry" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "fields", "requestedAt", "took" ], "example": { "fields": [ { "key": "symbol", "label": "Símbolo", "description": "Código de negociação do ativo brasileiro (ex: PETR4, VALE3)", "calculation": null, "endpoints": [ "/api/quote/{tickers}", "/api/quote/list" ], "category": "quote", "type": "string", "unit": null }, { "key": "shortName", "label": "Nome Curto", "description": "Nome resumido do ativo", "calculation": null, "endpoints": [ "/api/quote/{tickers}", "/api/quote/list" ], "category": "quote", "type": "string", "unit": null }, { "key": "longName", "label": "Nome Completo", "description": "Nome completo da empresa ou fundo", "calculation": null, "endpoints": [ "/api/quote/{tickers}" ], "category": "quote", "type": "string", "unit": null } ], "requestedAt": "2026-02-08T16:25:35.000Z", "took": 2 } }, "FiiListItem": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "cnpj": { "type": "string", "nullable": true }, "mandate": { "type": "string", "nullable": true }, "segmentoAtuacao": { "type": "string", "nullable": true }, "tipoGestao": { "type": "string", "nullable": true }, "administratorName": { "type": "string", "nullable": true }, "administratorCnpj": { "type": "string", "nullable": true }, "administratorAddress": { "type": "string", "nullable": true }, "administratorAddressNumber": { "type": "string", "nullable": true }, "administratorAddressComplement": { "type": "string", "nullable": true }, "administratorDistrict": { "type": "string", "nullable": true }, "administratorCity": { "type": "string", "nullable": true }, "administratorState": { "type": "string", "nullable": true }, "administratorZipCode": { "type": "string", "nullable": true }, "administratorPhone1": { "type": "string", "nullable": true }, "administratorPhone2": { "type": "string", "nullable": true }, "administratorPhone3": { "type": "string", "nullable": true }, "administratorWebsite": { "type": "string", "nullable": true }, "administratorEmail": { "type": "string", "nullable": true }, "price": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "priceToNav": { "type": "number", "nullable": true }, "dividendYield12m": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "segmentType": { "type": "string", "nullable": true } }, "required": [ "symbol", "name", "cnpj", "mandate", "segmentoAtuacao", "tipoGestao", "administratorName", "administratorCnpj", "administratorAddress", "administratorAddressNumber", "administratorAddressComplement", "administratorDistrict", "administratorCity", "administratorState", "administratorZipCode", "administratorPhone1", "administratorPhone2", "administratorPhone3", "administratorWebsite", "administratorEmail", "price", "navPerShare", "priceToNav", "dividendYield12m", "totalInvestors", "segmentType" ] }, "PaginationMeta": { "type": "object", "properties": { "page": { "type": "number" }, "limit": { "type": "number" }, "totalItems": { "type": "number" }, "totalPages": { "type": "number" }, "hasNextPage": { "type": "boolean" } }, "required": [ "page", "limit", "totalItems", "totalPages", "hasNextPage" ] }, "FiiListResponse": { "type": "object", "properties": { "fiis": { "type": "array", "items": { "$ref": "#/components/schemas/FiiListItem" } }, "pagination": { "$ref": "#/components/schemas/PaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "fiis", "pagination", "requestedAt", "took" ], "example": { "fiis": [ { "symbol": "MXRF11", "name": "FII MAXI RENDA RL", "cnpj": "97521225000125", "mandate": null, "segmentoAtuacao": "Logística", "tipoGestao": "Ativa", "administratorName": "BTG PACTUAL SERVICOS FINANCEIROS S/A DTVM", "administratorCnpj": "59281253000123", "administratorAddress": "Praia de Botafogo", "administratorAddressNumber": "501", "administratorAddressComplement": "6 Andar", "administratorDistrict": "Botafogo", "administratorCity": "Rio de Janeiro", "administratorState": "RJ", "administratorZipCode": "22250040", "administratorPhone1": "55 11 3383-3102", "administratorPhone2": null, "administratorPhone3": null, "administratorWebsite": "www.btgpactual.com", "administratorEmail": "[email protected]", "price": 9.58, "navPerShare": 9.409927, "priceToNav": 1.0180738, "dividendYield12m": 0.12381, "totalInvestors": 1357621, "segmentType": "papel" }, { "symbol": "XPML11", "name": "XP MALLS FII", "cnpj": "28757546000100", "mandate": null, "segmentoAtuacao": "Shoppings", "tipoGestao": "Ativa", "administratorName": "XP INVESTIMENTOS CCTVM S.A.", "administratorCnpj": "02332886000104", "administratorAddress": "Avenida Afranio de Melo Franco", "administratorAddressNumber": "290", "administratorAddressComplement": "Sala 606", "administratorDistrict": "Leblon", "administratorCity": "Rio de Janeiro", "administratorState": "RJ", "administratorZipCode": "22430060", "administratorPhone1": "55 21 3265-3700", "administratorPhone2": null, "administratorPhone3": null, "administratorWebsite": "www.xpi.com.br", "administratorEmail": "[email protected]", "price": 110.37, "navPerShare": 108.160446, "priceToNav": 1.0204285, "dividendYield12m": 0.100098, "totalInvestors": 633076, "segmentType": "tijolo" } ], "pagination": { "page": 1, "limit": 2, "totalItems": 1545, "totalPages": 773, "hasNextPage": true }, "requestedAt": "2026-02-08T16:26:20.498Z", "took": 4 } }, "FiiIndicator": { "type": "object", "properties": { "symbol": { "type": "string" }, "asOfDate": { "type": "string", "nullable": true }, "price": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "priceToNav": { "type": "number", "nullable": true }, "dividendYield12m": { "type": "number", "nullable": true }, "dividendYield1m": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "sharesOutstanding": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "segmentType": { "type": "string", "nullable": true } }, "required": [ "symbol", "asOfDate", "price", "navPerShare", "priceToNav", "dividendYield12m", "dividendYield1m", "monthlyReturn", "totalInvestors", "sharesOutstanding", "equity", "totalAssets", "segmentType" ] }, "FiiIndicatorWithInfo": { "allOf": [ { "$ref": "#/components/schemas/FiiIndicator" }, { "type": "object", "properties": { "name": { "type": "string", "nullable": true }, "cnpj": { "type": "string", "nullable": true }, "mandate": { "type": "string", "nullable": true }, "segmentoAtuacao": { "type": "string", "nullable": true }, "tipoGestao": { "type": "string", "nullable": true }, "administratorName": { "type": "string", "nullable": true }, "administratorCnpj": { "type": "string", "nullable": true }, "administratorAddress": { "type": "string", "nullable": true }, "administratorAddressNumber": { "type": "string", "nullable": true }, "administratorAddressComplement": { "type": "string", "nullable": true }, "administratorDistrict": { "type": "string", "nullable": true }, "administratorCity": { "type": "string", "nullable": true }, "administratorState": { "type": "string", "nullable": true }, "administratorZipCode": { "type": "string", "nullable": true }, "administratorPhone1": { "type": "string", "nullable": true }, "administratorPhone2": { "type": "string", "nullable": true }, "administratorPhone3": { "type": "string", "nullable": true }, "administratorWebsite": { "type": "string", "nullable": true }, "administratorEmail": { "type": "string", "nullable": true } }, "required": [ "name", "cnpj", "mandate", "segmentoAtuacao", "tipoGestao", "administratorName", "administratorCnpj", "administratorAddress", "administratorAddressNumber", "administratorAddressComplement", "administratorDistrict", "administratorCity", "administratorState", "administratorZipCode", "administratorPhone1", "administratorPhone2", "administratorPhone3", "administratorWebsite", "administratorEmail" ] } ] }, "FiiIndicatorsResponse": { "type": "object", "properties": { "fiis": { "type": "array", "items": { "$ref": "#/components/schemas/FiiIndicatorWithInfo" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "fiis", "requestedAt", "took" ], "example": { "fiis": [ { "symbol": "MXRF11", "asOfDate": "2025-12-01 00:00:00+00", "price": 9.58, "navPerShare": 9.409927, "priceToNav": 1.0180738, "dividendYield12m": 0.12381, "dividendYield1m": 0.009328, "monthlyReturn": 0.007876, "totalInvestors": 1357621, "sharesOutstanding": 460269540, "equity": 4331102700, "totalAssets": 4375755000, "segmentType": "papel", "name": "FII MAXI RENDA RL", "cnpj": "97521225000125", "mandate": null, "segmentoAtuacao": "Logística", "tipoGestao": "Ativa", "administratorName": "BTG PACTUAL SERVICOS FINANCEIROS S/A DTVM", "administratorCnpj": "59281253000123", "administratorAddress": "Praia de Botafogo", "administratorAddressNumber": "501", "administratorAddressComplement": "6 Andar", "administratorDistrict": "Botafogo", "administratorCity": "Rio de Janeiro", "administratorState": "RJ", "administratorZipCode": "22250040", "administratorPhone1": "55 11 3383-3102", "administratorPhone2": null, "administratorPhone3": null, "administratorWebsite": "www.btgpactual.com", "administratorEmail": "[email protected]" } ], "requestedAt": "2026-02-08T16:25:18.077Z", "took": 47 } }, "FiiIndicatorHistoryEntry": { "type": "object", "properties": { "symbol": { "type": "string" }, "referenceDate": { "type": "string" }, "price": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "priceToNav": { "type": "number", "nullable": true }, "dividendYield12m": { "type": "number", "nullable": true }, "dividendYield1m": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "sharesOutstanding": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "segmentType": { "type": "string", "nullable": true } }, "required": [ "symbol", "referenceDate", "price", "navPerShare", "priceToNav", "dividendYield12m", "dividendYield1m", "monthlyReturn", "totalInvestors", "sharesOutstanding", "equity", "totalAssets", "segmentType" ] }, "FiiIndicatorsHistoryResponse": { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FiiIndicatorHistoryEntry" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "history", "requestedAt", "took" ], "example": { "history": [ { "symbol": "MXRF11", "referenceDate": "2025-12-01 00:00:00+00", "price": 9.411791, "navPerShare": 9.409927, "priceToNav": 1.0001981, "dividendYield12m": 0.12381, "dividendYield1m": 0.009328, "monthlyReturn": 0.007876, "totalInvestors": 1357621, "sharesOutstanding": 460269540, "equity": 4331102700, "totalAssets": 4375755000, "segmentType": "papel" }, { "symbol": "MXRF11", "referenceDate": "2025-11-01 00:00:00+00", "price": 9.463164, "navPerShare": 9.42361, "priceToNav": 1.0041974, "dividendYield12m": 0.125273, "dividendYield1m": 0.010665, "monthlyReturn": 0.010727, "totalInvestors": 1339326, "sharesOutstanding": 460269540, "equity": 4337401000, "totalAssets": 4386052600, "segmentType": "papel" } ], "requestedAt": "2026-02-08T16:25:20.123Z", "took": 12 } }, "FiiHistoricalPrice": { "type": "object", "properties": { "date": { "type": "integer" }, "open": { "type": "number", "nullable": true }, "high": { "type": "number", "nullable": true }, "low": { "type": "number", "nullable": true }, "close": { "type": "number", "nullable": true }, "volume": { "type": "number", "nullable": true }, "adjustedClose": { "type": "number", "nullable": true } }, "required": [ "date", "open", "high", "low", "close", "volume", "adjustedClose" ] }, "FiiHistoricalSeries": { "type": "object", "properties": { "symbol": { "type": "string" }, "historicalDataPrice": { "type": "array", "items": { "$ref": "#/components/schemas/FiiHistoricalPrice" } } }, "required": [ "symbol", "historicalDataPrice" ] }, "FiiHistoricalResponse": { "type": "object", "properties": { "fiis": { "type": "array", "items": { "$ref": "#/components/schemas/FiiHistoricalSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "fiis", "requestedAt", "took" ], "example": { "fiis": [ { "symbol": "MXRF11", "historicalDataPrice": [ { "date": 1736478000, "open": 9.33, "high": 9.37, "low": 9.3, "close": 9.35, "volume": 1027483, "adjustedClose": 8.3454485 }, { "date": 1736391600, "open": 9.42, "high": 9.44, "low": 9.29, "close": 9.33, "volume": 1203345, "adjustedClose": 8.327598 }, { "date": 1736305200, "open": 9.44, "high": 9.47, "low": 9.34, "close": 9.42, "volume": 1558708, "adjustedClose": 8.407928 } ] } ], "requestedAt": "2026-02-08T16:25:22.456Z", "took": 8 } }, "FiiPropertySummary": { "type": "object", "properties": { "count": { "type": "number" }, "totalArea": { "type": "number", "nullable": true }, "vacancyRate": { "type": "number", "nullable": true }, "averageVacancyRate": { "type": "number", "nullable": true }, "propertiesWithVacancy": { "type": "number" } }, "required": [ "count", "totalArea", "vacancyRate", "averageVacancyRate", "propertiesWithVacancy" ] }, "FiiPortfolioSummary": { "type": "object", "properties": { "totalItems": { "type": "number" }, "declaredValue": { "type": "number", "nullable": true }, "properties": { "$ref": "#/components/schemas/FiiPropertySummary" }, "financialAssets": { "type": "object", "properties": { "count": { "type": "number" }, "declaredValue": { "type": "number", "nullable": true } }, "required": [ "count", "declaredValue" ] }, "lands": { "type": "object", "properties": { "count": { "type": "number" }, "totalArea": { "type": "number", "nullable": true } }, "required": [ "count", "totalArea" ] }, "rights": { "type": "object", "properties": { "count": { "type": "number" }, "declaredValue": { "type": "number", "nullable": true } }, "required": [ "count", "declaredValue" ] } }, "required": [ "totalItems", "declaredValue", "properties", "financialAssets", "lands", "rights" ] }, "FiiPortfolioAllocation": { "type": "object", "properties": { "assetClass": { "type": "string" }, "count": { "type": "number" }, "value": { "type": "number", "nullable": true } }, "required": [ "assetClass", "count", "value" ] }, "FiiProperty": { "type": "object", "properties": { "name": { "type": "string" }, "identifier": { "type": "string", "nullable": true }, "address": { "type": "string", "nullable": true }, "propertyClass": { "type": "string", "nullable": true }, "area": { "type": "number", "nullable": true }, "unitCount": { "type": "number", "nullable": true }, "vacancyRate": { "type": "number", "nullable": true }, "delinquencyRate": { "type": "number", "nullable": true }, "revenueShare": { "type": "number", "nullable": true }, "leasedRate": { "type": "number", "nullable": true }, "soldRate": { "type": "number", "nullable": true }, "constructionProgressActual": { "type": "number", "nullable": true }, "constructionProgressExpected": { "type": "number", "nullable": true }, "constructionCostActual": { "type": "number", "nullable": true }, "constructionCostExpected": { "type": "number", "nullable": true }, "investedShare": { "type": "number", "nullable": true }, "confidential": { "type": "boolean" } }, "required": [ "name", "identifier", "address", "propertyClass", "area", "unitCount", "vacancyRate", "delinquencyRate", "revenueShare", "leasedRate", "soldRate", "constructionProgressActual", "constructionProgressExpected", "constructionCostActual", "constructionCostExpected", "investedShare", "confidential" ] }, "FiiFinancialAsset": { "type": "object", "properties": { "assetClass": { "type": "string" }, "name": { "type": "string" }, "issuer": { "type": "string", "nullable": true }, "issuerCnpj": { "type": "string", "nullable": true }, "identifier": { "type": "string", "nullable": true }, "quantity": { "type": "number", "nullable": true }, "value": { "type": "number", "nullable": true }, "issue": { "type": "string", "nullable": true }, "series": { "type": "string", "nullable": true }, "ticker": { "type": "string", "nullable": true }, "maturityDate": { "type": "string", "nullable": true }, "confidential": { "type": "boolean" } }, "required": [ "assetClass", "name", "issuer", "issuerCnpj", "identifier", "quantity", "value", "issue", "series", "ticker", "maturityDate", "confidential" ] }, "FiiLand": { "type": "object", "properties": { "name": { "type": "string" }, "identifier": { "type": "string", "nullable": true }, "address": { "type": "string", "nullable": true }, "area": { "type": "number", "nullable": true }, "investedShare": { "type": "number", "nullable": true }, "equityShare": { "type": "number", "nullable": true }, "confidential": { "type": "boolean" } }, "required": [ "name", "identifier", "address", "area", "investedShare", "equityShare", "confidential" ] }, "FiiRight": { "type": "object", "properties": { "name": { "type": "string" }, "identifier": { "type": "string", "nullable": true }, "value": { "type": "number", "nullable": true }, "description": { "type": "string", "nullable": true }, "confidential": { "type": "boolean" } }, "required": [ "name", "identifier", "value", "description", "confidential" ] }, "FiiPortfolio": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "summary": { "$ref": "#/components/schemas/FiiPortfolioSummary" }, "allocations": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPortfolioAllocation" } }, "properties": { "type": "array", "items": { "$ref": "#/components/schemas/FiiProperty" } }, "financialAssets": { "type": "array", "items": { "$ref": "#/components/schemas/FiiFinancialAsset" } }, "fundHoldings": { "type": "array", "items": { "$ref": "#/components/schemas/FiiFinancialAsset" } }, "lands": { "type": "array", "items": { "$ref": "#/components/schemas/FiiLand" } }, "rights": { "type": "array", "items": { "$ref": "#/components/schemas/FiiRight" } } }, "required": [ "symbol", "cnpj", "referenceDate", "version", "summary", "allocations", "properties", "financialAssets", "fundHoldings", "lands", "rights" ] }, "FiiPortfolioResponse": { "type": "object", "properties": { "fiis": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPortfolio" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "fiis", "requestedAt", "took" ], "example": { "fiis": [ { "symbol": "HGLG11", "cnpj": "11728688000147", "referenceDate": "2026-03-31", "version": 2, "summary": { "totalItems": 40, "declaredValue": 3349501.49, "properties": { "count": 37, "totalArea": 2066028.32, "vacancyRate": 0.032785, "averageVacancyRate": 0.03787, "propertiesWithVacancy": 37 }, "financialAssets": { "count": 3, "declaredValue": 3349501.49 }, "lands": { "count": 0, "totalArea": null }, "rights": { "count": 0, "declaredValue": null } }, "allocations": [ { "assetClass": "real_estate", "count": 37, "value": null }, { "assetClass": "cri", "count": 3, "value": 3349501.49 } ], "properties": [ { "name": "DCR", "identifier": "925452ac11b478196d767981dee8ecaf", "address": "Av. Hélio Ossamu Daikuara, nº 1.445, Jardim Vista Alegre, Embu das Artes", "propertyClass": "Imóveis para renda acabados", "area": 77587.2, "unitCount": 1, "vacancyRate": 0.135305823641013, "delinquencyRate": 0, "revenueShare": 0.0398709781486898, "leasedRate": null, "soldRate": null, "constructionProgressActual": null, "constructionProgressExpected": null, "constructionCostActual": null, "constructionCostExpected": null, "investedShare": null, "confidential": false } ], "financialAssets": [ { "assetClass": "cri", "name": "VIRGO COMPANHIA DE SECURITIZAÇÃO", "issuer": "VIRGO COMPANHIA DE SECURITIZAÇÃO", "issuerCnpj": "08769451000108", "identifier": "8d612f6e7e4fb1da2d668f07c4f91420", "quantity": 35, "value": 3349501.49, "issue": "4", "series": "124", "ticker": null, "maturityDate": null, "confidential": false } ], "fundHoldings": [], "lands": [], "rights": [] } ], "requestedAt": "2026-02-08T16:25:24.456Z", "took": 8 } }, "FiiPropertiesResult": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "summary": { "$ref": "#/components/schemas/FiiPropertySummary" }, "properties": { "type": "array", "items": { "$ref": "#/components/schemas/FiiProperty" } } }, "required": [ "symbol", "cnpj", "referenceDate", "version", "summary", "properties" ] }, "FiiPropertiesResponse": { "type": "object", "properties": { "fiis": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPropertiesResult" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "fiis", "requestedAt", "took" ], "example": { "fiis": [ { "symbol": "HGLG11", "cnpj": "11728688000147", "referenceDate": "2026-03-31", "version": 2, "summary": { "count": 37, "totalArea": 2066028.32, "vacancyRate": 0.032785, "averageVacancyRate": 0.03787, "propertiesWithVacancy": 37 }, "properties": [ { "name": "São José dos Campos", "identifier": "322fab9c7769a894ed2736a77d73d9d1", "address": "Rua Ambrósio Molina, 1090/1100, São José dos Campos, SP", "propertyClass": "Imóveis para renda acabados", "area": 72487.36, "unitCount": 1, "vacancyRate": 0.248282735086503, "delinquencyRate": 0, "revenueShare": 0.0241721159147739, "leasedRate": null, "soldRate": null, "constructionProgressActual": null, "constructionProgressExpected": null, "constructionCostActual": null, "constructionCostExpected": null, "investedShare": null, "confidential": false } ] } ], "requestedAt": "2026-02-08T16:25:24.456Z", "took": 8 } }, "FiiPropertiesHistoryEntry": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "summary": { "$ref": "#/components/schemas/FiiPropertySummary" } }, "required": [ "symbol", "cnpj", "referenceDate", "version", "summary" ] }, "FiiPropertiesHistoryResponse": { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPropertiesHistoryEntry" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "history", "requestedAt", "took" ], "example": { "history": [ { "symbol": "HGLG11", "cnpj": "11728688000147", "referenceDate": "2026-03-31", "version": 2, "summary": { "count": 37, "totalArea": 2066028.32, "vacancyRate": 0.032785, "averageVacancyRate": 0.03787, "propertiesWithVacancy": 37 } }, { "symbol": "HGLG11", "cnpj": "11728688000147", "referenceDate": "2025-12-31", "version": 2, "summary": { "count": 28, "totalArea": 1628383.15, "vacancyRate": 0.029088, "averageVacancyRate": 0.04282, "propertiesWithVacancy": 28 } } ], "requestedAt": "2026-02-08T16:25:26.456Z", "took": 6 } }, "FiiPortfolioHistoryEntry": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "summary": { "$ref": "#/components/schemas/FiiPortfolioSummary" }, "allocations": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPortfolioAllocation" } } }, "required": [ "symbol", "cnpj", "referenceDate", "version", "summary", "allocations" ] }, "FiiPortfolioHistoryResponse": { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPortfolioHistoryEntry" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "history", "requestedAt", "took" ], "example": { "history": [ { "symbol": "HGLG11", "cnpj": "11728688000147", "referenceDate": "2026-03-31", "version": 2, "summary": { "totalItems": 57, "declaredValue": 1256045042.52, "properties": { "count": 37, "totalArea": 2066028.32, "vacancyRate": 0.032785, "averageVacancyRate": 0.03787, "propertiesWithVacancy": 37 }, "financialAssets": { "count": 20, "declaredValue": 1256045042.52 }, "lands": { "count": 0, "totalArea": null }, "rights": { "count": 0, "declaredValue": null } }, "allocations": [ { "assetClass": "cri", "count": 1, "value": 106876.54 }, { "assetClass": "fii", "count": 8, "value": 232510079.3 }, { "assetClass": "real_estate_company", "count": 11, "value": 1023428086.68 }, { "assetClass": "real_estate", "count": 37, "value": null } ] } ], "requestedAt": "2026-02-08T16:25:27.456Z", "took": 7 } }, "FiiMonthlyReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "administratorName": { "type": "string", "nullable": true }, "administratorCnpj": { "type": "string", "nullable": true }, "administratorAddress": { "type": "string", "nullable": true }, "administratorAddressNumber": { "type": "string", "nullable": true }, "administratorAddressComplement": { "type": "string", "nullable": true }, "administratorDistrict": { "type": "string", "nullable": true }, "administratorCity": { "type": "string", "nullable": true }, "administratorState": { "type": "string", "nullable": true }, "administratorZipCode": { "type": "string", "nullable": true }, "administratorPhone1": { "type": "string", "nullable": true }, "administratorPhone2": { "type": "string", "nullable": true }, "administratorPhone3": { "type": "string", "nullable": true }, "administratorWebsite": { "type": "string", "nullable": true }, "administratorEmail": { "type": "string", "nullable": true }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "totalAssets": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "sharesOutstanding": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "adminFeeRate": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true }, "monthlyPatrimonialReturn": { "type": "number", "nullable": true }, "monthlyDividendYield": { "type": "number", "nullable": true }, "amortizationRate": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "cash": { "type": "number", "nullable": true }, "liquidityNeeds": { "type": "number", "nullable": true }, "governmentBonds": { "type": "number", "nullable": true }, "privateBonds": { "type": "number", "nullable": true }, "fixedIncomeFunds": { "type": "number", "nullable": true }, "totalInvested": { "type": "number", "nullable": true }, "realEstateAssets": { "type": "number", "nullable": true }, "realEstateCompanyShares": { "type": "number", "nullable": true }, "realEstateCompanyUnits": { "type": "number", "nullable": true }, "cri": { "type": "number", "nullable": true }, "lci": { "type": "number", "nullable": true }, "fiiHoldings": { "type": "number", "nullable": true }, "receivables": { "type": "number", "nullable": true }, "rentalReceivables": { "type": "number", "nullable": true }, "otherReceivables": { "type": "number", "nullable": true }, "distributionsPayable": { "type": "number", "nullable": true }, "adminFeesPayable": { "type": "number", "nullable": true }, "realEstateObligations": { "type": "number", "nullable": true }, "totalLiabilities": { "type": "number", "nullable": true } }, "required": [ "symbol", "name", "cnpj", "administratorName", "administratorCnpj", "administratorAddress", "administratorAddressNumber", "administratorAddressComplement", "administratorDistrict", "administratorCity", "administratorState", "administratorZipCode", "administratorPhone1", "administratorPhone2", "administratorPhone3", "administratorWebsite", "administratorEmail", "referenceDate", "version", "totalAssets", "equity", "sharesOutstanding", "navPerShare", "adminFeeRate", "monthlyReturn", "monthlyPatrimonialReturn", "monthlyDividendYield", "amortizationRate", "totalInvestors", "cash", "liquidityNeeds", "governmentBonds", "privateBonds", "fixedIncomeFunds", "totalInvested", "realEstateAssets", "realEstateCompanyShares", "realEstateCompanyUnits", "cri", "lci", "fiiHoldings", "receivables", "rentalReceivables", "otherReceivables", "distributionsPayable", "adminFeesPayable", "realEstateObligations", "totalLiabilities" ] }, "FiiReportsResponse": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/FiiMonthlyReport" } }, "pagination": { "$ref": "#/components/schemas/PaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "reports", "pagination", "requestedAt", "took" ], "example": { "reports": [ { "symbol": "MXRF11", "name": null, "cnpj": "97521225000125", "administratorName": "BTG PACTUAL SERVICOS FINANCEIROS S/A DTVM", "administratorCnpj": "59281253000123", "administratorAddress": "Praia de Botafogo", "administratorAddressNumber": "501", "administratorAddressComplement": "6 Andar", "administratorDistrict": "Botafogo", "administratorCity": "Rio de Janeiro", "administratorState": "RJ", "administratorZipCode": "22250040", "administratorPhone1": "55 11 3383-3102", "administratorPhone2": null, "administratorPhone3": null, "administratorWebsite": "www.btgpactual.com", "administratorEmail": "[email protected]", "referenceDate": "2025-12-01 00:00:00+00", "version": 2, "totalAssets": 4375755000, "equity": 4331102700, "sharesOutstanding": 460269540, "navPerShare": 9.409927, "adminFeeRate": 0.000753, "monthlyReturn": 0.007876, "monthlyPatrimonialReturn": -0.001452, "monthlyDividendYield": 0.009328, "amortizationRate": 0, "totalInvestors": 1357621, "cash": 0, "liquidityNeeds": 24506374, "governmentBonds": 0, "privateBonds": 0, "fixedIncomeFunds": 24506374, "totalInvested": 4326274600, "realEstateAssets": 9147060, "realEstateCompanyShares": 0, "realEstateCompanyUnits": 0, "cri": 3354012400, "lci": 0, "fiiHoldings": 538337660, "receivables": 24973770, "rentalReceivables": 0, "otherReceivables": 24973770, "distributionsPayable": 41155660, "adminFeesPayable": 3260833.2, "realEstateObligations": 0, "totalLiabilities": 44652356 } ], "pagination": { "page": 1, "limit": 1, "totalItems": 10, "totalPages": 10, "hasNextPage": true }, "requestedAt": "2026-02-08T16:25:27.115Z", "took": 5 } }, "FiiDividend": { "type": "object", "properties": { "symbol": { "type": "string" }, "approvedOn": { "type": "string", "nullable": true }, "label": { "type": "string" }, "lastDatePrior": { "type": "string" }, "paymentDate": { "type": "string" }, "rate": { "type": "number" }, "relatedTo": { "type": "string", "nullable": true }, "isinCode": { "type": "string", "nullable": true }, "remarks": { "type": "string", "nullable": true } }, "required": [ "symbol", "approvedOn", "label", "lastDatePrior", "paymentDate", "rate", "relatedTo", "isinCode", "remarks" ] }, "FiiDividendsResponse": { "type": "object", "properties": { "dividends": { "type": "array", "items": { "$ref": "#/components/schemas/FiiDividend" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "dividends", "requestedAt", "took" ], "example": { "dividends": [ { "symbol": "MXRF11", "approvedOn": null, "label": "RENDIMENTO", "lastDatePrior": "2025-12-01 00:00:00+00", "paymentDate": "2025-12-01 00:00:00+00", "rate": 0.08941643, "relatedTo": null, "isinCode": null, "remarks": "backfilled from FiiMonthlyReports" }, { "symbol": "MXRF11", "approvedOn": null, "label": "RENDIMENTO", "lastDatePrior": "2025-11-01 00:00:00+00", "paymentDate": "2025-11-01 00:00:00+00", "rate": 0.098144606, "relatedTo": null, "isinCode": null, "remarks": "backfilled from FiiMonthlyReports" } ], "requestedAt": "2026-02-08T16:25:19.026Z", "took": 23 } }, "FiiFinancialReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "year": { "type": "number" }, "referenceDate": { "type": "string" }, "documentType": { "type": "string" }, "fields": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "year", "referenceDate", "documentType", "fields" ] }, "FiiAnnualReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "year": { "type": "number" }, "referenceDate": { "type": "string" }, "includeSections": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "fields": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "year", "referenceDate", "includeSections", "fields" ] }, "FundListItem": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "formattedCnpj": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "legalName": { "type": "string", "nullable": true }, "assetType": { "type": "string", "enum": [ "fii", "fiagro", "fiinfra", "fif", "fidc", "fip", "etf", "other" ] }, "cvmClassType": { "type": "string", "nullable": true }, "cvmClassification": { "type": "string", "nullable": true }, "anbimaClassification": { "type": "string", "nullable": true }, "b3Classification": { "type": "string", "nullable": true }, "isin": { "type": "string", "nullable": true }, "administratorName": { "type": "string", "nullable": true }, "administratorCnpj": { "type": "string", "nullable": true }, "managerName": { "type": "string", "nullable": true }, "managerCnpj": { "type": "string", "nullable": true }, "status": { "type": "string", "nullable": true }, "price": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "priceToNav": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "updatedAt": { "type": "string", "nullable": true } }, "required": [ "symbol", "cnpj", "formattedCnpj", "name", "legalName", "assetType", "cvmClassType", "cvmClassification", "anbimaClassification", "b3Classification", "isin", "administratorName", "administratorCnpj", "managerName", "managerCnpj", "status", "price", "navPerShare", "priceToNav", "equity", "totalAssets", "totalInvestors", "updatedAt" ] }, "FundPaginationMeta": { "type": "object", "properties": { "page": { "type": "number" }, "limit": { "type": "number" }, "totalItems": { "type": "number" }, "totalPages": { "type": "number" }, "hasNextPage": { "type": "boolean" } }, "required": [ "page", "limit", "totalItems", "totalPages", "hasNextPage" ] }, "FundIndicator": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "name": { "type": "string", "nullable": true }, "assetType": { "type": "string", "enum": [ "fii", "fiagro", "fiinfra", "fif", "fidc", "fip", "etf", "other" ] }, "price": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "priceToNav": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "asOfDate": { "type": "string", "nullable": true }, "dailyApplications": { "type": "number", "nullable": true }, "dailyRedemptions": { "type": "number", "nullable": true }, "sharesOutstanding": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true }, "patrimonialMonthlyReturn": { "type": "number", "nullable": true }, "dividendYieldMonthly": { "type": "number", "nullable": true } }, "required": [ "symbol", "cnpj", "name", "assetType", "price", "navPerShare", "priceToNav", "equity", "totalAssets", "totalInvestors", "asOfDate", "dailyApplications", "dailyRedemptions", "sharesOutstanding", "monthlyReturn", "patrimonialMonthlyReturn", "dividendYieldMonthly" ] }, "FundNavHistory": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "date": { "type": "string" }, "classOrSeries": { "type": "string", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "dailyApplications": { "type": "number", "nullable": true }, "dailyRedemptions": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true } }, "required": [ "symbol", "cnpj", "date", "classOrSeries", "totalAssets", "navPerShare", "equity", "dailyApplications", "dailyRedemptions", "totalInvestors", "monthlyReturn" ] }, "FundProfile": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "investorBreakdown": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "risk": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "liquidity": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "concentration": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "privateCredit": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "referenceDate", "investorBreakdown", "risk", "liquidity", "concentration", "privateCredit" ] }, "FundDividend": { "type": "object", "properties": { "symbol": { "type": "string" }, "cnpj": { "type": "string" }, "assetType": { "type": "string", "enum": [ "fiagro", "fiinfra", "fif", "fidc", "fip", "other" ] }, "declaredDate": { "type": "string" }, "lastDatePrior": { "type": "string" }, "paymentDate": { "type": "string" }, "rate": { "type": "number" }, "label": { "type": "string" }, "isinCode": { "type": "string", "nullable": true } }, "required": [ "symbol", "cnpj", "assetType", "declaredDate", "lastDatePrior", "paymentDate", "rate", "label", "isinCode" ] }, "FiagroReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "name": { "type": "string", "nullable": true }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "isin": { "type": "string", "nullable": true }, "market": { "type": "string", "nullable": true }, "administratorName": { "type": "string", "nullable": true }, "managerName": { "type": "string", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "netEquity": { "type": "number", "nullable": true }, "sharesOutstanding": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true }, "patrimonialMonthlyReturn": { "type": "number", "nullable": true }, "dividendYieldMonthly": { "type": "number", "nullable": true }, "amortizationRateMonthly": { "type": "number", "nullable": true }, "liquidityNeeds": { "type": "number", "nullable": true }, "incomeToDistribute": { "type": "number", "nullable": true }, "totalLiabilities": { "type": "number", "nullable": true } }, "required": [ "symbol", "cnpj", "name", "referenceDate", "version", "isin", "market", "administratorName", "managerName", "totalAssets", "netEquity", "sharesOutstanding", "navPerShare", "totalInvestors", "monthlyReturn", "patrimonialMonthlyReturn", "dividendYieldMonthly", "amortizationRateMonthly", "liquidityNeeds", "incomeToDistribute", "totalLiabilities" ] }, "FiagroPortfolio": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "summary": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "allocations": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "investors": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "liabilities": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "referenceDate", "summary", "allocations", "investors", "liabilities" ] }, "FundHoldingDetails": { "type": "object", "nullable": true, "properties": { "applicationType": { "type": "string" }, "negotiationType": { "type": "string" }, "assetCode": { "type": "string" }, "issueDate": { "type": "string" }, "relatedIssuer": { "type": "boolean" }, "purchasedQuantity": { "type": "number" }, "soldQuantity": { "type": "number" }, "purchaseValue": { "type": "number" }, "saleValue": { "type": "number" }, "confidentialUntil": { "type": "string" }, "fundClassType": { "type": "string" }, "subclassId": { "type": "string" }, "issuerType": { "type": "string" } } }, "FundHolding": { "type": "object", "properties": { "bucket": { "type": "string" }, "assetType": { "type": "string", "nullable": true }, "assetName": { "type": "string", "nullable": true }, "issuerName": { "type": "string", "nullable": true }, "issuerCnpj": { "type": "string", "nullable": true }, "isin": { "type": "string", "nullable": true }, "selicCode": { "type": "string", "nullable": true }, "quantity": { "type": "number", "nullable": true }, "marketValue": { "type": "number", "nullable": true }, "costValue": { "type": "number", "nullable": true }, "maturityDate": { "type": "string", "nullable": true }, "confidential": { "type": "boolean" }, "details": { "$ref": "#/components/schemas/FundHoldingDetails" } }, "required": [ "bucket", "assetType", "assetName", "issuerName", "issuerCnpj", "isin", "selicCode", "quantity", "marketValue", "costValue", "maturityDate", "confidential", "details" ] }, "FundPortfolio": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "name": { "type": "string", "nullable": true }, "referenceDate": { "type": "string" }, "summary": { "type": "object", "additionalProperties": { "nullable": true } }, "publicBonds": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "fundHoldings": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "creditAssets": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "listedSecurities": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "receivables": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "payables": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "confidentialSummary": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "name", "referenceDate", "summary", "publicBonds", "fundHoldings", "creditAssets", "listedSecurities", "receivables", "payables", "confidentialSummary" ] }, "FidcReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "name": { "type": "string", "nullable": true }, "referenceDate": { "type": "string" }, "administratorName": { "type": "string", "nullable": true }, "class": { "type": "string", "nullable": true }, "condominiumType": { "type": "string", "nullable": true }, "assets": { "type": "number", "nullable": true }, "portfolioValue": { "type": "number", "nullable": true }, "netEquity": { "type": "number", "nullable": true }, "averageNetEquity": { "type": "number", "nullable": true }, "liabilities": { "type": "number", "nullable": true } }, "required": [ "symbol", "cnpj", "name", "referenceDate", "administratorName", "class", "condominiumType", "assets", "portfolioValue", "netEquity", "averageNetEquity", "liabilities" ] }, "FidcPortfolio": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "sectors": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "maturityBuckets": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "delinquencyBuckets": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "riskBuckets": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "quotaClasses": { "type": "array", "nullable": true, "items": { "type": "object", "additionalProperties": { "nullable": true } } }, "investors": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "cedentes": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "referenceDate", "sectors", "maturityBuckets", "delinquencyBuckets", "riskBuckets", "quotaClasses", "investors", "cedentes" ] }, "FipReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "name": { "type": "string", "nullable": true }, "reportType": { "type": "string", "enum": [ "trimestral", "quadrimestral" ] }, "referenceDate": { "type": "string" }, "netEquity": { "type": "number", "nullable": true }, "targetAudience": { "type": "string", "nullable": true }, "isInvestmentEntity": { "type": "boolean", "nullable": true }, "investedInOtherFips": { "type": "number", "nullable": true }, "capital": { "type": "object", "nullable": true, "properties": { "committed": { "type": "number", "nullable": true }, "subscribed": { "type": "number", "nullable": true }, "paidIn": { "type": "number", "nullable": true } }, "required": [ "committed", "subscribed", "paidIn" ] }, "quotas": { "type": "object", "nullable": true, "properties": { "subscribed": { "type": "number", "nullable": true }, "paidIn": { "type": "number", "nullable": true } }, "required": [ "subscribed", "paidIn" ] }, "quotaClass": { "type": "object", "nullable": true, "properties": { "name": { "type": "string", "nullable": true }, "fundType": { "type": "string", "nullable": true }, "subscribedQuotas": { "type": "number", "nullable": true }, "paidInQuotas": { "type": "number", "nullable": true }, "quotaValue": { "type": "number", "nullable": true }, "investors": { "type": "number", "nullable": true }, "hasDistinctEconomicRights": { "type": "boolean", "nullable": true }, "hasSpecialPoliticalRights": { "type": "boolean", "nullable": true } }, "required": [ "name", "fundType", "subscribedQuotas", "paidInQuotas", "quotaValue", "investors", "hasDistinctEconomicRights", "hasSpecialPoliticalRights" ] }, "investorComposition": { "type": "object", "nullable": true, "properties": { "totalInvestors": { "type": "number", "nullable": true }, "totalSubscribedQuotaPercent": { "type": "number", "nullable": true }, "byType": { "type": "object", "properties": { "individuals": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "investmentFunds": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "realEstateFunds": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "openPensionFunds": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "closedPensionFunds": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "publicPensionFunds": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "commercialBanks": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "nonResidents": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "otherInvestors": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "insuranceCompanies": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "fundDistributors": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "capitalizationAndLeasingCompanies": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "financialCompanies": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "nonFinancialCompanies": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "brokersAndDistributors": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] } } } }, "required": [ "totalInvestors", "totalSubscribedQuotaPercent", "byType" ] } }, "required": [ "symbol", "cnpj", "name", "reportType", "referenceDate", "netEquity", "targetAudience", "isInvestmentEntity", "investedInOtherFips", "capital", "quotas", "quotaClass", "investorComposition" ] }, "FutureOptionExpirationsResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirations": { "type": "array", "items": { "type": "string" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "underlying", "expirations", "requestedAt", "took" ], "example": { "underlying": "BGI", "expirations": [ "2026-07-31", "2026-08-31", "2026-09-30", "2026-10-30", "2026-11-30", "2026-12-30", "2027-03-31" ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 22 } }, "FutureOptionStrikesResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "side": { "type": "string", "nullable": true, "enum": [ "call", "put" ] }, "strikes": { "type": "array", "items": { "type": "number" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "underlying", "expirationDate", "side", "strikes", "requestedAt", "took" ], "example": { "underlying": "BGI", "expirationDate": "2026-08-31", "side": "call", "strikes": [ 280, 285, 290, 300, 305, 308, 310, 312, 315 ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 18 } }, "FutureOptionQuote": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da opção (ex.: `BGIH27C028550`)." }, "underlyingAsset": { "type": "string", "description": "Código do ativo (ex.: `BGI`)." }, "underlyingFuture": { "type": "string", "nullable": true, "description": "Contrato futuro de base, quando existir." }, "optionType": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (compra) ou `put` (venda)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`american` (exerce a qualquer momento) ou `european` (só no vencimento)." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "`financial` ou `agribusiness`." }, "strike": { "type": "number", "description": "Strike (preço combinado)." }, "expirationDate": { "type": "string", "description": "Data de vencimento (YYYY-MM-DD)." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Multiplicador (vem do futuro de base)." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote." }, "exerciseType": { "type": "string", "nullable": true, "description": "Tipo de exercício." }, "automaticExercise": { "type": "boolean", "nullable": true, "description": "`true` se a opção é exercida sozinha no vencimento." }, "premiumUpfront": { "type": "boolean", "nullable": true, "description": "`true` se o prêmio é pago à vista, `false` se é diferido." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." }, "date": { "type": "integer", "description": "Data do pregão (Unix em segundos)." }, "open": { "type": "number", "nullable": true, "description": "Abertura." }, "high": { "type": "number", "nullable": true, "description": "Máxima." }, "low": { "type": "number", "nullable": true, "description": "Mínima." }, "average": { "type": "number", "nullable": true, "description": "Preço médio." }, "close": { "type": "number", "nullable": true, "description": "Fechamento." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço de referência oficial." }, "oscillationPct": { "type": "number", "nullable": true, "description": "Variação % em relação ao dia anterior." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios." }, "volume": { "type": "number", "nullable": true, "description": "Quantidade de contratos negociados." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume em reais (BRL)." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na apuração mais recente até a data consultada." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto em relação à apuração anterior, em número de contratos." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "symbol", "underlyingAsset", "underlyingFuture", "optionType", "optionStyle", "segment", "strike", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "exerciseType", "automaticExercise", "premiumUpfront", "isin", "cficCode", "date", "open", "high", "low", "average", "close", "referencePrice", "oscillationPct", "trades", "volume", "financialVolume", "openInterest", "openInterestChange", "openInterestDate" ] }, "FutureOptionChainResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "date": { "type": "string" }, "series": { "type": "array", "items": { "$ref": "#/components/schemas/FutureOptionQuote" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "series", "requestedAt", "took" ], "example": { "underlying": "BGI", "expirationDate": "2026-08-31", "date": "2026-06-01", "series": [ { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2026-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2026-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "date": 1780272000, "open": null, "high": null, "low": null, "average": null, "close": null, "referencePrice": 68.57, "oscillationPct": null, "trades": null, "volume": null, "financialVolume": null, "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01" }, { "symbol": "BGIM26P028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "put", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2026-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2026-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFVBMMP7", "cficCode": "OPAFPS", "date": 1780272000, "open": null, "high": null, "low": null, "average": null, "close": null, "referencePrice": 0.01, "oscillationPct": null, "trades": null, "volume": null, "financialVolume": null, "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01" } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 54 } }, "FutureOptionPositionSnapshot": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da opção (ex.: `BGIH27C028550`)." }, "underlyingAsset": { "type": "string", "description": "Código do ativo (ex.: `BGI`)." }, "underlyingFuture": { "type": "string", "nullable": true, "description": "Contrato futuro de base, quando existir." }, "optionType": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (compra) ou `put` (venda)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`american` (exerce a qualquer momento) ou `european` (só no vencimento)." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "`financial` ou `agribusiness`." }, "strike": { "type": "number", "description": "Strike (preço combinado)." }, "expirationDate": { "type": "string", "description": "Data de vencimento (YYYY-MM-DD)." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Multiplicador (vem do futuro de base)." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote." }, "exerciseType": { "type": "string", "nullable": true, "description": "Tipo de exercício." }, "automaticExercise": { "type": "boolean", "nullable": true, "description": "`true` se a opção é exercida sozinha no vencimento." }, "premiumUpfront": { "type": "boolean", "nullable": true, "description": "`true` se o prêmio é pago à vista, `false` se é diferido." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN da série de opção, não o do contrato futuro." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na apuração mais recente até a data consultada." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto em relação à apuração anterior, em número de contratos." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." }, "reportDate": { "type": "string", "description": "Data da apuração de posições, no formato YYYY-MM-DD." }, "asset": { "type": "string", "nullable": true, "description": "Código raiz do ativo objeto, por exemplo BGI." }, "expirationCode": { "type": "string", "nullable": true, "description": "Código de vencimento usado na apuração, por exemplo VVNK." }, "reportSegment": { "type": "string", "description": "Segmento da posição, por exemplo AGRIBUSINESS. Não é o mesmo que o campo `segment` do contrato." }, "reportedOpenInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto sem normalização. Nas opções sobre futuros é a origem de `openInterest`." }, "reportedOpenInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto sem normalização. É a origem de `openInterestChange`." }, "distributionId": { "type": "string", "nullable": true, "description": "Número de distribuição do ativo objeto. Vem vazio nas opções sobre futuros." }, "coveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição coberta." }, "blockedQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição bloqueada." }, "uncoveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição descoberta." }, "totalPositionQuantity": { "type": "number", "nullable": true, "description": "Total de contratos em posição." }, "borrowerQuantity": { "type": "number", "nullable": true, "description": "Quantidade tomadora em empréstimo de ativos." }, "lenderQuantity": { "type": "number", "nullable": true, "description": "Quantidade doadora em empréstimo de ativos." }, "currentQuantity": { "type": "number", "nullable": true, "description": "Quantidade corrente. Preenchida apenas em alguns segmentos." }, "forwardPrice": { "type": "number", "nullable": true, "description": "Preço a termo. Preenchido apenas em alguns segmentos." } }, "required": [ "symbol", "underlyingAsset", "underlyingFuture", "optionType", "optionStyle", "segment", "strike", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "exerciseType", "automaticExercise", "premiumUpfront", "isin", "cficCode", "openInterest", "openInterestChange", "openInterestDate", "reportDate", "asset", "expirationCode", "reportSegment", "reportedOpenInterest", "reportedOpenInterestChange", "distributionId", "coveredQuantity", "blockedQuantity", "uncoveredQuantity", "totalPositionQuantity", "borrowerQuantity", "lenderQuantity", "currentQuantity", "forwardPrice" ] }, "FutureOptionPositionsResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "date": { "type": "string" }, "positions": { "type": "array", "items": { "$ref": "#/components/schemas/FutureOptionPositionSnapshot" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "positions", "requestedAt", "took" ], "example": { "underlying": "BGI", "expirationDate": "2026-08-31", "date": "2026-06-01", "positions": [ { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2026-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2026-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01", "reportDate": "2026-06-01", "asset": "BGI", "expirationCode": "VVNK", "reportSegment": "AGRIBUSINESS", "reportedOpenInterest": 2441, "reportedOpenInterestChange": -22, "distributionId": null, "coveredQuantity": null, "blockedQuantity": null, "uncoveredQuantity": null, "totalPositionQuantity": null, "borrowerQuantity": null, "lenderQuantity": null, "currentQuantity": null, "forwardPrice": null } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 14 } }, "FutureOptionPricePoint": { "type": "object", "properties": { "date": { "type": "integer", "description": "Data do pregão (Unix em segundos)." }, "open": { "type": "number", "nullable": true, "description": "Abertura." }, "high": { "type": "number", "nullable": true, "description": "Máxima." }, "low": { "type": "number", "nullable": true, "description": "Mínima." }, "average": { "type": "number", "nullable": true, "description": "Preço médio." }, "close": { "type": "number", "nullable": true, "description": "Fechamento." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço de referência oficial." }, "oscillationPct": { "type": "number", "nullable": true, "description": "Variação % em relação ao dia anterior." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios." }, "volume": { "type": "number", "nullable": true, "description": "Quantidade de contratos negociados." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume em reais (BRL)." } }, "required": [ "date", "open", "high", "low", "average", "close", "referencePrice", "oscillationPct", "trades", "volume", "financialVolume" ] }, "FutureOptionSpecs": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da opção (ex.: `BGIH27C028550`)." }, "underlyingAsset": { "type": "string", "description": "Código do ativo (ex.: `BGI`)." }, "underlyingFuture": { "type": "string", "nullable": true, "description": "Contrato futuro de base, quando existir." }, "optionType": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (compra) ou `put` (venda)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`american` (exerce a qualquer momento) ou `european` (só no vencimento)." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "`financial` ou `agribusiness`." }, "strike": { "type": "number", "description": "Strike (preço combinado)." }, "expirationDate": { "type": "string", "description": "Data de vencimento (YYYY-MM-DD)." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Multiplicador (vem do futuro de base)." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote." }, "exerciseType": { "type": "string", "nullable": true, "description": "Tipo de exercício." }, "automaticExercise": { "type": "boolean", "nullable": true, "description": "`true` se a opção é exercida sozinha no vencimento." }, "premiumUpfront": { "type": "boolean", "nullable": true, "description": "`true` se o prêmio é pago à vista, `false` se é diferido." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." } }, "required": [ "symbol", "underlyingAsset", "underlyingFuture", "optionType", "optionStyle", "segment", "strike", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "exerciseType", "automaticExercise", "premiumUpfront", "isin", "cficCode" ] }, "FutureOptionWithHistory": { "allOf": [ { "$ref": "#/components/schemas/FutureOptionSpecs" }, { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FutureOptionPricePoint" } } }, "required": [ "history" ] } ] }, "FutureOptionHistoricalResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/FutureOptionWithHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2026-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2026-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "history": [ { "date": 1780272000, "open": null, "high": null, "low": null, "average": null, "close": null, "referencePrice": 68.57, "oscillationPct": null, "trades": null, "volume": null, "financialVolume": null } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 33 } }, "FutureOptionPositionHistory": { "allOf": [ { "$ref": "#/components/schemas/FutureOptionSpecs" }, { "type": "object", "properties": { "positions": { "type": "array", "items": { "type": "object", "properties": { "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na apuração mais recente até a data consultada." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto em relação à apuração anterior, em número de contratos." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." }, "reportDate": { "type": "string", "description": "Data da apuração de posições, no formato YYYY-MM-DD." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN da série de opção, não o do contrato futuro." }, "asset": { "type": "string", "nullable": true, "description": "Código raiz do ativo objeto, por exemplo BGI." }, "expirationCode": { "type": "string", "nullable": true, "description": "Código de vencimento usado na apuração, por exemplo VVNK." }, "reportSegment": { "type": "string", "description": "Segmento da posição, por exemplo AGRIBUSINESS. Não é o mesmo que o campo `segment` do contrato." }, "reportedOpenInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto sem normalização. Nas opções sobre futuros é a origem de `openInterest`." }, "reportedOpenInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto sem normalização. É a origem de `openInterestChange`." }, "distributionId": { "type": "string", "nullable": true, "description": "Número de distribuição do ativo objeto. Vem vazio nas opções sobre futuros." }, "coveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição coberta." }, "blockedQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição bloqueada." }, "uncoveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição descoberta." }, "totalPositionQuantity": { "type": "number", "nullable": true, "description": "Total de contratos em posição." }, "borrowerQuantity": { "type": "number", "nullable": true, "description": "Quantidade tomadora em empréstimo de ativos." }, "lenderQuantity": { "type": "number", "nullable": true, "description": "Quantidade doadora em empréstimo de ativos." }, "currentQuantity": { "type": "number", "nullable": true, "description": "Quantidade corrente. Preenchida apenas em alguns segmentos." }, "forwardPrice": { "type": "number", "nullable": true, "description": "Preço a termo. Preenchido apenas em alguns segmentos." } }, "required": [ "openInterest", "openInterestChange", "openInterestDate", "reportDate", "isin", "asset", "expirationCode", "reportSegment", "reportedOpenInterest", "reportedOpenInterestChange", "distributionId", "coveredQuantity", "blockedQuantity", "uncoveredQuantity", "totalPositionQuantity", "borrowerQuantity", "lenderQuantity", "currentQuantity", "forwardPrice" ] } } }, "required": [ "positions" ] } ] }, "FutureOptionPositionsHistoryResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/FutureOptionPositionHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2026-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2026-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "positions": [ { "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01", "reportDate": "2026-06-01", "isin": "BRBMEFCBMMP7", "asset": "BGI", "expirationCode": "VVNK", "reportSegment": "AGRIBUSINESS", "reportedOpenInterest": 2441, "reportedOpenInterestChange": -22, "distributionId": null, "coveredQuantity": null, "blockedQuantity": null, "uncoveredQuantity": null, "totalPositionQuantity": null, "borrowerQuantity": null, "lenderQuantity": null, "currentQuantity": null, "forwardPrice": null } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 13 } }, "FutureOptionAnalyticsQuote": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da opção (ex.: `BGIH27C028550`)." }, "underlyingAsset": { "type": "string", "description": "Código do ativo (ex.: `BGI`)." }, "underlyingFuture": { "type": "string", "nullable": true, "description": "Contrato futuro de base, quando existir." }, "optionType": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (compra) ou `put` (venda)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`american` (exerce a qualquer momento) ou `european` (só no vencimento)." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "`financial` ou `agribusiness`." }, "strike": { "type": "number", "description": "Strike (preço combinado)." }, "expirationDate": { "type": "string", "description": "Data de vencimento (YYYY-MM-DD)." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Multiplicador (vem do futuro de base)." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote." }, "exerciseType": { "type": "string", "nullable": true, "description": "Tipo de exercício." }, "automaticExercise": { "type": "boolean", "nullable": true, "description": "`true` se a opção é exercida sozinha no vencimento." }, "premiumUpfront": { "type": "boolean", "nullable": true, "description": "`true` se o prêmio é pago à vista, `false` se é diferido." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." }, "date": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD." }, "model": { "type": "string", "enum": [ "black-76", "cox-ross-rubinstein-futures", "unsupported" ], "description": "Modelo usado na precificação. Opções europeias sobre futuros usam Black-76; opções americanas usam aproximação binomial." }, "priceSource": { "type": "string", "enum": [ "close", "referencePrice", "none" ], "description": "Preço usado para resolver IV. `referencePrice` é preço de referência oficial e vem com confiança menor que fechamento negociado." }, "underlyingPrice": { "type": "number", "nullable": true, "description": "Preço do contrato futuro subjacente usado no cálculo." }, "optionPrice": { "type": "number", "nullable": true, "description": "Preço da opção usado para resolver a volatilidade implícita." }, "riskFreeRate": { "type": "number", "nullable": true, "description": "Taxa livre de risco anual em decimal." }, "dividendYield": { "type": "number", "nullable": true, "description": "Sempre `0` para opções sobre futuros em v1." }, "timeToExpirationYears": { "type": "number", "nullable": true, "description": "Tempo até o vencimento em anos." }, "impliedVolatility": { "type": "number", "nullable": true, "description": "Volatilidade implícita anualizada em decimal." }, "delta": { "type": "number", "nullable": true, "description": "Delta da opção." }, "gamma": { "type": "number", "nullable": true, "description": "Gamma da opção." }, "theta": { "type": "number", "nullable": true, "description": "Theta anualizado da opção." }, "vega": { "type": "number", "nullable": true, "description": "Vega da opção." }, "rho": { "type": "number", "nullable": true, "description": "Rho da opção." }, "confidence": { "type": "string", "enum": [ "high", "medium", "low", "none" ], "description": "Confiança operacional do cálculo. `low` é esperado quando o cálculo usa `referencePrice`." }, "nullReason": { "type": "string", "nullable": true, "description": "Motivo para campos calculados nulos, quando aplicável (ex.: `no_trades`, `missing_underlying_price`, `iv_not_converged`)." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na apuração mais recente até a data consultada." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto em relação à apuração anterior, em número de contratos." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "symbol", "underlyingAsset", "underlyingFuture", "optionType", "optionStyle", "segment", "strike", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "exerciseType", "automaticExercise", "premiumUpfront", "isin", "cficCode", "date", "model", "priceSource", "underlyingPrice", "optionPrice", "riskFreeRate", "dividendYield", "timeToExpirationYears", "impliedVolatility", "delta", "gamma", "theta", "vega", "rho", "confidence", "nullReason", "openInterest", "openInterestChange", "openInterestDate" ] }, "FutureOptionAnalyticsResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "date": { "type": "string" }, "analytics": { "type": "array", "items": { "$ref": "#/components/schemas/FutureOptionAnalyticsQuote" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "analytics", "requestedAt", "took" ], "example": { "underlying": "BGI", "expirationDate": "2026-08-31", "date": "2026-05-29", "analytics": [ { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2026-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2026-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "date": "2026-05-29", "model": "cox-ross-rubinstein-futures", "priceSource": "referencePrice", "underlyingPrice": 345.65, "optionPrice": 65.66, "riskFreeRate": 0.145, "dividendYield": 0, "timeToExpirationYears": 0.087671235, "impliedVolatility": 0.33742568, "delta": 0.99461865, "gamma": 0.0014397058, "theta": -1.7623149, "vega": 1.3298614, "rho": -0.4161327, "confidence": "low", "nullReason": null, "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01" } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 41 } }, "FutureOptionWithAnalyticsHistory": { "allOf": [ { "$ref": "#/components/schemas/FutureOptionSpecs" }, { "type": "object", "properties": { "analytics": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD." }, "model": { "type": "string", "enum": [ "black-76", "cox-ross-rubinstein-futures", "unsupported" ], "description": "Modelo usado na precificação. Opções europeias sobre futuros usam Black-76; opções americanas usam aproximação binomial." }, "priceSource": { "type": "string", "enum": [ "close", "referencePrice", "none" ], "description": "Preço usado para resolver IV. `referencePrice` é preço de referência oficial e vem com confiança menor que fechamento negociado." }, "underlyingPrice": { "type": "number", "nullable": true, "description": "Preço do contrato futuro subjacente usado no cálculo." }, "optionPrice": { "type": "number", "nullable": true, "description": "Preço da opção usado para resolver a volatilidade implícita." }, "riskFreeRate": { "type": "number", "nullable": true, "description": "Taxa livre de risco anual em decimal." }, "dividendYield": { "type": "number", "nullable": true, "description": "Sempre `0` para opções sobre futuros em v1." }, "timeToExpirationYears": { "type": "number", "nullable": true, "description": "Tempo até o vencimento em anos." }, "impliedVolatility": { "type": "number", "nullable": true, "description": "Volatilidade implícita anualizada em decimal." }, "delta": { "type": "number", "nullable": true, "description": "Delta da opção." }, "gamma": { "type": "number", "nullable": true, "description": "Gamma da opção." }, "theta": { "type": "number", "nullable": true, "description": "Theta anualizado da opção." }, "vega": { "type": "number", "nullable": true, "description": "Vega da opção." }, "rho": { "type": "number", "nullable": true, "description": "Rho da opção." }, "confidence": { "type": "string", "enum": [ "high", "medium", "low", "none" ], "description": "Confiança operacional do cálculo. `low` é esperado quando o cálculo usa `referencePrice`." }, "nullReason": { "type": "string", "nullable": true, "description": "Motivo para campos calculados nulos, quando aplicável (ex.: `no_trades`, `missing_underlying_price`, `iv_not_converged`)." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na apuração mais recente até a data consultada." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto em relação à apuração anterior, em número de contratos." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "date", "model", "priceSource", "underlyingPrice", "optionPrice", "riskFreeRate", "dividendYield", "timeToExpirationYears", "impliedVolatility", "delta", "gamma", "theta", "vega", "rho", "confidence", "nullReason", "openInterest", "openInterestChange", "openInterestDate" ] } } }, "required": [ "analytics" ] } ] }, "FutureOptionAnalyticsHistoryResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/FutureOptionWithAnalyticsHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2026-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2026-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "analytics": [ { "date": "2026-05-29", "model": "cox-ross-rubinstein-futures", "priceSource": "referencePrice", "underlyingPrice": 345.65, "optionPrice": 65.66, "riskFreeRate": 0.145, "dividendYield": 0, "timeToExpirationYears": 0.087671235, "impliedVolatility": 0.33742568, "delta": 0.99461865, "gamma": 0.0014397058, "theta": -1.7623149, "vega": 1.3298614, "rho": -0.4161327, "confidence": "low", "nullReason": null, "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01" } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 35 } }, "FutureSpecs": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código do contrato (ex.: `WINM26`, `BGIF27`, `DI1F27`)." }, "underlyingAsset": { "type": "string", "description": "Código do ativo (ex.: `WIN`, `BGI`, `DI1`)." }, "assetDescription": { "type": "string", "nullable": true, "description": "Nome do ativo em português." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "`financial` = índices, juros e moeda. `agribusiness` = commodities." }, "quotationType": { "type": "string", "enum": [ "price", "rate" ], "description": "`rate` para juros (DI/DAP) - OHLC vem em %a.a. `price` para os demais." }, "expirationDate": { "type": "string", "description": "Data de vencimento (YYYY-MM-DD)." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Quanto vale cada ponto. Ex.: WIN = 0,2; BGI = 330; DI1 = 1." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote." }, "tradingCurrency": { "type": "string", "nullable": true, "description": "Moeda (quase sempre `BRL`)." }, "deliveryType": { "type": "string", "nullable": true, "description": "Tipo de entrega: `Financial` ou `Physical`." }, "exerciseType": { "type": "string", "nullable": true, "description": "Tipo de cotação: `Price` ou `Rate`." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." } }, "required": [ "symbol", "underlyingAsset", "assetDescription", "segment", "quotationType", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "tradingCurrency", "deliveryType", "exerciseType", "isin", "cficCode" ] }, "FutureListResponse": { "type": "object", "properties": { "futures": { "type": "array", "items": { "$ref": "#/components/schemas/FutureSpecs" } }, "pagination": { "type": "object", "properties": { "page": { "type": "integer" }, "limit": { "type": "integer" }, "total": { "type": "integer" }, "totalPages": { "type": "integer" } }, "required": [ "page", "limit", "total", "totalPages" ] }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "futures", "pagination", "requestedAt", "took" ], "example": { "futures": [ { "symbol": "WINM26", "underlyingAsset": "WIN", "assetDescription": "Minicontrato de Ibovespa", "segment": "financial", "quotationType": "price", "expirationDate": "2026-06-17", "firstTradeDate": "2024-04-29", "lastTradeDate": "2026-06-17", "contractMultiplier": 0.2, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFWIN3O3", "cficCode": "FFICSX" }, { "symbol": "DI1F27", "underlyingAsset": "DI1", "assetDescription": "Taxa Média de Depósitos Interfinanceiros de Um Dia", "segment": "financial", "quotationType": "rate", "expirationDate": "2027-01-04", "firstTradeDate": "2015-12-28", "lastTradeDate": "2026-12-30", "contractMultiplier": 1, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Rate", "isin": "BRBMEFD1I4Z0", "cficCode": "FFNCSX" }, { "symbol": "BGIF27", "underlyingAsset": "BGI", "assetDescription": "Boi Gordo", "segment": "agribusiness", "quotationType": "price", "expirationDate": "2027-01-29", "firstTradeDate": "2026-02-27", "lastTradeDate": "2027-01-29", "contractMultiplier": 330, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFBGI7Y7", "cficCode": "FCACSX" } ], "pagination": { "page": 1, "limit": 50, "total": 1728, "totalPages": 35 }, "requestedAt": "2026-05-21T03:00:00.000Z", "took": 42 } }, "FutureQuote": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código do contrato (ex.: `WINM26`, `BGIF27`, `DI1F27`)." }, "underlyingAsset": { "type": "string", "description": "Código do ativo (ex.: `WIN`, `BGI`, `DI1`)." }, "assetDescription": { "type": "string", "nullable": true, "description": "Nome do ativo em português." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "`financial` = índices, juros e moeda. `agribusiness` = commodities." }, "quotationType": { "type": "string", "enum": [ "price", "rate" ], "description": "`rate` para juros (DI/DAP) - OHLC vem em %a.a. `price` para os demais." }, "expirationDate": { "type": "string", "description": "Data de vencimento (YYYY-MM-DD)." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Quanto vale cada ponto. Ex.: WIN = 0,2; BGI = 330; DI1 = 1." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote." }, "tradingCurrency": { "type": "string", "nullable": true, "description": "Moeda (quase sempre `BRL`)." }, "deliveryType": { "type": "string", "nullable": true, "description": "Tipo de entrega: `Financial` ou `Physical`." }, "exerciseType": { "type": "string", "nullable": true, "description": "Tipo de cotação: `Price` ou `Rate`." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." }, "date": { "type": "integer", "description": "Data do pregão (Unix em segundos)." }, "open": { "type": "number", "nullable": true, "description": "Preço de abertura. Vem `null` - o arquivo do fim do dia não publica abertura." }, "high": { "type": "number", "nullable": true, "description": "Máxima do dia (taxa em %a.a. para DI; preço para os demais)." }, "low": { "type": "number", "nullable": true, "description": "Mínima do dia (taxa em %a.a. para DI; preço para os demais)." }, "average": { "type": "number", "nullable": true, "description": "Preço médio do dia." }, "close": { "type": "number", "nullable": true, "description": "Preço de fechamento (último negócio). Em DI e DAP, vem em %a.a." }, "settlement": { "type": "number", "nullable": true, "description": "Preço de ajuste oficial do dia. Em juros, vem em reais; nos demais, em preço." }, "settlementRate": { "type": "number", "nullable": true, "description": "Taxa de ajuste. Só vem em contratos de juros (DI, DAP)." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço de referência oficial." }, "oscillationPct": { "type": "number", "nullable": true, "description": "Variação % em relação ao dia anterior." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios." }, "volume": { "type": "number", "nullable": true, "description": "Quantidade de contratos negociados." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume em reais (BRL)." } }, "required": [ "symbol", "underlyingAsset", "assetDescription", "segment", "quotationType", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "tradingCurrency", "deliveryType", "exerciseType", "isin", "cficCode", "date", "open", "high", "low", "average", "close", "settlement", "settlementRate", "referencePrice", "oscillationPct", "trades", "volume", "financialVolume" ] }, "FutureQuoteResponse": { "type": "object", "properties": { "quotes": { "type": "array", "items": { "$ref": "#/components/schemas/FutureQuote" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "quotes", "requestedAt", "took" ], "example": { "quotes": [ { "symbol": "WINM26", "underlyingAsset": "WIN", "assetDescription": "Minicontrato de Ibovespa", "segment": "financial", "quotationType": "price", "expirationDate": "2026-06-17", "firstTradeDate": "2024-04-29", "lastTradeDate": "2026-06-17", "contractMultiplier": 0.2, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFWIN3O3", "cficCode": "FFICSX", "date": 1779235200, "open": null, "high": 179945, "low": 176180, "average": 178583, "close": 178650, "settlement": 179115, "settlementRate": null, "referencePrice": null, "oscillationPct": 1.59, "trades": 4906603, "volume": 17533842, "financialVolume": 626250384171 }, { "symbol": "DI1F27", "underlyingAsset": "DI1", "assetDescription": "Taxa Média de Depósitos Interfinanceiros de Um Dia", "segment": "financial", "quotationType": "rate", "expirationDate": "2027-01-04", "firstTradeDate": "2015-12-28", "lastTradeDate": "2026-12-30", "contractMultiplier": 1, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Rate", "isin": "BRBMEFD1I4Z0", "cficCode": "FFNCSX", "date": 1779235200, "open": null, "high": 14.16, "low": 14.03, "average": 14.09, "close": 14.075, "settlement": 92179.44, "settlementRate": 14.059, "referencePrice": null, "oscillationPct": -0.51, "trades": 28694, "volume": 850519, "financialVolume": 78386932604.68 } ], "requestedAt": "2026-05-21T03:00:00.000Z", "took": 28 } }, "FutureSpecsResponse": { "type": "object", "properties": { "specs": { "type": "array", "items": { "$ref": "#/components/schemas/FutureSpecs" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "specs", "requestedAt", "took" ], "example": { "specs": [ { "symbol": "WINM26", "underlyingAsset": "WIN", "assetDescription": "Minicontrato de Ibovespa", "segment": "financial", "quotationType": "price", "expirationDate": "2026-06-17", "firstTradeDate": "2024-04-29", "lastTradeDate": "2026-06-17", "contractMultiplier": 0.2, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFWIN3O3", "cficCode": "FFICSX" }, { "symbol": "BGIF27", "underlyingAsset": "BGI", "assetDescription": "Boi Gordo", "segment": "agribusiness", "quotationType": "price", "expirationDate": "2027-01-29", "firstTradeDate": "2026-02-27", "lastTradeDate": "2027-01-29", "contractMultiplier": 330, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFBGI7Y7", "cficCode": "FCACSX" } ], "requestedAt": "2026-05-21T03:00:00.000Z", "took": 12 } }, "FuturePricePoint": { "type": "object", "properties": { "date": { "type": "integer", "description": "Data do pregão (Unix em segundos)." }, "open": { "type": "number", "nullable": true, "description": "Preço de abertura. Vem `null` - o arquivo do fim do dia não publica abertura." }, "high": { "type": "number", "nullable": true, "description": "Máxima do dia (taxa em %a.a. para DI; preço para os demais)." }, "low": { "type": "number", "nullable": true, "description": "Mínima do dia (taxa em %a.a. para DI; preço para os demais)." }, "average": { "type": "number", "nullable": true, "description": "Preço médio do dia." }, "close": { "type": "number", "nullable": true, "description": "Preço de fechamento (último negócio). Em DI e DAP, vem em %a.a." }, "settlement": { "type": "number", "nullable": true, "description": "Preço de ajuste oficial do dia. Em juros, vem em reais; nos demais, em preço." }, "settlementRate": { "type": "number", "nullable": true, "description": "Taxa de ajuste. Só vem em contratos de juros (DI, DAP)." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço de referência oficial." }, "oscillationPct": { "type": "number", "nullable": true, "description": "Variação % em relação ao dia anterior." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios." }, "volume": { "type": "number", "nullable": true, "description": "Quantidade de contratos negociados." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume em reais (BRL)." } }, "required": [ "date", "open", "high", "low", "average", "close", "settlement", "settlementRate", "referencePrice", "oscillationPct", "trades", "volume", "financialVolume" ] }, "FutureWithHistory": { "allOf": [ { "$ref": "#/components/schemas/FutureSpecs" }, { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FuturePricePoint" }, "description": "Série diária do contrato no período pedido. Cada item tem OHLC, ajuste, taxa e volume." } }, "required": [ "history" ] } ] }, "FutureHistoricalResponse": { "type": "object", "properties": { "future": { "$ref": "#/components/schemas/FutureWithHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "future", "requestedAt", "took" ], "example": { "future": { "symbol": "WINM26", "underlyingAsset": "WIN", "assetDescription": "Minicontrato de Ibovespa", "segment": "financial", "quotationType": "price", "expirationDate": "2026-06-17", "firstTradeDate": "2024-04-29", "lastTradeDate": "2026-06-17", "contractMultiplier": 0.2, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFWIN3O3", "cficCode": "FFICSX", "history": [ { "date": 1779235200, "open": null, "high": 179945, "low": 176180, "average": 178583, "close": 178650, "settlement": 179115, "settlementRate": null, "referencePrice": null, "oscillationPct": 1.59, "trades": 4906603, "volume": 17533842, "financialVolume": 626250384171 }, { "date": 1779148800, "open": null, "high": 178700, "low": 175200, "average": 176509, "close": 176465, "settlement": 175844, "settlementRate": null, "referencePrice": null, "oscillationPct": -1.46, "trades": 5563064, "volume": 20252108, "financialVolume": 714936160000 } ] }, "requestedAt": "2026-05-21T03:00:00.000Z", "took": 65 } }, "FutureTermStructureResponse": { "type": "object", "properties": { "asset": { "type": "string" }, "contracts": { "type": "array", "items": { "$ref": "#/components/schemas/FutureQuote" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "asset", "contracts", "requestedAt", "took" ], "example": { "asset": "DI1", "contracts": [ { "symbol": "DI1M26", "underlyingAsset": "DI1", "assetDescription": "Taxa Média de Depósitos Interfinanceiros de Um Dia", "segment": "financial", "quotationType": "rate", "expirationDate": "2026-06-01", "firstTradeDate": "2015-12-28", "lastTradeDate": "2026-05-29", "contractMultiplier": 1, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Rate", "isin": "BRBMEFD1I4M0", "cficCode": "FFNCSX", "date": 1779235200, "open": null, "high": 14.41, "low": 14.39, "average": 14.4, "close": 14.398, "settlement": 98884.51, "settlementRate": 14.4, "referencePrice": null, "oscillationPct": -0.02, "trades": 12345, "volume": 234567, "financialVolume": 23194840000 }, { "symbol": "DI1F27", "underlyingAsset": "DI1", "assetDescription": "Taxa Média de Depósitos Interfinanceiros de Um Dia", "segment": "financial", "quotationType": "rate", "expirationDate": "2027-01-04", "firstTradeDate": "2015-12-28", "lastTradeDate": "2026-12-30", "contractMultiplier": 1, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Rate", "isin": "BRBMEFD1I4Z0", "cficCode": "FFNCSX", "date": 1779235200, "open": null, "high": 14.16, "low": 14.03, "average": 14.09, "close": 14.075, "settlement": 92179.44, "settlementRate": 14.059, "referencePrice": null, "oscillationPct": -0.51, "trades": 28694, "volume": 850519, "financialVolume": 78386932604.68 } ], "requestedAt": "2026-05-21T03:00:00.000Z", "took": 137 } }, "InflationEntrySimple": { "type": "object", "properties": { "date": { "type": "string" }, "value": { "type": "string", "description": "Variação percentual do IPCA no mês", "example": "4.26" }, "epochDate": { "type": "number" } }, "required": [ "date", "value", "epochDate" ] }, "InflationResponseSimple": { "type": "object", "properties": { "inflation": { "type": "array", "items": { "$ref": "#/components/schemas/InflationEntrySimple" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "inflation", "requestedAt", "took" ], "example": { "inflation": [ { "date": "01/12/2025", "value": "4.26", "epochDate": 1764558000000 }, { "date": "01/11/2025", "value": "4.46", "epochDate": 1761966000000 }, { "date": "01/10/2025", "value": "4.68", "epochDate": 1759287600000 } ], "requestedAt": "2026-02-08T16:26:26.123Z", "took": 138 } }, "InflationAvailableResponse": { "type": "object", "properties": { "countries": { "type": "array", "items": { "type": "string" } }, "message": { "type": "string" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" } }, "required": [ "countries", "message", "requestedAt" ], "example": { "countries": [ "brazil" ], "message": "Available inflation data countries", "requestedAt": "2026-02-08T16:26:27.274Z" } }, "MacroSeriesPublic": { "type": "object", "properties": { "slug": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "unit": { "type": "string" }, "frequency": { "type": "string" }, "category": { "type": "string" }, "startDate": { "type": "string" } }, "required": [ "slug", "name", "description", "unit", "frequency", "category", "startDate" ], "example": { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" } }, "MacroAvailableResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesPublic" }, "description": "Lista de séries macroeconômicas. Quando `q` é informado, vem ordenada por relevância (slug > alias > nome > descrição)." }, "categories": { "type": "array", "items": { "type": "string" }, "description": "Todas as categorias do catálogo. Não é afetado pelos filtros - sempre lista o universo completo de categorias para que o cliente possa montar facetas." }, "count": { "type": "integer", "description": "Quantidade de séries em `results` após aplicar os filtros." }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "categories", "count", "requestedAt", "took" ], "example": { "results": [ { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" }, { "slug": "ipca12m", "name": "IPCA acumulado 12 meses", "description": "Variação acumulada em 12 meses do Índice Nacional de Preços ao Consumidor Amplo. Indicador oficial de inflação do Brasil.", "unit": "percent", "frequency": "monthly", "category": "inflation", "startDate": "1981-01-01" }, { "slug": "cdi", "name": "CDI", "description": "Certificado de Depósito Interbancário - taxa de juros das operações entre bancos. Principal benchmark de renda fixa no Brasil.", "unit": "percentPerDay", "frequency": "daily", "category": "interestRate", "startDate": "1986-03-06" } ], "categories": [ "interestRate", "inflation", "monetary", "activity", "labor", "external" ], "count": 15, "requestedAt": "2026-04-30T12:00:00.000Z", "took": 4 } }, "MacroSeriesObservation": { "type": "object", "properties": { "date": { "type": "string", "example": "2026-04-30" }, "value": { "type": "number", "example": 14.75 } }, "required": [ "date", "value" ] }, "MacroSeriesResult": { "type": "object", "properties": { "series": { "$ref": "#/components/schemas/MacroSeriesPublic" }, "observations": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesObservation" } } }, "required": [ "series", "observations" ], "example": { "series": { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" }, "observations": [ { "date": "2026-04-30", "value": 14.5 }, { "date": "2026-04-29", "value": 14.75 }, { "date": "2026-04-28", "value": 14.75 } ] } }, "MacroSeriesAliasWarning": { "type": "object", "properties": { "provided": { "type": "string" }, "canonicalSlug": { "type": "string" }, "message": { "type": "string" } }, "required": [ "provided", "canonicalSlug", "message" ] }, "MacroSeriesError": { "type": "object", "properties": { "slug": { "type": "string" }, "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "slug", "code", "message" ] }, "MacroSeriesDataResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesResult" } }, "warnings": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesAliasWarning" } }, "errors": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesError" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "series": { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" }, "observations": [ { "date": "2026-04-30", "value": 14.5 }, { "date": "2026-04-29", "value": 14.75 }, { "date": "2026-04-28", "value": 14.75 }, { "date": "2026-04-25", "value": 14.75 } ] }, { "series": { "slug": "ipca12m", "name": "IPCA acumulado 12 meses", "description": "Variação acumulada em 12 meses do Índice Nacional de Preços ao Consumidor Amplo. Indicador oficial de inflação do Brasil.", "unit": "percent", "frequency": "monthly", "category": "inflation", "startDate": "1981-01-01" }, "observations": [ { "date": "2026-03-01", "value": 4.14 }, { "date": "2026-02-01", "value": 3.81 }, { "date": "2026-01-01", "value": 4.44 } ] } ], "requestedAt": "2026-04-30T12:00:00.000Z", "took": 23 } }, "MacroSeriesLatest": { "type": "object", "properties": { "series": { "$ref": "#/components/schemas/MacroSeriesPublic" }, "latest": { "allOf": [ { "$ref": "#/components/schemas/MacroSeriesObservation" }, { "nullable": true } ] } }, "required": [ "series", "latest" ], "example": { "series": { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" }, "latest": { "date": "2026-04-30", "value": 14.5 } } }, "MacroSeriesLatestResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesLatest" } }, "warnings": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesAliasWarning" } }, "errors": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesError" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "series": { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" }, "latest": { "date": "2026-04-30", "value": 14.5 } }, { "series": { "slug": "ipca12m", "name": "IPCA acumulado 12 meses", "description": "Variação acumulada em 12 meses do Índice Nacional de Preços ao Consumidor Amplo. Indicador oficial de inflação do Brasil.", "unit": "percent", "frequency": "monthly", "category": "inflation", "startDate": "1981-01-01" }, "latest": { "date": "2026-03-01", "value": 4.14 } }, { "series": { "slug": "cdi", "name": "CDI", "description": "Certificado de Depósito Interbancário - taxa de juros das operações entre bancos. Principal benchmark de renda fixa no Brasil.", "unit": "percentPerDay", "frequency": "daily", "category": "interestRate", "startDate": "1986-03-06" }, "latest": { "date": "2026-04-30", "value": 0.054267 } } ], "requestedAt": "2026-04-30T12:00:00.000Z", "took": 18 } }, "OptionExpirationsResponse": { "type": "object", "properties": { "underlying": { "type": "string", "description": "Ativo subjacente consultado, normalizado em maiúsculas." }, "tradedOnly": { "type": "boolean", "enum": [ true ], "description": "Sempre `true`: a lista é montada a partir das séries negociadas." }, "expirations": { "type": "array", "items": { "type": "string" }, "description": "Datas de vencimento disponíveis, em ordem ascendente, no formato YYYY-MM-DD." }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "underlying", "tradedOnly", "expirations", "requestedAt", "took" ], "example": { "underlying": "PETR4", "tradedOnly": true, "expirations": [ "2026-12-04", "2026-12-11", "2026-12-18" ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 4 } }, "OptionStrikesResponse": { "type": "object", "properties": { "underlying": { "type": "string", "description": "Ativo subjacente consultado, normalizado em maiúsculas." }, "expirationDate": { "type": "string", "description": "Vencimento consultado, no formato YYYY-MM-DD." }, "side": { "type": "string", "nullable": true, "enum": [ "call", "put" ], "description": "Lado filtrado: `call`, `put` ou `null` quando não foi aplicado filtro." }, "tradedOnly": { "type": "boolean", "enum": [ true ], "description": "Sempre `true`: os strikes vêm apenas de séries negociadas." }, "strikes": { "type": "array", "items": { "type": "number" }, "description": "Preços de exercício disponíveis, em ordem ascendente." }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "underlying", "expirationDate", "side", "tradedOnly", "strikes", "requestedAt", "took" ], "example": { "underlying": "PETR4", "expirationDate": "2026-12-18", "side": "call", "tradedOnly": true, "strikes": [ 1.19, 7.29, 9.29, 10.69, 13.44 ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 4 } }, "OptionSeriesSnapshot": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código de negociação da série (ex: PETRF783)." }, "underlyingSymbol": { "type": "string", "nullable": true, "description": "Ativo subjacente da opção (ex: PETR4)." }, "side": { "type": "string", "enum": [ "call", "put" ], "description": "Tipo da opção: `call` (opção de compra) ou `put` (opção de venda)." }, "market": { "type": "string", "enum": [ "equity", "index", "currency" ], "description": "Mercado da opção: `equity` (ação/ETF), `index` (índice) ou `currency` (DOL/WDO)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "Estilo de exercício da opção: `american` permite exercício a qualquer momento até o vencimento; `european` permite exercício apenas no vencimento. `null` em séries antigas que ainda não passaram pelo enriquecimento de cadastro." }, "strike": { "type": "number", "nullable": true, "description": "Preço de exercício (strike) da opção." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote pré-definido para alocação. Geralmente 100 para opções sobre ações brasileiras." }, "expirationDate": { "type": "string", "description": "Data de vencimento da série, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "description": "Data do primeiro pregão observado para a série (YYYY-MM-DD)." }, "lastTradeDate": { "type": "string", "description": "Data do último pregão observado para a série (YYYY-MM-DD)." }, "date": { "type": "integer", "description": "Data do pregão em timestamp Unix (segundos)." }, "open": { "type": "number", "nullable": true, "description": "Preço de abertura do pregão." }, "high": { "type": "number", "nullable": true, "description": "Máxima do pregão." }, "low": { "type": "number", "nullable": true, "description": "Mínima do pregão." }, "average": { "type": "number", "nullable": true, "description": "Preço médio do pregão." }, "close": { "type": "number", "nullable": true, "description": "Preço de fechamento do pregão." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço oficial de referência, quando publicado pela B3." }, "bid": { "type": "number", "nullable": true, "description": "Melhor oferta de compra registrada no fechamento." }, "ask": { "type": "number", "nullable": true, "description": "Melhor oferta de venda registrada no fechamento." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios realizados no pregão." }, "volume": { "type": "number", "nullable": true, "description": "Volume negociado no pregão (em contratos)." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume financeiro negociado no pregão (em BRL)." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na apuração mais recente até a data consultada." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto em relação à apuração anterior, em número de contratos." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "symbol", "underlyingSymbol", "side", "market", "optionStyle", "strike", "allocationRoundLot", "expirationDate", "firstTradeDate", "lastTradeDate", "date", "open", "high", "low", "average", "close", "referencePrice", "bid", "ask", "trades", "volume", "financialVolume", "openInterest", "openInterestChange", "openInterestDate" ] }, "OptionSeriesResponse": { "type": "object", "properties": { "underlying": { "type": "string", "description": "Ativo subjacente consultado, normalizado em maiúsculas." }, "expirationDate": { "type": "string", "description": "Vencimento consultado, no formato YYYY-MM-DD." }, "date": { "type": "string", "description": "Data EOD efetivamente usada para buscar preço e volume, no formato YYYY-MM-DD." }, "tradedOnly": { "type": "boolean", "enum": [ true ], "description": "Sempre `true`: só aparecem séries que tiveram negócio no pregão selecionado." }, "series": { "type": "array", "items": { "$ref": "#/components/schemas/OptionSeriesSnapshot" }, "description": "Séries negociadas no vencimento, com metadados do contrato e OHLCV do pregão em `date`." }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "tradedOnly", "series", "requestedAt", "took" ], "example": { "underlying": "PETR4", "expirationDate": "2026-12-18", "date": "2026-06-01", "tradedOnly": true, "series": [ { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "openInterest": 12500, "openInterestChange": 350, "openInterestDate": "2026-06-01", "date": 1780282800, "open": 35.15, "high": 35.15, "low": 35.15, "average": 35.15, "close": 35.15, "referencePrice": null, "bid": 0, "ask": 0, "trades": 1, "volume": 500, "financialVolume": 17575 } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 7 } }, "OptionPositionSnapshot": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código de negociação da série (ex: PETRF783)." }, "underlyingSymbol": { "type": "string", "nullable": true, "description": "Ativo subjacente da opção (ex: PETR4)." }, "side": { "type": "string", "enum": [ "call", "put" ], "description": "Tipo da opção: `call` (opção de compra) ou `put` (opção de venda)." }, "market": { "type": "string", "enum": [ "equity", "index", "currency" ], "description": "Mercado da opção: `equity` (ação/ETF), `index` (índice) ou `currency` (DOL/WDO)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "Estilo de exercício da opção: `american` permite exercício a qualquer momento até o vencimento; `european` permite exercício apenas no vencimento. `null` em séries antigas que ainda não passaram pelo enriquecimento de cadastro." }, "strike": { "type": "number", "nullable": true, "description": "Preço de exercício (strike) da opção." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote pré-definido para alocação. Geralmente 100 para opções sobre ações brasileiras." }, "expirationDate": { "type": "string", "description": "Data de vencimento da série, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "description": "Data do primeiro pregão observado para a série (YYYY-MM-DD)." }, "lastTradeDate": { "type": "string", "description": "Data do último pregão observado para a série (YYYY-MM-DD)." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na apuração mais recente até a data consultada." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto em relação à apuração anterior, em número de contratos." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." }, "reportDate": { "type": "string", "description": "Data da apuração de posições, no formato YYYY-MM-DD." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN da série de opção, não o do ativo objeto." }, "asset": { "type": "string", "nullable": true, "description": "Código raiz do ativo objeto, por exemplo PETR. Não traz o dígito do tipo da ação." }, "expirationCode": { "type": "string", "nullable": true, "description": "Código de vencimento usado na apuração. Vem vazio nas opções sobre ações." }, "segment": { "type": "string", "description": "Segmento da posição, por exemplo EQUITY CALL." }, "reportedOpenInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto sem normalização. Nas opções sobre ações vem vazio; use `openInterest`." }, "reportedOpenInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto sem normalização. Nas opções sobre ações vem vazio; use `openInterestChange`." }, "distributionId": { "type": "string", "nullable": true, "description": "Número de distribuição do ativo objeto." }, "coveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição coberta." }, "blockedQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição bloqueada." }, "uncoveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição descoberta." }, "totalPositionQuantity": { "type": "number", "nullable": true, "description": "Total de contratos em posição. É a origem de `openInterest` nas opções sobre ações." }, "borrowerQuantity": { "type": "number", "nullable": true, "description": "Quantidade tomadora em empréstimo de ativos." }, "lenderQuantity": { "type": "number", "nullable": true, "description": "Quantidade doadora em empréstimo de ativos." }, "currentQuantity": { "type": "number", "nullable": true, "description": "Quantidade corrente. Preenchida apenas em alguns segmentos." }, "forwardPrice": { "type": "number", "nullable": true, "description": "Preço a termo. Preenchido apenas em alguns segmentos." } }, "required": [ "symbol", "underlyingSymbol", "side", "market", "optionStyle", "strike", "allocationRoundLot", "expirationDate", "firstTradeDate", "lastTradeDate", "openInterest", "openInterestChange", "openInterestDate", "reportDate", "isin", "asset", "expirationCode", "segment", "reportedOpenInterest", "reportedOpenInterestChange", "distributionId", "coveredQuantity", "blockedQuantity", "uncoveredQuantity", "totalPositionQuantity", "borrowerQuantity", "lenderQuantity", "currentQuantity", "forwardPrice" ] }, "OptionPositionsResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "date": { "type": "string" }, "positions": { "type": "array", "items": { "$ref": "#/components/schemas/OptionPositionSnapshot" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "positions", "requestedAt", "took" ], "example": { "underlying": "PETR4", "expirationDate": "2026-12-18", "date": "2026-06-01", "positions": [ { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "openInterest": 12500, "openInterestChange": 350, "openInterestDate": "2026-06-01", "reportDate": "2026-06-01", "isin": "BRPETR4F1RM1", "asset": "PETR", "expirationCode": null, "segment": "EQUITY CALL", "reportedOpenInterest": null, "reportedOpenInterestChange": null, "distributionId": "228", "coveredQuantity": 0, "blockedQuantity": 1200, "uncoveredQuantity": 11300, "totalPositionQuantity": 12500, "borrowerQuantity": 1, "lenderQuantity": 3, "currentQuantity": null, "forwardPrice": null } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 12 } }, "OptionPricePoint": { "type": "object", "properties": { "date": { "type": "integer", "description": "Data do pregão em timestamp Unix (segundos)." }, "open": { "type": "number", "nullable": true, "description": "Preço de abertura do pregão." }, "high": { "type": "number", "nullable": true, "description": "Máxima do pregão." }, "low": { "type": "number", "nullable": true, "description": "Mínima do pregão." }, "average": { "type": "number", "nullable": true, "description": "Preço médio do pregão." }, "close": { "type": "number", "nullable": true, "description": "Preço de fechamento do pregão." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço oficial de referência, quando publicado pela B3." }, "bid": { "type": "number", "nullable": true, "description": "Melhor oferta de compra registrada no fechamento." }, "ask": { "type": "number", "nullable": true, "description": "Melhor oferta de venda registrada no fechamento." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios realizados no pregão." }, "volume": { "type": "number", "nullable": true, "description": "Volume negociado no pregão (em contratos)." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume financeiro negociado no pregão (em BRL)." } }, "required": [ "date", "open", "high", "low", "average", "close", "referencePrice", "bid", "ask", "trades", "volume", "financialVolume" ] }, "OptionSeries": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código de negociação da série (ex: PETRF783)." }, "underlyingSymbol": { "type": "string", "nullable": true, "description": "Ativo subjacente da opção (ex: PETR4)." }, "side": { "type": "string", "enum": [ "call", "put" ], "description": "Tipo da opção: `call` (opção de compra) ou `put` (opção de venda)." }, "market": { "type": "string", "enum": [ "equity", "index", "currency" ], "description": "Mercado da opção: `equity` (ação/ETF), `index` (índice) ou `currency` (DOL/WDO)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "Estilo de exercício da opção: `american` permite exercício a qualquer momento até o vencimento; `european` permite exercício apenas no vencimento. `null` em séries antigas que ainda não passaram pelo enriquecimento de cadastro." }, "strike": { "type": "number", "nullable": true, "description": "Preço de exercício (strike) da opção." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote pré-definido para alocação. Geralmente 100 para opções sobre ações brasileiras." }, "expirationDate": { "type": "string", "description": "Data de vencimento da série, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "description": "Data do primeiro pregão observado para a série (YYYY-MM-DD)." }, "lastTradeDate": { "type": "string", "description": "Data do último pregão observado para a série (YYYY-MM-DD)." } }, "required": [ "symbol", "underlyingSymbol", "side", "market", "optionStyle", "strike", "allocationRoundLot", "expirationDate", "firstTradeDate", "lastTradeDate" ] }, "OptionSeriesWithHistory": { "allOf": [ { "$ref": "#/components/schemas/OptionSeries" }, { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/OptionPricePoint" }, "description": "Pontos EOD diários da série no intervalo consultado. Cada item traz OHLCV, bid/ask, número de negócios e volume financeiro." } }, "required": [ "history" ] } ], "description": "Metadados da série consultada acompanhados de `history`, com um ponto OHLCV por pregão no intervalo pedido." }, "OptionHistoricalResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/OptionSeriesWithHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "history": [ { "date": 1780282800, "open": 35.15, "high": 35.15, "low": 35.15, "average": 35.15, "close": 35.15, "referencePrice": null, "bid": 0, "ask": 0, "trades": 1, "volume": 500, "financialVolume": 17575 } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 8 } }, "OptionPositionHistory": { "allOf": [ { "$ref": "#/components/schemas/OptionSeries" }, { "type": "object", "properties": { "positions": { "type": "array", "items": { "type": "object", "properties": { "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na apuração mais recente até a data consultada." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto em relação à apuração anterior, em número de contratos." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." }, "reportDate": { "type": "string", "description": "Data da apuração de posições, no formato YYYY-MM-DD." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN da série de opção, não o do ativo objeto." }, "asset": { "type": "string", "nullable": true, "description": "Código raiz do ativo objeto, por exemplo PETR. Não traz o dígito do tipo da ação." }, "expirationCode": { "type": "string", "nullable": true, "description": "Código de vencimento usado na apuração. Vem vazio nas opções sobre ações." }, "segment": { "type": "string", "description": "Segmento da posição, por exemplo EQUITY CALL." }, "reportedOpenInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto sem normalização. Nas opções sobre ações vem vazio; use `openInterest`." }, "reportedOpenInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto sem normalização. Nas opções sobre ações vem vazio; use `openInterestChange`." }, "distributionId": { "type": "string", "nullable": true, "description": "Número de distribuição do ativo objeto." }, "coveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição coberta." }, "blockedQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição bloqueada." }, "uncoveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição descoberta." }, "totalPositionQuantity": { "type": "number", "nullable": true, "description": "Total de contratos em posição. É a origem de `openInterest` nas opções sobre ações." }, "borrowerQuantity": { "type": "number", "nullable": true, "description": "Quantidade tomadora em empréstimo de ativos." }, "lenderQuantity": { "type": "number", "nullable": true, "description": "Quantidade doadora em empréstimo de ativos." }, "currentQuantity": { "type": "number", "nullable": true, "description": "Quantidade corrente. Preenchida apenas em alguns segmentos." }, "forwardPrice": { "type": "number", "nullable": true, "description": "Preço a termo. Preenchido apenas em alguns segmentos." } }, "required": [ "openInterest", "openInterestChange", "openInterestDate", "reportDate", "isin", "asset", "expirationCode", "segment", "reportedOpenInterest", "reportedOpenInterestChange", "distributionId", "coveredQuantity", "blockedQuantity", "uncoveredQuantity", "totalPositionQuantity", "borrowerQuantity", "lenderQuantity", "currentQuantity", "forwardPrice" ] } } }, "required": [ "positions" ] } ] }, "OptionPositionsHistoryResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/OptionPositionHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "positions": [ { "openInterest": 12500, "openInterestChange": 350, "openInterestDate": "2026-06-01", "reportDate": "2026-06-01", "isin": "BRPETR4F1RM1", "asset": "PETR", "expirationCode": null, "segment": "EQUITY CALL", "reportedOpenInterest": null, "reportedOpenInterestChange": null, "distributionId": "228", "coveredQuantity": 0, "blockedQuantity": 1200, "uncoveredQuantity": 11300, "totalPositionQuantity": 12500, "borrowerQuantity": 1, "lenderQuantity": 3, "currentQuantity": null, "forwardPrice": null } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 11 } }, "OptionAnalyticsSnapshot": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código de negociação da série (ex: PETRF783)." }, "underlyingSymbol": { "type": "string", "nullable": true, "description": "Ativo subjacente da opção (ex: PETR4)." }, "side": { "type": "string", "enum": [ "call", "put" ], "description": "Tipo da opção: `call` (opção de compra) ou `put` (opção de venda)." }, "market": { "type": "string", "enum": [ "equity", "index", "currency" ], "description": "Mercado da opção: `equity` (ação/ETF), `index` (índice) ou `currency` (DOL/WDO)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "Estilo de exercício da opção: `american` permite exercício a qualquer momento até o vencimento; `european` permite exercício apenas no vencimento. `null` em séries antigas que ainda não passaram pelo enriquecimento de cadastro." }, "strike": { "type": "number", "nullable": true, "description": "Preço de exercício (strike) da opção." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote pré-definido para alocação. Geralmente 100 para opções sobre ações brasileiras." }, "expirationDate": { "type": "string", "description": "Data de vencimento da série, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "description": "Data do primeiro pregão observado para a série (YYYY-MM-DD)." }, "lastTradeDate": { "type": "string", "description": "Data do último pregão observado para a série (YYYY-MM-DD)." }, "date": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD." }, "model": { "type": "string", "enum": [ "black-scholes-merton", "barone-adesi-whaley", "cox-ross-rubinstein", "unsupported" ], "description": "Modelo usado na precificação. Séries americanas usam aproximação binomial; séries europeias usam Black-Scholes-Merton." }, "priceSource": { "type": "string", "enum": [ "close", "referencePrice", "none" ], "description": "Preço usado como entrada para resolver IV. Em opções de ações/índices, v1 usa apenas fechamento negociado (`close`)." }, "underlyingPrice": { "type": "number", "nullable": true, "description": "Preço do ativo subjacente usado no cálculo." }, "optionPrice": { "type": "number", "nullable": true, "description": "Preço da opção usado para resolver a volatilidade implícita." }, "riskFreeRate": { "type": "number", "nullable": true, "description": "Taxa livre de risco anual em decimal (ex.: 0.105 para 10,5%)." }, "dividendYield": { "type": "number", "nullable": true, "description": "Yield contínuo derivado de dividendos anunciados conhecidos até a data de cálculo. `0` quando não há dividendo anunciado aplicável." }, "timeToExpirationYears": { "type": "number", "nullable": true, "description": "Tempo até o vencimento em anos." }, "impliedVolatility": { "type": "number", "nullable": true, "description": "Volatilidade implícita anualizada em decimal." }, "delta": { "type": "number", "nullable": true, "description": "Delta da opção." }, "gamma": { "type": "number", "nullable": true, "description": "Gamma da opção." }, "theta": { "type": "number", "nullable": true, "description": "Theta anualizado da opção." }, "vega": { "type": "number", "nullable": true, "description": "Vega da opção." }, "rho": { "type": "number", "nullable": true, "description": "Rho da opção." }, "confidence": { "type": "string", "enum": [ "high", "medium", "low", "none" ], "description": "Confiança operacional do cálculo. `none` indica que as gregas/IV ficaram nulas e `nullReason` explica o motivo." }, "nullReason": { "type": "string", "nullable": true, "description": "Motivo para campos calculados nulos, quando aplicável (ex.: `no_trades`, `missing_underlying_price`, `iv_not_converged`)." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na apuração mais recente até a data consultada." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto em relação à apuração anterior, em número de contratos." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "symbol", "underlyingSymbol", "side", "market", "optionStyle", "strike", "allocationRoundLot", "expirationDate", "firstTradeDate", "lastTradeDate", "date", "model", "priceSource", "underlyingPrice", "optionPrice", "riskFreeRate", "dividendYield", "timeToExpirationYears", "impliedVolatility", "delta", "gamma", "theta", "vega", "rho", "confidence", "nullReason", "openInterest", "openInterestChange", "openInterestDate" ] }, "OptionAnalyticsResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "date": { "type": "string" }, "analytics": { "type": "array", "items": { "$ref": "#/components/schemas/OptionAnalyticsSnapshot" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "analytics", "requestedAt", "took" ], "example": { "underlying": "PETR4", "expirationDate": "2026-12-18", "date": "2026-05-29", "analytics": [ { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "openInterest": 12500, "openInterestChange": 350, "openInterestDate": "2026-06-01", "date": "2026-05-29", "model": "black-scholes-merton", "priceSource": "close", "underlyingPrice": 42, "optionPrice": 34.8, "riskFreeRate": 0.145, "dividendYield": 0, "timeToExpirationYears": 0.057534248, "impliedVolatility": 3.0155768, "delta": 0.99739844, "gamma": 0.0002648198, "theta": -3.1521828, "vega": 0.08104867, "rho": 0.4079601, "confidence": "medium", "nullReason": null } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 9 } }, "OptionSeriesWithAnalyticsHistory": { "allOf": [ { "$ref": "#/components/schemas/OptionSeries" }, { "type": "object", "properties": { "analytics": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD." }, "model": { "type": "string", "enum": [ "black-scholes-merton", "barone-adesi-whaley", "cox-ross-rubinstein", "unsupported" ], "description": "Modelo usado na precificação. Séries americanas usam aproximação binomial; séries europeias usam Black-Scholes-Merton." }, "priceSource": { "type": "string", "enum": [ "close", "referencePrice", "none" ], "description": "Preço usado como entrada para resolver IV. Em opções de ações/índices, v1 usa apenas fechamento negociado (`close`)." }, "underlyingPrice": { "type": "number", "nullable": true, "description": "Preço do ativo subjacente usado no cálculo." }, "optionPrice": { "type": "number", "nullable": true, "description": "Preço da opção usado para resolver a volatilidade implícita." }, "riskFreeRate": { "type": "number", "nullable": true, "description": "Taxa livre de risco anual em decimal (ex.: 0.105 para 10,5%)." }, "dividendYield": { "type": "number", "nullable": true, "description": "Yield contínuo derivado de dividendos anunciados conhecidos até a data de cálculo. `0` quando não há dividendo anunciado aplicável." }, "timeToExpirationYears": { "type": "number", "nullable": true, "description": "Tempo até o vencimento em anos." }, "impliedVolatility": { "type": "number", "nullable": true, "description": "Volatilidade implícita anualizada em decimal." }, "delta": { "type": "number", "nullable": true, "description": "Delta da opção." }, "gamma": { "type": "number", "nullable": true, "description": "Gamma da opção." }, "theta": { "type": "number", "nullable": true, "description": "Theta anualizado da opção." }, "vega": { "type": "number", "nullable": true, "description": "Vega da opção." }, "rho": { "type": "number", "nullable": true, "description": "Rho da opção." }, "confidence": { "type": "string", "enum": [ "high", "medium", "low", "none" ], "description": "Confiança operacional do cálculo. `none` indica que as gregas/IV ficaram nulas e `nullReason` explica o motivo." }, "nullReason": { "type": "string", "nullable": true, "description": "Motivo para campos calculados nulos, quando aplicável (ex.: `no_trades`, `missing_underlying_price`, `iv_not_converged`)." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na apuração mais recente até a data consultada." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação dos contratos em aberto em relação à apuração anterior, em número de contratos." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "date", "model", "priceSource", "underlyingPrice", "optionPrice", "riskFreeRate", "dividendYield", "timeToExpirationYears", "impliedVolatility", "delta", "gamma", "theta", "vega", "rho", "confidence", "nullReason", "openInterest", "openInterestChange", "openInterestDate" ] }, "description": "Série temporal EOD das gregas e volatilidade implícita calculadas para a opção." } }, "required": [ "analytics" ] } ] }, "OptionAnalyticsHistoryResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/OptionSeriesWithAnalyticsHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "analytics": [ { "date": "2026-05-29", "model": "black-scholes-merton", "priceSource": "close", "underlyingPrice": 42, "optionPrice": 34.8, "riskFreeRate": 0.145, "dividendYield": 0, "timeToExpirationYears": 0.057534248, "impliedVolatility": 3.0155768, "delta": 0.99739844, "gamma": 0.0002648198, "theta": -3.1521828, "vega": 0.08104867, "rho": 0.4079601, "confidence": "medium", "nullReason": null, "openInterest": 12500, "openInterestChange": 350, "openInterestDate": "2026-06-01" } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 10 } }, "PrimeRateEntrySimple": { "type": "object", "properties": { "date": { "type": "string" }, "value": { "type": "string", "description": "Taxa SELIC meta anualizada (% a.a.)", "example": "15.00" }, "epochDate": { "type": "number" } }, "required": [ "date", "value", "epochDate" ] }, "PrimeRateResponseSimple": { "type": "object", "properties": { "prime-rate": { "type": "array", "items": { "$ref": "#/components/schemas/PrimeRateEntrySimple" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "prime-rate", "requestedAt", "took" ], "example": { "prime-rate": [ { "date": "08/02/2026", "value": "15.00", "epochDate": 1770519600000 }, { "date": "07/02/2026", "value": "15.00", "epochDate": 1770433200000 }, { "date": "06/02/2026", "value": "15.00", "epochDate": 1770346800000 } ], "requestedAt": "2026-02-08T16:26:28.456Z", "took": 92 } }, "PrimeRateAvailableResponse": { "type": "object", "properties": { "countries": { "type": "array", "items": { "type": "string" } }, "message": { "type": "string" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" } }, "required": [ "countries", "message", "requestedAt" ], "example": { "countries": [ "brazil" ], "message": "Available prime rate data countries", "requestedAt": "2026-02-08T16:26:29.093Z" } }, "QuoteListItem": { "type": "object", "properties": { "stock": { "type": "string", "description": "Ticker do ativo" }, "name": { "type": "string", "description": "Nome da empresa" }, "close": { "type": "number", "nullable": true, "description": "Preço de fechamento" }, "change": { "type": "number", "nullable": true, "description": "Variação percentual" }, "volume": { "type": "number", "nullable": true, "description": "Volume negociado" }, "market_cap": { "type": "number", "nullable": true, "description": "Capitalização de mercado" }, "logo": { "type": "string", "nullable": true, "description": "URL do logo" }, "sector": { "type": "string", "nullable": true, "description": "Setor" }, "subsector": { "type": "string", "nullable": true, "description": "Subsetor B3" }, "type": { "type": "string", "nullable": true, "description": "Tipo do ativo" }, "subType": { "type": "string", "nullable": true, "description": "Classificação aditiva do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr" } }, "required": [ "stock", "name", "close", "change", "volume", "market_cap", "logo", "sector", "subsector", "type", "subType" ] }, "QuoteListResponse": { "type": "object", "properties": { "indexes": { "type": "array", "items": { "type": "object", "properties": { "stock": { "type": "string" }, "name": { "type": "string" } }, "required": [ "stock", "name" ] } }, "stocks": { "type": "array", "items": { "$ref": "#/components/schemas/QuoteListItem" } }, "availableSectors": { "type": "array", "items": { "type": "string" } }, "availableSubsectors": { "type": "array", "items": { "type": "string" } }, "availableStockTypes": { "type": "array", "items": { "type": "string" } }, "availableSubTypeTypes": { "type": "array", "items": { "type": "string" } }, "currentPage": { "type": "number" }, "totalPages": { "type": "number" }, "itemsPerPage": { "type": "number" }, "totalCount": { "type": "number" }, "hasNextPage": { "type": "boolean" } }, "required": [ "indexes", "stocks", "availableSectors", "availableSubsectors", "availableStockTypes", "availableSubTypeTypes" ], "example": { "indexes": [ { "stock": "^BVSP", "name": "IBOVESPA" }, { "stock": "IFIX.SA", "name": "Índice de Fundos Imobiliários" } ], "stocks": [ { "stock": "PETR4", "name": "PETR4", "close": 36.65, "change": -0.95, "volume": 27681100, "market_cap": 483937892568, "sector": "Energy Minerals", "type": "stock", "subType": "stock", "logo": "https://icons.brapi.dev/icons/PETR4.svg" }, { "stock": "VALE3", "name": "VALE3", "close": 52.89, "change": -1.23, "volume": 18543200, "market_cap": 229876543210, "sector": "Non-Energy Minerals", "type": "stock", "subType": "stock", "logo": "https://icons.brapi.dev/icons/VALE3.svg" } ], "availableSectors": [ "Retail Trade", "Energy Minerals", "Health Services", "Utilities", "Finance", "Consumer Services", "Consumer Non-Durables", "Non-Energy Minerals", "Commercial Services", "Distribution Services", "Transportation", "Technology Services", "Process Industries", "Communications", "Producer Manufacturing", "Miscellaneous", "Electronic Technology", "Industrial Services", "Health Technology", "Consumer Durables" ], "availableSubsectors": [ "Comércio", "Intermediários Financeiros" ], "availableStockTypes": [ "stock", "fund", "bdr" ], "availableSubTypeTypes": [ "stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr" ], "currentPage": 1, "totalPages": 50, "itemsPerPage": 10, "totalCount": 500, "hasNextPage": true, "requestedAt": "2026-02-08T16:25:29.000Z", "took": 12 } }, "HistoricalDataPrice": { "type": "object", "properties": { "date": { "type": "integer", "description": "Data do pregão ou do ponto de dados, representada como um timestamp UNIX (número de segundos desde 1970-01-01 UTC)." }, "open": { "type": "number", "description": "Preço de abertura do ativo no intervalo (dia, semana, mês, etc.)." }, "high": { "type": "number", "description": "Preço máximo atingido pelo ativo no intervalo." }, "low": { "type": "number", "description": "Preço mínimo atingido pelo ativo no intervalo." }, "close": { "type": "number", "description": "Preço de fechamento do ativo no intervalo." }, "volume": { "type": "integer", "description": "Volume financeiro negociado no intervalo." }, "adjustedClose": { "type": "number", "description": "Preço de fechamento ajustado para proventos (dividendos, JCP, bonificações, etc.) e desdobramentos/grupamentos." } }, "required": [ "date", "open", "high", "low", "close", "volume", "adjustedClose" ] }, "DividendsData": { "type": "object", "properties": { "cashDividends": { "type": "array", "items": { "type": "object", "properties": { "assetIssued": { "type": "string", "description": "Código ISIN do ativo emissor" }, "paymentDate": { "type": "string", "nullable": true, "description": "Data de pagamento" }, "rate": { "type": "number", "description": "Valor por ação" }, "relatedTo": { "type": "string", "description": "Período de referência" }, "approvedOn": { "type": "string", "nullable": true, "description": "Data de aprovação" }, "isinCode": { "type": "string", "description": "Código ISIN" }, "label": { "type": "string", "description": "Tipo (DIVIDENDO, JCP)" }, "lastDatePrior": { "type": "string", "nullable": true, "description": "Data-com (último dia antes da data ex)" }, "remarks": { "type": "string", "description": "Observações" } }, "required": [ "assetIssued", "paymentDate", "rate", "relatedTo", "approvedOn", "isinCode", "label", "lastDatePrior", "remarks" ] }, "description": "Histórico de dividendos e JCP em dinheiro" }, "stockDividends": { "type": "array", "items": { "type": "object", "properties": { "assetIssued": { "type": "string", "description": "Código ISIN do ativo emissor" }, "factor": { "type": "number", "description": "Fator do desdobramento/grupamento" }, "completeFactor": { "type": "string", "description": "Fator completo (ex: 2 para 1)" }, "approvedOn": { "type": "string", "nullable": true, "description": "Data de aprovação" }, "isinCode": { "type": "string", "description": "Código ISIN" }, "label": { "type": "string", "description": "Tipo (DESDOBRAMENTO, GRUPAMENTO)" }, "lastDatePrior": { "type": "string", "nullable": true, "description": "Data de corte" }, "remarks": { "type": "string", "description": "Observações" } }, "required": [ "assetIssued", "factor", "completeFactor", "approvedOn", "isinCode", "label", "lastDatePrior", "remarks" ] }, "description": "Histórico de bonificações e desdobramentos" }, "subscriptions": { "type": "array", "items": { "nullable": true }, "description": "Histórico de subscrições" } }, "required": [ "cashDividends", "stockDividends", "subscriptions" ], "description": "Dados de dividendos (quando dividends=true)" }, "SummaryProfile": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Ticker do ativo" }, "cnpj": { "type": "string", "nullable": true, "description": "CNPJ da empresa" }, "address1": { "type": "string", "nullable": true, "description": "Endereço linha 1" }, "address2": { "type": "string", "nullable": true, "description": "Endereço linha 2" }, "address3": { "type": "string", "nullable": true, "description": "Endereço linha 3" }, "city": { "type": "string", "nullable": true, "description": "Cidade" }, "state": { "type": "string", "nullable": true, "description": "Estado" }, "zip": { "type": "string", "nullable": true, "description": "CEP" }, "country": { "type": "string", "nullable": true, "description": "País" }, "phone": { "type": "string", "nullable": true, "description": "Telefone" }, "fax": { "type": "string", "nullable": true, "description": "Fax" }, "website": { "type": "string", "nullable": true, "description": "Website" }, "industry": { "type": "string", "nullable": true, "description": "Setor" }, "industryKey": { "type": "string", "nullable": true, "description": "Chave do setor" }, "industryDisp": { "type": "string", "nullable": true, "description": "Nome do setor" }, "sector": { "type": "string", "nullable": true, "description": "Segmento" }, "sectorKey": { "type": "string", "nullable": true, "description": "Chave do segmento" }, "sectorDisp": { "type": "string", "nullable": true, "description": "Nome do segmento" }, "longBusinessSummary": { "type": "string", "nullable": true, "description": "Descrição da empresa" }, "fullTimeEmployees": { "type": "number", "nullable": true, "description": "Número de funcionários" }, "companyOfficers": { "type": "array", "items": { "nullable": true }, "description": "Diretoria" }, "updatedAt": { "type": "string", "nullable": true, "description": "Data de atualização" } }, "required": [ "symbol", "cnpj", "address1", "address2", "address3", "city", "state", "zip", "country", "phone", "fax", "website", "industry", "industryKey", "industryDisp", "sector", "sectorKey", "sectorDisp", "longBusinessSummary", "fullTimeEmployees", "companyOfficers", "updatedAt" ], "description": "Perfil da empresa (quando modules inclui summaryProfile)" }, "BalanceSheetEntry": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Ticker do ativo" }, "type": { "type": "string", "description": "Tipo (yearly, quarterly)" }, "endDate": { "type": "string", "description": "Data de referência" }, "cash": { "type": "number", "nullable": true, "description": "Caixa" }, "shortTermInvestments": { "type": "number", "nullable": true, "description": "Investimentos de curto prazo" }, "netReceivables": { "type": "number", "nullable": true, "description": "Contas a receber" }, "inventory": { "type": "number", "nullable": true, "description": "Estoques" }, "otherCurrentAssets": { "type": "number", "nullable": true, "description": "Outros ativos circulantes" }, "totalCurrentAssets": { "type": "number", "nullable": true, "description": "Total ativo circulante" }, "longTermInvestments": { "type": "number", "nullable": true, "description": "Investimentos de longo prazo" }, "propertyPlantEquipment": { "type": "number", "nullable": true, "description": "Imobilizado" }, "otherAssets": { "type": "number", "nullable": true, "description": "Outros ativos" }, "totalAssets": { "type": "number", "nullable": true, "description": "Total de ativos" }, "accountsPayable": { "type": "number", "nullable": true, "description": "Fornecedores" }, "shortLongTermDebt": { "type": "number", "nullable": true, "description": "Dívida de curto/longo prazo" }, "longTermDebt": { "type": "number", "nullable": true, "description": "Dívida de longo prazo" }, "totalCurrentLiabilities": { "type": "number", "nullable": true, "description": "Passivo circulante total" }, "totalLiab": { "type": "number", "nullable": true, "description": "Passivo total" }, "totalStockholderEquity": { "type": "number", "nullable": true, "description": "Patrimônio líquido" }, "updatedAt": { "type": "string", "nullable": true, "description": "Data de atualização" } }, "required": [ "symbol", "type", "endDate", "cash", "shortTermInvestments", "netReceivables", "inventory", "otherCurrentAssets", "totalCurrentAssets", "longTermInvestments", "propertyPlantEquipment", "otherAssets", "totalAssets", "accountsPayable", "shortLongTermDebt", "longTermDebt", "totalCurrentLiabilities", "totalLiab", "totalStockholderEquity", "updatedAt" ] }, "FinancialDataEntry": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Ticker do ativo" }, "currentPrice": { "type": "number", "nullable": true, "description": "Preço atual" }, "ebitda": { "type": "number", "nullable": true, "description": "EBITDA" }, "quickRatio": { "type": "number", "nullable": true, "description": "Liquidez seca" }, "currentRatio": { "type": "number", "nullable": true, "description": "Liquidez corrente" }, "debtToEquity": { "type": "number", "nullable": true, "description": "Dívida/PL" }, "revenuePerShare": { "type": "number", "nullable": true, "description": "Receita por ação" }, "returnOnAssets": { "type": "number", "nullable": true, "description": "ROA" }, "returnOnEquity": { "type": "number", "nullable": true, "description": "ROE" }, "earningsGrowth": { "type": "number", "nullable": true, "description": "Crescimento do lucro do controlador (TTM) - variação dos últimos 4 trimestres em relação aos 4 trimestres imediatamente anteriores, usando Lucro Líquido Atribuível aos Controladores. Para crescimento anual (DRE de exercício vs. exercício anterior), use earningsGrowthAnnual." }, "revenueGrowth": { "type": "number", "nullable": true, "description": "Crescimento da receita (TTM) - variação da receita dos últimos 4 trimestres em relação aos 4 trimestres imediatamente anteriores. Para crescimento anual (DRE de exercício vs. exercício anterior), use revenueGrowthAnnual." }, "earningsGrowthAnnual": { "type": "number", "nullable": true, "description": "Crescimento anual do lucro do controlador - variação do Lucro Líquido Atribuível aos Controladores do último exercício social completo em relação ao exercício anterior." }, "revenueGrowthAnnual": { "type": "number", "nullable": true, "description": "Crescimento anual da receita - variação da Receita Líquida do último exercício social completo em relação ao exercício anterior." }, "grossMargins": { "type": "number", "nullable": true, "description": "Margem bruta" }, "ebitdaMargins": { "type": "number", "nullable": true, "description": "Margem EBITDA" }, "operatingMargins": { "type": "number", "nullable": true, "description": "Margem operacional" }, "profitMargins": { "type": "number", "nullable": true, "description": "Margem de lucro" }, "totalCash": { "type": "number", "nullable": true, "description": "Caixa total" }, "totalCashPerShare": { "type": "number", "nullable": true, "description": "Caixa por ação" }, "totalDebt": { "type": "number", "nullable": true, "description": "Dívida total" }, "totalRevenue": { "type": "number", "nullable": true, "description": "Receita total" }, "grossProfits": { "type": "number", "nullable": true, "description": "Lucro bruto" }, "operatingCashflow": { "type": "number", "nullable": true, "description": "Fluxo de caixa operacional" }, "freeCashflow": { "type": "number", "nullable": true, "description": "Fluxo de caixa livre" }, "financialCurrency": { "type": "string", "nullable": true, "description": "Moeda" }, "updatedAt": { "type": "string", "nullable": true, "description": "Data de atualização" }, "type": { "type": "string", "nullable": true, "description": "Tipo (ttm, yearly, quarterly)" } }, "required": [ "symbol", "currentPrice", "ebitda", "quickRatio", "currentRatio", "debtToEquity", "revenuePerShare", "returnOnAssets", "returnOnEquity", "earningsGrowth", "revenueGrowth", "earningsGrowthAnnual", "revenueGrowthAnnual", "grossMargins", "ebitdaMargins", "operatingMargins", "profitMargins", "totalCash", "totalCashPerShare", "totalDebt", "totalRevenue", "grossProfits", "operatingCashflow", "freeCashflow", "financialCurrency", "updatedAt", "type" ], "description": "Dados financeiros e indicadores TTM" }, "QuoteResult": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Ticker (símbolo) do ativo (ex: PETR4, ^BVSP)", "example": "PETR4" }, "currency": { "type": "string", "description": "Moeda na qual os valores são expressos (geralmente BRL)" }, "shortName": { "type": "string", "nullable": true, "description": "Nome curto ou abreviado da empresa" }, "longName": { "type": "string", "nullable": true, "description": "Nome completo da empresa" }, "regularMarketPrice": { "type": "number", "nullable": true, "description": "Preço atual ou do último negócio registrado" }, "regularMarketChange": { "type": "number", "nullable": true, "description": "Variação absoluta do preço no dia em relação ao fechamento anterior" }, "regularMarketChangePercent": { "type": "number", "nullable": true, "description": "Variação percentual do preço no dia" }, "regularMarketTime": { "type": "string", "nullable": true, "description": "Data/hora da última atualização da cotação (ISO 8601)" }, "regularMarketDayHigh": { "type": "number", "nullable": true, "description": "Preço máximo atingido no dia" }, "regularMarketDayLow": { "type": "number", "nullable": true, "description": "Preço mínimo atingido no dia" }, "regularMarketDayRange": { "type": "string", "nullable": true, "description": "Intervalo de preço do dia (Mínimo - Máximo)" }, "regularMarketVolume": { "type": "number", "nullable": true, "description": "Volume financeiro negociado no dia" }, "regularMarketPreviousClose": { "type": "number", "nullable": true, "description": "Preço de fechamento do pregão anterior" }, "regularMarketOpen": { "type": "number", "nullable": true, "description": "Preço de abertura no dia" }, "averageDailyVolume3Month": { "type": "number", "nullable": true, "description": "Média do volume diário nos últimos 3 meses" }, "averageDailyVolume10Day": { "type": "number", "nullable": true, "description": "Média do volume diário nos últimos 10 dias" }, "fiftyTwoWeekLow": { "type": "number", "nullable": true, "description": "Preço mínimo nas últimas 52 semanas" }, "fiftyTwoWeekHigh": { "type": "number", "nullable": true, "description": "Preço máximo nas últimas 52 semanas" }, "fiftyTwoWeekRange": { "type": "string", "nullable": true, "description": "Intervalo de preço das últimas 52 semanas" }, "fiftyTwoWeekLowChange": { "type": "number", "nullable": true, "description": "Variação entre preço atual e mínimo de 52 semanas" }, "fiftyTwoWeekHighChange": { "type": "number", "nullable": true, "description": "Variação entre preço atual e máximo de 52 semanas" }, "fiftyTwoWeekHighChangePercent": { "type": "number", "nullable": true, "description": "Variação percentual entre preço atual e máximo de 52 semanas" }, "twoHundredDayAverage": { "type": "number", "nullable": true, "description": "Média móvel de 200 dias" }, "twoHundredDayAverageChange": { "type": "number", "nullable": true, "description": "Variação entre preço atual e média de 200 dias" }, "twoHundredDayAverageChangePercent": { "type": "number", "nullable": true, "description": "Variação percentual entre preço atual e média de 200 dias" }, "marketCap": { "type": "number", "nullable": true, "description": "Capitalização de mercado total" }, "priceEarnings": { "type": "number", "nullable": true, "description": "Indicador Preço/Lucro (P/L)" }, "earningsPerShare": { "type": "number", "nullable": true, "description": "Lucro Por Ação (LPA) TTM" }, "logourl": { "type": "string", "nullable": true, "description": "URL do logo do ativo" }, "usedInterval": { "type": "string", "nullable": true, "description": "Intervalo efetivamente utilizado para dados históricos" }, "usedRange": { "type": "string", "nullable": true, "description": "Período efetivamente utilizado para dados históricos" }, "validRanges": { "type": "array", "items": { "type": "string" }, "description": "Valores válidos para o parâmetro range" }, "validIntervals": { "type": "array", "items": { "type": "string" }, "description": "Valores válidos para o parâmetro interval" }, "historicalDataPrice": { "type": "array", "items": { "$ref": "#/components/schemas/HistoricalDataPrice" }, "description": "Série histórica de preços (quando range/interval fornecidos)" }, "dividendsData": { "$ref": "#/components/schemas/DividendsData" }, "summaryProfile": { "$ref": "#/components/schemas/SummaryProfile" }, "balanceSheetHistory": { "type": "array", "items": { "$ref": "#/components/schemas/BalanceSheetEntry" }, "description": "Histórico anual do Balanço Patrimonial" }, "balanceSheetHistoryQuarterly": { "type": "array", "items": { "$ref": "#/components/schemas/BalanceSheetEntry" }, "description": "Histórico trimestral do Balanço Patrimonial" }, "financialData": { "$ref": "#/components/schemas/FinancialDataEntry" }, "financialDataHistory": { "type": "array", "items": { "$ref": "#/components/schemas/FinancialDataEntry" }, "description": "Histórico anual de dados financeiros" }, "financialDataHistoryQuarterly": { "type": "array", "items": { "$ref": "#/components/schemas/FinancialDataEntry" }, "description": "Histórico trimestral de dados financeiros" } }, "required": [ "symbol", "currency", "shortName", "longName", "regularMarketPrice", "regularMarketChange", "regularMarketChangePercent", "regularMarketTime", "regularMarketDayHigh", "regularMarketDayLow", "regularMarketDayRange", "regularMarketVolume", "regularMarketPreviousClose", "regularMarketOpen", "averageDailyVolume3Month", "averageDailyVolume10Day", "fiftyTwoWeekLow", "fiftyTwoWeekHigh", "fiftyTwoWeekRange", "fiftyTwoWeekLowChange", "fiftyTwoWeekHighChange", "fiftyTwoWeekHighChangePercent", "twoHundredDayAverage", "twoHundredDayAverageChange", "twoHundredDayAverageChangePercent", "marketCap", "priceEarnings", "earningsPerShare", "logourl", "usedInterval", "usedRange" ] }, "GuidanceItem": { "type": "object", "properties": { "code": { "type": "string", "example": "FII_DIVIDENDS_MISUSE" }, "message": { "type": "string", "example": "Os símbolos MXRF11 parecem ser FIIs. Para dados de dividendos de FIIs, use o endpoint dedicado /api/v2/fii/dividends?symbols=MXRF11 que inclui datas reais de pagamento e ex-date." }, "details": { "type": "object", "properties": { "suggestedEndpoint": { "type": "string", "example": "/api/v2/fii/dividends?symbols=MXRF11" }, "reason": { "type": "string" } }, "required": [ "suggestedEndpoint", "reason" ] } }, "required": [ "code", "message", "details" ] }, "QuoteTickersResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/QuoteResult" } }, "guidance": { "type": "array", "items": { "$ref": "#/components/schemas/GuidanceItem" }, "description": "Dicas contextuais quando a requisição funciona mas existe um endpoint mais adequado para o caso de uso." }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "symbol": "PETR4", "shortName": "PETR4", "longName": "Petroleo Brasileiro SA Pfd", "currency": "BRL", "regularMarketPrice": 36.65, "regularMarketDayHigh": 37.27, "regularMarketDayLow": 36.45, "regularMarketDayRange": "36.45 - 37.27", "regularMarketChange": -0.35, "regularMarketChangePercent": -0.95, "regularMarketTime": "2026-02-08T16:24:54.000Z", "marketCap": 483937892568, "regularMarketVolume": 27681100, "regularMarketPreviousClose": 36.7, "regularMarketOpen": 37.21, "fiftyTwoWeekRange": "28.86 - 38.66", "fiftyTwoWeekLow": 28.86, "fiftyTwoWeekHigh": 38.66, "priceEarnings": 6.09, "earningsPerShare": 6.01, "logourl": "https://icons.brapi.dev/icons/PETR4.svg" } ], "requestedAt": "2026-02-08T16:25:28.170Z", "took": 3 } }, "SdkLinks": { "type": "object", "properties": { "sdks": { "type": "array", "items": { "type": "object", "properties": { "language": { "type": "string" }, "package": { "type": "string" }, "install": { "type": "string" }, "url": { "type": "string", "format": "uri" } }, "required": [ "language", "package", "install", "url" ] } }, "cli": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "source-available", "published" ] }, "url": { "type": "string", "format": "uri" } }, "required": [ "status", "url" ] } }, "required": [ "sdks", "cli" ] }, "StockQuoteSnapshot": { "type": "object", "properties": { "shortName": { "type": "string", "example": "PETROBRAS PN" }, "longName": { "type": "string", "example": "Petróleo Brasileiro S.A." }, "currency": { "type": "string", "example": "BRL" }, "regularMarketPrice": { "type": "number", "example": 36.65 }, "regularMarketDayHigh": { "type": "number", "example": 37.27 }, "regularMarketDayLow": { "type": "number", "example": 36.45 }, "regularMarketDayRange": { "type": "string", "example": "36.45 - 37.27" }, "regularMarketChange": { "type": "number", "example": -0.35 }, "regularMarketChangePercent": { "type": "number", "example": -0.95 }, "regularMarketTime": { "type": "string", "description": "Horário da cotação em ISO 8601.", "example": "2026-02-08T16:24:54.000Z" }, "marketCap": { "type": "number", "nullable": true, "example": 483937892568 }, "regularMarketVolume": { "type": "number", "example": 27681100 }, "regularMarketPreviousClose": { "type": "number", "example": 36.7 }, "regularMarketOpen": { "type": "number", "example": 37.21 }, "fiftyTwoWeekRange": { "type": "string", "example": "28.86 - 38.66" }, "fiftyTwoWeekLow": { "type": "number", "example": 28.86 }, "fiftyTwoWeekHigh": { "type": "number", "example": 38.66 }, "logourl": { "type": "string", "example": "https://icons.brapi.dev/icons/PETR4.svg" } }, "required": [ "shortName", "longName", "currency", "regularMarketPrice", "regularMarketDayHigh", "regularMarketDayLow", "regularMarketDayRange", "regularMarketChange", "regularMarketChangePercent", "regularMarketTime", "marketCap", "regularMarketVolume", "regularMarketPreviousClose", "regularMarketOpen", "fiftyTwoWeekRange", "fiftyTwoWeekLow", "fiftyTwoWeekHigh", "logourl" ] }, "StockQuoteSeries": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "description": "Ticker informado na requisição.", "example": "VVAR3" }, "symbol": { "type": "string", "description": "Ticker retornado pela brapi após normalização/renome.", "example": "BHIA3" }, "changed": { "type": "boolean", "description": "`true` quando o ticker informado foi resolvido para outro ticker.", "example": true }, "data": { "$ref": "#/components/schemas/StockQuoteSnapshot" } }, "required": [ "requestedSymbol", "symbol", "changed", "data" ] }, "StockQuoteResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockQuoteSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": { "shortName": "PETROBRAS PN EX N2", "longName": "Petróleo Brasileiro S.A. - Petrobras", "currency": "BRL", "regularMarketPrice": 41.18, "regularMarketDayHigh": 41.53, "regularMarketDayLow": 40.82, "regularMarketDayRange": "40.82 - 41.53", "regularMarketChange": -0.58, "regularMarketChangePercent": -1.39, "regularMarketTime": "2026-06-14T05:15:42.000Z", "marketCap": null, "regularMarketVolume": 34024700, "regularMarketPreviousClose": 41.76, "regularMarketOpen": 41.18, "fiftyTwoWeekRange": "29.31 - 50.69", "fiftyTwoWeekLow": 29.31, "fiftyTwoWeekHigh": 50.69, "logourl": "https://icons.brapi.dev/icons/PETR4.svg" } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 286 } }, "StockHistoricalPrice": { "type": "object", "properties": { "date": { "type": "integer", "description": "Data do pregão em Unix timestamp (segundos).", "example": 1704067200 }, "open": { "type": "number", "nullable": true, "example": 36.1 }, "high": { "type": "number", "nullable": true, "example": 37.2 }, "low": { "type": "number", "nullable": true, "example": 35.9 }, "close": { "type": "number", "nullable": true, "example": 36.65 }, "volume": { "type": "number", "nullable": true, "example": 27681100 }, "adjustedClose": { "type": "number", "nullable": true, "example": 36.65 } }, "required": [ "date", "open", "high", "low", "close", "volume", "adjustedClose" ] }, "StockHistoricalSeries": { "type": "object", "properties": { "usedInterval": { "type": "string", "example": "1d" }, "usedRange": { "type": "string", "example": "1y" }, "historicalDataPrice": { "type": "array", "items": { "$ref": "#/components/schemas/StockHistoricalPrice" } } }, "required": [ "usedInterval", "usedRange", "historicalDataPrice" ] }, "StockHistoricalResult": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "description": "Ticker informado na requisição.", "example": "VVAR3" }, "symbol": { "type": "string", "description": "Ticker retornado pela brapi após normalização/renome.", "example": "BHIA3" }, "changed": { "type": "boolean", "description": "`true` quando o ticker informado foi resolvido para outro ticker.", "example": true }, "data": { "$ref": "#/components/schemas/StockHistoricalSeries" } }, "required": [ "requestedSymbol", "symbol", "changed", "data" ] }, "StockHistoricalResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockHistoricalResult" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": { "usedInterval": "1d", "usedRange": "1mo", "historicalDataPrice": [ { "date": 1781233200, "open": 41.06, "high": 41.53, "low": 40.82, "close": 41.18, "volume": 34081000, "adjustedClose": 41.18 } ] } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 907 } }, "StockDividendsSeries": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "description": "Ticker informado na requisição.", "example": "VVAR3" }, "symbol": { "type": "string", "description": "Ticker retornado pela brapi após normalização/renome.", "example": "BHIA3" }, "changed": { "type": "boolean", "description": "`true` quando o ticker informado foi resolvido para outro ticker.", "example": true }, "data": { "$ref": "#/components/schemas/DividendsData" } }, "required": [ "requestedSymbol", "symbol", "changed", "data" ] }, "StockDividendsResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockDividendsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "ITSA4", "symbol": "ITSA4", "changed": false, "data": { "cashDividends": [ { "assetIssued": "BRITSAACNPR7", "paymentDate": "2026-10-01T03:00:00.000Z", "rate": 0.024242, "relatedTo": "", "approvedOn": null, "isinCode": "BRITSAACNPR7", "label": "JCP", "lastDatePrior": "2026-08-31T03:00:00.000Z", "remarks": "" } ], "stockDividends": [ { "assetIssued": "BRITSAACNPR7", "factor": 1.02, "completeFactor": "1,02 para 1", "approvedOn": "2025-12-15T03:00:00.000Z", "isinCode": "BRITSAACNPR7", "label": "BONIFICACAO", "lastDatePrior": "2025-12-18T03:00:00.000Z", "remarks": "" } ], "subscriptions": [] } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 203 } }, "StockFundamentalsSeries": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "example": "VVAR3" }, "symbol": { "type": "string", "example": "BHIA3" }, "changed": { "type": "boolean", "example": true }, "data": { "nullable": true, "description": "Payload do módulo solicitado. Pode ser objeto, array ou null conforme o endpoint." } }, "required": [ "requestedSymbol", "symbol", "changed" ] }, "StockProfileResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "VVAR3", "symbol": "BHIA3", "changed": true, "data": { "address1": "Rua Flórida, 1970", "address2": "5 andar", "address3": null, "city": "SÃO PAULO", "state": "SP", "zip": "4565001", "country": "BRASIL", "phone": "(11) 42256017", "fax": "(11) 42256996", "website": "https://ri.grupocasasbahia.com.br", "industry": "Eletrodomésticos", "industryKey": "eletrodomesticos", "industryDisp": "Eletrodomésticos", "sector": "Consumo Cíclico", "sectorKey": "consumo-ciclico", "sectorDisp": "Consumo Cíclico", "longBusinessSummary": "O Grupo Casas Bahia S.A., listado na B3 sob BHIA3, atua no varejo de bens duráveis e eletroeletrônicos no Brasil, com operação omnicanal que combina lojas físicas, comércio eletrônico e marketplace. A companhia opera marcas de varejo conhecidas nacionalmente e mantém estrutura de logística, distribuição e serviços financeiros para apoiar vendas parceladas e recorrência de clientes. A base de receita inclui venda de produtos, serviços e intermediação em canais digitais.\n\nA dinâmica de resultados é influenciada por consumo das famílias, custo de crédito, inadimplência, nível de estoques e eficiência logística. O setor de varejo de eletrodomésticos é sensível a renda disponível, juros e competição de preço entre grandes plataformas. Nos últimos anos, a empresa passou por reorganização de marca e ajustes operacionais para reduzir alavancagem, melhorar geração de caixa e priorizar rentabilidade por canal e categoria de produto.", "fullTimeEmployees": 57500, "companyOfficers": null, "twitter": "@CasasBahia", "name": "PONTO FRIO", "startDate": "1952-01-01", "description": null, "logoUrl": "https://icons.brapi.dev/icons/BHIA3.svg", "cnpj": "33041260065290", "administratorName": null, "administratorCnpj": null, "administratorAddress": null, "administratorAddressNumber": null, "administratorAddressComplement": null, "administratorDistrict": null, "administratorCity": null, "administratorState": null, "administratorZipCode": null, "administratorPhone1": null, "administratorPhone2": null, "administratorPhone3": null, "administratorWebsite": null, "administratorEmail": null } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 200 } }, "StockStatisticsResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "WEGE3", "symbol": "WEGE3", "changed": false, "data": { "priceHint": null, "enterpriseValue": 181192740000, "forwardPE": null, "profitMargins": 0.16715191, "floatShares": 1485954700, "sharesOutstanding": 4197318000, "sharesShort": null, "sharesShortPriorMonth": null, "sharesShortPreviousMonthDate": null, "dateShortInterest": null, "sharesPercentSharesOut": null, "heldPercentInsiders": null, "heldPercentInstitutions": null, "shortRatio": null, "shortPercentOfFloat": null, "beta": 0.6503127, "impliedSharesOutstanding": null, "category": null, "bookValue": 4.227962, "priceToBook": 10.078141, "fundFamily": null, "legalType": null, "lastFiscalYearEnd": null, "nextFiscalYearEnd": "2026-12-31 00:00:00+00", "mostRecentQuarter": "2026-03-31", "earningsQuarterlyGrowth": -0.03510854, "netIncomeToCommon": 6287370000, "trailingEps": 1.4979494, "forwardEps": null, "pegRatio": 66.687416, "lastSplitFactor": null, "lastSplitDate": null, "enterpriseToRevenue": 4.507972, "enterpriseToEbitda": 20.290693, "52WeekChange": 0.03210223, "SandP52WeekChange": null, "lastDividendValue": null, "lastDividendDate": "2026-03-20", "ytdReturn": null, "beta3Year": null, "totalAssets": null, "yield": 0.03, "fundInceptionDate": null, "threeYearAverageReturn": null, "fiveYearAverageReturn": null, "morningStarOverallRating": null, "morningStarRiskRating": null, "annualReportExpenseRatio": null, "lastCapGain": null, "annualHoldingsTurnover": null, "marketCap": 178847730000, "trailingPE": 28.445553, "earningsPerShare": 1.4979494, "dividendYield": 0.03 } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 207 } }, "StockFinancialDataResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "WEGE3", "symbol": "WEGE3", "changed": false, "data": { "currentPrice": null, "targetHighPrice": null, "targetLowPrice": null, "targetMeanPrice": null, "targetMedianPrice": null, "recommendationMean": null, "recommendationKey": null, "numberOfAnalystOpinions": null, "totalCash": 7385768000, "totalCashPerShare": 1.7596399, "ebitda": 8929845000, "totalDebt": 9730790000, "quickRatio": 0.98023725, "currentRatio": 1.5479537, "totalRevenue": 40193850000, "debtToEquity": 0.54833394, "revenuePerShare": null, "returnOnAssets": 0.15488343, "returnOnEquity": 0.378589, "grossProfits": 13361430000, "freeCashflow": 2974247000, "operatingCashflow": 7172939000, "earningsGrowth": 0.0042655054, "revenueGrowth": 0.0040378235, "earningsGrowthAnnual": 0.05521239, "revenueGrowthAnnual": 0.074161455, "grossMargins": 0.3324247, "ebitdaMargins": 0.22216943, "operatingMargins": 0.19664963, "profitMargins": 0.16715191, "financialCurrency": null } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 31 } }, "StockBalanceSheetResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": [ { "type": "yearly", "endDate": "2025-12-31", "cash": 35608000000, "shortTermInvestments": 15000001000, "netReceivables": 25461000000, "inventory": 45173000000, "otherCurrentAssets": 7637000000, "totalCurrentAssets": 140026000000, "longTermInvestments": 3024000000, "propertyPlantEquipment": 924624000000, "otherAssets": null, "totalAssets": 1223389000000, "accountsPayable": null, "shortLongTermDebt": null, "otherCurrentLiab": null, "longTermDebt": null, "otherLiab": null, "totalCurrentLiabilities": null, "totalLiab": 805802000000, "commonStock": null, "retainedEarnings": 0, "treasuryStock": null, "otherStockholderEquity": null, "totalStockholderEquity": null, "netTangibleAssets": null, "goodWill": null, "intangibleAssets": 13885000000, "deferredLongTermAssetCharges": null, "deferredLongTermLiab": null, "minorityInterest": 1800999900, "capitalSurplus": null, "financialAssets": null, "centralBankCompulsoryDeposit": null, "financialAssetsMeasuredAtFairValueThroughProfitOrLoss": null, "currentAndDeferredTaxes": null, "investments": null, "financialAssetsFVThroughOCI": null, "financialAssetsAtAmortizedCost": null, "accountsReceivableFromClients": 0, "otherAccountsReceivable": 0, "biologicalAssets": 0, "taxesToRecover": 11147000000, "prepaidExpenses": 0, "longTermAssets": 1083363000000, "longTermRealizableAssets": 141830000000, "longTermReceivables": 4683000000, "longTermAccountsReceivableFromClients": 0, "longTermInventory": 0, "longTermBiologicalAssets": 0, "longTermDeferredTaxes": 34965000000, "longTermPrepaidExpenses": 0, "creditsWithRelatedParties": 0, "shareholdings": 0, "investmentProperties": 0, "otherLongTermReceivables": 0, "otherNonCurrentAssets": 106557000000, "creditsFromOperations": null, "insuranceAndReinsurance": null, "complementaryPension": null, "securitiesAndCreditsReceivable": null, "otherValuesAndAssets": null, "compulsoryLoansAndDeposits": null, "deferredSellingExpenses": null, "nonCurrentAssets": null, "longTermFinancialInvestmentsMeasuredAtFairValueThroughIncome": null, "financialInvestmentsFVThroughOCI": null, "financialInvestmentsMeasuredAtAmortizedCost": null, "intangibleAsset": null, "deferredTaxes": null, "capitalization": null, "otherOperations": null, "financialLiabilitiesMeasuredAtFairValueThroughIncome": null, "financialLiabilitiesAtAmortizedCost": null, "provisions": 21934000000, "taxLiabilities": null, "otherLiabilities": null, "shareholdersEquity": 417587000000, "controllerShareholdersEquity": null, "nonControllingShareholdersEquity": null, "realizedShareCapital": 205432000000, "capitalReserves": 3105999900, "revaluationReserves": 0, "profitReserves": 158278000000, "accumulatedProfitsOrLosses": null, "equityValuationAdjustments": 0, "cumulativeConversionAdjustments": 0, "otherComprehensiveResults": 48970000000, "currentLiabilities": 198368000000, "socialAndLaborObligations": 15236000000, "providers": 40948000000, "nationalSuppliers": 0, "foreignSuppliers": 0, "taxObligations": 7110000000, "loansAndFinancing": 67253000000, "loansAndFinancingInNationalCurrency": 0, "loansAndFinancingInForeignCurrency": 0, "debentures": 0, "leaseFinancing": 55226000000, "otherObligations": 45321000000, "otherCurrentLiabilities": 566000000, "nonCurrentLiabilities": 607434000000, "longTermLoansAndFinancing": 316772000000, "longTermLoansAndFinancingInNationalCurrency": 0, "longTermLoansAndFinancingInForeignCurrency": 0, "longTermDebentures": 0, "longTermLeaseFinancing": 183310000000, "otherLongTermObligations": 3168000000, "longTermProvisions": 252529000000, "otherNonCurrentLiabilities": 0, "profitsAndRevenuesToBeAppropriated": 0, "debitsFromOperations": null, "debitsFromInsuranceAndReinsurance": null, "debitsFromComplementaryPension": null, "thirdPartyDeposits": null, "technicalProvisions": null, "otherDebits": null, "longTermLiabilities": null, "longTermAccountsPayable": null, "longTermDebitsFromOperations": null, "longTermTechnicalProvisions": null, "longTermInsuranceAndReinsurance": null, "longTermComplementaryPension": null, "longTermCapitalization": null, "otherLongTermProvisions": null, "debitsFromCapitalization": null, "debitsFromOtherOperations": null, "otherProvisions": null, "advanceForFutureCapitalIncrease": null } ] } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 31 } }, "StockIncomeStatementResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": [ { "type": "yearly", "endDate": "2025-12-31", "totalRevenue": 497549000000, "costOfRevenue": -260551000000, "grossProfit": 236998000000, "researchDevelopment": null, "sellingGeneralAdministrative": -10802000000, "nonRecurring": null, "otherOperatingExpenses": -51372000000, "totalOperatingExpenses": -91370000000, "operatingIncome": -91370000000, "totalOtherIncomeExpenseNet": null, "ebit": 145628000000, "interestExpense": null, "incomeBeforeTax": 150599000000, "incomeTaxExpense": -39994000000, "minorityInterest": 476000000, "netIncomeFromContinuingOps": 110605000000, "discontinuedOperations": 0, "extraordinaryItems": null, "effectOfAccountingCharges": null, "otherItems": null, "netIncome": 110605000000, "netIncomeApplicableToCommonShares": 110129000000, "salesExpenses": -28954000000, "lossesDueToNonRecoverabilityOfAssets": 0, "otherOperatingIncome": 0, "equityIncomeResult": -242000000, "financialResult": 4971000000, "financialIncome": 8286000000, "financialExpenses": -3315000000, "currentTaxes": -35099000000, "deferredTaxes": -4895000000, "incomeBeforeStatutoryParticipationsAndContributions": null, "basicEarningsPerCommonShare": 8540, "dilutedEarningsPerCommonShare": 8540, "basicEarningsPerPreferredShare": 8540, "profitSharingAndStatutoryContributions": null, "dilutedEarningsPerPreferredShare": 8540, "claimsAndOperationsCosts": null, "administrativeCosts": null, "otherOperatingIncomeAndExpenses": null, "earningsPerShare": null, "basicEarningsPerShare": null, "dilutedEarningsPerShare": null, "insuranceOperations": null, "reinsuranceOperations": null, "complementaryPensionOperations": null, "capitalizationOperations": null, "cleanEbit": 145628000000, "cleanEbitda": 145628000000, "cleanNopat": 96114480000, "cleanNetIncome": null } ] } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 31 } }, "StockCashFlowResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": [ { "type": "yearly", "endDate": "2025-12-31", "operatingCashFlow": 200333000000, "incomeFromOperations": 253975000000, "netIncomeBeforeTaxes": null, "adjustmentsToProfitOrLoss": null, "changesInAssetsAndLiabilities": -25534000000, "otherOperatingActivities": -28108000000, "cashGeneratedInOperations": null, "investmentCashFlow": -86114000000, "financingCashFlow": -97122000000, "exchangeVariationWithoutCash": null, "foreignExchangeRateWithoutCash": -1743000100, "increaseOrDecreaseInCash": 15354000000, "initialCashBalance": 20254000000, "finalCashBalance": 35608000000, "freeCashFlow": 114219000000 } ] } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 32 } }, "StockValueAddedResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": [ { "type": "yearly", "endDate": "2025-12-31", "revenue": 749557000000, "productSales": 641818000000, "otherRevenues": 14692000000, "constructionOfOwnAssets": 93487000000, "provisionOrReversalOfDoubtfulAccounts": -440000000, "suppliesPurchasedFromThirdParties": -292210000000, "costsWithProductsSold": -97253000000, "thirdPartyMaterialsAndServices": -140304000000, "lossOrRecoveryOfAssets": -8347000000, "otherSupplies": -46306000000, "grossAddedValue": 457347000000, "retentions": -84388000000, "depreciationAndAmortization": -84388000000, "otherRetentions": 0, "netAddedValue": 372959000000, "netAddedValueProduced": null, "addedValueReceivedOnTransfer": 12695000000, "addedValueReceivedByTransfer": null, "equityIncomeResult": -242000000, "financialIncome": 8286000000, "otherValuesReceivedOnTransfer": 4651000000, "otherValuesReceivedByTransfer": null, "addedValueToDistribute": 385654000000, "totalAddedValueToDistribute": null, "distributionOfAddedValue": 385654000000, "teamRemuneration": 46406000000, "taxes": 207791000000, "federalTaxes": 142628000000, "stateTaxes": 64329000000, "municipalTaxes": 834000000, "remunerationOfThirdPartyCapitals": 20852000000, "equityRemuneration": null, "ownEquityRemuneration": 110605000000, "interestOnOwnEquity": 30682000000, "dividends": 10554000000, "retainedEarningsOrLoss": 68893000000, "nonControllingShareOfRetainedEarnings": 476000000, "otherDistributions": 0, "financialIntermediationRevenue": null, "revenueFromTheProvisionOfServices": null, "provisionOrReversalOfExpectedCreditRiskLosses": null, "financialIntermediationExpenses": null, "materialsEnergyAndOthers": null, "services": null, "lossOrRecoveryOfAssetValues": null, "thirdPartyEquityRemuneration": null, "insuranceOperationsRevenue": null, "complementaryPensionOperationsRevenue": null, "feesRevenue": null, "variationsOfTechnicalProvisions": null, "insuranceOperationsVariations": null, "pensionOperationsVariations": null, "otherVariations": null, "netOperatingRevenue": null, "claimsAndBenefits": null, "variationInDeferredSellingExpenses": null, "resultsOfCededReinsuranceOperations": null, "resultOfCoinsuranceOperationsAssigned": null } ] } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 30 } }, "TreasuryListItem": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Slug público do título do Tesouro Direto", "example": "tesouro-selic-01032031" }, "bondType": { "type": "string", "description": "Nome público do título", "example": "Tesouro Selic" }, "indexer": { "type": "string", "enum": [ "selic", "prefixado", "ipca", "igpm" ], "description": "Indexador normalizado do título", "example": "selic" }, "couponType": { "type": "string", "enum": [ "zero", "semestral" ], "description": "Tipo de pagamento de juros do título", "example": "zero" }, "maturityDate": { "type": "string", "nullable": true, "description": "Data de vencimento no formato YYYY-MM-DD", "example": "2031-03-01" }, "durationDays": { "type": "number", "nullable": true, "description": "Dias corridos entre a data-base e o vencimento", "example": 1751 }, "baseDate": { "type": "string", "nullable": true, "description": "Data-base da cotação no formato YYYY-MM-DD", "example": "2026-05-15" }, "buyRate": { "type": "number", "nullable": true, "description": "Taxa indicativa de compra em % a.a. Unidade: Tesouro Selic = spread (% a.a.) sobre a taxa Selic; Tesouro Prefixado = rendimento nominal (% a.a.); Tesouro IPCA = rendimento real (% a.a.) acima do IPCA.", "example": 0.08 }, "sellRate": { "type": "number", "nullable": true, "description": "Taxa indicativa de venda em % a.a. Unidade: Tesouro Selic = spread (% a.a.) sobre a taxa Selic; Tesouro Prefixado = rendimento nominal (% a.a.); Tesouro IPCA = rendimento real (% a.a.) acima do IPCA.", "example": 0.09 }, "buyPrice": { "type": "number", "nullable": true, "description": "Preço unitário indicativo de compra em BRL", "example": 18944.78 }, "sellPrice": { "type": "number", "nullable": true, "description": "Preço unitário indicativo de venda em BRL", "example": 18925.53 }, "basePrice": { "type": "number", "nullable": true, "description": "Preço unitário base em BRL", "example": 18925.53 }, "rateInfo": { "type": "object", "properties": { "rateType": { "type": "string", "enum": [ "spreadOverSelic", "nominalAnnualRate", "realAnnualRateOverIpca", "realAnnualRateOverIgpm" ], "description": "Tipo de interpretação para buyRate e sellRate", "example": "spreadOverSelic" }, "rateUnit": { "type": "string", "description": "Unidade das taxas buyRate e sellRate", "example": "% a.a." }, "description": { "type": "string", "description": "Descrição textual de como interpretar buyRate e sellRate para o indexador do título", "example": "Para Tesouro Selic, buyRate e sellRate representam o spread em pontos percentuais ao ano sobre a taxa Selic, não a rentabilidade total do título." } }, "required": [ "rateType", "rateUnit", "description" ], "description": "Metadados para interpretar buyRate e sellRate. As taxas têm significados diferentes conforme o indexador." } }, "required": [ "symbol", "bondType", "indexer", "couponType", "maturityDate", "durationDays", "baseDate", "buyRate", "sellRate", "buyPrice", "sellPrice", "basePrice", "rateInfo" ] }, "TreasuryPaginationMeta": { "type": "object", "properties": { "page": { "type": "number" }, "limit": { "type": "number" }, "totalItems": { "type": "number" }, "totalPages": { "type": "number" }, "hasNextPage": { "type": "boolean" } }, "required": [ "page", "limit", "totalItems", "totalPages", "hasNextPage" ] }, "TreasuryListResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TreasuryListItem" } }, "pagination": { "$ref": "#/components/schemas/TreasuryPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "pagination", "requestedAt", "took" ] }, "TreasuryIndicatorsResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TreasuryListItem" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ] }, "TreasuryHistoryPoint": { "type": "object", "properties": { "baseDate": { "type": "string", "description": "Data-base da cotação no formato YYYY-MM-DD", "example": "2026-05-15" }, "buyRate": { "type": "number", "nullable": true, "description": "Taxa indicativa de compra em % a.a. Unidade: Tesouro Selic = spread (% a.a.) sobre a taxa Selic; Tesouro Prefixado = rendimento nominal (% a.a.); Tesouro IPCA = rendimento real (% a.a.) acima do IPCA.", "example": 0.08 }, "sellRate": { "type": "number", "nullable": true, "description": "Taxa indicativa de venda em % a.a. Unidade: Tesouro Selic = spread (% a.a.) sobre a taxa Selic; Tesouro Prefixado = rendimento nominal (% a.a.); Tesouro IPCA = rendimento real (% a.a.) acima do IPCA.", "example": 0.09 }, "buyPrice": { "type": "number", "nullable": true, "description": "Preço unitário indicativo de compra em BRL", "example": 18944.78 }, "sellPrice": { "type": "number", "nullable": true, "description": "Preço unitário indicativo de venda em BRL", "example": 18925.53 }, "basePrice": { "type": "number", "nullable": true, "description": "Preço unitário base em BRL", "example": 18925.53 } }, "required": [ "baseDate", "buyRate", "sellRate", "buyPrice", "sellPrice", "basePrice" ] }, "TreasuryHistorySeries": { "type": "object", "properties": { "symbol": { "type": "string", "example": "tesouro-selic-01032031" }, "bondType": { "type": "string", "description": "Nome público do título", "example": "Tesouro Selic" }, "indexer": { "type": "string", "enum": [ "selic", "prefixado", "ipca", "igpm" ], "description": "Indexador normalizado do título", "example": "selic" }, "couponType": { "type": "string", "enum": [ "zero", "semestral" ], "description": "Tipo de pagamento de juros do título", "example": "zero" }, "maturityDate": { "type": "string", "nullable": true, "description": "Data de vencimento no formato YYYY-MM-DD", "example": "2031-03-01" }, "rateInfo": { "type": "object", "properties": { "rateType": { "type": "string", "enum": [ "spreadOverSelic", "nominalAnnualRate", "realAnnualRateOverIpca", "realAnnualRateOverIgpm" ], "description": "Tipo de interpretação para buyRate e sellRate", "example": "spreadOverSelic" }, "rateUnit": { "type": "string", "description": "Unidade das taxas buyRate e sellRate", "example": "% a.a." }, "description": { "type": "string", "description": "Descrição textual de como interpretar buyRate e sellRate para o indexador do título", "example": "Para Tesouro Selic, buyRate e sellRate representam o spread em pontos percentuais ao ano sobre a taxa Selic, não a rentabilidade total do título." } }, "required": [ "rateType", "rateUnit", "description" ], "description": "Metadados para interpretar buyRate e sellRate. As taxas têm significados diferentes conforme o indexador." }, "history": { "type": "array", "items": { "$ref": "#/components/schemas/TreasuryHistoryPoint" } } }, "required": [ "symbol", "bondType", "indexer", "couponType", "maturityDate", "rateInfo", "history" ] }, "TreasuryIndicatorsHistoryResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TreasuryHistorySeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "symbol": "tesouro-selic-01032031", "bondType": "Tesouro Selic", "indexer": "selic", "couponType": "zero", "maturityDate": "2031-03-01", "rateInfo": { "rateType": "spreadOverSelic", "rateUnit": "% a.a.", "description": "Para Tesouro Selic, buyRate e sellRate representam o spread em pontos percentuais ao ano sobre a taxa Selic, não a rentabilidade total do título." }, "history": [ { "baseDate": "2026-05-15", "buyRate": 0.08, "sellRate": 0.09, "buyPrice": 18944.78, "sellPrice": 18925.53, "basePrice": 18925.53 } ] } ], "requestedAt": "2026-05-15T17:32:38.000Z", "took": 45 } }, "TickerRename": { "type": "object", "properties": { "oldSymbol": { "type": "string", "description": "Ticker antigo", "example": "VVAR3" }, "newSymbol": { "type": "string", "description": "Ticker novo divulgado no evento", "example": "BHIA3" }, "canonicalSymbol": { "type": "string", "description": "Ticker canônico atual. Em cadeias de renome, aponta diretamente para o ticker final conhecido.", "example": "BHIA3" }, "effectiveDate": { "type": "string", "description": "Data efetiva do renome no formato YYYY-MM-DD", "example": "2021-08-16" } }, "required": [ "oldSymbol", "newSymbol", "canonicalSymbol", "effectiveDate" ] }, "TickerRenamesResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TickerRename" } }, "count": { "type": "number", "example": 2 }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "count", "requestedAt", "took" ] }, "TickerResolveResult": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "description": "Ticker informado pelo usuário", "example": "VVAR3" }, "symbol": { "type": "string", "description": "Ticker atual recomendado para novas consultas", "example": "BHIA3" }, "changed": { "type": "boolean", "description": "Indica se o ticker informado foi mapeado para outro", "example": true }, "status": { "type": "string", "enum": [ "active", "renamed" ], "description": "Status do ticker informado no catálogo de renomes", "example": "renamed" }, "effectiveDate": { "type": "string", "nullable": true, "description": "Data efetiva do renome quando houver", "example": "2021-08-16" } }, "required": [ "requestedSymbol", "symbol", "changed", "status", "effectiveDate" ] }, "TickerResolveResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TickerResolveResult" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ] }, "TickerAvailableData": { "type": "object", "properties": { "ticker": { "type": "boolean", "example": true }, "quote": { "type": "boolean", "example": true }, "historical": { "type": "boolean", "example": true }, "stockDividends": { "type": "boolean", "example": true }, "fiiDividends": { "type": "boolean", "example": false }, "profile": { "type": "boolean", "example": true }, "statistics": { "type": "boolean", "example": true }, "financialStatements": { "type": "boolean", "example": true }, "fiiIndicators": { "type": "boolean", "example": false }, "fiiReports": { "type": "boolean", "example": false }, "fiiPortfolio": { "type": "boolean", "example": false }, "fiiProperties": { "type": "boolean", "example": false } }, "required": [ "ticker", "quote", "historical", "stockDividends", "fiiDividends", "profile", "statistics", "financialStatements", "fiiIndicators", "fiiReports", "fiiPortfolio", "fiiProperties" ] }, "TickerCoverageResult": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "description": "Ticker informado pelo usuário", "example": "VVAR3" }, "symbol": { "type": "string", "description": "Ticker canônico usado para consulta", "example": "BHIA3" }, "changed": { "type": "boolean", "description": "Indica se o ticker informado foi normalizado", "example": true }, "status": { "type": "string", "enum": [ "available", "renamed", "unknown", "wrong_endpoint" ], "description": "Status da cobertura: disponível, renomeado, desconhecido ou endpoint incorreto para o tipo de símbolo", "example": "renamed" }, "assetType": { "type": "string", "nullable": true, "description": "Tipo amplo do ativo quando disponível", "example": "stock" }, "subType": { "type": "string", "nullable": true, "description": "Subtipo do ativo quando disponível", "example": "stock" }, "availableData": { "$ref": "#/components/schemas/TickerAvailableData" }, "recommendedEndpoints": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Endpoints brapi recomendados para o símbolo", "example": { "ticker": "/api/v2/tickers?search=BHIA3", "quote": "/api/v2/stocks/quote?symbols=BHIA3", "historical": "/api/v2/stocks/historical?symbols=BHIA3&range=1y&interval=1d", "dividends": "/api/v2/stocks/dividends?symbols=BHIA3" } } }, "required": [ "requestedSymbol", "symbol", "changed", "status", "assetType", "subType", "availableData", "recommendedEndpoints" ] }, "TickerCoverageResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TickerCoverageResult" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "requestedAt", "took" ] }, "TickerQuoteSummary": { "type": "object", "properties": { "lastPrice": { "type": "number", "nullable": true, "description": "Último preço disponível para listagem/screening", "example": 36.65 }, "changePercent": { "type": "number", "nullable": true, "description": "Variação percentual do último snapshot disponível", "example": -0.95 }, "volume": { "type": "number", "nullable": true, "description": "Volume negociado do último snapshot disponível", "example": 27681100 }, "marketCap": { "type": "number", "nullable": true, "description": "Capitalização de mercado quando disponível", "example": 483937892568 } }, "required": [ "lastPrice", "changePercent", "volume", "marketCap" ] }, "TickerListItem": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Ticker público do ativo na B3", "example": "PETR4" }, "name": { "type": "string", "description": "Nome de exibição do ativo", "example": "Petróleo Brasileiro S.A." }, "longName": { "type": "string", "nullable": true, "description": "Nome longo quando disponível", "example": "Petroleo Brasileiro SA Petrobras Preference Shares" }, "assetType": { "type": "string", "nullable": true, "enum": [ "stock", "fund", "bdr" ], "description": "Tipo amplo do ativo", "example": "stock" }, "subType": { "type": "string", "nullable": true, "enum": [ "stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr" ], "description": "Classificação aditiva do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr", "example": "stock" }, "exchange": { "type": "string", "enum": [ "B3" ], "description": "Bolsa de negociação", "example": "B3" }, "currency": { "type": "string", "enum": [ "BRL" ], "description": "Moeda de negociação", "example": "BRL" }, "sector": { "type": "string", "nullable": true, "description": "Setor quando disponível", "example": "Energy Minerals" }, "subsector": { "type": "string", "nullable": true, "description": "Subsetor B3 quando disponível", "example": "Petróleo, Gás e Biocombustíveis" }, "isActive": { "type": "boolean", "description": "Indica se o ativo aparece no catálogo ativo atual", "example": true }, "logoUrl": { "type": "string", "nullable": true, "description": "URL do logo quando disponível", "example": "https://icons.brapi.dev/icons/PETR4.svg" }, "quote": { "$ref": "#/components/schemas/TickerQuoteSummary" } }, "required": [ "symbol", "name", "longName", "assetType", "subType", "exchange", "currency", "sector", "subsector", "isActive", "logoUrl", "quote" ] }, "TickerIndexItem": { "type": "object", "properties": { "symbol": { "type": "string", "example": "^BVSP" }, "name": { "type": "string", "example": "IBOVESPA" }, "exchange": { "type": "string", "enum": [ "B3" ], "example": "B3" }, "assetType": { "type": "string", "enum": [ "index" ], "example": "index" } }, "required": [ "symbol", "name", "exchange", "assetType" ] }, "TickerFacets": { "type": "object", "properties": { "sectors": { "type": "array", "items": { "type": "string" }, "description": "Setores disponíveis para filtro" }, "subsectors": { "type": "array", "items": { "type": "string" }, "description": "Subsetores B3 disponíveis para filtro" }, "assetTypes": { "type": "array", "items": { "type": "string" }, "description": "Tipos amplos disponíveis para filtro", "example": [ "stock", "fund", "bdr" ] }, "subTypes": { "type": "array", "items": { "type": "string" }, "description": "Subtipos disponíveis para filtro", "example": [ "stock", "unit", "fii", "etf", "bdr" ] } }, "required": [ "sectors", "subsectors", "assetTypes", "subTypes" ] }, "TickerPagination": { "type": "object", "properties": { "page": { "type": "number", "example": 1 }, "limit": { "type": "number", "example": 20 }, "totalItems": { "type": "number", "example": 2302 }, "totalPages": { "type": "number", "example": 116 }, "hasNextPage": { "type": "boolean", "example": true } }, "required": [ "page", "limit", "totalItems", "totalPages", "hasNextPage" ] }, "TickerListResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TickerListItem" } }, "indexes": { "type": "array", "items": { "$ref": "#/components/schemas/TickerIndexItem" } }, "facets": { "$ref": "#/components/schemas/TickerFacets" }, "pagination": { "$ref": "#/components/schemas/TickerPagination" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "results", "indexes", "facets", "pagination", "requestedAt", "took" ] }, "UserUsageWindow": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "billing-cycle", "rolling-30d" ] }, "start": { "type": "string", "format": "date-time" }, "end": { "type": "string", "format": "date-time" } }, "required": [ "type", "start", "end" ] }, "UserSubscriptionPeriod": { "type": "object", "properties": { "start": { "type": "string", "nullable": true, "format": "date-time" }, "end": { "type": "string", "nullable": true, "format": "date-time" } }, "required": [ "start", "end" ] }, "UserUsageData": { "type": "object", "properties": { "planName": { "type": "string", "enum": [ "free", "startup", "pro" ] }, "planLimit": { "type": "integer", "minimum": 0 }, "currentUsage": { "type": "integer", "minimum": 0 }, "remainingUsage": { "type": "integer", "minimum": 0 }, "usageWindow": { "$ref": "#/components/schemas/UserUsageWindow" }, "subscriptionPeriod": { "$ref": "#/components/schemas/UserSubscriptionPeriod" } }, "required": [ "planName", "planLimit", "currentUsage", "remainingUsage", "usageWindow", "subscriptionPeriod" ] }, "UserUsageResponse": { "type": "object", "properties": { "usage": { "$ref": "#/components/schemas/UserUsageData" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "usage", "requestedAt", "took" ], "example": { "usage": { "planName": "pro", "planLimit": 500000, "currentUsage": 1248, "remainingUsage": 498752, "usageWindow": { "type": "billing-cycle", "start": "2026-04-01T00:00:00.000Z", "end": "2026-05-01T00:00:00.000Z" }, "subscriptionPeriod": { "start": "2026-04-01T00:00:00.000Z", "end": "2026-05-01T00:00:00.000Z" } }, "requestedAt": "2026-04-07T20:45:10.000Z", "took": 18 } } }, "parameters": {} }, "paths": { "/health": { "get": { "tags": [ "Utilitários" ], "operationId": "getHealth", "summary": "Status da API", "description": "\nHealth check da API.\n\nA resposta traz `status` (`ok` ou `error`), `timestamp` da verificação em ISO\n8601, `uptime` do servidor em segundos, `database.status` e\n`database.latencyMs` com a latência da conexão com o banco.\n\nAponte seu monitoramento aqui: UptimeRobot, Datadog ou um check de\ndisponibilidade em CI.\n\nEndpoint público, sem token.\n", "parameters": [ { "schema": { "type": "string", "enum": [ "json" ], "description": "Formato da resposta. JSON é o formato suportado." }, "required": false, "name": "format", "in": "query" } ], "responses": { "200": { "description": "API operando normalmente.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthResponse" } } } } } } }, "/api/available": { "get": { "tags": [ "Utilitários" ], "operationId": "getAvailable", "summary": "Listar ações e índices disponíveis", "description": "\nLista todos os ativos que a API aceita: ações, FIIs, BDRs e ETFs da B3, mais os\níndices com cotação disponível.\n\nFiltre por código ou nome com `search`.\n\n```bash\ncurl \"https://brapi.dev/api/available?search=PETR\"\n```\n\nEndpoint público, sem token. A resposta fica em cache por 15 minutos e é\natualizada conforme novos ativos entram na bolsa.\n\nPara busca com filtros por setor e tipo, `/api/v2/tickers` é mais completo.\n", "parameters": [ { "schema": { "type": "string", "description": "Filtrar ações e índices por nome ou código", "example": "PETR" }, "required": false, "name": "search", "in": "query" } ], "responses": { "200": { "description": "Lista de ações e índices disponíveis retornada com sucesso, opcionalmente filtrada pelo parâmetro de busca.", "headers": { "Cache-Control": { "schema": { "type": "string" }, "description": "Política de cache (s-maxage=900, stale-while-revalidate)" } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AvailableResponse" } } } }, "500": { "description": "**Erro Interno.** Erro interno ao processar a requisição.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/crypto": { "get": { "tags": [ "Criptomoedas" ], "operationId": "getCrypto", "summary": "Cotação de criptomoedas", "description": "\nCotação de uma ou mais criptomoedas, convertida para a moeda que você escolher.\n\nCada moeda traz preço, variação de 24 horas, volume e market cap. O padrão é\n`currency=BRL`, e você pode pedir `USD`, `EUR` e outras.\n\nPeça várias de uma vez em `coin=BTC,ETH,SOL`. Para série histórica, passe\n`range` e `interval`.\n\n```bash\ncurl -H \"Authorization: Bearer SEU_TOKEN\" \\\n \"https://brapi.dev/api/v2/crypto?coin=BTC,ETH¤cy=BRL\"\n```\n\nCripto negocia 24 horas por dia. A variação de 24 horas é uma janela móvel, não\no fechamento de um pregão.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Sigla(s) das criptomoedas separadas por vírgula", "example": "BTC,ETH" }, "required": false, "name": "coin", "in": "query" }, { "schema": { "type": "string", "description": "Moeda para cotação (padrão: BRL)", "example": "BRL" }, "required": false, "name": "currency", "in": "query" }, { "schema": { "type": "string", "description": "Período para dados históricos" }, "required": false, "name": "range", "in": "query" }, { "schema": { "type": "string", "description": "Intervalo dos dados históricos" }, "required": false, "name": "interval", "in": "query" } ], "responses": { "200": { "description": "Cotações das criptomoedas solicitadas na moeda especificada retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CryptoResponseSimple" } } } }, "400": { "description": "**Requisição Inválida.** Parâmetro `coin` não fornecido ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "**Não Autorizado.** Token de autenticação não fornecido ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "**Acesso Proibido.** Seu plano não tem acesso ao módulo de criptomoedas.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "**Erro Interno.** Erro interno ao processar a requisição.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "**Serviço Indisponível.** Serviço externo temporariamente indisponível.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço externo temporariamente indisponível", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/crypto/available": { "get": { "tags": [ "Criptomoedas" ], "operationId": "getCryptoAvailable", "summary": "Listar criptomoedas disponíveis", "description": "\nAs criptomoedas que `/api/v2/crypto` aceita, com centenas de símbolos.\n\nUse `search` para filtrar. O valor do campo `coin` de cada item é o que você\npassa no parâmetro `coin` do endpoint principal.\n\n```bash\ncurl -H \"Authorization: Bearer SEU_TOKEN\" \\\n \"https://brapi.dev/api/v2/crypto/available?search=BTC\"\n```\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Filtrar criptomoedas por símbolo", "example": "BTC" }, "required": false, "name": "search", "in": "query" } ], "responses": { "200": { "description": "Lista de símbolos de criptomoedas disponíveis retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CryptoAvailableResponse" } } } } } } }, "/api/v2/currency": { "get": { "tags": [ "Câmbio" ], "operationId": "getCurrency", "summary": "Cotação de câmbio", "description": "\nCotação de pares de moedas, no formato `ORIGEM-DESTINO`, como `USD-BRL`.\n\nCada par traz preço de compra (`bid`), de venda (`ask`), máxima, mínima e\nvariação do dia.\n\nPeça vários pares na mesma chamada em\n`currency=USD-BRL,EUR-BRL,GBP-BRL`.\n\nA diferença entre `bid` e `ask` é o spread. Casas de câmbio e bancos cobram\nspread bem maior que esse, então não use o número como preço de balcão.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Par(es) de moedas separados por vírgula (ex: USD-BRL,EUR-BRL)", "example": "USD-BRL" }, "required": false, "name": "currency", "in": "query" } ], "responses": { "200": { "description": "Cotações dos pares de moedas solicitados retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrencyResponseSimple" } } } }, "400": { "description": "**Requisição Inválida.** Parâmetro `currency` não fornecido ou formato inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "**Não Autorizado.** Token de autenticação não fornecido ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "**Acesso Proibido.** Seu plano não tem acesso ao módulo de câmbio.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "**Erro Interno.** Erro interno ao processar a requisição.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "**Serviço Indisponível.** Serviço externo temporariamente indisponível.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço externo temporariamente indisponível", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/currency/historical": { "get": { "tags": [ "Câmbio" ], "operationId": "getCurrencyHistorical", "summary": "Histórico de câmbio", "description": "\nSérie diária de câmbio, montada a partir das cotações PTAX de fechamento do\nBanco Central.\n\nO endpoint devolve três formas do mesmo dado. O par direto (`USD-BRL`) vem da\nsérie armazenada e está disponível a partir do plano Startup. O par inverso\n(`BRL-USD`) é calculado como `1 / X-BRL` e exige plano Pro. O cruzamento\n(`EUR-USD`) é calculado como `X-BRL / Y-BRL` em cada data em que as duas séries\ntêm observação, e também exige plano Pro.\n\nMoedas cobertas: USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK, contra o\nreal e entre si.\n\nA PTAX é apurada uma vez por dia útil. Não existe ponto em fim de semana nem em\nferiado bancário.\n\nPara cripto, use `/api/v2/crypto`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Pares de moedas separados por vírgula (ex: USD-BRL,EUR-BRL). Máximo 20.", "example": "USD-BRL,EUR-BRL" }, "required": true, "name": "currency", "in": "query" }, { "schema": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "Data de início no formato YYYY-MM-DD.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "Data de fim no formato YYYY-MM-DD.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "description": "Ordem das observações pela data. Padrão: desc.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "description": "Máximo de observações por par. Padrão: 365.", "example": 365 }, "required": false, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Histórico de cotações PTAX retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrencyHistoricalResponse" } } } }, "400": { "description": "**Requisição Inválida.** Parâmetros ausentes ou inválidos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "**Não Autorizado.**", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "**Acesso Proibido.** Plano sem acesso ao módulo de câmbio.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "**Erro Interno.**", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/currency/available": { "get": { "tags": [ "Câmbio" ], "operationId": "getCurrencyAvailable", "summary": "Listar pares de moedas", "description": "\nOs pares que `/api/v2/currency` aceita, no formato `ORIGEM-DESTINO`.\n\nA cobertura inclui USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK contra o\nreal, mais os cruzamentos entre as moedas PTAX, como `EUR-USD` e `GBP-USD`.\n\nFiltre com `search`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Filtrar pares de moedas por nome ou descrição", "example": "USD" }, "required": false, "name": "search", "in": "query" } ], "responses": { "200": { "description": "Lista de pares de moedas disponíveis retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrencyAvailableResponse" } } } } } } }, "/api/v2/dictionary": { "get": { "tags": [ "Utilitários" ], "operationId": "getDictionary", "summary": "Dicionário de campos da API", "description": "\nO que cada campo da API significa, com nome em português, descrição e a fórmula\nde cálculo quando existe.\n\nFiltre com `search` para buscar por nome ou descrição, e com `category` para\nagrupar por área, como `fii`, `treasury`, `quote` ou `balance-sheet`.\n\nUse quando um campo da resposta não for óbvio, em vez de deduzir pelo nome.\n\n```bash\ncurl \"https://brapi.dev/api/v2/dictionary?category=fii\"\n```\n", "parameters": [ { "schema": { "type": "string", "description": "Termo de busca para filtrar campos (busca em key, label, description e category)", "example": "patrimônio" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "description": "Filtrar por categoria (ex: fii, treasury, quote, balance-sheet, income-statement)", "example": "treasury" }, "required": false, "name": "category", "in": "query" } ], "responses": { "200": { "description": "Lista de campos do dicionário", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DictionaryResponse" } } } } } } }, "/api/v2/fii/list": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "listFii", "summary": "Listar fundos imobiliários", "description": "\nLista paginada dos FIIs registrados, com dados do fundo e os indicadores\natuais de cada um. Serve para montar screener, comparar rentabilidade ou\ndescobrir fundos de um segmento.\n\nFiltre por `symbols`, por `cnpjs` ou por texto livre em `search`, que casa nome\ne símbolo. Restrinja por `segmentType` (`papel`, `tijolo`, `hibrido`, `fof`),\npor `segmentoAtuacao` (Logística, Shoppings, Escritórios, Lajes Corporativas,\nTítulos e Val. Mob., Residencial, Hospital, Hotel, Educacional, Híbrido,\nMulticategoria, Varejo, Outros), por `mandate` e por `tipoGestao` (`Ativa` ou\n`Definida`).\n\nOrdene por qualquer indicador com `sortBy` e `sortOrder`. Pagine com `page` e\n`limit`. Cada item traz também os dados do administrador informados à CVM:\nnome, CNPJ, endereço, telefones, site e email.\n\nPlano Pro. Para testar sem token, filtre por `symbols=MXRF11` ou\n`symbols=HGLG11`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Página (começa em 1)", "example": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página (sem limite rígido; valores altos como 10000 são aceitos)", "example": 20 }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Campo para ordenação", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "description": "Lista de símbolos de FIIs separados por vírgula. Máximo de 20 símbolos.", "example": "HGLG11,MXRF11" }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Lista de CNPJs de FIIs separados por vírgula, com ou sem formatação. Máximo de 20 CNPJs.", "example": "11728688000147" }, "required": false, "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Buscar por nome, símbolo ou CNPJ", "example": "hglg" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "enum": [ "papel", "tijolo", "hibrido", "fof" ], "description": "Tipo de segmento do indicador" }, "required": false, "name": "segmentType", "in": "query" }, { "schema": { "type": "string", "description": "Segmento de atuação (Logística, Shoppings, Escritórios, etc.)" }, "required": false, "name": "segmentoAtuacao", "in": "query" }, { "schema": { "type": "string", "description": "Mandato (Renda, Híbrido, Títulos e Valores Mobiliários, etc.)" }, "required": false, "name": "mandate", "in": "query" }, { "schema": { "type": "string", "description": "Tipo de gestão (Ativa, Definida)" }, "required": false, "name": "tipoGestao", "in": "query" } ], "responses": { "200": { "description": "Lista paginada de FIIs com indicadores retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiListResponse" } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/indicators": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiIndicators", "summary": "Indicadores de FIIs", "description": "\nIndicadores mais recentes de um ou mais fundos imobiliários.\n\nCada FII traz preço da cota, valor patrimonial por cota (`navPerShare`), P/VP\n(`priceToNav`), dividend yield de 12 meses e do último mês, retorno mensal,\ntotal de cotistas, cotas emitidas, patrimônio líquido, ativo total e o segmento\n(`papel`, `tijolo`, `hibrido` ou `fof`).\n\n`priceToNav` abaixo de 1 significa que a cota negocia com desconto sobre o\npatrimônio. Isso nem sempre é oportunidade: em fundos de tijolo, costuma\nrefletir vacância alta ou dúvida sobre a avaliação dos imóveis.\n\nAté 20 símbolos por chamada em `symbols=MXRF11,HGLG11`. Para a série no tempo,\nuse `/api/v2/fii/indicators/history`.\n\nPlano Pro. MXRF11 e HGLG11 respondem sem token.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos separados por vírgula (máximo 20). Exemplo: HGLG11,MXRF11", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Indicadores atuais dos FIIs retornados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiIndicatorsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/indicators/history": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiIndicatorsHistory", "summary": "Histórico de indicadores de FIIs", "description": "\nSérie mensal dos mesmos indicadores de `/api/v2/fii/indicators`, com um ponto\npor mês e o campo `referenceDate` no último dia do mês.\n\nO histórico começa em setembro de 2016. A janela padrão são os últimos 12 meses,\ne você muda com `startDate` e `endDate`. Ordene por qualquer campo com `sortBy`,\ncomo `dividendYield12m` ou `priceToNav`.\n\nAté 20 símbolos por chamada. Plano Pro. MXRF11 e HGLG11 respondem sem token.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos separados por vírgula (máximo 20). Exemplo: HGLG11,MXRF11", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data de início no formato YYYY-MM-DD", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim no formato YYYY-MM-DD", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo para ordenação", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico mensal de indicadores retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiIndicatorsHistoryResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/historical": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiHistoricalPrice", "summary": "Histórico de preços de FIIs", "description": "\nSérie diária de preços das cotas: `open`, `high`, `low`, `close`, `volume` e\n`adjustedClose`, em reais. O campo `date` vem como timestamp UNIX em segundos.\n\nUse `adjustedClose` para calcular retorno. Ele considera desdobramentos e\nproventos, e o fechamento puro não.\n\nJanela padrão de 12 meses, ajustável com `startDate` e `endDate`. Ordene com\n`sortOrder`. Até 20 símbolos por chamada.\n\nPlano Pro. MXRF11 e HGLG11 respondem sem token.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos separados por vírgula (máximo 20). Exemplo: HGLG11,MXRF11", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data de início no formato YYYY-MM-DD", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim no formato YYYY-MM-DD", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação por data", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Série histórica OHLCV por FII retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiHistoricalResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/portfolio": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiPortfolio", "summary": "Carteira de FIIs", "description": "\nO que o fundo tem em carteira, a partir do informe trimestral da CVM: CRIs,\ncotas de outros FIIs, imóveis, direitos e terrenos.\n\n`summary` sempre vem, com os totais por fundo, o valor declarado e a vacância\nconsolidada dos imóveis. As listas detalhadas você pede em `include`, aceitando\n`allocations`, `financialAssets`, `fundHoldings`, `properties`, `lands` e\n`rights`. Sem `include`, a resposta fica pequena.\n\nPara um fundo de fundos, `fundHoldings` mostra a exposição real por FII e evita\ncontar duas vezes um imóvel que aparece na carteira do fundo investido.\n\nSem `referenceDate`, devolve o trimestre mais recente de cada fundo. Informes\nrecebem retificação; o padrão é a versão mais recente do trimestre, e\n`allVersions=true` traz todas. Até 20 símbolos por chamada.\n\nPlano Pro. MXRF11 e HGLG11 respondem sem token.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos separados por vírgula (máximo 20). Exemplo: HGLG11,MXRF11", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data de referência trimestral no formato YYYY-MM-DD. Se omitida, retorna o trimestre mais recente por FII.", "example": "2025-03-31" }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "string", "description": "Listas separadas por vírgula: allocations, properties, financialAssets, fundHoldings, lands, rights. summary sempre é retornado. Se omitido, retorna todas as listas.", "example": "allocations,fundHoldings" }, "required": false, "name": "include", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "Incluir todas as versões do trimestre retornado (padrão: false, retorna apenas a mais recente)", "example": "false" }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Carteira detalhada dos FIIs retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiPortfolioResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/properties": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiProperties", "summary": "Imóveis e vacância de FIIs", "description": "\nImóveis físicos de um FII, com vacância em primeiro plano. É o endpoint para\nanalisar fundos de tijolo: galpões, lajes, shoppings e carteiras imobiliárias.\n\n`summary.vacancyRate` é ponderada por área quando o informe traz área por\nimóvel. Cada imóvel traz nome, endereço, área, unidades, vacância,\ninadimplência e participação na receita do fundo.\n\nUm imóvel vago que responde por 2% da receita pesa muito menos que um vago que\nresponde por 30%. Por isso vale ler a participação na receita junto com a\nvacância, e não só a taxa consolidada.\n\nSem `referenceDate`, devolve o trimestre mais recente de cada fundo. Até 20\nsímbolos por chamada.\n\nPlano Pro. MXRF11 e HGLG11 respondem sem token.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos separados por vírgula (máximo 20). Exemplo: HGLG11,MXRF11", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data de referência trimestral no formato YYYY-MM-DD. Se omitida, retorna o trimestre mais recente por FII.", "example": "2026-03-31" }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "revenueShare", "area", "vacancyRate", "name" ], "default": "revenueShare", "description": "Campo para ordenar os imóveis. Padrão: revenueShare.", "example": "revenueShare" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação dos imóveis.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "Incluir todas as versões do trimestre retornado (padrão: false, retorna apenas a mais recente)", "example": "false" }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Imóveis e vacância dos FIIs retornados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiPropertiesResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/properties/history": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiPropertiesHistory", "summary": "Histórico de imóveis e vacância de FIIs", "description": "\nSérie trimestral compacta de imóveis e vacância: um ponto por fundo, trimestre\ne versão do informe.\n\nA resposta traz só o `summary` de cada trimestre, com vacância, área total e\nquantidade de imóveis. Serve para gráfico de evolução. Para a lista de imóveis\nde um trimestre, chame `/api/v2/fii/properties`.\n\nJanela padrão de 12 meses, ajustável com `startDate` e `endDate`. O padrão usa\na versão mais recente de cada trimestre; `allVersions=true` inclui as\nretificações. Até 20 símbolos por chamada.\n\nPlano Pro. MXRF11 e HGLG11 respondem sem token.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos separados por vírgula (máximo 20). Exemplo: HGLG11,MXRF11", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data de início no formato YYYY-MM-DD", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim no formato YYYY-MM-DD", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo para ordenação", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "Incluir todas as versões de cada trimestre (padrão: false, retorna apenas a mais recente)", "example": "false" }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Histórico trimestral de imóveis e vacância retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiPropertiesHistoryResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/portfolio/history": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiPortfolioHistory", "summary": "Histórico da carteira de FIIs", "description": "\nSérie trimestral compacta da carteira: um ponto por fundo, trimestre e versão\ndo informe.\n\nA resposta traz `summary` e `allocations`, sem as listas item a item. Serve\npara acompanhar como a alocação por classe de ativo mudou ao longo do tempo. Se\nvocê precisa do detalhe de um trimestre, chame `/api/v2/fii/portfolio`.\n\nJanela padrão de 12 meses, ajustável com `startDate` e `endDate`. O padrão usa\na versão mais recente de cada trimestre; `allVersions=true` inclui as\nretificações. Até 20 símbolos por chamada.\n\nPlano Pro. MXRF11 e HGLG11 respondem sem token.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos separados por vírgula (máximo 20). Exemplo: HGLG11,MXRF11", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data de início no formato YYYY-MM-DD", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim no formato YYYY-MM-DD", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo para ordenação", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "Incluir todas as versões de cada trimestre (padrão: false, retorna apenas a mais recente)", "example": "false" }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Histórico trimestral da carteira retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiPortfolioHistoryResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/reports": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiReports", "summary": "Relatórios mensais de FIIs", "description": "\nRelatório mensal que cada FII entrega à CVM, com a composição completa do\npatrimônio.\n\nOs indicadores do mês cobrem ativo total, patrimônio líquido, cotas emitidas,\nvalor patrimonial por cota, taxa de administração, retorno mensal, dividend\nyield do mês e total de cotistas.\n\nA composição do ativo separa caixa, títulos públicos, títulos privados, fundos\nde renda fixa, imóveis, CRI, LCI, cotas de outros FIIs e recebíveis. A do\npassivo separa distribuições a pagar, taxas de administração a pagar,\nobrigações imobiliárias e o total. Cada relatório traz ainda os dados de\ncontato do administrador.\n\nRelatórios recebem retificação. O padrão devolve só a versão mais recente de\ncada mês. Use `allVersions=true` quando precisar auditar o que mudou entre\nversões.\n\nJanela padrão de 12 meses, ajustável com `startDate` e `endDate`. Ordene com\n`sortBy` e `sortOrder`, e pagine com `page` e `limit`. Até 20 símbolos por\nchamada.\n\nPlano Pro. MXRF11 e HGLG11 respondem sem token.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos separados por vírgula (máximo 20). Exemplo: HGLG11,MXRF11", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data de início no formato YYYY-MM-DD", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim no formato YYYY-MM-DD", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo para ordenação", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Página (começa em 1)", "example": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página (sem limite rígido; valores altos como 10000 são aceitos)", "example": 20 }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "Incluir todas as versões dos relatórios (padrão: false, retorna apenas a mais recente)", "example": "false" }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Relatórios mensais paginados dos FIIs retornados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiReportsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/dividends": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiDividends", "summary": "Dividendos e rendimentos de FIIs", "description": "\nHistórico de rendimentos e amortizações pagos pelos FIIs.\n\nCada evento traz `label` (RENDIMENTO ou AMORTIZAÇÃO), `rate` com o valor por\ncota em reais, `paymentDate`, `lastDatePrior` com a data-com, `approvedOn`,\n`relatedTo`, `isinCode` e `remarks` com a origem do registro.\n\nRendimento é a distribuição mensal do resultado. Amortização é devolução de\ncapital e reduz o valor patrimonial da cota. Somar os dois como se fossem a\nmesma coisa infla o yield calculado.\n\nLeia `remarks` antes de confiar na data. Quando a fonte tem a data real de\npagamento, `paymentDate` é a data real. Para alguns fundos e períodos antigos, a\nCVM publica só a data de referência do relatório mensal, e aí `paymentDate` e\n`lastDatePrior` recebem essa referência. Não existe data inicial única: a\ncobertura varia por fundo.\n\nJanela padrão de 12 meses, ajustável com `startDate` e `endDate`. Ordene por\n`paymentDate`, `lastDatePrior`, `approvedOn` ou `rate`. Até 20 símbolos por\nchamada.\n\nFontes: relatórios mensais da CVM e comunicados de administradores e gestores.\nA revisão é mensal, com correção extraordinária quando aparece\ninconsistência.\n\nPlano Pro. MXRF11 e HGLG11 respondem sem token.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos separados por vírgula (máximo 20). Exemplo: HGLG11,MXRF11", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data de início no formato YYYY-MM-DD", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim no formato YYYY-MM-DD", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo para ordenação", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico de rendimentos dos FIIs retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiDividendsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/financials": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiFinancials", "summary": "Demonstrações financeiras de FIIs", "description": "\nDemonstrações financeiras estruturadas do FII, extraídas dos documentos DFIN\nentregues à CVM.\n\nAceita símbolo ou CNPJ. É a fonte auditada do fundo, mais lenta que o relatório\nmensal e mais confiável quando os dois divergem.\n\nPlano Pro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos de FIIs separados por vírgula (máximo 20)", "example": "HGLG11,MXRF11" }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "11728688000147" }, "required": false, "name": "cnpjs", "in": "query" }, { "schema": { "type": "integer", "nullable": true, "description": "Ano do documento", "example": 2025 }, "required": false, "name": "year", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD", "example": "2025-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação: referenceDate, symbol, cnpj, year", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20 }, "required": false, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Relatórios financeiros", "content": { "application/json": { "schema": { "type": "object", "properties": { "financials": { "type": "array", "items": { "$ref": "#/components/schemas/FiiFinancialReport" } }, "pagination": { "$ref": "#/components/schemas/PaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "financials", "pagination", "requestedAt", "took" ] } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/annual-reports": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiAnnualReports", "summary": "Informes anuais de FIIs", "description": "\nInforme anual que o FII entrega à CVM, com o consolidado do exercício.\n\nAceita símbolo ou CNPJ. FIAGRO, FI-Infra, FIDC e FIP não entram aqui; cada um\ntem endpoint próprio em `/api/v2/funds/*`.\n\nPlano Pro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos de FIIs separados por vírgula (máximo 20)", "example": "HGLG11,MXRF11" }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "11728688000147" }, "required": false, "name": "cnpjs", "in": "query" }, { "schema": { "type": "integer", "nullable": true, "description": "Ano do documento", "example": 2025 }, "required": false, "name": "year", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD", "example": "2025-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação: referenceDate, symbol, cnpj, year", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20 }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Seções opcionais conforme estrutura do informe anual", "example": "summary,governance" }, "required": false, "name": "include", "in": "query" } ], "responses": { "200": { "description": "Informes anuais", "content": { "application/json": { "schema": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/FiiAnnualReport" } }, "pagination": { "$ref": "#/components/schemas/PaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "reports", "pagination", "requestedAt", "took" ] } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/list": { "get": { "tags": [ "Fundos" ], "operationId": "listFunds", "security": [ { "Bearer": [] } ], "summary": "Listar fundos brasileiros", "description": "\nDescobre fundos listados a partir do cadastro canônico da brapi: FIIs, FIAGROs,\nFI-Infra e FIFs, FIDCs, FIPs e outros.\n\nBusque por `symbols`, por `cnpjs` ou por texto livre em `search`. Filtre por\ntipo de fundo para separar as famílias.\n\nComece por aqui quando você não sabe em qual endpoint o fundo mora. Nem todo\nticker terminado em 11 é FII: `JURO11`, por exemplo, é FI-Infra e não responde\nem `/api/v2/fii/*`.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Símbolos B3 separados por vírgula (máximo 20)", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Página (começa em 1)", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página (padrão 20). Sem limite rígido; valores altos são aceitos.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "enum": [ "fii", "fiagro", "fiinfra", "fif", "fidc", "fip", "etf", "other" ] }, "required": false, "name": "assetType", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "status", "in": "query" } ], "responses": { "200": { "description": "Fundos encontrados", "content": { "application/json": { "schema": { "type": "object", "properties": { "funds": { "type": "array", "items": { "$ref": "#/components/schemas/FundListItem" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "funds", "pagination", "requestedAt", "took" ] }, "example": { "funds": [ { "symbol": "JURO11", "cnpj": "42730834000100", "formattedCnpj": "42.730.834/0001-00", "name": "SPARTA INFRA", "legalName": "SPARTA INFRA FIC FI INFRA RENDA FIXA CP", "assetType": "fiinfra", "cvmClassType": null, "cvmClassification": null, "anbimaClassification": null, "b3Classification": "Financeiro/Fundos/FI-INFRA", "isin": null, "administratorName": null, "administratorCnpj": null, "managerName": null, "managerCnpj": null, "status": null, "price": 96.99, "navPerShare": 99.19945, "priceToNav": 0.9777272, "equity": 2040699000, "totalAssets": 2041704100, "totalInvestors": 92710, "updatedAt": "2026-06-21T21:06:37.434Z" } ], "pagination": { "page": 1, "limit": 20, "totalItems": 1, "totalPages": 1, "hasNextPage": false }, "requestedAt": "2026-06-22T02:10:56.319Z", "took": 902 } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/indicators": { "get": { "tags": [ "Fundos" ], "operationId": "getFundIndicators", "security": [ { "Bearer": [] } ], "summary": "Indicadores atuais de fundos", "description": "\nIndicadores mais recentes de fundos específicos, informados por `symbols` ou\n`cnpjs`.\n\nUse `/api/v2/funds/list` antes se você ainda não tem o identificador do fundo.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Símbolos B3 separados por vírgula (máximo 20)", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "enum": [ "fii", "fiagro", "fiinfra", "fif", "fidc", "fip", "etf", "other" ] }, "required": false, "name": "assetType", "in": "query" } ], "responses": { "200": { "description": "Indicadores", "content": { "application/json": { "schema": { "type": "object", "properties": { "funds": { "type": "array", "items": { "$ref": "#/components/schemas/FundIndicator" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "funds", "requestedAt", "took" ] }, "example": { "funds": [ { "symbol": "JURO11", "cnpj": "42730834000100", "name": "SPARTA INFRA", "assetType": "fiinfra", "asOfDate": "2026-06-18T00:00:00.000Z", "price": 96.99, "navPerShare": 99.19945, "priceToNav": 0.9777272, "equity": 2040699000, "totalAssets": 2041704100, "totalInvestors": 92710, "dailyApplications": 0, "dailyRedemptions": 0, "sharesOutstanding": null, "monthlyReturn": null, "patrimonialMonthlyReturn": null, "dividendYieldMonthly": null } ], "requestedAt": "2026-06-22T02:10:56.524Z", "took": 189 } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/nav/history": { "get": { "tags": [ "Fundos" ], "operationId": "getFundNavHistory", "security": [ { "Bearer": [] } ], "summary": "Histórico do valor patrimonial por cota", "description": "\nSérie do valor patrimonial por cota ao longo do tempo.\n\nA granularidade muda com a família do fundo. FI e FIF entregam informe diário à\nCVM, então a série é diária. FIDC entrega informe mensal por classe ou série, e\na resposta inclui a rentabilidade mensal oficial.\n\nSe você compara um FI com um FIDC no mesmo gráfico, alinhe os pontos por mês.\nMisturar série diária com mensal produz curvas que parecem divergir sem motivo.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Símbolos B3 separados por vírgula (máximo 20)", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Página (começa em 1)", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página (padrão 20). Sem limite rígido; valores altos são aceitos.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico do valor da cota", "content": { "application/json": { "schema": { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FundNavHistory" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "history", "pagination", "requestedAt", "took" ] }, "example": { "history": [ { "symbol": "JURO11", "cnpj": "42730834000100", "date": "2026-06-18T00:00:00.000Z", "classOrSeries": null, "totalAssets": 2041704100, "navPerShare": 99.19945, "equity": 2040699000, "dailyApplications": 0, "dailyRedemptions": 0, "totalInvestors": 92710, "monthlyReturn": null }, { "symbol": "JURO11", "cnpj": "42730834000100", "date": "2026-06-17T00:00:00.000Z", "classOrSeries": null, "totalAssets": 2044940400, "navPerShare": 99.36075, "equity": 2044017200, "dailyApplications": 0, "dailyRedemptions": 0, "totalInvestors": 92779, "monthlyReturn": null } ], "pagination": { "page": 1, "limit": 20, "totalItems": 114, "totalPages": 6, "hasNextPage": true }, "requestedAt": "2026-06-22T02:10:56.827Z", "took": 300 } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/profile": { "get": { "tags": [ "Fundos" ], "operationId": "getFundProfile", "security": [ { "Bearer": [] } ], "summary": "Perfil mensal de fundos FI e FIF", "description": "\nPerfil mensal do fundo conforme a CVM: composição de investidores, medidas de\nrisco, liquidez, concentração e exposição a crédito privado.\n\nÉ onde você vê se o fundo é de varejo ou institucional, e quanto do patrimônio\nestá em ativos difíceis de vender.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Símbolos B3 separados por vírgula (máximo 20)", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "include", "in": "query" } ], "responses": { "200": { "description": "Perfis", "content": { "application/json": { "schema": { "type": "object", "properties": { "profiles": { "type": "array", "items": { "$ref": "#/components/schemas/FundProfile" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "profiles", "requestedAt", "took" ] }, "example": { "profiles": [ { "symbol": "JURO11", "cnpj": "42730834000100", "referenceDate": "2026-05-31T00:00:00.000Z", "investorBreakdown": { "other": 0, "fundsOrClubs": 1, "nonResidents": 0, "otherPercent": 0, "legalEntities": 0, "individualRetail": 0, "fundsOrClubsPercent": 100, "nonResidentsPercent": 0, "legalEntitiesPercent": 0, "individualRetailPercent": 0 }, "risk": { "riskModel": "Modelos Não-Paramétricos", "portfolioVar": 0, "dailyQuotaVariationPercent": 0, "privateCreditExposurePercent": 0, "stressedDailyQuotaVariationPercent": 0 }, "liquidity": null, "concentration": { "topCotistaPercent": 0 }, "privateCredit": { "exposurePercent": 0 } } ], "requestedAt": "2026-06-22T02:10:56.983Z", "took": 152 } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/dividends": { "get": { "tags": [ "Fundos" ], "operationId": "getFundDividends", "security": [ { "Bearer": [] } ], "summary": "Dividendos de fundos listados", "description": "\nEventos de dividendos e rendimentos de FIAGRO, FI-Infra, FIF, FIDC e FIP\nlistados.\n\nCada evento traz a data de declaração, a data-com, a data de pagamento, o valor\npor cota e o rótulo do provento. Os filtros `startDate` e `endDate` usam\n`paymentDate`.\n\nFIIs ficam em `/api/v2/fii/dividends`, com fonte e calendário próprios.\n\nA cobertura começa no primeiro evento verificável de cada fundo, e não existe\ndata inicial única. As fontes prioritárias são os documentos da CVM e os\ncomunicados de administradores e gestores. Lacunas antigas só entram depois de\nvalidação cruzada. Renomes de ticker são preservados, e a brapi não estima data\nde pagamento por deslocamento fixo. A revisão é mensal, com correção\nextraordinária quando aparece inconsistência.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Símbolos B3 separados por vírgula (máximo 20)", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Página (começa em 1)", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página (padrão 20). Sem limite rígido; valores altos são aceitos.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string", "enum": [ "lastDatePrior", "paymentDate", "declaredDate", "symbol", "rate" ], "default": "paymentDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "fiagro", "fiinfra", "fif", "fidc", "fip", "other" ] }, "required": false, "name": "assetType", "in": "query" } ], "responses": { "200": { "description": "Dividendos validados", "content": { "application/json": { "schema": { "type": "object", "properties": { "dividends": { "type": "array", "items": { "$ref": "#/components/schemas/FundDividend" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "dividends", "pagination", "requestedAt", "took" ] }, "example": { "dividends": [ { "symbol": "JURO11", "cnpj": "42730834000100", "assetType": "fiinfra", "declaredDate": "2026-05-29T00:00:00.000Z", "lastDatePrior": "2026-05-29T00:00:00.000Z", "paymentDate": "2026-06-13T00:00:00.000Z", "rate": 0.5, "label": "RENDIMENTO", "isinCode": "BRJUROCTF002" } ], "pagination": { "page": 1, "limit": 20, "totalItems": 1, "totalPages": 1, "hasNextPage": false }, "requestedAt": "2026-06-22T02:10:56.983Z", "took": 152 } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/fiagro/reports": { "get": { "tags": [ "Fundos" ], "operationId": "getFiagroReports", "security": [ { "Bearer": [] } ], "summary": "Relatórios mensais de FIAGRO", "description": "\nRelatório mensal do FIAGRO: patrimônio, número de cotistas, rentabilidade do\nmês e valores a distribuir.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Símbolos B3 separados por vírgula (máximo 20)", "example": "XPCA11" }, "required": false, "example": "XPCA11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "41269527000101" }, "required": false, "example": "41269527000101", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Página (começa em 1)", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página (padrão 20). Sem limite rígido; valores altos são aceitos.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" }, { "schema": { "type": "boolean", "nullable": true, "default": false }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Relatórios FIAGRO", "content": { "application/json": { "schema": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/FiagroReport" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "reports", "pagination", "requestedAt", "took" ] }, "example": { "reports": [ { "symbol": "XPCA11", "cnpj": "41269527000101", "name": "XP CRÉDITO AGRÍCOLA-FUNDO DE INVESTIMENTO NAS CADEIAS PROD", "referenceDate": "2026-05-01T00:00:00.000Z", "version": 1, "isin": "BRXPCACTF004", "market": "BOLSA", "administratorName": "XP INVESTIMENTOS CORRETORA DE CÂMBIO, TÍTULOS E VAL MOB S/A", "managerName": "XP VISTA ASSET MANAGEMENT LTDA.", "totalAssets": 492323580, "netEquity": 487325340, "sharesOutstanding": 45523076, "navPerShare": 10.71, "totalInvestors": 94254, "monthlyReturn": 0.11, "patrimonialMonthlyReturn": -0.92, "dividendYieldMonthly": 1.03, "amortizationRateMonthly": 0, "liquidityNeeds": null, "incomeToDistribute": 4567754.5, "totalLiabilities": 4998232 } ], "pagination": { "page": 1, "limit": 20, "totalItems": 5, "totalPages": 1, "hasNextPage": false }, "requestedAt": "2026-06-22T02:10:57.433Z", "took": 293 } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/fiagro/portfolio": { "get": { "tags": [ "Fundos" ], "operationId": "getFiagroPortfolio", "security": [ { "Bearer": [] } ], "summary": "Carteira de FIAGRO", "description": "\nComposição do patrimônio de um FIAGRO: alocações por classe de ativo, base de\ninvestidores e passivos.\n\nFIAGRO investe em cadeia agropecuária, então a carteira mistura CRA, direitos\ncreditórios, imóveis rurais e participações. A alocação diz qual desses domina.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Símbolos B3 separados por vírgula (máximo 20)", "example": "XPCA11" }, "required": false, "example": "XPCA11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "41269527000101" }, "required": false, "example": "41269527000101", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "boolean", "nullable": true, "default": false }, "required": false, "name": "allVersions", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "include", "in": "query" } ], "responses": { "200": { "description": "Carteiras FIAGRO", "content": { "application/json": { "schema": { "type": "object", "properties": { "funds": { "type": "array", "items": { "$ref": "#/components/schemas/FiagroPortfolio" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "funds", "requestedAt", "took" ] }, "example": { "funds": [ { "symbol": "XPCA11", "cnpj": "41269527000101", "referenceDate": "2026-05-01T00:00:00.000Z", "summary": { "netEquity": 487325339.56, "totalAssets": 492323571.36, "totalInvested": 460334438.28, "liquidityNeeds": null, "totalLiabilities": 4998231.8 }, "allocations": { "cpr": 0, "cra": 299574550.49, "fii": 0, "fip": 10045714.33, "lca": 0, "lci": 0, "cdca": 0, "fidc": 99610927.4, "fiagro": 42988149.25, "ruralRealEstate": 0 }, "investors": { "total": 94254, "individuals": 94165, "nonResidents": 6, "financialCompanies": 0, "nonFinancialCompanies": 79 }, "liabilities": { "adminFeesPayable": 354189.17, "totalLiabilities": 4998231.8, "incomeToDistribute": 4567754.46 } } ], "requestedAt": "2026-06-22T02:10:57.586Z", "took": 146 } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/portfolio": { "get": { "tags": [ "Fundos" ], "operationId": "getFundPortfolio", "security": [ { "Bearer": [] } ], "summary": "Carteira de fundos FI e FIF", "description": "\nCarteira oficial do fundo, do arquivo CDA que a CVM publica.\n\nOs ativos vêm agrupados em títulos públicos, cotas de outros fundos, crédito\nprivado, recebíveis e valores a pagar.\n\nO CDA sai com defasagem de alguns meses. Mostre a data de referência junto do\ndado para o usuário não confundir com a posição de hoje.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Símbolos B3 separados por vírgula (máximo 20)", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Página (começa em 1)", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página (padrão 20). Sem limite rígido; valores altos são aceitos.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "include", "in": "query" } ], "responses": { "200": { "description": "Carteiras", "content": { "application/json": { "schema": { "type": "object", "properties": { "funds": { "type": "array", "items": { "$ref": "#/components/schemas/FundPortfolio" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "funds", "requestedAt", "took" ] }, "example": { "funds": [ { "symbol": "JURO11", "cnpj": "42730834000100", "name": "SPARTA INFRA FI EM COTAS DE FUNDOS INCENTIVADOS DE INVESTIMENTO EM INFRAESTRUTURA RENDA FIXA", "referenceDate": "2026-05-31T00:00:00.000Z", "summary": { "marketValue": 2083851261, "holdingsCount": 7, "publicBondsValue": 6403800, "fundHoldingsValue": 2053162240, "creditAssetsValue": 0, "listedSecuritiesValue": 0, "receivablesValue": 12371910, "payablesValue": 11913311 }, "publicBonds": [ { "bucket": "publicBonds", "assetType": "Título público federal", "assetName": "NOTAS DO TESOURO NACIONAL SERIE B", "issuerName": null, "issuerCnpj": null, "isin": "BRSTNCNTB716", "selicCode": "760199", "quantity": 1434, "marketValue": 6403800, "costValue": null, "maturityDate": "2029-05-15T00:00:00.000Z", "confidential": false, "details": { "applicationType": "Operações Compromissadas", "negotiationType": "Para negociação", "issueDate": "2024-01-17T00:00:00.000Z", "relatedIssuer": false, "fundClassType": "CLASSES - FIF" } } ], "fundHoldings": [ { "bucket": "fundHoldings", "assetType": "Fundo de Investimento e de Cotas", "assetName": "SPARTA INFRA MASTER VI FUNDO INCENTIVADO DE INVESTIMENTO EM INFRAESTRUTURA RENDA FIXA", "issuerName": null, "issuerCnpj": "54773359000120", "isin": null, "selicCode": null, "quantity": 9950000, "marketValue": 972734460, "costValue": null, "maturityDate": null, "confidential": false, "details": { "applicationType": "Cotas de Fundos", "relatedIssuer": true, "fundClassType": "CLASSES - FIF" } } ], "creditAssets": [], "listedSecurities": [], "receivables": [ { "bucket": "receivables", "assetType": "Outros", "assetName": "VALORES A RECEBER", "issuerName": null, "issuerCnpj": null, "isin": null, "selicCode": null, "quantity": null, "marketValue": 12371910, "costValue": null, "maturityDate": null, "confidential": false, "details": { "applicationType": "Valores a receber", "negotiationType": "Para negociação", "fundClassType": "CLASSES - FIF" } } ], "payables": [ { "bucket": "payables", "assetType": "Outros", "assetName": "VALORES A PAGAR", "issuerName": null, "issuerCnpj": null, "isin": null, "selicCode": null, "quantity": null, "marketValue": 11913311, "costValue": null, "maturityDate": null, "confidential": false, "details": { "applicationType": "Valores a pagar", "negotiationType": "Para negociação", "fundClassType": "CLASSES - FIF" } } ], "confidentialSummary": null } ], "requestedAt": "2026-06-22T02:10:57.134Z", "took": 147 } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/fidc/reports": { "get": { "tags": [ "Fundos" ], "operationId": "getFidcReports", "security": [ { "Bearer": [] } ], "summary": "Relatórios mensais de FIDC", "description": "\nRelatório mensal do FIDC: ativos, carteira, patrimônio líquido, classe de cota\ne tipo de condomínio.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Símbolos B3 separados por vírgula (máximo 20)" }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "05754060000113" }, "required": false, "example": "05754060000113", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Página (começa em 1)", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página (padrão 20). Sem limite rígido; valores altos são aceitos.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Relatórios FIDC", "content": { "application/json": { "schema": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/FidcReport" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "reports", "pagination", "requestedAt", "took" ] }, "example": { "reports": [ { "symbol": null, "cnpj": "05754060000113", "name": "CATERPILLAR FUNDO DE INVESTIMENTO EM DIREITOS CREDITÓRIOS DO SEGMENTO INDUSTRIAL II - RESP LIMITADA", "referenceDate": "2026-05-31T00:00:00.000Z", "administratorName": "BEM - DISTRIBUIDORA DE TITULOS E VALORES MOBILIARIOS LTDA.", "class": null, "condominiumType": "ABERTO", "assets": 1642889200, "portfolioValue": 1642755000, "netEquity": 1642653000, "averageNetEquity": 1620125200, "liabilities": 236119.5 } ], "pagination": { "page": 1, "limit": 20, "totalItems": 5, "totalPages": 1, "hasNextPage": false }, "requestedAt": "2026-06-22T02:10:57.882Z", "took": 292 } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/fidc/portfolio": { "get": { "tags": [ "Fundos" ], "operationId": "getFidcPortfolio", "security": [ { "Bearer": [] } ], "summary": "Carteira e risco de FIDC", "description": "\nCarteira de um FIDC com o que importa para avaliar risco: vencimentos,\ninadimplência, classificação de risco, cotistas e cedentes.\n\nA inadimplência e a concentração por cedente contam mais sobre um FIDC que a\nrentabilidade passada. Um fundo com poucos cedentes carrega o risco de cada um\ndeles.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Símbolos B3 separados por vírgula (máximo 20)" }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "05754060000113" }, "required": false, "example": "05754060000113", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "include", "in": "query" } ], "responses": { "200": { "description": "Carteira FIDC", "content": { "application/json": { "schema": { "type": "object", "properties": { "funds": { "type": "array", "items": { "$ref": "#/components/schemas/FidcPortfolio" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "funds", "requestedAt", "took" ] }, "example": { "funds": [ { "symbol": null, "cnpj": "05754060000113", "referenceDate": "2026-05-31T00:00:00.000Z", "sectors": { "brand": 0, "finance": 0, "commerce": 0, "industry": 0, "judicial": 0, "services": 1265864074.47, "factoring": 0, "realEstate": 0, "agribusiness": 0, "creditRights": 0, "publicSector": 0 }, "maturityBuckets": { "upTo30Days": 695649558.05, "upTo60Days": 570214516.42, "upTo90Days": 0, "upTo120Days": 0, "upTo150Days": 0, "upTo180Days": 0, "upTo360Days": 0, "upTo720Days": 0, "over1080Days": 0, "upTo1080Days": 0 }, "delinquencyBuckets": { "upTo30Days": 0, "upTo60Days": 0, "upTo90Days": 0, "upTo120Days": 0, "upTo150Days": 0, "upTo180Days": 0, "upTo360Days": 0, "upTo720Days": 0, "over1080Days": 0, "upTo1080Days": 0 }, "riskBuckets": { "debtorA": 0, "debtorB": 0, "debtorC": 0, "debtorD": 0, "debtorE": 0, "debtorF": 0, "debtorG": 0, "debtorH": 0, "debtorAA": 1265864074.47 }, "quotaClasses": [ { "investors": 1, "quotaCount": 27809423.4357832, "quotaValue": 59.0682179, "classOrSeries": "Subclasse Senior Subclasse 1" } ], "investors": { "seniorPf": 0, "subordinatedPf": 0, "seniorNonResident": 1, "subordinatedNonResident": 0, "seniorFinancialInstitution": 0, "subordinatedFinancialInstitution": 0 }, "cedentes": { "top1Cnpj": "61064911000177", "top2Cnpj": "61064911001734", "top1Percent": 65.78, "top2Percent": 11.29 } } ], "requestedAt": "2026-06-22T02:10:58.032Z", "took": 145 } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/fip/reports": { "get": { "tags": [ "Fundos" ], "operationId": "getFipReports", "security": [ { "Bearer": [] } ], "summary": "Relatórios de FIP", "description": "\nRelatórios trimestrais e quadrimestrais de FIP, com patrimônio, capital\ncomprometido e integralizado, cotas e composição de investidores, em campos\nnormalizados.\n\nFIP não tem cota diária. O dado chega no ritmo do informe periódico, e é assim\nque o gestor reporta a posição.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Símbolos B3 separados por vírgula (máximo 20)" }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, com ou sem formatação", "example": "06033235000166" }, "required": false, "example": "06033235000166", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Página (começa em 1)", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página (padrão 20). Sem limite rígido; valores altos são aceitos.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "trimestral", "quadrimestral" ] }, "required": false, "name": "reportType", "in": "query" } ], "responses": { "200": { "description": "Relatórios FIP", "content": { "application/json": { "schema": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/FipReport" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em formato ISO 8601", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento em milissegundos", "example": 45 } }, "required": [ "reports", "pagination", "requestedAt", "took" ] }, "example": { "reports": [ { "symbol": null, "cnpj": "06033235000166", "name": "CRT FIP - MULTIESTRATÉGIA", "reportType": "quadrimestral", "referenceDate": "2026-04-30T00:00:00.000Z", "netEquity": 28866473.76, "targetAudience": "Investidores qualificados", "isInvestmentEntity": true, "investedInOtherFips": 0, "capital": { "committed": 13162950.24, "subscribed": 13162950.24, "paidIn": 13162950.24 }, "quotas": { "subscribed": 103, "paidIn": 13162950.24 }, "quotaClass": { "name": "1", "fundType": "CLASSES - FIP", "subscribedQuotas": 103, "paidInQuotas": 103, "quotaValue": 280257.02679611, "investors": 1, "hasDistinctEconomicRights": false, "hasSpecialPoliticalRights": false }, "investorComposition": { "totalInvestors": 1, "totalSubscribedQuotaPercent": 100, "byType": { "closedPensionFunds": { "investors": 1, "subscribedQuotaPercent": 100 } } } } ], "pagination": { "page": 1, "limit": 20, "totalItems": 1, "totalPages": 1, "hasNextPage": false }, "requestedAt": "2026-06-22T02:10:58.323Z", "took": 288 } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/expirations": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionExpirations", "summary": "Vencimentos de opções sobre futuros", "description": "\nVencimentos disponíveis das opções sobre um contrato futuro.\n\nComece por aqui e passe a data escolhida para `/api/v2/futures/options/strikes`\nou `/api/v2/futures/options/chain`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo (ex.: `BGI`, `ICF`).", "example": "BGI" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "`true` inclui vencimentos passados. Padrão: `false`." }, "required": false, "name": "includeExpired", "in": "query" } ], "responses": { "200": { "description": "Vencimentos.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionExpirationsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/strikes": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionStrikes", "summary": "Strikes de opções sobre futuros", "description": "\nPreços de exercício disponíveis para um ativo em um vencimento. Filtre por call\nou put.\n\nUse para montar o seletor de strike antes de pedir a cadeia inteira.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo (ex.: `BGI`).", "example": "BGI" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento (YYYY-MM-DD).", "example": "2026-08-31" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`." }, "required": false, "name": "side", "in": "query" } ], "responses": { "200": { "description": "Strikes.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionStrikesResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/chain": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionChain", "summary": "Cadeia de opções sobre futuros", "description": "\nCalls e puts de um vencimento, com o último preço de cada série.\n\nUma série sem negócio recente carrega o preço do último pregão em que negociou.\nConfira a data antes de usar como preço corrente.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo (ex.: `BGI`).", "example": "BGI" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento (YYYY-MM-DD).", "example": "2026-08-31" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data da cotação (YYYY-MM-DD). Padrão: último pregão." }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo (em reais)." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo (em reais)." }, "required": false, "name": "maxStrike", "in": "query" } ], "responses": { "200": { "description": "Cadeia.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionChainResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/positions": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionPositions", "summary": "Posições em aberto das opções sobre futuros", "description": "\nPosições em aberto das séries de opções sobre futuros de um vencimento.\n\nUse `openInterest` como número de contratos em aberto. Aqui ele repete\n`reportedOpenInterest`. Os campos de posição coberta, descoberta e empréstimo\nchegam vazios na maior parte dos segmentos de futuros.\n\nA apuração sai uma vez por pregão. Quando ainda não há apuração para a data\npedida, a resposta traz a apuração anterior. Leia `openInterestDate` antes de\ncomparar com o preço do dia.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo (ex.: `BGI`).", "example": "BGI" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento (YYYY-MM-DD).", "example": "2026-08-31" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data da cotação (YYYY-MM-DD). Padrão: último pregão." }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo (em reais)." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo (em reais)." }, "required": false, "name": "maxStrike", "in": "query" } ], "responses": { "200": { "description": "Posições retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionPositionsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/historical": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionHistorical", "summary": "Histórico de uma opção sobre futuro", "description": "\nSérie diária de uma opção sobre futuro, com abertura, máxima, mínima,\nfechamento e volume.\n\nBuracos na série significam pregão sem negócio, não dado faltando.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código da opção (ex.: `BGIM26C028000`).", "example": "BGIM26C028000" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial (YYYY-MM-DD). Padrão: 12 meses atrás.", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final (YYYY-MM-DD). Padrão: hoje.", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionHistoricalResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/positions/history": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionPositionsHistory", "summary": "Histórico de posições em aberto de opções sobre futuros", "description": "\nHistórico das posições em aberto de uma única opção sobre futuro, identificada\npor `symbol`.\n\nCada item é uma apuração diária. Pregão sem apuração não aparece na série.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código da opção (ex.: `BGIM26C028000`).", "example": "BGIM26C028000" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial (YYYY-MM-DD). Padrão: 12 meses atrás.", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final (YYYY-MM-DD). Padrão: hoje.", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico de posições retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionPositionsHistoryResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/analytics": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionAnalytics", "summary": "Gregas e volatilidade implícita de opções sobre futuros", "description": "\nVolatilidade implícita e gregas de um vencimento, calculadas sobre o\nfechamento.\n\nO modelo muda com o estilo do contrato. Opção europeia usa Black-76. Opção\namericana usa aproximação binomial sobre o futuro, porque o exercício\nantecipado muda o valor.\n\nQuando não há dado suficiente, os campos vêm `null` e `nullReason` explica o\nmotivo.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo (ex.: `BGI`).", "example": "BGI" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento (YYYY-MM-DD).", "example": "2026-08-31" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data da cotação (YYYY-MM-DD). Padrão: último pregão." }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo (em reais)." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo (em reais)." }, "required": false, "name": "maxStrike", "in": "query" }, { "schema": { "type": "integer", "minimum": 1, "maximum": 500, "description": "Limita a quantidade de séries retornadas na cadeia analítica. Padrão: todas as séries do filtro.", "example": 50 }, "required": false, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Análises.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionAnalyticsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/analytics/history": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionAnalyticsHistory", "summary": "Histórico de gregas e IV de opções sobre futuros", "description": "\nSérie temporal de volatilidade implícita e gregas de uma única opção sobre\nfuturo, calculada sobre o fechamento de cada pregão.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código da opção (ex.: `BGIM26C028000`).", "example": "BGIM26C028000" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial (YYYY-MM-DD). Padrão: 12 meses atrás.", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final (YYYY-MM-DD). Padrão: hoje.", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico de análises.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionAnalyticsHistoryResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/list": { "get": { "tags": [ "Futuros" ], "operationId": "getFutureList", "summary": "Listar contratos futuros", "description": "\nContratos futuros negociados na B3, com filtro por ativo, segmento e\nvencimento.\n\nUm mesmo ativo tem vários contratos vivos ao mesmo tempo, um por vencimento.\n`WINJ26` e `WINM26` são o mesmo mini índice em datas diferentes. Comece por\naqui para achar o código exato antes de pedir cotação.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Filtra por código do ativo (ex.: `WIN`, `BGI`, `DI1`).", "example": "BGI" }, "required": false, "name": "asset", "in": "query" }, { "schema": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "Filtra por segmento." }, "required": false, "name": "segment", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "`true` inclui contratos vencidos. Padrão: `false`." }, "required": false, "name": "includeExpired", "in": "query" }, { "schema": { "type": "integer", "minimum": 1, "default": 1, "description": "Número da página (começa em 1)." }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 1, "maximum": 100, "default": 50, "description": "Itens por página (máx. 100)." }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "enum": [ "symbol", "expirationDate", "underlyingAsset" ], "default": "expirationDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "asc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Lista de contratos.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureListResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/quote": { "get": { "tags": [ "Futuros" ], "operationId": "getFutureQuotes", "summary": "Cotação de contratos futuros", "description": "\nCotação do último pregão para os contratos pedidos. Até 20 símbolos por\nrequisição.\n\nContrato futuro tem preço de ajuste, e é por ele que a bolsa acerta as posições\ntodo dia. Ele não é o mesmo que o último negócio.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Contratos separados por vírgula (máx. 20).", "example": "WINM26,BGIF27,DI1F27" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Cotações.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureQuoteResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/specs": { "get": { "tags": [ "Futuros" ], "operationId": "getFutureSpecs", "summary": "Especificações do contrato futuro", "description": "\nSó os dados do contrato, sem preço: vencimento, multiplicador, tamanho do lote\ne ISIN.\n\nO multiplicador é o que converte pontos em reais. Sem ele você não calcula o\nvalor financeiro de uma posição.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Contratos separados por vírgula (máx. 20).", "example": "WINM26,BGIF27,DI1F27" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Especificações.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureSpecsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/historical": { "get": { "tags": [ "Futuros" ], "operationId": "getFutureHistorical", "summary": "Histórico de um contrato futuro", "description": "\nSérie diária de um contrato, com abertura, máxima, mínima, fechamento, preço\nde ajuste e, em DI e DAP, a taxa.\n\nA série de um contrato termina no vencimento. Para acompanhar um ativo por\nanos, você precisa emendar contratos consecutivos e tratar o salto de preço na\nvirada.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do contrato (ex.: `WINM26`).", "example": "WINM26" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial (YYYY-MM-DD). Padrão: 12 meses atrás." }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final (YYYY-MM-DD). Padrão: hoje." }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureHistoricalResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/term-structure": { "get": { "tags": [ "Futuros" ], "operationId": "getFutureTermStructure", "summary": "Curva de vencimentos", "description": "\nTodos os contratos vivos do mesmo ativo, com o último pregão de cada um, do\nvencimento mais próximo para o mais distante.\n\nÉ a curva a termo em uma chamada. Em DI, ela mostra o juro que o mercado espera\npara cada prazo. Em commodity, mostra se o mercado paga mais pelo futuro\ndistante que pelo próximo.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo (ex.: `BGI`, `WIN`, `DI1`).", "example": "BGI" }, "required": true, "name": "asset", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "`true` inclui contratos vencidos. Padrão: `false`." }, "required": false, "name": "includeExpired", "in": "query" } ], "responses": { "200": { "description": "Curva de vencimentos.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureTermStructureResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/inflation": { "get": { "tags": [ "Indicadores" ], "operationId": "getInflation", "summary": "IPCA (inflação oficial)", "description": "\nSérie do IPCA, o índice oficial de inflação do Brasil, publicada pelo Banco\nCentral.\n\nOs dados são mensais e começam em janeiro de 2000. Cada ponto é a variação\npercentual do mês, não o acumulado do ano.\n\nFiltre o período com `start` e `end` no formato `DD/MM/YYYY`. Ordene por data\nou por valor.\n\nO IPCA sai por volta do dia 10 do mês seguinte. O mês corrente nunca está na\nsérie.\n\nPlano Startup.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Incluir dados históricos (true/false)", "example": "false" }, "required": false, "name": "historical", "in": "query" }, { "schema": { "type": "string", "description": "Data de início (DD/MM/YYYY)", "example": "01/01/2023" }, "required": false, "name": "start", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim (DD/MM/YYYY)", "example": "31/12/2023" }, "required": false, "name": "end", "in": "query" }, { "schema": { "type": "string", "description": "Campo para ordenação (date ou value)", "example": "date" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "description": "Ordem de classificação (asc ou desc)", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Dados históricos de inflação (IPCA) retornados com sucesso conforme os filtros aplicados. Array contém variações percentuais mensais ordenadas conforme solicitado.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InflationResponseSimple" } } } }, "401": { "description": "**Não Autorizado.** Token de autenticação não fornecido ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "**Acesso Proibido.** Seu plano não tem acesso ao módulo de indicadores econômicos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "**Erro Interno.** Erro interno ao processar a requisição.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "**Serviço Indisponível.** Serviço externo temporariamente indisponível.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço externo temporariamente indisponível", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/inflation/available": { "get": { "tags": [ "Indicadores" ], "operationId": "getInflationAvailable", "summary": "Países com dados de inflação", "description": "\nOs países que `/api/v2/inflation` aceita.\n\nHoje só `brazil`, com o IPCA publicado pelo Banco Central.\n\nPlano Startup.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "enum": [ "json" ], "description": "Formato da resposta. JSON é o formato suportado." }, "required": false, "name": "format", "in": "query" } ], "responses": { "200": { "description": "Lista de países disponíveis para dados de inflação retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InflationAvailableResponse" } } } } } } }, "/api/v2/macro/available": { "get": { "tags": [ "Macroeconomia" ], "operationId": "getMacroAvailable", "summary": "Listar séries macroeconômicas", "description": "\nTodas as séries macroeconômicas disponíveis, com slug, nome, unidade,\nfrequência, categoria e a data em que o histórico começa.\n\nChame este endpoint antes de `/api/v2/macro` ou `/api/v2/macro/latest` para\ndescobrir os slugs.\n\n`q` faz busca em slug, alias, nome e descrição, sem diferenciar maiúsculas, e\nordena por relevância. `category` filtra por área, como `interestRate` ou\n`inflation`. Os dois filtros funcionam juntos.\n\nEndpoint público.\n", "parameters": [ { "schema": { "type": "string", "minLength": 1, "description": "Filtro textual aplicado a slug, alias, nome e descrição (case-insensitive, substring). Quando informado, os resultados vêm ordenados por relevância.", "example": "juros" }, "required": false, "name": "q", "in": "query" }, { "schema": { "type": "string", "description": "Filtrar por categoria (ex: `interestRate`, `inflation`).", "example": "interestRate" }, "required": false, "name": "category", "in": "query" } ], "responses": { "200": { "description": "Lista de séries disponíveis retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MacroAvailableResponse" } } } } } } }, "/api/v2/macro": { "get": { "tags": [ "Macroeconomia" ], "operationId": "getMacroSeries", "summary": "Séries macroeconômicas", "description": "\nObservações históricas de uma ou mais séries macroeconômicas brasileiras: taxas\nde juros, inflação, agregados monetários e atividade.\n\nIdentifique cada série pelo slug. Para descobrir os slugs disponíveis, chame\n`/api/v2/macro/available` antes.\n\nSéries têm frequências diferentes. SELIC é diária, IPCA é mensal, PIB é\ntrimestral. Antes de comparar duas no mesmo gráfico, confira o campo\n`frequency`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Slugs separados por vírgula (máx. 20). Slugs disponíveis - interestRate: `selic`, `selicovernight`, `cdi`, `tr`; inflation: `ipca`, `ipca12m`, `inpc`, `igpm`, `igpdi`; activity: `ibcbr`, `pibmensal`; labor: `desemprego`; monetary: `m1`, `m4`; external: `reservas`. Veja `/api/v2/macro/available` para metadados completos (unidade, frequência, descrição) e busca por texto.", "example": "selic,ipca" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial (YYYY-MM-DD). Padrão: 12 meses atrás.", "example": "2025-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final (YYYY-MM-DD). Padrão: hoje.", "example": "2026-04-30" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordenação por data.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "description": "Máximo de observações por série (padrão 20). Sem teto - passe `limit=10000` para histórico completo.", "example": 20 }, "required": false, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Observações retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MacroSeriesDataResponse" } } } }, "400": { "description": "Parâmetros inválidos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Plano sem acesso ao módulo de macroeconomia.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/macro/latest": { "get": { "tags": [ "Macroeconomia" ], "operationId": "getMacroSeriesLatest", "summary": "Último valor de cada série", "description": "\nO valor mais recente de cada série pedida em `symbols`. Sem `symbols`, devolve\ntodas.\n\nServe para um painel que mostra SELIC, IPCA e CDI atuais sem baixar o histórico\ninteiro.\n\nA data de cada valor muda com a frequência da série. O IPCA mais recente pode\nser de um mês atrás enquanto a SELIC é de ontem.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Slugs separados por vírgula. Omitir retorna o último valor de TODAS as séries disponíveis. Slugs: selic, selicovernight, cdi, tr, ipca, ipca12m, inpc, igpm, igpdi, ibcbr, pibmensal, desemprego, m1, m4, reservas. Veja `/api/v2/macro/available` para metadados.", "example": "selic,cdi,ipca" }, "required": false, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Snapshot retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MacroSeriesLatestResponse" } } } }, "400": { "description": "Parâmetros inválidos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Plano sem acesso ao módulo de macroeconomia.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/expirations": { "get": { "tags": [ "Opções" ], "operationId": "listOptionExpirations", "summary": "Vencimentos de opções", "description": "\nVencimentos disponíveis para um ativo subjacente.\n\nÉ o primeiro passo da cadeia de opções: você escolhe o vencimento aqui e passa\na data para `/api/v2/options/strikes` ou `/api/v2/options/chain`.\n\nSem token, o sandbox aceita apenas `underlying=PETR4`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo subjacente (ação, ETF ou índice) das opções que você quer listar.", "example": "PETR4" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "Se `true`, inclui vencimentos já passados. Padrão `false` retorna apenas vencimentos futuros." }, "required": false, "name": "includeExpired", "in": "query" } ], "responses": { "200": { "description": "Vencimentos retornados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionExpirationsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/strikes": { "get": { "tags": [ "Opções" ], "operationId": "listOptionStrikes", "summary": "Strikes de opções", "description": "\nPreços de exercício disponíveis em um vencimento.\n\nUse para montar o seletor de strike antes de pedir a cadeia inteira, que é bem\nmaior.\n\nSem token, o sandbox aceita apenas `underlying=PETR4`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo subjacente (ação, ETF ou índice) das opções que você quer listar.", "example": "PETR4" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento das opções, no formato YYYY-MM-DD. Use `/expirations` para descobrir os vencimentos disponíveis.", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por tipo da opção: `call` (compra) ou `put` (venda). Omita para retornar ambos." }, "required": false, "name": "side", "in": "query" } ], "responses": { "200": { "description": "Preços de exercício retornados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionStrikesResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/chain": { "get": { "tags": [ "Opções" ], "operationId": "getOptionSeries", "summary": "Cadeia de opções", "description": "\nTodas as séries negociadas de um vencimento, com os metadados do contrato e o\núltimo OHLCV disponível até a data pedida.\n\nUma série sem negócio recente carrega o preço do último pregão em que negociou,\nnão um preço de hoje. Confira a data antes de usar como preço corrente.\n\nSem token, o sandbox aceita apenas `underlying=PETR4`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo subjacente (ação, ETF ou índice) das opções que você quer listar.", "example": "PETR4" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento das opções, no formato YYYY-MM-DD. Use `/expirations` para descobrir os vencimentos disponíveis.", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data EOD usada para buscar preço e volume do dia, no formato YYYY-MM-DD. Padrão: último pregão disponível.", "example": "2026-06-01" }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por tipo da opção: `call` (compra) ou `put` (venda). Omita para retornar ambos." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo a considerar. Útil para limitar a resposta a uma faixa de preços de exercício." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo a considerar. Útil para limitar a resposta a uma faixa de preços de exercício." }, "required": false, "name": "maxStrike", "in": "query" } ], "responses": { "200": { "description": "Séries retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionSeriesResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "Serviço externo temporariamente indisponível", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço externo temporariamente indisponível", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/options/positions": { "get": { "tags": [ "Opções" ], "operationId": "getOptionPositions", "summary": "Posições em aberto das opções", "description": "\nPosições em aberto das séries de um vencimento.\n\nUse `openInterest` como número de contratos em aberto. Nas opções sobre ações\nesse valor vem de `totalPositionQuantity`, porque `reportedOpenInterest` chega\nvazio.\n\nA apuração sai uma vez por pregão. Quando ainda não há apuração para a data\npedida, a resposta traz a apuração anterior. Leia `openInterestDate` antes de\ncomparar com o preço do dia.\n\nSem token, o sandbox aceita apenas `underlying=PETR4`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo subjacente (ação, ETF ou índice) das opções que você quer listar.", "example": "PETR4" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento das opções, no formato YYYY-MM-DD. Use `/expirations` para descobrir os vencimentos disponíveis.", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data EOD usada para buscar preço e volume do dia, no formato YYYY-MM-DD. Padrão: último pregão disponível.", "example": "2026-06-01" }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por tipo da opção: `call` (compra) ou `put` (venda). Omita para retornar ambos." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo a considerar. Útil para limitar a resposta a uma faixa de preços de exercício." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo a considerar. Útil para limitar a resposta a uma faixa de preços de exercício." }, "required": false, "name": "maxStrike", "in": "query" } ], "responses": { "200": { "description": "Posições retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionPositionsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/historical": { "get": { "tags": [ "Opções" ], "operationId": "getOptionHistorical", "summary": "Histórico de uma série de opção", "description": "\nHistórico diário de fechamento de uma única série, identificada por `symbol` e\n`expirationDate`.\n\nOpção fora do dinheiro passa dias sem negociar. Buracos na série são normais e\nsignificam ausência de negócio, não falta de dado.\n\nSem token, o sandbox aceita apenas símbolos com prefixo `PETR`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolo da opção", "example": "PETRF783" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento no formato YYYY-MM-DD", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Preço de exercício. Use quando o mesmo símbolo aparecer mais de uma vez no mesmo vencimento.", "example": 7.29 }, "required": false, "name": "strike", "in": "query" }, { "schema": { "type": "string", "description": "Data de início no formato YYYY-MM-DD (padrão: 12 meses)", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim no formato YYYY-MM-DD", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem dos pontos em `history` por data: `asc` do mais antigo ao mais recente, `desc` do mais recente ao mais antigo. Padrão `desc`." }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionHistoricalResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/positions/history": { "get": { "tags": [ "Opções" ], "operationId": "getOptionPositionsHistory", "summary": "Histórico de posições em aberto", "description": "\nHistórico das posições em aberto de uma única série, identificada por\n`symbol` e `expirationDate`.\n\nCada item é uma apuração diária. Pregão sem apuração não aparece na série.\n\nSem token, o sandbox aceita apenas símbolos com prefixo `PETR`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolo da opção", "example": "PETRF783" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento no formato YYYY-MM-DD", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Preço de exercício. Use quando o mesmo símbolo aparecer mais de uma vez no mesmo vencimento.", "example": 7.29 }, "required": false, "name": "strike", "in": "query" }, { "schema": { "type": "string", "description": "Data de início no formato YYYY-MM-DD (padrão: 12 meses)", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim no formato YYYY-MM-DD", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem dos pontos em `history` por data: `asc` do mais antigo ao mais recente, `desc` do mais recente ao mais antigo. Padrão `desc`." }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico de posições retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionPositionsHistoryResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/analytics": { "get": { "tags": [ "Opções" ], "operationId": "getOptionAnalytics", "summary": "Gregas e volatilidade implícita", "description": "\nVolatilidade implícita e gregas de todas as séries de um vencimento,\ncalculadas sobre o fechamento.\n\nDelta mede quanto o prêmio anda quando o ativo anda 1 real. Gamma mede quanto o\ndelta muda. Theta é a perda de valor por dia. Vega mede a sensibilidade à\nvolatilidade.\n\nO cálculo usa só preços de fechamento observados. Quando uma série não tem dado\nsuficiente, os campos vêm `null` e `nullReason` diz o porquê. Vale ler esse\ncampo antes de tratar o `null` como erro.\n\nSem token, o sandbox aceita apenas `underlying=PETR4`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo subjacente (ação, ETF ou índice) das opções que você quer listar.", "example": "PETR4" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento das opções, no formato YYYY-MM-DD. Use `/expirations` para descobrir os vencimentos disponíveis.", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data EOD usada para buscar preço e volume do dia, no formato YYYY-MM-DD. Padrão: último pregão disponível.", "example": "2026-06-01" }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por tipo da opção: `call` (compra) ou `put` (venda). Omita para retornar ambos." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo a considerar. Útil para limitar a resposta a uma faixa de preços de exercício." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo a considerar. Útil para limitar a resposta a uma faixa de preços de exercício." }, "required": false, "name": "maxStrike", "in": "query" }, { "schema": { "type": "integer", "minimum": 1, "maximum": 500, "description": "Limita a quantidade de séries retornadas na cadeia analítica. Padrão: todas as séries do filtro.", "example": 50 }, "required": false, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Análises retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionAnalyticsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/analytics/history": { "get": { "tags": [ "Opções" ], "operationId": "getOptionAnalyticsHistory", "summary": "Histórico de gregas e IV", "description": "\nSérie temporal de volatilidade implícita e gregas de uma única opção, calculada\nsobre o fechamento de cada pregão.\n\nServe para ver como a IV se comportou perto de um evento: balanço, decisão de\njuros ou o próprio vencimento.\n\nSem token, o sandbox aceita apenas símbolos com prefixo `PETR`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolo da opção", "example": "PETRF783" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento no formato YYYY-MM-DD", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Preço de exercício. Use quando o mesmo símbolo aparecer mais de uma vez no mesmo vencimento.", "example": 7.29 }, "required": false, "name": "strike", "in": "query" }, { "schema": { "type": "string", "description": "Data de início no formato YYYY-MM-DD (padrão: 12 meses)", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim no formato YYYY-MM-DD", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem dos pontos em `history` por data: `asc` do mais antigo ao mais recente, `desc` do mais recente ao mais antigo. Padrão `desc`." }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico de análises retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionAnalyticsHistoryResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/prime-rate": { "get": { "tags": [ "Indicadores" ], "operationId": "getPrimeRate", "summary": "Taxa SELIC", "description": "\nSérie da taxa SELIC, a taxa básica de juros da economia brasileira, definida\npelo COPOM.\n\nOs dados são diários e começam em janeiro de 2000. O valor é a meta anualizada,\nem porcentagem ao ano.\n\nFiltre o período com `start` e `end` no formato `DD/MM/YYYY`. Ordene por data\nou por valor.\n\nA meta muda só nas reuniões do COPOM, a cada 45 dias. Entre uma reunião e\noutra, a série repete o mesmo valor todo dia útil.\n\nPlano Startup.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Incluir dados históricos (true/false)", "example": "false" }, "required": false, "name": "historical", "in": "query" }, { "schema": { "type": "string", "description": "Data de início (DD/MM/YYYY)", "example": "01/01/2023" }, "required": false, "name": "start", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim (DD/MM/YYYY)", "example": "31/12/2023" }, "required": false, "name": "end", "in": "query" }, { "schema": { "type": "string", "description": "Campo para ordenação (date ou value)", "example": "date" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "description": "Ordem de classificação (asc ou desc)", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Dados históricos da taxa SELIC retornados com sucesso conforme os filtros aplicados. Array contém taxas diárias (% a.a.) ordenadas conforme solicitado.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PrimeRateResponseSimple" } } } }, "401": { "description": "**Não Autorizado.** Token de autenticação não fornecido ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "**Acesso Proibido.** Seu plano não tem acesso ao módulo de indicadores econômicos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "**Erro Interno.** Erro interno ao processar a requisição.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "**Serviço Indisponível.** Serviço externo temporariamente indisponível.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço externo temporariamente indisponível", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/prime-rate/available": { "get": { "tags": [ "Indicadores" ], "operationId": "getPrimeRateAvailable", "summary": "Países com dados de taxa de juros", "description": "\nOs países que `/api/v2/prime-rate` aceita.\n\nHoje só `brazil`, com a SELIC do Banco Central.\n\nPlano Startup.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "enum": [ "json" ], "description": "Formato da resposta. JSON é o formato suportado." }, "required": false, "name": "format", "in": "query" } ], "responses": { "200": { "description": "Lista de países disponíveis para dados de taxa de juros retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PrimeRateAvailableResponse" } } } } } } }, "/api/quote/list": { "get": { "tags": [ "Cotações" ], "operationId": "getQuoteList", "summary": "Listar e filtrar ativos da B3", "description": "\nLista paginada de ativos da B3 com a cotação de cada um. Serve para montar\nscreener, tabela de mercado ou autocomplete de busca.\n\nBusque por nome ou ticker com `search`, aceitando tanto \"Petrobras\" quanto\n\"PETR4\". Filtre por `type` (`stock`, `fund`, `bdr`), por `subType`\n(units, FIIs, ETFs, FI-Infra, FI-Agro, FIPs, FIDCs, BDRs) e por `sector`.\n\nOrdene com `sortBy` usando `volume`, `close`, `market_cap_basic` ou\n`name`, mais `sortOrder`. Pagine com `page` e `limit`. O padrão devolve\nos primeiros 100 ativos.\n\nA resposta também traz `availableSectors` e `availableStockTypes`, então\nvocê monta os filtros da sua interface sem manter uma lista fixa no código.\n\n```bash\ncurl -H \"Authorization: Bearer SEU_TOKEN\" \\\n \"https://brapi.dev/api/quote/list?type=stock&sortBy=volume&sortOrder=desc&limit=10\"\n```\n\nExige token, disponível em qualquer plano. Para buscar e validar símbolos sem\ncarregar cotação, `/api/v2/tickers` é mais leve.\n", "parameters": [ { "schema": { "type": "string", "description": "Termo de busca para filtrar ativos" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "enum": [ "name", "close", "change", "change_abs", "volume", "market_cap_basic" ], "description": "Campo para ordenação" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "description": "Ordem de classificação" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "description": "Número máximo de resultados" }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Número da página (paginação)" }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "string", "description": "Filtrar por setor" }, "required": false, "name": "sector", "in": "query" }, { "schema": { "type": "string", "description": "Filtrar pelo subsetor B3" }, "required": false, "name": "subsector", "in": "query" }, { "schema": { "type": "string", "enum": [ "stock", "fund", "bdr" ], "description": "Filtrar por tipo de ativo" }, "required": false, "name": "type", "in": "query" }, { "schema": { "type": "string", "enum": [ "stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr" ], "description": "Filtrar por classificação aditiva: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr" }, "required": false, "name": "subType", "in": "query" }, { "schema": { "type": "string", "description": "Token de autenticação (alternativa ao header Authorization)" }, "required": false, "name": "token", "in": "query" } ], "responses": { "200": { "description": "Lista de ativos retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QuoteListResponse" } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/quote/{tickers}": { "get": { "tags": [ "Cotações" ], "operationId": "getQuote", "summary": "Cotação e dados de ativos (endpoint legado)", "description": "\nDevolve cotação, histórico, dividendos e fundamentos de um ou mais ativos em\numa única resposta. É o endpoint original da brapi e continua funcionando sem\ndata de remoção.\n\nPara integrações novas, prefira `/api/v2/stocks/*`. Lá cada chamada traz um\ntipo de dado e a resposta chega menor. Veja o guia em\n[brapi.dev/docs/acoes/migracao-v2](https://brapi.dev/docs/acoes/migracao-v2).\n\n### O que a resposta traz\n\nSempre: `symbol`, `shortName`, `currency`, `regularMarketPrice`,\n`regularMarketChange`, `regularMarketChangePercent`, `regularMarketVolume`,\n`regularMarketDayHigh`, `regularMarketDayLow`, `fiftyTwoWeekHigh`,\n`fiftyTwoWeekLow` e `marketCap`.\n\nCom `range` e `interval`: `historicalDataPrice` com a série OHLCV.\nCom `dividends=true`: `dividendsData` com dividendos, JCP e bonificações.\nCom `modules`: um objeto por módulo pedido.\n\n### Parâmetros de histórico\n\n`interval` aceita `1d`, `5d`, `1wk`, `1mo` e `3mo`.\n`range` aceita `1d`, `5d`, `1mo`, `3mo`, `6mo`, `1y`, `2y`,\n`5y`, `10y`, `ytd` e `max`. O quanto de histórico você enxerga depende\ndo plano.\n\n### Módulos\n\n`modules` aceita uma lista separada por vírgula:\n\n* `summaryProfile` - cadastro da empresa: CNPJ, setor, descrição, site, funcionários\n* `defaultKeyStatistics` - múltiplos nos últimos 12 meses: P/L, P/VP, ROE, dividend yield\n* `financialData` - receita, EBITDA, margens e dívida nos últimos 12 meses\n* `balanceSheetHistory` - balanço patrimonial anual\n* `incomeStatementHistory` - DRE anual\n* `cashflowHistory` - fluxo de caixa anual\n* `valueAddedHistory` - DVA anual\n\nCada módulo de histórico tem a versão trimestral com o sufixo `Quarterly`.\nOs módulos `defaultKeyStatistics` e `financialData` também aceitam os\nsufixos `History` e `HistoryQuarterly`.\n\n```bash\ncurl -H \"Authorization: Bearer SEU_TOKEN\" \\\n \"https://brapi.dev/api/quote/PETR4?range=6mo&interval=1d÷nds=true&modules=defaultKeyStatistics\"\n```\n\n### Autenticação\n\nPETR4, MGLU3, VALE3 e ITUB4 respondem sem token, com todos os recursos. Se você\nmisturar um desses com outro ticker na mesma requisição, a chamada inteira passa\na exigir token. Envie o token no header `Authorization` sempre que a sua\nferramenta permitir.\n\nOs fundamentos vêm dos documentos que as companhias entregam à CVM.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Ticker(s) de ativos separados por vírgula (ex: PETR4 ou PETR4,VALE3,ITUB4)", "example": "PETR4,VALE3" }, "required": true, "name": "tickers", "in": "path" }, { "schema": { "type": "string", "enum": [ "1d", "2d", "5d", "7d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max" ], "description": "Período para dados históricos de preço" }, "required": false, "name": "range", "in": "query" }, { "schema": { "type": "string", "enum": [ "1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1wk", "1mo", "3mo" ], "description": "Intervalo/granularidade dos dados históricos" }, "required": false, "name": "interval", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial para dados históricos (formato YYYY-MM-DD)", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final para dados históricos (formato YYYY-MM-DD)", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "description": "Incluir histórico de dividendos e JCP" }, "required": false, "name": "dividends", "in": "query" }, { "schema": { "type": "string", "description": "Módulos de dados adicionais separados por vírgula", "example": "summaryProfile,balanceSheetHistory,financialData" }, "required": false, "name": "modules", "in": "query" }, { "schema": { "type": "string", "description": "Token de autenticação (alternativa ao header Authorization)" }, "required": false, "name": "token", "in": "query" } ], "responses": { "200": { "description": "Dados dos ativos recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QuoteTickersResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/sdks": { "get": { "tags": [ "Utilitários" ], "operationId": "getSdks", "summary": "Listar SDKs oficiais", "description": "\nOs SDKs oficiais da brapi, com nome do pacote e repositório.\n\nTypeScript e JavaScript: `npm install brapi`, em\nhttps://github.com/brapi-dev/brapi-typescript.\nPython: `pip install brapi`, em https://github.com/brapi-dev/brapi-python.\nExiste também o pacote `@brapi/cli` no monorepo, ainda não publicado no npm.\n\nOs SDKs cuidam de autenticação, tipos e retry. Se você usa TypeScript ou\nPython, eles poupam o trabalho de tratar isso à mão.\n\nEndpoint público, sem token.\n", "parameters": [ { "schema": { "type": "string", "enum": [ "json" ], "description": "Formato da resposta. JSON é o formato suportado." }, "required": false, "name": "format", "in": "query" } ], "responses": { "200": { "description": "Página HTML de SDKs", "content": { "text/html": { "schema": { "type": "string" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SdkLinks" } } } } } } }, "/api/v2/stocks/quote": { "get": { "tags": [ "Ações" ], "operationId": "getStockQuotes", "summary": "Cotação de ações", "description": "\nPreço e variação do último pregão para um ou mais tickers da B3.\n\nCada item traz preço atual, variação em reais e em porcentagem, volume,\nmarket cap, máxima e mínima do dia, faixa de 52 semanas e a URL do logo.\n\nPeça vários tickers de uma vez em `symbols=PETR4,VALE3`. Tickers antigos são\nresolvidos para o ticker atual, e `results[].changed` marca quando isso\naconteceu.\n\nPara série histórica use `/api/v2/stocks/historical`. Para descobrir tickers\nválidos use `/api/v2/tickers`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. Tickers antigos são resolvidos para o ticker atual quando houver renome conhecido.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Cotações recuperadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockQuoteResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/historical": { "get": { "tags": [ "Ações" ], "operationId": "getStockHistorical", "summary": "Histórico de preços de ações", "description": "\nSérie OHLCV por pregão: abertura, máxima, mínima, fechamento, fechamento\najustado e volume.\n\nEscolha a janela de duas formas. Use `range` com `interval` para períodos\nrelativos, como `range=1y&interval=1d`. Ou use `startDate` e `endDate` em\n`YYYY-MM-DD` para um intervalo exato. O padrão é `range=1mo` e\n`interval=1d`.\n\nO quanto de histórico você enxerga depende do seu plano. Um pedido além do\nlimite retorna a janela permitida, não um erro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. Tickers antigos são resolvidos para o ticker atual quando houver renome conhecido.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "1d", "2d", "5d", "7d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max" ], "description": "Janela histórica. Padrão: 1mo.", "example": "1y" }, "required": false, "name": "range", "in": "query" }, { "schema": { "type": "string", "enum": [ "1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1wk", "1mo", "3mo" ], "description": "Granularidade da série. Padrão: 1d.", "example": "1d" }, "required": false, "name": "interval", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordenação dos pontos históricos por data.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico recuperado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockHistoricalResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/dividends": { "get": { "tags": [ "Ações" ], "operationId": "getStockDividends", "summary": "Dividendos e JCP de ações", "description": "\nProventos pagos por ações da B3: dividendos, juros sobre capital próprio,\nbonificações e subscrições.\n\nCada evento traz o valor por ação, a data de aprovação, a data ex\n(`lastDatePrior`) e a data de pagamento. Filtre por `startDate` e\n`endDate`, e ordene por `paymentDate`, `lastDatePrior`, `approvedOn` ou\n`rate`.\n\nRendimentos de FII ficam em `/api/v2/fii/dividends`, porque a fonte e o\ncalendário são diferentes.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. Tickers antigos são resolvidos para o ticker atual quando houver renome conhecido.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD. Filtra por paymentDate/ex-date.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD. Filtra por paymentDate/ex-date.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "paymentDate", "lastDatePrior", "approvedOn", "rate" ], "default": "paymentDate", "description": "Campo usado para ordenar eventos.", "example": "paymentDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordenação dos eventos.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Dividendos recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockDividendsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/profile": { "get": { "tags": [ "Ações" ], "operationId": "getStockProfile", "summary": "Perfil da empresa", "description": "Dados cadastrais da companhia por trás do ticker: razão social, setor, indústria, endereço, site, telefone, número de funcionários e descrição da atividade.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. Tickers antigos são resolvidos para o ticker atual quando houver renome conhecido.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockProfileResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/statistics": { "get": { "tags": [ "Ações" ], "operationId": "getStockStatistics", "summary": "Múltiplos e estatísticas", "description": "Múltiplos de mercado e indicadores por ação: P/L, P/VP, beta, dividend yield, lucro por ação, valor patrimonial por ação e market cap. O padrão `mode=current` traz o valor mais recente. Com `mode=history` você recebe a série, escolhendo `period=annual` ou `period=quarterly` e recortando com `startDate` e `endDate`.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. Tickers antigos são resolvidos para o ticker atual quando houver renome conhecido.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período dos dados históricos.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "current", "history" ], "default": "current", "description": "`current` retorna o indicador atual/TTM; `history` retorna a série anual ou trimestral.", "example": "current" }, "required": false, "name": "mode", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockStatisticsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/financial-data": { "get": { "tags": [ "Ações" ], "operationId": "getStockFinancialData", "summary": "Dados financeiros consolidados", "description": "Receita, lucro, EBITDA, margens, dívida líquida, caixa e fluxo de caixa livre em um único objeto. O padrão `mode=current` traz os últimos doze meses. Com `mode=history` você recebe a série, escolhendo `period=annual` ou `period=quarterly` e recortando com `startDate` e `endDate`.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. Tickers antigos são resolvidos para o ticker atual quando houver renome conhecido.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período dos dados históricos.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "current", "history" ], "default": "current", "description": "`current` retorna o indicador atual/TTM; `history` retorna a série anual ou trimestral.", "example": "current" }, "required": false, "name": "mode", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockFinancialDataResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/balance-sheet": { "get": { "tags": [ "Ações" ], "operationId": "getStockBalanceSheet", "summary": "Balanço patrimonial", "description": "Ativo, passivo e patrimônio líquido conforme os demonstrativos entregues à CVM. Uma linha por exercício, do mais recente para o mais antigo. Use `period=quarterly` para trimestres e `startDate`/`endDate` para recortar a janela pela data de encerramento.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. Tickers antigos são resolvidos para o ticker atual quando houver renome conhecido.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período dos dados históricos.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockBalanceSheetResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/income-statement": { "get": { "tags": [ "Ações" ], "operationId": "getStockIncomeStatement", "summary": "DRE (demonstração de resultado)", "description": "Receita, custos, lucro bruto, despesas operacionais, resultado financeiro, impostos e lucro líquido por exercício. Use `period=quarterly` para trimestres e `startDate`/`endDate` para recortar a janela pela data de encerramento.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. Tickers antigos são resolvidos para o ticker atual quando houver renome conhecido.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período dos dados históricos.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockIncomeStatementResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/cash-flow": { "get": { "tags": [ "Ações" ], "operationId": "getStockCashFlow", "summary": "Fluxo de caixa (DFC)", "description": "Caixa gerado nas atividades operacionais, de investimento e de financiamento, mais a variação de caixa do exercício. Use `period=quarterly` para trimestres e `startDate`/`endDate` para recortar a janela pela data de encerramento.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. Tickers antigos são resolvidos para o ticker atual quando houver renome conhecido.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período dos dados históricos.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockCashFlowResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/value-added": { "get": { "tags": [ "Ações" ], "operationId": "getStockValueAdded", "summary": "DVA (demonstração do valor adicionado)", "description": "Quanto a empresa gerou de riqueza e como distribuiu entre pessoal, governo, credores e acionistas. Use `period=quarterly` para trimestres e `startDate`/`endDate` para recortar a janela pela data de encerramento.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. Tickers antigos são resolvidos para o ticker atual quando houver renome conhecido.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período dos dados históricos.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final em YYYY-MM-DD. Filtra linhas por date/endDate.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockValueAddedResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/treasury/list": { "get": { "tags": [ "Renda Fixa" ], "operationId": "listTreasury", "summary": "Listar títulos do Tesouro Direto", "description": "\nOs títulos do Tesouro Direto em oferta, com a taxa e o preço indicativo mais\nrecentes.\n\nÉ por aqui que você descobre o símbolo de cada título antes de pedir\nindicadores ou histórico.\n\nPlano Pro, com exceção dos três títulos de sandbox documentados.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Página (começa em 1)", "example": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página", "example": 20 }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Busca por símbolo público do Tesouro Direto ou nome do título. Exemplo: tesouro-selic-01032031", "example": "tesouro-selic-01032031" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "enum": [ "selic", "prefixado", "ipca", "igpm" ], "description": "Filtra pelo indexador do título", "example": "selic" }, "required": false, "name": "indexer", "in": "query" }, { "schema": { "type": "string", "enum": [ "zero", "semestral" ], "description": "Filtra pelo tipo de cupom", "example": "zero" }, "required": false, "name": "couponType", "in": "query" }, { "schema": { "type": "string", "enum": [ "symbol", "bondType", "maturityDate", "durationDays", "baseDate", "buyRate", "sellRate", "buyPrice", "sellPrice", "basePrice" ], "default": "maturityDate", "description": "Campo para ordenação", "example": "maturityDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "asc", "description": "Direção da ordenação", "example": "asc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Lista paginada de títulos do Tesouro Direto", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TreasuryListResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "Serviço externo temporariamente indisponível", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço externo temporariamente indisponível", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/treasury/indicators": { "get": { "tags": [ "Renda Fixa" ], "operationId": "getTreasuryIndicators", "summary": "Indicadores do Tesouro Direto", "description": "\nÚltima taxa e preço indicativo de cada título pedido.\n\nA taxa é a rentabilidade anual contratada até o vencimento. Em título indexado,\nela é o que você ganha acima do IPCA ou da SELIC, não o retorno total.\n\nSímbolo desconhecido some de `results` em vez de gerar erro. Compare o que você\npediu com o que voltou.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos do Tesouro Direto separados por vírgula (máximo 20). Exemplo: tesouro-selic-01032031,tesouro-ipca-15052035", "example": "tesouro-selic-01032031,tesouro-ipca-15052035" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Indicadores atuais retornados com sucesso", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TreasuryIndicatorsResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "Serviço externo temporariamente indisponível", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço externo temporariamente indisponível", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/treasury/indicators/history": { "get": { "tags": [ "Renda Fixa" ], "operationId": "getTreasuryIndicatorsHistory", "summary": "Histórico do Tesouro Direto", "description": "\nSérie diária de taxas e preços indicativos por título.\n\nSem `startDate` e `endDate`, devolve os últimos 12 meses.\n\nTítulo prefixado sobe de preço quando a taxa cai, e vice-versa. A série mostra\nesse movimento, que é a marcação a mercado que aparece no extrato de quem\nvendeu antes do vencimento.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Símbolos do Tesouro Direto separados por vírgula (máximo 20). Exemplo: tesouro-selic-01032031,tesouro-ipca-15052035", "example": "tesouro-selic-01032031,tesouro-ipca-15052035" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data de início no formato YYYY-MM-DD", "example": "2025-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de fim no formato YYYY-MM-DD", "example": "2026-05-15" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "baseDate", "buyRate", "sellRate", "buyPrice", "sellPrice", "basePrice" ], "default": "baseDate", "description": "Campo para ordenação dentro da série histórica", "example": "baseDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico diário retornado com sucesso", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TreasuryIndicatorsHistoryResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Não autorizado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Acesso negado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado - permissões insuficientes para este recurso", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Não encontrado", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "Serviço externo temporariamente indisponível", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço externo temporariamente indisponível", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/tickers/renames": { "get": { "tags": [ "Tickers" ], "operationId": "getTickerRenames", "summary": "Listar renomes de tickers", "description": "\nRenomes conhecidos de tickers da B3, com o código antigo, o novo e a data.\n\nCadeias de renome vêm normalizadas até o ticker atual. Se um papel trocou de\ncódigo duas vezes, você recebe o destino final, não o passo intermediário.\n\nFiltre por `symbols`, por `search` ou por `startDate`.\n\n```bash\ncurl \"https://brapi.dev/api/v2/tickers/renames?symbols=VVAR3\"\n```\n\nPlano gratuito, sem autenticação.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Filtra renomes envolvendo qualquer ticker informado.", "example": "VVAR3,BHIA3" }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Busca textual em ticker antigo, novo ou canônico", "example": "BHIA" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial do evento no formato YYYY-MM-DD", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final do evento no formato YYYY-MM-DD", "example": "2026-12-31" }, "required": false, "name": "endDate", "in": "query" } ], "responses": { "200": { "description": "Renomes retornados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TickerRenamesResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/tickers/resolve": { "get": { "tags": [ "Tickers" ], "operationId": "resolveTickers", "summary": "Resolver tickers antigos", "description": "\nConverte tickers antigos no código atual. Ticker sem renome conhecido volta\nigual.\n\nPasse a lista inteira do seu banco de uma vez e use a resposta para normalizar\nantes de consultar dados de mercado. Assim uma carteira antiga não gera 404 num\npapel que só mudou de nome.\n\n```bash\ncurl \"https://brapi.dev/api/v2/tickers/resolve?symbols=VVAR3,PETR4\"\n```\n\nPlano gratuito, sem autenticação.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, máximo 20", "example": "VVAR3,PETR4" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Tickers resolvidos com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TickerResolveResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/tickers/coverage": { "get": { "tags": [ "Tickers" ], "operationId": "getTickerCoverage", "summary": "Verificar cobertura por ticker", "description": "\nResponde o que a brapi tem para cada ticker e indica o endpoint certo para\ncontinuar.\n\nChame antes de montar a integração, para descobrir se um ativo tem fundamentos,\ndividendos, histórico ou dados de FII, em vez de tentar cada endpoint e tratar\n404.\n\nEnvie até 20 tickers por chamada. Para listas maiores, divida em lotes de 20.\nUma chamada por ticker desperdiça sua cota.\n\n```bash\ncurl \"https://brapi.dev/api/v2/tickers/coverage?symbols=PETR4,MXRF11\"\n```\n\nPlano gratuito, sem autenticação.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, máximo 20. Agrupe os símbolos em lotes; não faça uma requisição individual por ticker.", "example": "PETR4,MXRF11,VVAR3" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Cobertura retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TickerCoverageResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/tickers": { "get": { "tags": [ "Tickers" ], "operationId": "getTickers", "summary": "Listar tickers da B3", "description": "\nCatálogo de tickers e instrumentos da B3: ações, FIIs, ETFs, BDRs, units e\níndices.\n\nUse para autocomplete, validação de entrada e telas de screening. O endpoint\ndevolve identidade e metadados, não cotação, dividendos nem histórico.\n\nO catálogo não cobre opções, futuros, Tesouro Direto, cripto, câmbio nem séries\nmacroeconômicas. Cada um desses tem endpoint próprio.\n\nPara dados de mercado de ações, siga para `/api/v2/stocks/*`. Para FIIs, para\n`/api/v2/fii/*`.\n", "parameters": [ { "schema": { "type": "string", "description": "Busca textual por ticker, nome da empresa ou ticker antigo", "example": "PETR" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "enum": [ "symbol", "name", "close", "change", "volume", "marketCap" ], "default": "volume", "description": "Campo para ordenação", "example": "volume" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Página (começa em 1)", "example": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página. Máximo de 2000.", "example": 20 }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Filtra por setor", "example": "Finance" }, "required": false, "name": "sector", "in": "query" }, { "schema": { "type": "string", "description": "Filtra pelo subsetor B3", "example": "Comércio" }, "required": false, "name": "subsector", "in": "query" }, { "schema": { "type": "string", "enum": [ "stock", "fund", "bdr" ], "description": "Filtra por tipo amplo do ativo", "example": "stock" }, "required": false, "name": "type", "in": "query" }, { "schema": { "type": "string", "enum": [ "stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr" ], "description": "Filtra por subtipo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr", "example": "fii" }, "required": false, "name": "subType", "in": "query" } ], "responses": { "200": { "description": "Lista de tickers retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TickerListResponse" } } } }, "400": { "description": "Requisição inválida", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida - parâmetros incorretos ou ausentes", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "500": { "description": "Erro interno do servidor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/user/usage": { "get": { "tags": [ "Conta" ], "operationId": "getUserUsage", "summary": "Uso da conta", "description": "\nQuanto da sua cota você já gastou na janela atual.\n\nA resposta traz `planName` (`free`, `startup` ou `pro`), `planLimit` com o\nlimite do plano, `currentUsage` com o consumo registrado, `remainingUsage` com\no saldo, `usageWindow` indicando se a contagem é por ciclo de cobrança ou por\n30 dias móveis, e `subscriptionPeriod` com o período atual da assinatura.\n\nA contagem vem do mesmo cache que o limitador usa, então ela pode ficar alguns\nsegundos atrás do consumo real.\n\n```bash\ncurl -H \"Authorization: Bearer SEU_TOKEN\" \"https://brapi.dev/api/v2/user/usage\"\n```\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "enum": [ "json" ], "description": "Formato da resposta. JSON é o formato suportado." }, "required": false, "name": "format", "in": "query" } ], "responses": { "200": { "description": "Uso da conta retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUsageResponse" } } } }, "401": { "description": "Token ausente, inválido ou inativo.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token de autenticação ausente ou inválido", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "404": { "description": "Usuário associado ao token não encontrado.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Recurso não encontrado", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno ao buscar o uso da conta.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } } }}Importe o JSON no Postman ou no Insomnia e você ganha uma coleção com todas as requisições prontas. O Swagger UI usa o mesmo arquivo para testar endpoints no navegador.
Para gerar código, aponte o OpenAPI Generator ou o openapi-typescript para a
URL. Você recebe cliente e tipos sem escrever nada à mão. Se você já usa os
SDKs oficiais, não precisa gerar nada.
No backend, o schema serve para validar requisição e resposta em testes de integração. Quando um campo muda de tipo, o teste falha antes do deploy.
O arquivo segue OpenAPI 3.1.0 em JSON. A versão da API é 3.0.0. Cada deploy
regenera o arquivo a partir das rotas em apps/api. Qualquer ferramenta com
suporte a OpenAPI 3.1 lê o documento.
Leia a documentação geral para os conceitos que se repetem em todos os endpoints. Depois veja os endpoints de ações e os exemplos de código. Para chamar em produção, gere seu token no dashboard.