Skip to main content

Event types

The event types Evinor emits today, and the roles each one extracts. These are the payload.eventCodeName values you gate on and the details.roles[].code values you read — see Receiving webhooks for the envelope these roles arrive in.

Wire contract: protocolVersion 0.1

We intend event type codeNames to be stable, and treat renaming one as a breaking change. Role codeNames may still change before 1.0 — read them defensively and skip codes you do not recognize.

roles is a list, not a map

The same code may appear more than once: a round backed by three investors arrives as three INVESTING_COMPANY_NAME entries. Roles that can repeat are tagged repeatable in the tables below. Do not key by codeObject.fromEntries(roles.map(r => [r.code, r.textValue])) keeps the last entry and silently discards the others. Group by code instead.

Each role table below has a Type column — the role's value type, and which parsed companion it carries on the wire:

TypeMeaning
NAMED_ENTITYAn organization or person named in the event. Carries namedEntityId when the text resolved to a known entity.
CURRENCYA monetary amount. Carries a parsed parsedAmount; a role that does not parse is dropped rather than delivered unparsed.
NUMBERA plain count or percentage. Carries a parsed parsedAmount, the same guarantee as CURRENCY.
DURATIONA span of time, validated as text. May carry parsedAmount, but only sometimes.
CATEGORICALOne value from a fixed vocabulary, delivered as an uppercase token in textValue. No parsed companion.
NONEFree text with no parsing — the value is in textValue only.

01. Acquisition

ACQUISITION · Established

A company acquires another company.

Role codeNameTypeDescription
ACQUIRING_COMPANY_NAMEAcquiring Company NameNAMED_ENTITYThe company taking ownership in the deal.
COMPANY_BEING_ACQUIREDCompany Being AcquiredNAMED_ENTITYThe company that is being taken over.
VALUE_OF_ACQUISITIONValue of the AcquisitionCURRENCYThe reported price paid for the deal.
ACQUISITION — roles on the wire
{
"eventCodeName": "ACQUISITION",
"details": {
"roles": [
{
"code": "ACQUIRING_COMPANY_NAME",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "COMPANY_BEING_ACQUIRED",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "VALUE_OF_ACQUISITION",
"textValue": "…",
"parsedAmount": 1000000
}
]
}
}

02. Investment

FUND_RAISING · Established

A company completes a fundraising round.

Role codeNameTypeDescription
INVESTING_COMPANY_NAME (repeatable)Investing Company NameNAMED_ENTITYAn investor backing the round. A round with several investors yields one entry per investor.
COMPANY_RAISING_FUNDSCompany Raising FundsNAMED_ENTITYThe startup that raised the capital.
AMOUNT_RAISEDAmount RaisedCURRENCYTotal capital secured in this round.
FUNDING_ROUND_TYPEFunding Round TypeNONEThe round's stage label, such as Seed or Series A.
FUND_RAISING — roles on the wire
{
"eventCodeName": "FUND_RAISING",
"details": {
"roles": [
{
"code": "INVESTING_COMPANY_NAME",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "INVESTING_COMPANY_NAME",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "COMPANY_RAISING_FUNDS",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "AMOUNT_RAISED",
"textValue": "…",
"parsedAmount": 1000000
},
{
"code": "FUNDING_ROUND_TYPE",
"textValue": "…"
}
]
}
}

03. Layoff

LAYOFF · Established

A company lays off employees.

Role codeNameTypeDescription
COMPANY_NAMECompany NameNAMED_ENTITYThe employer reducing its headcount.
AFFECTED_EMPLOYEES_COUNTNumber of Employees AffectedNUMBERHow many roles were eliminated.
PERCENTAGE_OF_WORKFORCE_AFFECTEDPercentage of Workforce AffectedNUMBERShare of total staff let go, as a percentage.
ANNOUNCED_REASONReason for LayoffNONEThe publicly stated rationale for the cuts.
CATEGORY_OF_EMPLOYEES_AFFECTEDCategory of Employees AffectedNONEWhich team or function bore the cuts, such as sales.
LAYOFF — roles on the wire
{
"eventCodeName": "LAYOFF",
"details": {
"roles": [
{
"code": "COMPANY_NAME",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "AFFECTED_EMPLOYEES_COUNT",
"textValue": "…",
"parsedAmount": 1000000
},
{
"code": "PERCENTAGE_OF_WORKFORCE_AFFECTED",
"textValue": "…",
"parsedAmount": 1000000
},
{
"code": "ANNOUNCED_REASON",
"textValue": "…"
},
{
"code": "CATEGORY_OF_EMPLOYEES_AFFECTED",
"textValue": "…"
}
]
}
}

04. Leadership Change

LEADERSHIP_CHANGE · Established

A company's senior leadership changes through an appointment, a departure, or a succession.

Role codeNameTypeDescription
COMPANY_NAMECompany NameNAMED_ENTITYThe organization whose leadership shifted.
ROLE_TITLERole TitleNONEThe executive position that changed hands.
INCOMING_PERSONIncoming PersonNAMED_ENTITYThe individual stepping into the role.
OUTGOING_PERSONOutgoing PersonNAMED_ENTITYThe individual departing the role.
REASONReasonNONEThe publicly stated rationale for the move.
LEADERSHIP_CHANGE — roles on the wire
{
"eventCodeName": "LEADERSHIP_CHANGE",
"details": {
"roles": [
{
"code": "COMPANY_NAME",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "ROLE_TITLE",
"textValue": "…"
},
{
"code": "INCOMING_PERSON",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "OUTGOING_PERSON",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "REASON",
"textValue": "…"
}
]
}
}

05. IPO

IPO · Established

A company makes a concrete move toward going public: an exchange filing, a priced offering, or a first day of trading. A filing alone counts, so this Event can arrive long before any share changes hands.

Role codeNameTypeDescription
COMPANY_NAMECompany NameNAMED_ENTITYThe business seeking or completing a public listing.
VALUATIONValuationCURRENCYWhat the company is valued at for the offering. On a filing this is a target or an expectation, not a settled market price.
AMOUNT_RAISEDAmount RaisedCURRENCYHow much capital the share sale brings in. Sought or projected until the offering actually prices.
STOCK_EXCHANGEStock ExchangeNONEThe exchange named for the listing, such as NYSE. It can be announced before anything trades there.
IPO — roles on the wire
{
"eventCodeName": "IPO",
"details": {
"roles": [
{
"code": "COMPANY_NAME",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "VALUATION",
"textValue": "…",
"parsedAmount": 1000000
},
{
"code": "AMOUNT_RAISED",
"textValue": "…",
"parsedAmount": 1000000
},
{
"code": "STOCK_EXCHANGE",
"textValue": "…"
}
]
}
}

06. Partnership Announcement

PARTNERSHIP_ANNOUNCEMENT · Emerging

Two companies form a strategic partnership or alliance.

Emerging — noisier to detect; we recommend gating on confidence.band = HIGH.

Role codeNameTypeDescription
FIRST_PARTNER_COMPANYFirst Partner CompanyNAMED_ENTITYOne of the two collaborating organizations.
SECOND_PARTNER_COMPANYSecond Partner CompanyNAMED_ENTITYThe other collaborating organization.
VALUE_OF_PARTNERSHIPValue of the PartnershipCURRENCYThe reported financial size of the deal.
DURATION_OF_PARTNERSHIPDuration of the PartnershipDURATIONHow long the arrangement is set to run.
PARTNERSHIP_ANNOUNCEMENT — roles on the wire
{
"eventCodeName": "PARTNERSHIP_ANNOUNCEMENT",
"details": {
"roles": [
{
"code": "FIRST_PARTNER_COMPANY",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "SECOND_PARTNER_COMPANY",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "VALUE_OF_PARTNERSHIP",
"textValue": "…",
"parsedAmount": 1000000
},
{
"code": "DURATION_OF_PARTNERSHIP",
"textValue": "…"
}
]
}
}

07. Product Launch

PRODUCT_LAUNCH · Emerging

A company introduces a product, adds a major new feature, ships a new version, expands what an existing product can do, debuts creative work, or opens a product to a wider audience.

Emerging — noisier to detect; we recommend gating on confidence.band = HIGH.

Role codeNameTypeDescription
COMPANY_NAMECompany NameNAMED_ENTITYThe organization behind the launch.
PRODUCT_OR_SERVICE_NAMEProduct or Service NameNAMED_ENTITYThe product or service being introduced.
LAUNCH_TYPELaunch TypeCATEGORICALWhich kind of launch this was, delivered as an uppercase token drawn from a fixed vocabulary rather than free text.
HOST_PRODUCTHost ProductNAMED_ENTITYThe existing product that a newly added feature or capability plugs into. Absent when the launch stands on its own.
COMPANY_SHORT_DESCRIPTIONCompany Short DescriptionNONEA brief phrase describing what the company does.
PRODUCT_DESCRIPTIONProduct DescriptionNONEA brief phrase describing what the product does.
PRODUCT_LAUNCH — roles on the wire
{
"eventCodeName": "PRODUCT_LAUNCH",
"details": {
"roles": [
{
"code": "COMPANY_NAME",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "PRODUCT_OR_SERVICE_NAME",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "LAUNCH_TYPE",
"textValue": "…"
},
{
"code": "HOST_PRODUCT",
"textValue": "…",
"namedEntityId": "…"
},
{
"code": "COMPANY_SHORT_DESCRIPTION",
"textValue": "…"
},
{
"code": "PRODUCT_DESCRIPTION",
"textValue": "…"
}
]
}
}

In the samples above, marks an elided value and any number is illustrative, not real data. namedEntityId, parsedAmount and parsedDate are all optional companions to textValue — present only when entity resolution or value parsing succeeded. A role that was not extracted is absent from roles entirely, never present with a null value.

See also

  • Receiving webhooks — the envelope these roles are delivered in, and how to verify a delivery's signature.
  • Searching events — query the historical corpus by event type and role filters.