typestringrequiredbodyAlways subscribe.
Example: subscribe
Choose what the Firehose sends you: the filters to apply, the fields to include, and where in the stream to start.
Tells the Firehose what you want: which filters to apply, which parts of each document to send, and where in the stream to start. Use it to receive only the documents you need, and to save bandwidth by never being sent the rest, however fast the web moves.
Filters run on NOSIBLE's side, so unmatched documents never use your bandwidth. Different kinds combine with AND, clauses within a kind with OR, and an omitted kind or empty list matches everything. Text matching is case-insensitive, but entity names and ticker symbols must match in full. The properties inside one clause must match the same row.
Each kind takes up to 100 entries. Setting has_tickers to false together with a non-empty tickers filter cannot match any document. The hash, published_timestamp and visited_timestamp fields are metadata and cannot be filtered.
filters.ontologies[]: classification
ontologystringRequired. One of: asset_class, ekman7_emotion, emdat, gics, iab, icd11, iptc_genre, iptc_media_topics, media_frame, mitre_attack, nosible, plover, schema_org_event, sdgs, sportsml.
Example: gics
matchobjectHierarchy fields that must equal the classification row. Omit to match the whole family.
Example: {"sector": "Energy"}
min_probabilitynumberMinimum probability from 0 to 1.
Example: 0.7
Path fields to match, by family
asset_classpathmatch keys: main_class, sub_class.
ekman7_emotionpathmatch keys: label.
emdatpathmatch keys: disaster_group, disaster_subgroup, disaster_type.
gicspathmatch keys: sector, industry_group, industry, sub_industry.
iabpathmatch keys: tier_1, tier_2, tier_3, tier_4.
icd11pathmatch keys: chapter, block.
iptc_genrepathmatch keys: label.
iptc_media_topicspathmatch keys: level_1, level_2, level_3.
media_framepathmatch keys: label.
mitre_attackpathmatch keys: tactic, technique, subtechnique.
nosiblepathmatch keys: category, subcategory, event.
ploverpathmatch keys: event, mode, context.
schema_org_eventpathmatch keys: label.
sdgspathmatch keys: goal, target.
sportsmlpathmatch keys: sport, event_type.
filters.locations[]: geography
continentstringContinent of a resolved location. A clause needs at least one of continent, region or country.
Example: Europe
regionstringRegion or state.
Example: Western Europe
countrystringCountry name.
Example: France
filters.entities[]: named entities
labelstringNER label: PERSON, ORG, GPE, LOC or PRODUCT.
Example: ORG
namestringComplete entity name. A clause needs a label, a name or both.
Example: Shell
filters.tickers and filters.has_tickers
tickers[]string[]Match a document that has any of these ticker symbols, in full.
Example: ["AAPL", "SHEL.L"]
has_tickersbooleanTrue requires at least one ticker match. False requires none. Omit it to accept both.
Example: true
filters.languages and filters.netloc
languages[]string[]Match the document's highest-scoring language code.
Example: ["en", "fr"]
netloc[]string[]Match request.netloc. A host also matches its subdomains.
Example: ["reuters.com"]
These are the fields you can build against. Nested names use dot notation; optional sections are called out in their descriptions.
typestringAlways subscribed.
Example: subscribed
subscriptionstringYour subscription name.
Example: energy-desk
sourcestringWhere delivery starts: latest, cursor or time.
Example: latest
cursorstringOpaque starting position.
Example: eyJ2IjoxLC4uLn0
time_msintegerWhen the server prepared this message, UTC Unix milliseconds.
Example: 1793880000100
bad_request — A frame, filter, fields entry or resume value was invalid. The message says which.forbidden — This key cannot resume from a cursor or time, or its access changed. Use latest.cursor_expired — The cursor or time is older than the 24-hour replay window. Resume with latest.timeout — You did not authenticate or subscribe in time.