{
  "openapi": "3.0.1",
  "info": {
    "title": "eNote Inventory",
    "version": "v1.1"
  },
  "tags": [
    {
      "name": "eNote Inventory"
    }
  ],
  "paths": {
    "/documents": {
      "get": {
        "summary": "Search for eNotes within the eVault",
        "tags": [
          "eNote Inventory"
        ],
        "description": "Use this endpoint to search for eNotes within the eVault",
        "parameters": [
          {
            "name": "min",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "999938091211784532,999938096356189561",
              "description": "a comma-separated list of min numbers to search on"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/document"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        }
      }
    },
    "/documents/{document_id}": {
      "get": {
        "summary": "Retrieve information about an eNote",
        "tags": [
          "eNote Inventory"
        ],
        "description": "Use this endpoint to retrieve information about an eNote",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
              "description": "the unique identifier for the document"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/document"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        }
      }
    },
    "/documents/{min}/xml_data": {
      "get": {
        "summary": "Retrieve note information using the MIN number",
        "tags": [
          "eNote Inventory"
        ],
        "description": "Use this endpoint to retrieve note information using the MIN number.\nThis automatically selects the current version (emortgage package) of the eNote,\nto retrieve information related to a specific emortgage package use the \n/emortgage_packages/{emortgage_package_id}/xml_data endpoint\n",
        "parameters": [
          {
            "name": "min",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "999938091211784532",
              "description": "the MIN number of the eNote"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "xml_data": {
                      "$ref": "#/components/schemas/xml_data"
                    },
                    "document_id": {
                      "type": "string",
                      "example": "e4bac3b7-4133-4b3f-a41e-75c65a14bb95",
                      "description": "document id of the eNote"
                    },
                    "emortgage_package_id": {
                      "type": "string",
                      "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
                      "description": "emortgage package id of the eNote"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "no note file found for emortgage package"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/emortgage_packages/{emortgage_package_id}/signed_preview": {
      "get": {
        "summary": "Retrieve a PDF preview copy of the signed note version",
        "tags": [
          "eNote Inventory"
        ],
        "description": "Use this endpoint to retrieve a PDF preview copy of the signed note version",
        "parameters": [
          {
            "name": "emortgage_package_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
              "description": "the unique identifier for the emortgage package to preview"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "bad request: note is not signed"
          }
        }
      }
    },
    "/emortgage_packages/{emortgage_package_id}": {
      "get": {
        "summary": "Retrieve information about an eMortgage Package",
        "tags": [
          "eNote Inventory"
        ],
        "description": "Use this endpoint to retrieve information about an eMortgage Package",
        "parameters": [
          {
            "name": "emortgage_package_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
              "description": "the unique identifier for the emortgage package to view"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/emortgage_package"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/emortgage_packages/{emortgage_package_id}/xml_data": {
      "get": {
        "summary": "Retrieve note information from an eMortgage Package",
        "tags": [
          "eNote Inventory"
        ],
        "description": "Use this endpoint to retrieve note XML information from an eMortgage Package",
        "parameters": [
          {
            "name": "emortgage_package_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
              "description": "the unique identifier for the emortgage package to view"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "xml_data": {
                      "$ref": "#/components/schemas/xml_data"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://demo.snapdocsevault.com/api",
      "description": "Snapdocs Evault demo environment"
    },
    {
      "url": "https://www.snapdocsevault.com/api",
      "description": "Snapdocs Evault production environment"
    }
  ],
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "schemas": {
      "borrower": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the Borrower object",
            "example": "69a157f4-47d5-4b6a-9cca-a3778b524ec1"
          },
          "order": {
            "type": "integer",
            "description": "Borrower order number",
            "example": 1
          },
          "full_name": {
            "type": "string",
            "description": "Full name of the borrower",
            "example": "David F. Green Jr"
          },
          "signed_at": {
            "type": "string",
            "description": "When the borrower signed the note",
            "example": "2023-07-25T20:06:17.931Z"
          }
        }
      },
      "document": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
            "description": "The document id"
          },
          "type": {
            "type": "string",
            "example": "documents",
            "description": "The type of object"
          },
          "attributes": {
            "type": "object",
            "properties": {
              "evault_id": {
                "type": "string",
                "format": "uuid",
                "example": "e726f0ee-7c5b-441c-804c-0e91e9ab404a",
                "description": "id of the evault object"
              },
              "primary_package_id": {
                "type": "string",
                "format": "uuid",
                "example": "e4bac3b7-4133-4b3f-a41e-75c65a14bb95",
                "description": "id of the active version of the document"
              },
              "min_number": {
                "type": "string",
                "example": "999938091211784532",
                "description": "MERS min number associated with the relevant enote"
              },
              "loan_number": {
                "type": "string",
                "description": "the identifier assigned by the originating lender to be referenced as the loan ID/Number on all settlement documents, notes, riders, etc…"
              },
              "tamper_sealed_at": {
                "type": "string",
                "example": "2023-07-25T20:06:17.903Z",
                "description": "When the tamper seal for the note was applied"
              },
              "registered_at": {
                "type": "string",
                "example": "2023-07-25T20:06:17.903Z",
                "description": "When the note was registered with MERS"
              },
              "last_inquiry_date": {
                "type": "string",
                "example": "2023-07-25T20:06:17.903Z",
                "description": "When the note was last updated with data from MERS"
              },
              "stored_and_sealed": {
                "type": "boolean",
                "example": true,
                "description": "Whether the note has been signed and tamper sealed"
              },
              "borrower_names": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "Green"
                ],
                "description": "An array of borrower last names"
              },
              "primary_borrower_name": {
                "type": "string",
                "example": "Green",
                "description": "The primary borrower's last name"
              },
              "transferrable": {
                "type": "boolean",
                "description": "Whether the note is available to be transferred"
              },
              "authoritative_copy": {
                "type": "boolean",
                "description": "Whether the note is the authoritative copy"
              },
              "loan_modification_indicator": {
                "type": "boolean",
                "description": "Whether the loan has been modified"
              },
              "loan_modification_type": {
                "type": "string",
                "enum": [
                  "Paper",
                  "Electronic"
                ],
                "description": "If modified, what type of modification was performed"
              },
              "assumption_indicator": {
                "type": "boolean",
                "description": "Whether the loan has been assumed"
              },
              "source": {
                "type": "string",
                "example": "originated",
                "description": "whether the document was originated in the system or edelivered",
                "enum": [
                  "originated",
                  "edelivered"
                ]
              },
              "status": {
                "type": "string",
                "example": "initiated",
                "description": "registration status of this document",
                "enum": [
                  "initiated",
                  "active",
                  "inactive"
                ]
              },
              "auto_val_status": {
                "type": "string",
                "example": "passed",
                "description": "the auto-validations status of this document",
                "enum": [
                  "passed",
                  "failed",
                  "cleared"
                ]
              },
              "deactivation_reason": {
                "type": "string",
                "example": "RegistrationReversal",
                "description": "if this document is inactive, returns the type of deactivation"
              },
              "deactivated_at": {
                "type": "string",
                "example": "2025-07-30T000000.000Z",
                "description": "if this document is inactive, returns the date of deactivation"
              },
              "borrowers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/borrower"
                }
              },
              "document_sections": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/document_section"
                }
              },
              "rights_holders": {
                "$ref": "#/components/schemas/rights_holders"
              },
              "previous_right_holders": {
                "$ref": "#/components/schemas/rights_holders"
              },
              "custom_data": {
                "type": "object",
                "example": {
                  "CustomField": "value"
                },
                "description": "optional set of custom data fields saved on the document"
              }
            }
          }
        }
      },
      "document_section": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the Document Section object",
            "example": "c46c0412-09c7-4161-a4b0-e98c022dcae2"
          },
          "file_name": {
            "type": "string",
            "description": "name of the file associated with the section",
            "example": "note.xml"
          },
          "file_type": {
            "type": "string",
            "description": "type of the file",
            "example": "xml"
          },
          "document_type": {
            "type": "string",
            "description": "type of the section",
            "example": "Note"
          }
        }
      },
      "emortgage_package": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
            "description": "The emortgage package id"
          },
          "type": {
            "type": "string",
            "example": "emortgage_packages",
            "description": "The type of object"
          },
          "attributes": {
            "type": "object",
            "properties": {
              "evault_id": {
                "type": "string",
                "format": "uuid",
                "example": "e726f0ee-7c5b-441c-804c-0e91e9ab404a",
                "description": "id of the evault object"
              },
              "document_id": {
                "type": "string",
                "format": "uuid",
                "example": "e4bac3b7-4133-4b3f-a41e-75c65a14bb95",
                "description": "id of the document the package belongs to"
              },
              "tamper_sealed_at": {
                "type": "string",
                "example": "2023-07-25T200617.903Z",
                "description": "When the tamper seal for the note was applied"
              },
              "stored_and_sealed": {
                "type": "boolean",
                "example": true,
                "description": "Whether the note has been signed and tamper sealed"
              },
              "primary": {
                "type": "boolean",
                "example": true,
                "description": "Whether the emortgage package is the primary version for the document"
              },
              "borrower_names": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "Green"
                ],
                "description": "An array of borrower last names"
              },
              "primary_borrower_name": {
                "type": "string",
                "example": "Green",
                "description": "The primary borrower's last name"
              },
              "status": {
                "type": "string",
                "example": "initiated",
                "description": "registration status of this emortgage package",
                "enum": [
                  "initiated",
                  "canceled",
                  "sealed"
                ]
              },
              "auto_val_status": {
                "type": "string",
                "example": "passed",
                "description": "the auto-validations status of this emortgage package",
                "enum": [
                  "passed",
                  "failed",
                  "cleared"
                ]
              },
              "borrowers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/borrower"
                }
              },
              "document_sections": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/document_section"
                }
              }
            }
          }
        }
      },
      "right_holder": {
        "type": "object",
        "properties": {
          "mers_org": {
            "type": "string",
            "description": "MERS identifier for the right holder",
            "example": "0000001"
          },
          "name": {
            "type": "string",
            "description": "name of the right holder",
            "example": "Example Organization"
          }
        }
      },
      "rights_holders": {
        "type": "object",
        "properties": {
          "controller": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/right_holder"
              }
            ]
          },
          "location": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/right_holder"
              }
            ]
          },
          "master_servicer": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/right_holder"
              }
            ]
          },
          "subservicer": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/right_holder"
              }
            ]
          },
          "delegatee_for_transfers": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/right_holder"
              }
            ]
          },
          "secured_party": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/right_holder"
              }
            ]
          },
          "secured_party_delegatee": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/right_holder"
              }
            ]
          }
        }
      },
      "xml_data": {
        "type": "object",
        "properties": {
          "late_charge_grace_period": {
            "type": "string",
            "description": "The grace period in days for this loan before a late charge will be applied",
            "example": "11"
          },
          "late_charge_rate": {
            "type": "string",
            "example": "4.321",
            "description": "The percentage that a borrower is required to pay for failure to make a regular installment within the period specified on the note. This is the amount specified by the late charge code and is used when the late charge is not a flat dollar."
          },
          "scheduled_first_payment_date": {
            "type": "string",
            "example": "2019-04-01",
            "description": "The date of the first scheduled mortgage payment to be made by the borrower under the terms of the mortgage."
          },
          "late_charge_minimum_amount": {
            "type": "string",
            "description": "The minimum monthly late charge amount allowed.",
            "example": "10"
          },
          "late_charge_maximum_amount": {
            "type": "string",
            "description": "The maximum monthly late charge amount allowed.",
            "example": "20"
          },
          "note_rate_percent": {
            "type": "string",
            "description": "The actual interest rate as disclosed on the note.",
            "example": "4.000"
          },
          "arm_lifetime_floor_percent": {
            "type": "string",
            "example": "2.250",
            "description": "The minimum interest rate to which the interest rate can decrease to over the life of the loan."
          },
          "rate_adjustment_subsequent_cap_percent": {
            "type": "string",
            "example": "1.000",
            "description": "The maximum percentage (cap) of the rate increase allowed at each rate adjustment period after the initial adjustment within the allowed duration, if the interest rate on the subject loan can change."
          },
          "subsequent_rate_adjustment_months": {
            "type": "string",
            "example": "6",
            "description": "The number of months between the subsequent rate adjustments, if the interest rate on the subject loan can change."
          },
          "first_rate_adjustment_date": {
            "type": "string",
            "example": "2029-04-01",
            "description": "The first date the interest rate will adjust in an ARM transaction"
          },
          "rate_adjustment_first_change_floor_rate": {
            "type": "string",
            "example": "2.250",
            "description": "The minimum interest rate that can be applied at the first interest rate adjustment."
          },
          "rate_adjustment_first_change_cap_rate": {
            "type": "string",
            "example": "9.000",
            "description": "The maximum interest rate that can be applied at the first interest rate adjustment"
          },
          "arm_index_margin_percent": {
            "type": "string",
            "example": "2.250",
            "description": "The percentage stated in the loan program representing the spread between the ARM Index value and the mortgage interest rate. The gross mortgage margin is added to the index value to establish a new gross interest rate in the manner described by the calculation method."
          },
          "arm_lifetime_cap_rate": {
            "type": "string",
            "example": "9.000",
            "description": "The maximum interest rate that can be applied during the loan term."
          },
          "execution_date": {
            "type": "string",
            "example": "2019-12-20",
            "description": "The date documents were signed (executed)."
          },
          "original_loan_amount": {
            "type": "string",
            "example": "100000.00",
            "description": "Amount of the Mortgage as stated on the original note."
          },
          "loan_maturity_date": {
            "type": "string",
            "example": "2034-03-01",
            "description": "The date when the loan is scheduled to be paid in full as reflected on the Note."
          },
          "original_principal_and_interest_payment_amount": {
            "type": "string",
            "example": "500.50",
            "description": "The dollar amount of the P&I payment as stated on the Note. The P&I payment is usually obtained using the loan amount and interest rate to arrive at full amortization during the loan term."
          },
          "lender_loan_identifier": {
            "type": "string",
            "example": "Loan123",
            "description": "The identifier assigned by the originating Lender to be referenced as the Loan ID/Number on all settlement documents, notes, riders, etc."
          },
          "property_street_address": {
            "type": "string",
            "example": "100 Montgomery Street",
            "description": "The unstructured (Unparsed) street address of the subject property."
          },
          "property_city": {
            "type": "string",
            "example": "San Francisco",
            "description": "The city in which the subject property is located."
          },
          "property_state": {
            "type": "string",
            "example": "CA",
            "description": "The state in which the subject property is located."
          },
          "property_postal_code": {
            "type": "string",
            "example": "99999",
            "description": "The postal code (zip code in the US) of the subject property. Zip code may be either 5 or 9 digits."
          },
          "mers_min_number": {
            "type": "string",
            "example": "999938068729325206",
            "description": "Number used by MERS to identify loans. Referred to as the MIN, Mortgage Identification Number."
          },
          "loan_originator_individual_unparsed_name": {
            "type": "string",
            "example": "Originator Individual",
            "description": "The name of the Loan Originator individual."
          },
          "loan_originator_individual_nmls_id": {
            "type": "string",
            "example": "456789",
            "description": "The unique identifier of the Loan Originator individual that is assigned by the Nationwide Mortgage Licensing System."
          },
          "loan_originator_company_unparsed_name": {
            "type": "string",
            "example": "Loan Originator Company",
            "description": "The name of the Loan Originator company."
          },
          "loan_originator_company_nmls_id": {
            "type": "string",
            "example": "345678",
            "description": "The unique identifier of the Mortgage Originator company that is assigned by the Nationwide Mortgage Licensing System."
          },
          "broker_individual_unparsed_name": {
            "type": "string",
            "example": "Broker Individual",
            "description": "The name of an individual acting as a mortgage broker for the loan."
          },
          "broker_individual_nmls_id": {
            "type": "string",
            "example": "234567",
            "description": "The unique identifier of the Mortgage Broker individual that is assigned by the Nationwide Mortgage Licensing System."
          },
          "broker_company_unparsed_name": {
            "type": "string",
            "example": "Broker Company",
            "description": "The name of the Mortgage Broker company."
          },
          "broker_company_nmls_id": {
            "type": "string",
            "example": "123456",
            "description": "The unique identifier of the Mortgage Broker individual that is assigned by the Nationwide Mortgage Licensing System."
          },
          "lender_unparsed_name": {
            "type": "string",
            "example": "Test Lender",
            "description": "The name of the party or entity designated as the lender for the loan."
          },
          "tamper_sealed_at": {
            "type": "string",
            "example": "2023-07-25T20:06:17.903Z",
            "description": "When the tamper seal for the note was applied"
          },
          "registered_at": {
            "type": "string",
            "example": "2023-07-25T20:06:17.903Z",
            "description": "When the note was registered with MERS"
          },
          "borrowers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/xml_borrower"
            }
          }
        }
      },
      "xml_borrower": {
        "type": "object",
        "properties": {
          "power_of_attorney_unparsed_name": {
            "type": "string",
            "description": "The unparsed name of the individual acting with Power of Attorney for the borrower.",
            "example": "Bob Green"
          },
          "first_name": {
            "type": "string",
            "description": "The first name of the borrower.",
            "example": "David"
          },
          "middle_name": {
            "type": "string",
            "description": "The middle name of the borrower.",
            "example": "John"
          },
          "last_name": {
            "type": "string",
            "description": "The last name of the borrower.",
            "example": "Green"
          },
          "name_suffix": {
            "type": "string",
            "description": "The name suffix of the borrower.",
            "example": "Jr"
          }
        }
      }
    }
  }
}