Parameters, response columns and types are generated from the SQL catalog and
render under Endpoints → Company events in the sidebar. This page carries what
a schema cannot: how the company is resolved, which version you get, and where
the history stops.
Overview
company_events serves CVM’s IPE feed (Informações Periódicas e Eventuais) for one
listed company, newest delivery first: material facts (Fato Relevante), market
notices, assembly calls and minutes, and the rest of what companies file outside
the ITR/DFP statements.
The company is resolved exactly as financials resolves it
p_id takes a B3 ticker, a 14-digit CNPJ or a CVM code. A ticker resolves only
through CVM’s published FCA map (active listings), so PETR4, 33000167000101
and 9512 are the same company, a delisted code resolves to nothing, and nothing
is ever matched by name. An id that resolves to nothing returns an empty array, as
for financials. Find ids with lookup.
One row per protocol, as filed
- CVM re-files an IPE document under the same protocol with a higher version.
Each protocol is served once, at its newest version;
versionsays which. category,event_type,speciesandsubjectare CVM’s text exactly as filed — Portuguese, never translated or normalised.p_categorymatches the label exactly (Fato Relevante,Comunicado ao Mercado, …); an unknown one raises22023listing the categories held.source_urlis the document’s link on CVM’s RAD. Open it; Silo stores the metadata, not the document.delivery_dateisData_Entrega(CVM prints a date, no time) and the window runs on it — onreference_datefor a row published without one. Default: the 12 months beforep_toor today.
Where the history stops
CVM assigned no protocol number to IPE filings before 2015, and still omits it on a minority of filings (12% of 2015). Silo’s key for these rows is (protocol, version), and a key is never synthesized, so those filings are not held. History therefore starts in 2015 and no year is complete. An empty window before 2015, or a filing you know exists and cannot find, is that limit — not a quiet company.coverage() carries the same note on its
company_events row.
Limits
Raise-only above one 1,000-row page (22023, Row caps):
narrow the window or pin p_category. A large issuer files a few hundred
documents a year, so a year fits.