MISMO API Toolkit

June 1, 2020

Presented by Leslie Malicki, MGIC Elizabeth Smith, USAA Keith Soura, Blend Christopher Stookey, Wells Fargo What is MISMO?

• MISMO® “Mortgage Industry Standards Maintenance Organization” is the standards development body for the mortgage industry. MISMO is a wholly owned subsidiary of the Mortgage Bankers Association. • MISMO developed a common language for exchanging information for the mortgage finance industry. Today, MISMO standards are accepted and deployed by every type of entity involved in creating mortgages, and they are required by most regulators, housing agencies and the GSEs that participate in the industry. • Use of MISMO's standards has been found to lower per loan costs, improve margins, reduce errors and speed up the loan process by reducing manual, paper-based processes while creating cost savings for the consumer. API Toolkit Introduction What is an API?

API = Application Programming Interface

Exchanges information between systems over a network

Provides clear, consistent specifications for data requirements, request and response protocols, and security

Documentation identifies what to send and what to expect in response Why APIs?

The modern Web runs on them! • Time to Market • Efficiency • Integration • Interoperability • Stability • Scalability Example: Online Grocery

  

"USItemId": "172844767", "offerId": "B5F11C1D43E341A39D4AD36DAFE80526", "sku": "3100149894", "basic": { "salesUnit": "Each", "name": "Great Value Large White Eggs, 18 count, 36 oz", "image": { "thumbnail": "https://i5.walmartimages.com/asr/df2ea507-1953-4cb9-97b6- a1bc10f3dd19_1.bc951a020f826ffe87cf466c3fc1c130.jpeg?odnHeight=150&odnWidth=150&odnBg=ffffff" }, "weightIncrement": 1, "averageWeight": null, "maxAllowed": 12, "productUrl": "/ip/Great-Value-Large-White-Eggs-18-count-36-oz/172844767", "isSnapEligible": true, "type": "REGULAR" }, APIs in Relation to MISMO

optimal APIs benefit MISMO The API Toolkit will …

Utilize Based off the MISMO Logical Data Model, solutions founded from the API toolkit will inherit industry-vetted Industry data definitions rendering industry subject matter Standards expertise out of the box.

Utilize Leveraging OpenAPI accelerates API development by Technology enabling standardized API documentation, code Standards generation, and automated testing.

Allowing for a subset to be carved out from the industry Enable More superset of information, provides a quick start for Connections succinct business innovation feeding the vision for a growing network of best of breed solutions. Industry Standards Being industry-enabled removes add-on integration cost barriers for growth

Project Running Project Running Connections being added Weeks Total Weeks Total

Product Type A - #1 4 4 5 5

Product Type B - #1 4 8 5 10

Product Type C - #1 4 12 5 15

Product Type A - #2 & #3 4 + 4 20 1 + 1 17

Product Type B - #2 & #3 4 + 4 28 1 + 1 19

Product Type C - #2 & #3 4 + 4 36 1 + 1 21

Product Type A – Industry Update - #1, #2, #3 2 + 2 + 2 42 2 23

Product Type B – Industry Update - #1, #2, #3 2 + 2 + 2 48 2 25

Product Type C – Industry Update - #1, #2, #3 2 + 2 + 2 54 2 27

Example: Standing up 9 connections (3 product Proprietary Integrations Standard Integrations categories) with one industry compliance change Technology Standards Being able to evolve as preferences change keeps solution enablers relevant

Google Trends Relative Popularity

Data source: Google Trends (https://www.google.com/trends) Integration Connections Evolution Being connection-enabled allows continued best of breed adoption

Stand-alone Best of Breed packages for every function; re-keying between requiring Manual Re-keying them all

Stand-alone Best of Breed Software packages for every function; importing/exporting requiring Export/Import data between them all

Monolithic software packages attempting to serve all Closed Enterprise Solutions functions, usually with shortcomings (“jack of all trades”)

Integrated Enterprise Solutions Robust software packages integrating seamlessly with best using Best of Breed of breed ancillary software solutions

Open Enterprise Solutions A growing network of best of breed solutions evolving evolving with Best of Breed together, remaining compatible, seamlessly integrated and providing programmatic access to logic and data API Toolkit Value Proposition – Deeper Dive What it provides

What it enables

INDUSTRY TECHNOLOGY PROVIDER TOOLKIT

Best of Breed Concise business Technology MISMO glossary and data standards vetted by requirements industry participants Efficiency and Automation Easy to follow standards MISMO Industry Experts (COPs) to identify subsets of business scenario related data Adoptable Disruption Lightweight transactions Generation of API start-up files to kick-start Quickly Quick to market MISMO-standard JSON and XML integration solutions efforts MISMO API Toolkit Contents

• API Objects – Accelerate software development by using standard schemas to define requests/responses

• Implementation Guide (I-Guide) – Identifies recommended practices for implementing MISMO- based APIs

• Sample API Specifications – Serve as a template or guide for development teams

• MISMO Engineering Guidelines (MEG) – Provides engineering guidance on the representation of MISMO data structures and relationships in a Web API Relationships Between Models Legend: In Progress Existing Product Planned Considered

Decision Business Glossary of Reference Business Business Model Model Terms

Logical Data Model

ER Database XML Schema API Toolkit

Model Business/Tech Views (Taxonomy) Views Business/Tech Semantic Other Derivative Technical Model Representations API Development Process

1. Identify data points using the LDD 3. Generate code stubs from the API definition

2. Build the API definition using API object files 4. Implement the API Target Dates Can’t wait? Get involved!

Comments: COMING Release: July 2020 September 2020 SOON Key Concepts REST Concept

REST is about the ‘transfer’ of a particular ‘representation’ of the ‘state’ of a ‘resource’ from/to a unique address. It completely decouples the native representation of the entity at the source from the representation in which it is provided to the requester of the data. The same Borrower record, residing in some database in a platform specific format can be transferred in a JSON, XML, HTML or another format using a REST style API.

JSON

HTML

JSON

Records in native format

XML

Same data, different representations Data Exchange Format – XML or JSON

. The ‘representation’ of a ‘resource’ in the REST architectural style can be accomplished using several formats. . XML and JSON are by far the most ubiquitous formats. . JSON is a more modern format and is the default choice for REST API payloads due to its simplicity and succinctness.

{ "ClosingInformation": { “ClosingAdjustmentsItems": [ { 5500.00 “closingAdjustmentItemAmount": 5500.00, LenderCredit “closingAdjustmentItemType": "LenderCredit" } ] } XML } JSON

1. The XML snippet on the left has 345 characters. 2. The JSON snippet on the right has 135 characters – a 60% reduction. 3. Even with the same level of nesting the JSON is significantly less verbose. Why OpenAPI 3.0?

• Modern specification • Highly interoperable • Widely used • Comprehensive lifecycle tools for rapid design, development, and testing OpenAPI Features

Documentation

Deployment Tests

OpenAPI

Client Libraries Implementation

Prototypes Supported Languages and Frameworks

Erlang Slim Scala NancyFx NodeJS Ruby ASP.NET Core Restbed Ada Rails5 JavaScript Haskell Kotlin JAXRS Lumen CXF Python RESTEasy Inflector Micronaut C# C++ Jersey PHP MSF4J Spring Go Zend Q: What is defined in the API Toolkit? A: Building blocks to create APIs

. It does NOT define a set of Mortgage APIs

. The MISMO API Toolkit focuses on the schemas object • Defines the data model • Describes API input and output • Documents the data exchange

. It defines what data is available in an API, not where or how Sample API Our Pilot Use Cases

A consumer looking A lender determining Automation relying for how much they if they need to send on credit scores for can afford initial disclosures decisioning • API Call • API Call • API Call • Request Mortgage Insurance • Check Application Threshold • Pull Credit Report for borrowers (MI) Rate • • INPUT • INPUT • INPUT • The six data points defined by • Loan information, credit product • Loan and property information, TILA/RESPA as needed to details, information on parties MI product detail, information have an application to the loan on parties to the loan • • OUTPUT • OUTPUT • OUTPUT • A Yes/No decision indicating • Credit reports from the three • MI product detail, premium whether the lender needs to bureaus information, and a formal quote send disclosures Implementation: Mortgage Insurance Rate Quote

Address: description: Address is based upon USPS publication … type: object properties: … cityName: description: The name of the city or Military APO FPO designation. $ref: "MISMOString.#/components/schemas/MISMOString" countyName: description: The name of the county within a… $ref: "MISMOString.yaml#/components/schemas/MISMOString" postalCode: description: The postal code (ZIP Code… MI COP iGuide stateCode: description: The two-character representation of… $ref: "MISMOCode.yaml#/components/schemas/MISMOCode“ API Object… Files (YAML)

API Request Mortgage Insurance Rate Quote – Performance Comparison Full MISMO XML Generation - 2.63s

Partial Response JSON Generation - 281ms

e.g. https://github.com/OpenAPITools/openapi-generator Future Use Cases

Data aggregation/verification • Income • Employment • Assets

Appraisals • Automated Valuation Model • Title details • Home inspections

Share your ideas! Get Involved! The MISMO JSON Development Workgroup

• The JSON Development Workgroup was established in 2019 and continues to meets on the 1st & 3rd Thursday each month at 2pm Eastern. • Industry representation across the spectrum. • Join Us! The group is open for participation for anyone who has interest in contributing to the development, management and evolution of MISMO standards for APIs and JSON. • Interested to learn more? Email [email protected] MISMO Reference Materials

• Public Website at www.mismo.org • Standards and Resources • Business Glossary • Implementation Guides and Toolkits • Participate in a MISMO Workgroup • Attend a MISMO Summit (June 3-5) • MISMO Connect – Member collaboration site where you can engage with groups and access work in progress • [email protected] resource for questions Questions? References

. API Whitepaper – https://newslink.mba.org/mba-newslinks/2020/january/api-standards- the-mortgage-industrys-next-big-challenge/ . Google Trends – https://www.google.com/trends . Stack Overflow Trends – https://insights.stackoverflow.com/trends?tags=json%2Cxml%2Ccsv%2Csoap, 2009- 2019 . OpenAPI – https://swagger.io/specification/ . YAML – https://yaml.org/ Contact Information:

Leslie Malicki, MGIC [email protected]

Elizabeth Smith, USAA [email protected]

Keith Soura, Blend [email protected]

Christopher Stookey, Wells Fargo [email protected] Presenter Bios