News Item

New Item

This is the main model that MFN delivers through its APIs. Our objective to be very clear about the following

  • How to identify the news item (news_id)

  • How to identify versions of the news item (group_id)

  • Who is the author (author)

  • Who is being referenced in the pressrelease (subjects)

  • What it is regarding (properties)

Model

{
  // A id that uniquely identifies this new item
  "news_id": UUID string,   
  
  // A id that uniquely identifies a set of news item with different languages
  "group_id": UUID string,  
  
  // A url that links to a public page where the item can be viewed
  "url": URL string,      
    
  // A object describing who is the author of the news item
  "author": Entity ,        
  
  // A array of objects describing who the news item relates to
  // This field discribe how is subject in the press release,
  // NOT the subject of the item
  "subjects": [Entity], 
      
  // A object containing properties relating to the news item
  "properties": Properties, 
    
  // A object containing the content of the news item
  "content": NewsContent,
  
  // Should always be mfn and describes the source of the press release  
  "source": string,    
  
  // A object where new types of metadata might be added at futer date
  "extensions": Extension   
}

Entity

The entity describes a entity that in some way is referenceable. This includes, but not limited to companies. It can also be other types of entities such as funds. Entities is used for referencing both the author and the subjects of the news item. This serve to define Who says something and about Whom. In most cases Author entity and Subjects entity will be the same in the case of regular press releases

Important to note regarding Entities is that the number of fields might grow to allow for more precise identification of the entity, therefor it is important to to for your model allow for this. In statically typed languages such as Java or C# it is a good idea to have a “AnySetter” for your model, that consumes all other parameters that you have not specified.

Model

{
  // A MFN reference to the entity
  "entity_id": UUID string,                  
  
  // The name that MFN uses for the entity
  "name": string,                     
  
  // A url friendly version of the entity name
  "slug": string,   
  
  // An array containing all historical slugs of the entity
  "slugs": [string],                  
  
   // A url to a image illustrating the brands of the entity 
  "brand_image_url": URL string,      
  
  // Isin referring to stocks associated with entity
  "isins": [strings],                 
  
  // References to the entity by LEI, https://www.gleif.org/
  "leis": [strings],                   
  
  // Reference to entity in a country, e.g. SE:556920-1998
  "local_ref": [strings],
  
  // Publicly traded entities will have tickers attached to them 
  // they follow the pattern of primary_market_mic:symbol, eg XSTO:VOLV B
  "tickers": [strings]                
}

NewsContent

The news content contains the content of the news item as well as attachments, such as pdfs.

Model

{
  // The title of the press release
  "title": string,               
  
  // A url friendly version of the title
  "slug": string,                
  
  // The first paragraph of the press release
  "preamble": string,    
  
  // The content of the news, including preamble, footers and attachemtns
  // formatted as html        
  "html": html string,   
  
  // The content of the news, including preamble, footers and attachemtns
  // formatted as monospace text 
  "text": string,                
  
  // RFC3339 time format, 2006-01-02T15:04:05Z07:00
  "publish_date": date string,   
  
  // Attachments that augments the news item.
  "attachments": [Attachment]    
}

Attachment

Attachments allow for files of different types to be attached to a News Item. This can include pdf, images or just links

Model

{
  // Display name for file
  "file_title": string,            
  // MIME type for file, e.g. application/pdf
  "content_type": mime string      
  
  // The url where the file can be retrieved.
  "url": url string 
                 
  // Attachment tags
  // ':generated' is an attachment generated by MFN (usually the item in PDF format)
  // ':primary' is an attachment containing the news item content
  // 'img:article' hints that the image should be displayed as ingress to new item
  // 'img:footer'  hints that the image should be displayed after all text
  // 'img:float:right' hints that the image should float right 
  // 'img:float:left' hints that the image should float right 
  "tags": [string]                 
}

Properties

The properties object contain metadata about the news item that describes it. One of the more important aspects of this object is the type property which relates for whom the news item is targeted. If it is set to IR, Investor Relation, this means that the target is investors and the stock market. While pr, Public Relation, is meant for news desks and should have no real bearing on the stock market. By default all APIs only relay IR types

Model

{
  // The type of news item, Investor Relations or Public Relation, e.g. ir or pr.
  "type": type string,            
  
  // The language of newsitem.content, ISO-639, e.g. sv or en
  "lang": lang string,            

  // Metadata regarding the news item, both MFN specific and Author specific
  "tags": [Tag string],
}

Tags

Tags is an array of strings, each string defines one tag. A tag can be viewed as a boolean property being true if present. A tag is divided into at least two parts, a namespace and the content, e.g. sub:report:interim where sub is the namespace. Tag can be added to the different namespaces over time, but they should always appear in this documentation

Tags describe in general the taxonomy and classification of press releases. This is done primary through the root and sub namespace listed below. The tags are hierarchical by nature and the entire hierarchy should be present, mening that id sub:report:interim:q4 appears in a tag, sub:report:interim and sub:report also appears

Namespaces

There are a few namespaces and tags that follow with each.

Root namespace

This namespace is important in some contexts and will always be the first thing in the array. It is defined by metadata that must be present.

Tags

  • :regulatory indicates that news item is required by some regulation

  • :regulatory:marindicates that news item is required by EU Market Abuse Regulation

  • :regulatory:vpmlindicates that news item is required by Swedish "Lagen om värdepappersmarknaden" Regulation

  • :regulatory:lhfiindicates that news item is required by Swedish "Lagen om handel med finansiella instrument" Regulation

  • :regulatory:listingindicates that news item is Stock Exchange Listing Requirement

  • :correction A correction of a previous sent news item

  • :correction:{news_id} A correction with a reference to the news id of which it corrects

Subject namespace, prefix sub:

This namespace contain metadata that helps to categorize the news item. This namespace is defined by MFN and addition .

  • sub:reportindicates that news is report of some kind

  • sub:report:annualindicates that news is a Annual report

  • sub:report:interimindicates that news is a Interim report

  • sub:report:interim:q1indicates that news is a First Quarter Interim report

  • sub:report:interim:q2indicates that news is a Second Quarter Interim report, a.k.a. Semi Annual

  • sub:report:interim:q3indicates that news is a Third Quarter Interim report

  • sub:report:interim:q4indicates that news is a Forth Quarter Interim report, a.k.a. Year End

  • sub:caindicates that news item is related to a Corporate Action

  • sub:ca:sharesindicates that news item is related a change in number of shares or votes

  • sub:ca:shares:issuanceindicates that news item informs about stock issuance

  • sub:ca:shares:repurchaseindicates that news item informs repurchase of stocks

  • sub:ca:shares:rightsindicates that news item informs about changes to stock rights or classes

  • sub:ca:maindicates that news item is related to Mergers & Acquisitions

  • sub:ca:ipoindicates that news item is related to a ipo

  • sub:ca:prospectusindicates that news item is related to a prospectus

  • sub:ca:otherindicates that news item is related to other Corporate Action

  • sub:ciindicates that news item is related to Corporate Information

  • sub:ci:gmindicates that news item is related to a general meeting

  • sub:ci:gm:noticeindicates that news item is a Notice to a General Meeting

  • sub:ci:gm:infoindicates that news item is a Report from a General Meeting

  • sub:ci:insiderindicates that news item is a insider transaction

  • sub:ci:shareholder-announcementindicates that news item is a shareholder announcement

  • sub:ci:calendarindicates that news item is a financial calendar

  • sub:ci:presentationindicates that news item is related to a presentation

  • sub:ci:nominationindicates that news item is related to Nomination Committee

  • sub:ci:earningsindicates that news item informs about a earnings report

  • sub:ci:salesindicates that news item informs about some sales

  • sub:ci:sales:orderindicates that news item informs about a incoming sales order

  • sub:ci:staffindicates that news item is related to staff changes

  • sub:ci:staff:xxoindicates that news item is related to executive staff changes

  • sub:ci:otherindicates that news item is related to other Corporate Information

Custom namespace, prefix cus:

Author of a news item can add their own tags in order to categorize their content, but should in most cases probably be ignored by third parties. example might be cus:fintech

JSON Example

{
  "news_id": "a7566f9a-673a-4fa3-9cd7-1343b5cad0ee",
  "group_id": "16849475-df12-4d95-82bb-0cbe44d9307f",
  "url": "https://mfn.se/a/volvo/new-number-of-votes-in-ab-volvo-a7566f9a",
  "subjects": [
    {
      "entity_id": "26c373c6-5688-4bfa-bb55-b9c62249d4ef",
      "slug": "volvo",
      "slugs": [
        "volvo"
      ],
      "name": "Volvo",
      "brand_image_url": "/assets/img/test/volvo.jpg",
      "isins": [
        "SE0000115446",
        "SE0000115420"
      ],
      "leis": [
        "549300HGV012CNC8JD22"
      ],
      "local_refs": [
        "SE:556012-5790"
      ],
      "tickers": [
        "XSTO:VOLV B",
        "XSTO:VOLV A"
      ]
    }
  ],
  "content": {
    "title": "New number of votes in AB Volvo",
    "slug": "new-number-of-votes-in-ab-volvo-a7566f9a",
    "publish_date": "2018-12-28T12:00:00Z",
    "preamble": "The number of votes in AB Volvo has changed due to the conversi...",
    "html": "<div class=\"mfn-preamble\">The number of votes in AB Volvo has cha...",
    "text": "The number of votes in AB Volvo has changed due to the conversion o...",
    "attachments": [
      {
        "file_title": "New number of votes in AB Volvo",
        "content_type": "application/pdf",
        "url": "https://mfn.se/xassets/c59bd97e-22e8-414b-a7dd-c3b4cc767b62",
        "tags": null
      }
    ]
  },
  "author": {
    "entity_id": "26c373c6-5688-4bfa-bb55-b9c62249d4ef",
    "slug": "volvo",
    "slugs": [
      "volvo"
    ],
    "name": "Volvo",
    "brand_image_url": "/assets/img/test/volvo.jpg",
    "isins": [
      "SE0000115446",
      "SE0000115420"
    ],
    "leis": [
      "549300HGV012CNC8JD22"
    ],
    "local_refs": [
      "SE:556012-5790"
    ],
    "tickers": [
      "XSTO:VOLV B",
      "XSTO:VOLV A"
    ]
  },
  "properties": {
    "lang": "en",
    "type": "ir",
    "tags": [
      ":regulatory",
      ":regulatory:lhfi",
      "sub:ci",
      "sub:ci:shares"
    ]
  },
  "source": "mfn"
}

XML Example

<?xml version="1.0" encoding="UTF-8"?>
<NewsItem>
  <newsId>a7566f9a-673a-4fa3-9cd7-1343b5cad0ee</newsId>
  <groupId>16849475-df12-4d95-82bb-0cbe44d9307f</groupId>
  <url>https://mfn.se/a/volvo/new-number-of-votes-in-ab-volvo-a7566f9a</url>
  <subjects>
    <subject>
      <entityId>26c373c6-5688-4bfa-bb55-b9c62249d4ef</entityId>
      <slug>volvo</slug>
      <slugs>
        <slug>volvo</slug>
      </slugs>
      <name>Volvo</name>
      <brandImageUrl>https://mfn.se/assets/img/test/volvo.jpg</brandImageUrl>
      <isins>
        <isin>SE0000115446</isin>
        <isin>SE0000115420</isin>
      </isins>
      <leis>
        <lei>549300HGV012CNC8JD22</lei>
      </leis>
      <localRefs>
        <localRef>SE:556012-5790</localRef>
      </localRefs>
      <tickers>
        <ticker>XSTO:VOLV B</ticker>
        <ticker>XSTO:VOLV A</ticker>
      </tickers>
    </subject>
  </subjects>
  <content>
    <title>New number of votes in AB Volvo</title>
    <slug>new-number-of-votes-in-ab-volvo-a7566f9a</slug>
    <publishDate>2018-12-28T12:00:00Z</publishDate>
    <preamble>The number of votes in AB Volvo has changed due to the co... </preamble>
    <html><![CDATA[<div class="mfn-preamble">The number of votes in AB Vo...]]></html>
    <text><![CDATA[The number of votes in AB Volvo has changed due to the...]]></text>
    <attachments>
      <attachment>
        <fileTitle>New number of votes in AB Volvo</fileTitle>
        <contentType>application/pdf</contentType>
        <url>https://mfn.se/xassets/c59bd97e-22e8-414b-a7dd-c3b4cc767b62</url>
        <tags />
      </attachment>
    </attachments>
  </content>
  <author>
    <entityId>26c373c6-5688-4bfa-bb55-b9c62249d4ef</entityId>
    <slug>volvo</slug>
    <slugs>
      <slug>volvo</slug>
    </slugs>
    <name>Volvo</name>
    <brandImageUrl>https://mfn.se/assets/img/test/volvo.jpg</brandImageUrl>
    <isins>
      <isin>SE0000115446</isin>
      <isin>SE0000115420</isin>
    </isins>
    <leis>
      <lei>549300HGV012CNC8JD22</lei>
    </leis>
    <localRefs>
      <localRef>SE:556012-5790</localRef>
    </localRefs>
    <tickers>
      <ticker>XSTO:VOLV B</ticker>
      <ticker>XSTO:VOLV A</ticker>
    </tickers>
  </author>
  <properties>
    <lang>en</lang>
    <tags>
        <tag>:regulatory</tag>
        <tag>:regulatory:lhfi</tag>
        <tag>sub:ci</tag>
        <tag>sub:ci:shares</tag>
    </tags>
    <type>ir</type>
  </properties>
  <source>mfn</source>
</NewsItem>

Last updated