{
  "openapi": "3.0.1",
  "info": {
    "title": "MERS Actions",
    "version": "v1.1"
  },
  "tags": [
    {
      "name": "MERS Actions"
    }
  ],
  "paths": {
    "/change_data/{change_data_id}": {
      "get": {
        "summary": "Get details on a change data request (deprecated use `/mers_actions/{id}` instead)",
        "tags": [
          "Data Change"
        ],
        "description": "Use this endpoint to get details on a change data with a given id",
        "parameters": [
          {
            "name": "change_data_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
              "description": "the unique identifier for the change data"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/change_data_attributes"
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "not found: record not found"
          }
        }
      }
    },
    "/edeliveries/{edelivery_id}": {
      "get": {
        "summary": "Get details on an eDelivery",
        "tags": [
          "Transfer and eDelivery"
        ],
        "description": "Use this endpoint to get details on an eDevlivery with a given id",
        "parameters": [
          {
            "name": "edelivery_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
              "description": "the unique identifier for the eDelivery"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/edelivery_attributes"
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "not found: record not found"
          }
        }
      }
    },
    "/inquiries/{inquiry_id}": {
      "get": {
        "summary": "Get details on an inquiry",
        "tags": [
          "Inquiry"
        ],
        "description": "Use this endpoint to get details on an inquiry with a given id",
        "parameters": [
          {
            "name": "inquiry_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0d6bb319-b4fd-44a6-8dbc-e0311fe5bf94",
              "description": "the unique identifier for the inquiry"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inquiry_attributes"
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "not found: record not found"
          }
        }
      }
    },
    "/mers_actions/bulk_transfer": {
      "post": {
        "summary": "Initiate a Bulk Transfer",
        "tags": [
          "Transfer and eDelivery"
        ],
        "description": "Use this endpoint to initiate multiple transfers according to pre-configured mappings",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bulk_transfer_response"
                }
              }
            }
          },
          "400": {
            "description": "bad request: invalid payload",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "data should have min_number and partner_name",
                      "description": "error description, possible errors include:\n- data should have min_number and partner_name: returned if one of the objects in the data array is missing the min_number or partner_name key\n- data is not an array: returned if the data key is not an array\n- no bulk transfer mappings created: returned if no lender preferences exist for the current evault\n"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/bulk_transfer_payload"
              }
            }
          }
        }
      }
    },
    "/mers_actions/assumption": {
      "post": {
        "summary": "Report an assumption",
        "tags": [
          "Assumption"
        ],
        "description": "Use this endpoint to report an assumption to MERS.\n\nThis endpoint notifies MERS that the loan has been assumed by a new borrower.\n\nThe document must be registered, active, and not locked.\n\n",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assumption_response"
                }
              }
            }
          },
          "400": {
            "description": "bad request: invalid parameters"
          },
          "401": {
            "description": "unauthorized: authentication is missing or invalid"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assumption_payload"
              }
            }
          }
        }
      }
    },
    "/mers_actions/bulk_change_partners": {
      "post": {
        "summary": "Update eNote partners through a Change Data",
        "tags": [
          "Data Change"
        ],
        "description": "Use this endpoint to update multiple eNote partners through a Change Data request to MERS",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bulk_change_partners_response"
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/bulk_change_partners_payload"
              }
            }
          }
        }
      }
    },
    "/mers_actions/edeliver": {
      "post": {
        "summary": "Initiate an eDelivery",
        "tags": [
          "Transfer and eDelivery"
        ],
        "description": "Use this endpoint to initiate an eDelivery to a partner",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/edeliver_response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request: eDelivery request was invalid",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "object",
                      "description": "information on errors that prevented the eDelivery from being created",
                      "properties": {
                        "code": {
                          "type": "string",
                          "enum": [
                            "package_invalid"
                          ],
                          "description": "a fixed keyword associated with the error type:                    \n- 'package_invalid': attempted to edeliver an emortgage package not in a edeliverable state\n"
                        }
                      },
                      "example": {
                        "errors": {
                          "emortgage_package_id": "document not registered",
                          "code": "package_invalid"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/edeliver_payload"
              }
            }
          }
        }
      }
    },
    "/mers_actions/add_document": {
      "post": {
        "summary": "Add a document to an eNote (deprecated, use add_document_to_mers instead)",
        "tags": [
          "Add Document"
        ],
        "description": "Use this endpoint to add a document to an eNote.\n\nOnly documents of the following type are accepted: AmortizationSchedule, AssumptionAgreement,\nAttorneyInFactAffidavit, BuydownAgreement, ConsolidationExtensionModificationAgreement, NoteAddendum, \nPowerOfAttorney, SecurityInstrument, SecurityInstrumentModification, TitleInsurancePolicy, TrustAgreement.\n\nThe file must be a pdf, jpg, jpeg, png, tiff, or tif.\n",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/add_document_response"
                }
              }
            }
          },
          "400": {
            "description": "bad request: invalid parameters"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "not found: reviewable document or eNote not found"
          },
          "422": {
            "description": "unprocessable entity: the file can not be used"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/add_document_payload"
              }
            }
          }
        }
      }
    },
    "/mers_actions/add_document_to_mers": {
      "post": {
        "summary": "Add a document to an eNote",
        "tags": [
          "Add Document"
        ],
        "description": "Use this endpoint to notify MERS that a document was added to the eNote.\n\nThis endpoint requires that you first create the underlying file by POSTing it to `reviewable_documents`, then pass the returned `reviewable_document_id` to this endpoint.\n\nSupported file formats: pdf, jpg, jpeg, png, tiff, or tif.\n\nSupported document types: see the supported document type list documented elsewhere.\n",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/add_document_to_mers_response"
                }
              }
            }
          },
          "400": {
            "description": "bad request: invalid parameters"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "not found: reviewable document or eNote not found"
          },
          "422": {
            "description": "unprocessable entity: the file can not be used"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/add_document_to_mers_payload"
              }
            }
          }
        }
      }
    },
    "/mers_actions/modification": {
      "post": {
        "summary": "Add a document and submit a loan modification",
        "tags": [
          "Add Document"
        ],
        "description": "Use this endpoint to submit a loan modification. This effectively performs two actions in the MERS eRegistry:\n1) Add a document to the eNote (change_data action type: `AddDocument`)\n\n2) Submit a loan modification (change_data action type: `Modification`)\n\n\nThe response body returns the results of these two actions as an array, in the same order.\n\nIf the first action succeeds but the second action fails, the response status is still a failure (400) and the response includes the second action's error(s).\n\n\nThe supported file formats depend on the `loan_modification_type`:\n\n- `Paper` (default): uploaded document must be a PDF.\n\n- `Electronic`: uploaded document must be an XML file.\n\n",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/mers_action_modification_response"
                }
              }
            }
          },
          "400": {
            "description": "bad request: invalid parameters"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "not found: reviewable document does not exist"
          },
          "422": {
            "description": "unprocessable entity: the reviewable document is unprocessable"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/mers_action_modification_payload"
              }
            }
          }
        }
      }
    },
    "/mers_actions/inquiry": {
      "post": {
        "summary": "Initiate an inquiry",
        "tags": [
          "Inquiry"
        ],
        "description": "Use this endpoint to initiate an inquiry to MERS",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted: an inquiry was successfully initiated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "inquiry_id": {
                      "type": "string",
                      "format": "uuid",
                      "example": "0d6bb319-b4fd-44a6-8dbc-e0311fe5bf94",
                      "description": "The ID of the created inquiry"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request: inquiry request was invalid"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inquiry_payload"
              }
            }
          }
        }
      }
    },
    "/mers_actions/registration": {
      "post": {
        "summary": "Register an eNote (by MIN)",
        "tags": [
          "Registration"
        ],
        "description": "Use this endpoint to register an eNote with MERS by MIN number.\n\nThe eNote must be signed or inactive with reason for deactivation of `RegistrationReversal`.\n\n",
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the created object"
                        },
                        "min_number": {
                          "type": "string",
                          "example": "999938091211784532",
                          "description": "MERS MIN number"
                        },
                        "document_id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the document"
                        },
                        "emortgage_package_id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the eMortgage package"
                        },
                        "mers_action": {
                          "type": "string",
                          "example": "registration",
                          "description": "the associated action in the MERS system"
                        },
                        "snapdocs_action": {
                          "type": "string",
                          "example": "registration",
                          "description": "the action executed"
                        },
                        "errors": {
                          "type": "object",
                          "description": "Errors encountered during the request"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "bad request: invalid parameters"
          },
          "401": {
            "description": "unauthorized: authentication is missing or invalid"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "not found: document does not exist in your eVault"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mers": {
                    "type": "object",
                    "properties": {
                      "min_number": {
                        "type": "string",
                        "description": "The MIN number of the eNote to be registered",
                        "example": "999938091211784532"
                      }
                    },
                    "required": [
                      "min_number"
                    ]
                  }
                },
                "required": [
                  "mers"
                ]
              }
            }
          }
        }
      }
    },
    "/mers_actions/transfer": {
      "post": {
        "summary": "Initiate a transfer",
        "tags": [
          "Transfer and eDelivery"
        ],
        "description": "Use this endpoint to initiate a transfer of rights on one note to a partner",
        "operationId": "initiateTransfer",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer_response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request: transfer request was invalid",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "object",
                      "description": "information on errors that prevented the transfer from being created",
                      "properties": {
                        "code": {
                          "type": "string",
                          "enum": [
                            "combination_invalid",
                            "package_invalid",
                            "rights_missing"
                          ],
                          "description": "a fixed keyword associated with the error type:\n- 'combination_invalid': the set of intended right holders does not correspond to a valid MERS transfer\n- 'package_invalid': attempted to transfer an emortgage package not in a transferrable state\n- 'rights_missing': attempted to transfer rights on a document that the eVault is not permitted to\n"
                        }
                      },
                      "example": {
                        "permissions": "you do not hold a right to transfer documents with ids: [\"06d07c1a-5a2f-4fb6-9cc8-768ee34a18f2\"]",
                        "code": "rights_missing"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/transfer_payload"
              }
            }
          }
        }
      }
    },
    "/mers_actions/add_document_to_mers_reversal": {
      "post": {
        "summary": "Reverse the addition of a supplemental document to MERS",
        "tags": [
          "Add Document"
        ],
        "description": "Use this endpoint to reverse the addition of a supplemental document to an eNote in MERS.\n\nThe eNote must be registered, active, and have a supplemental document to reverse.\n",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the created object"
                        },
                        "min_number": {
                          "type": "string",
                          "example": "999938091211784532",
                          "description": "MERS MIN number"
                        },
                        "document_id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the document"
                        },
                        "emortgage_package_id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the eMortgage package"
                        },
                        "file_name": {
                          "type": "string",
                          "example": "supplemental_doc.pdf",
                          "description": "File name of the supplemental document being reversed"
                        },
                        "document_type": {
                          "type": "string",
                          "example": "supplemental",
                          "description": "Document type of the supplemental document"
                        },
                        "mers_action": {
                          "type": "string",
                          "example": "change_status",
                          "description": "the associated action in the MERS system"
                        },
                        "snapdocs_action": {
                          "type": "string",
                          "example": "add_document_to_mers_reversal",
                          "description": "the action executed"
                        },
                        "errors": {
                          "type": "object",
                          "description": "Errors encountered during the request"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "bad request"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "not found: document not found"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mers": {
                    "type": "object",
                    "required": [
                      "min_number"
                    ],
                    "properties": {
                      "min_number": {
                        "type": "string",
                        "description": "MERS MIN number associated with the eNote",
                        "example": "999938091211784532"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mers_actions/{id}": {
      "get": {
        "summary": "Get details on any MERS action",
        "tags": [
          "MERS Actions"
        ],
        "description": "Use this endpoint to get details on any MERS action (transfer, edelivery, change_data, change_status, check_connection, inquiry) with a given id. The response will use the appropriate serializer based on the transmission type.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
              "description": "the unique identifier for the MERS action (transmission)"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/transfer_attributes"
                    },
                    {
                      "$ref": "#/components/schemas/edelivery_attributes"
                    },
                    {
                      "$ref": "#/components/schemas/change_data_attributes"
                    },
                    {
                      "$ref": "#/components/schemas/inquiry_attributes"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "not found: record not found"
          }
        }
      }
    },
    "/mers_actions/deactivation": {
      "post": {
        "summary": "Deactivate an eNote",
        "tags": [
          "Deactivation"
        ],
        "description": "Use this endpoint to deactivate an eNote record in MERS.\n\n\nThis action corresponds to MERS Change Status action types: ChargedOff, PaidOff, PaperReplacement, RegistrationReversal, or TransferredToProprietaryRegistry.\n\n\nThe eNote must be registered, active, and not locked.\n",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the created object"
                        },
                        "min_number": {
                          "type": "string",
                          "example": "999938091211784532",
                          "description": "MERS MIN number"
                        },
                        "document_id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the document"
                        },
                        "emortgage_package_id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the eMortgage package"
                        },
                        "mers_action": {
                          "type": "string",
                          "example": "change_status",
                          "description": "the associated action in the MERS system"
                        },
                        "snapdocs_action": {
                          "type": "string",
                          "example": "deactivation",
                          "description": "the action executed"
                        },
                        "errors": {
                          "type": "object",
                          "description": "Errors encountered during the request"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "bad request"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mers": {
                    "type": "object",
                    "required": [
                      "action",
                      "min_number"
                    ],
                    "properties": {
                      "action": {
                        "type": "string",
                        "description": "The deactivation action type",
                        "enum": [
                          "ChargedOff",
                          "PaidOff",
                          "PaperReplacement",
                          "RegistrationReversal",
                          "TransferredToProprietaryRegistry"
                        ],
                        "example": "ChargedOff"
                      },
                      "min_number": {
                        "type": "string",
                        "description": "MERS MIN number associated with the eNote",
                        "example": "999938091211784532"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mers_actions/deactivation_reversal": {
      "post": {
        "summary": "Reverse a deactivation on an eNote",
        "tags": [
          "Deactivation"
        ],
        "description": "Use this endpoint to reverse a deactivation on an eNote record in MERS.\n\n\n\nThis action corresponds to MERS Change Status action types: ChargedOffReversal, PaidOffReversal, PaperReplacementReversal, or TransferredToProprietaryRegistryReversal.\n\n\n\nThe eNote must be registered, deactivated (not active), and stored and sealed.\n\n\n\nNote: If the eNote was deactivated due to a RegistrationReversal, you must use the registration endpoint instead.\n",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the created object"
                        },
                        "min_number": {
                          "type": "string",
                          "example": "999938091211784532",
                          "description": "MERS MIN number"
                        },
                        "document_id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the document"
                        },
                        "emortgage_package_id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the eMortgage package"
                        },
                        "mers_action": {
                          "type": "string",
                          "example": "change_status",
                          "description": "the associated action in the MERS system"
                        },
                        "snapdocs_action": {
                          "type": "string",
                          "example": "deactivation_reversal",
                          "description": "the action executed"
                        },
                        "errors": {
                          "type": "object",
                          "description": "Errors encountered during the request"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "bad request"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mers": {
                    "type": "object",
                    "required": [
                      "action",
                      "min_number"
                    ],
                    "properties": {
                      "action": {
                        "type": "string",
                        "description": "The deactivation reversal action type",
                        "enum": [
                          "ChargedOffReversal",
                          "PaidOffReversal",
                          "PaperReplacementReversal",
                          "TransferredToProprietaryRegistryReversal"
                        ],
                        "example": "ChargedOffReversal"
                      },
                      "min_number": {
                        "type": "string",
                        "description": "MERS MIN number associated with the eNote",
                        "example": "999938091211784532"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mers_actions/assumption_reversal": {
      "post": {
        "summary": "Reverse an assumption on an eNote",
        "tags": [
          "Assumption"
        ],
        "description": "Use this endpoint to reverse an assumption on an eNote record in MERS.\n\nThis action corresponds to the MERS Change Status action type: AssumptionReversal.\n\nThe eNote must be registered, active and not locked.\n\n",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the created object"
                        },
                        "min_number": {
                          "type": "string",
                          "example": "999938091211784532",
                          "description": "MERS MIN number"
                        },
                        "document_id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the document"
                        },
                        "emortgage_package_id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                          "description": "UUID of the eMortgage package"
                        },
                        "mers_action": {
                          "type": "string",
                          "example": "change_status",
                          "description": "the associated action in the MERS system"
                        },
                        "snapdocs_action": {
                          "type": "string",
                          "example": "assumption_reversal",
                          "description": "the action executed"
                        },
                        "errors": {
                          "type": "object",
                          "description": "Errors encountered during the request"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "bad request"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mers": {
                    "type": "object",
                    "required": [
                      "min_number"
                    ],
                    "properties": {
                      "min_number": {
                        "type": "string",
                        "description": "MERS MIN number associated with the eNote",
                        "example": "999938091211784532"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mers_actions/modification_reversal": {
      "post": {
        "summary": "Reverse a modification on an eNote",
        "tags": [
          "Add Document"
        ],
        "description": "Use this endpoint to reverse a modification on an eNote record in MERS.\n\n\nThis action corresponds to the MERS Change Status action type: ModificationReversal.\n\n\nThe eNote must be registered, active, and have the loan modification indicator set to true.\n\n\n**Automatic Document Reversal:**\n\nIf the eNote has a supplemental document, this endpoint will automatically attempt to reverse it (DocumentReversal action).\n\n\n**Important:** The modification reversal will succeed (return 202) even if the automatic document reversal fails. In the case of a document reversal failure, a separate webhook event (`document_reversal_failed`) will be sent to notify your application of the failure.\n",
        "parameters": [],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                            "description": "UUID of the created object"
                          },
                          "min_number": {
                            "type": "string",
                            "example": "999938091211784532",
                            "description": "MERS MIN number associated with the eNote"
                          },
                          "document_id": {
                            "type": "string",
                            "format": "uuid",
                            "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                            "description": "UUID of the document"
                          },
                          "emortgage_package_id": {
                            "type": "string",
                            "format": "uuid",
                            "example": "c2e67375-e923-4900-9131-75f90aa17eaa",
                            "description": "UUID of the eMortgage package"
                          },
                          "file_name": {
                            "type": "string",
                            "example": "supplemental_doc.pdf",
                            "description": "File name of supplemental document (only in document reversal result)"
                          },
                          "document_type": {
                            "type": "string",
                            "example": "NoteAddendum",
                            "description": "Document type (only in document reversal result)"
                          },
                          "mers_action": {
                            "type": "string",
                            "example": "change_status",
                            "description": "the associated action in the MERS system"
                          },
                          "snapdocs_action": {
                            "type": "string",
                            "example": "modification_reversal",
                            "description": "the action executed"
                          }
                        }
                      }
                    },
                    "errors": {
                      "type": "object",
                      "description": "Errors encountered during the request"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "bad request"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mers": {
                    "type": "object",
                    "required": [
                      "min_number"
                    ],
                    "properties": {
                      "min_number": {
                        "type": "string",
                        "description": "MERS MIN number associated with the eNote",
                        "example": "999938091211784532"
                      },
                      "add_document_reversal": {
                        "type": "boolean",
                        "description": "Whether to also execute document reversal if a supplemental document exists (defaults to true)",
                        "example": true
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/reviewable_documents": {
      "post": {
        "summary": "Upload a new file to an eNote",
        "tags": [
          "Add Document"
        ],
        "description": "Use this endpoint to upload a new file that needs to be appended to an eNote",
        "parameters": [
          {
            "name": "min_number",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "999938091211784532",
              "description": "the MIN number of the eNote to append the file to"
            }
          },
          {
            "name": "document_type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "NoteAddendum",
              "description": "type of document being added"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/reviewable_document"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request: invalid parameters"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "422": {
            "description": "unprocessable entity: the virus scan failed or the file was not saved properly"
          }
        },
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "the file content"
                  }
                }
              }
            }
          },
          "required": true
        }
      }
    },
    "/transfers/{transfer_id}": {
      "get": {
        "summary": "Get details on a transfer",
        "tags": [
          "Transfer and eDelivery"
        ],
        "description": "Use this endpoint to get details on a transfer with a given id",
        "parameters": [
          {
            "name": "transfer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
              "description": "the unique identifier for the transfer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer_attributes"
                }
              }
            }
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "not found: record not found"
          }
        }
      }
    },
    "/transfers/{transfer_id}/cancel": {
      "post": {
        "summary": "Cancel a pending transfer",
        "tags": [
          "Transfer and eDelivery"
        ],
        "description": "Use this endpoint to cancel an outbound transfer in progress",
        "parameters": [
          {
            "name": "transfer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
              "description": "the unique identifier for the transfer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "accepted"
          },
          "403": {
            "description": "forbidden: your role does not allow to proceed"
          },
          "404": {
            "description": "not found: record 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": {
      "bulk_change_partners_payload": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "min_number",
                "partner_name"
              ],
              "properties": {
                "min_number": {
                  "type": "string",
                  "description": "The MIN number of the document",
                  "example": "999938068729325206"
                },
                "action": {
                  "type": "string",
                  "enum": [
                    "AddDelegateeForTransfers",
                    "ReleaseDelegateeForTransfers",
                    "AddMasterServicer",
                    "ReleaseSubservicer",
                    "AddSecuredParty",
                    "ReleaseSecuredParty",
                    "AddSecuredPartyDelegatee",
                    "ReleaseSecuredPartyDelegatee"
                  ],
                  "description": "the action to take on the document\n- 'AddDelegateeForTransfers': add or update the delegatee for transfers, the new delegatee for transfers org ID must be provided\n- 'ReleaseDelegateeForTransfers': remove the existing delegatee for transfers\n- 'AddMasterServicer': update the existing master servicer\n- 'ReleaseSubservicer': remove the existing subservicer, to add a subservicer use a transfer\n- 'AddSecuredParty': add a secured party, the new secured party org ID must be provided\n- 'ReverseSecuredParty': reverse the erroneous addition of a Secured Party to an eNote Record\n- 'ReleaseSecuredParty': remove a Secured Party from an eNote Record when it no longer has an interest in the eNote\n- 'AddSecuredPartyDelegatee': add or update the secured party delegatee, the new secured party delegatee org ID must be provided\n- 'ReleaseSecuredPartyDelegatee': remove the existing secured party delegatee\n"
                },
                "delegatee_for_transfers_org_id": {
                  "type": "string",
                  "description": "MERS identifier of the organization to change Delegatee for Transfers to, required if action is AddDelegateeForTransfers",
                  "example": "0000001"
                },
                "master_servicer_org_id": {
                  "type": "string",
                  "description": "MERS identifier of the organization to change Master Servicer to, required if action is AddMasterServicer",
                  "example": "0000001"
                },
                "secured_party_org_id": {
                  "type": "string",
                  "description": "MERS identifier of the organization to change Secured Party to, required if action is AddSecuredParty",
                  "example": "0000001"
                },
                "secured_party_delegatee_org_id": {
                  "type": "string",
                  "description": "MERS identifier of the organization to change Secured Party Delegatee to, required if action is AddSecuredPartyDelegatee",
                  "example": "0000001"
                }
              }
            }
          }
        }
      },
      "bulk_change_partners_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "properties": {
                    "change_data_id": {
                      "type": "string",
                      "description": "The ID of the change data object created for this request for this document",
                      "example": "cf6751e1-881a-4c52-9ae8-9b713a2293ae"
                    },
                    "min_number": {
                      "type": "string",
                      "description": "The MIN number of the document",
                      "example": "0000001"
                    },
                    "emortgage_package_id": {
                      "type": "string",
                      "description": "The ID of the emortgage package the change was made on",
                      "example": "6cd9d939-f24e-44e7-88aa-b861599e0729"
                    },
                    "document_id": {
                      "type": "string",
                      "description": "The ID of the document eh change was made on",
                      "example": "2400b487-c54e-46cf-9825-5d56ed8d3250"
                    }
                  }
                },
                "errors": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "A description of the error"
                    },
                    "code": {
                      "type": "string",
                      "enum": [
                        "document_not_found",
                        "package_invalid",
                        "document_locked",
                        "bad_request",
                        "rights_missing"
                      ],
                      "description": "a fixed keyword associated with the error type: - 'document_not_found': the document with this MIN was not found in the evault - 'package_invalid': attempted to change data on a document / emortgage package that is not in a valid state - 'document_locked': the document is locked due to a convert to paper or certified print action being taken on it - 'bad_request': the set of parameters provided is not valid - 'rights_missing': attempted to change rights holders on a document that the eVault is not permitted to"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "bulk_transfer_payload": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "min_number",
                "partner_name"
              ],
              "properties": {
                "min_number": {
                  "type": "string",
                  "description": "The MIN number of the document to transfer",
                  "example": "999938068729325206"
                },
                "partner_name": {
                  "type": "string",
                  "description": "The partner name associated with the pre-configured Bulk Transfer Mapping"
                }
              }
            }
          }
        }
      },
      "bulk_transfer_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "The ID of the bulk transfer object",
                "example": "cf6751e1-881a-4c52-9ae8-9b713a2293ae"
              },
              "success": {
                "type": "boolean",
                "description": "whether the bulk transfer was initiated"
              },
              "transfer_metrics": {
                "type": "object",
                "properties": {
                  "total_count": {
                    "type": "integer",
                    "description": "how many transfer requests were received",
                    "example": 2
                  },
                  "valid_count": {
                    "type": "integer",
                    "description": "how many transfer requests were valid and processed",
                    "example": 1
                  }
                }
              },
              "validation_errors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "index": {
                      "type": "integer",
                      "description": "the index of the element in the payload data array that causes the error",
                      "example": 2
                    },
                    "min_number": {
                      "type": "string",
                      "description": "The MIN number provided in the input",
                      "example": "999938068729325206"
                    },
                    "partner_name": {
                      "type": "string",
                      "description": "The partner name provided in the input",
                      "example": "Example Partner"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": [
                          "No document exists with MIN number 999938068729325206"
                        ],
                        "description": "a list of validation errors, possible validation errors include:\n- 'No document exists with MIN number <min number>': the MIN was not found in the eVault or can not be transferred (for example if the document is not registered with MERS)\n- 'Bulk Transfer preference does not exist for Partner Name: <partner name>': the partner name provided does not exist in the eVault (mapping is not set in Lender Preferences)\n"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "edeliver_payload": {
        "type": "object",
        "properties": {
          "mers": {
            "type": "object",
            "required": [
              "recipient_org_id"
            ],
            "properties": {
              "emortgage_package_id": {
                "type": "string",
                "format": "uuid",
                "example": "02c0c641-f646-4c98-8879-87de6f91e375",
                "description": "id of the emortgage package to eDeliver; provide this or min_number"
              },
              "min_number": {
                "type": "string",
                "example": "100285647820008811",
                "description": "MIN of the document to eDeliver; provide this or emortgage_package_id"
              },
              "recipient_org_id": {
                "type": "string",
                "description": "MERS identifier of the organization to eDeliver to",
                "example": "0000001"
              }
            }
          }
        }
      },
      "edeliver_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "edelivery_id": {
                "type": "string",
                "format": "uuid",
                "description": "id of the created eDelivery",
                "example": "26a10d0a-a933-4a9e-afe 6-ac5be3db9859"
              },
              "document_id": {
                "type": "string",
                "format": "uuid",
                "description": "id of the associated eDelivered document",
                "example": "4d124b5b-cf5f-44e5-a8fc-e9cc386b2835"
              },
              "emortgage_package_id": {
                "type": "string",
                "format": "uuid",
                "description": "id of the associated eDelivered emortgage package",
                "example": "cd7fd7e6-220e-4308-993b-01c90967014b"
              }
            }
          }
        }
      },
      "transfer_payload": {
        "type": "object",
        "properties": {
          "mers": {
            "type": "object",
            "properties": {
              "emortgage_package_id": {
                "type": "string",
                "format": "uuid",
                "example": "02c0c641-f646-4c98-8879-87de6f91e375",
                "description": "id of the emortgage package (version of the document) to transfer; provide this or min_number"
              },
              "min_number": {
                "type": "string",
                "example": "100285647820008811",
                "description": "MIN of the document to transfer; provide this or emortgage_package_id"
              },
              "edeliver": {
                "type": "boolean",
                "example": true,
                "description": "whether to additionally edeliver an eNote copy"
              },
              "effective_date": {
                "type": "string",
                "format": "date-time",
                "description": "optional: future date when the transfer is to be effective (defaults to today)",
                "example": "2023-07-31T00:00:00Z"
              },
              "transfer_to_controller_org_id": {
                "type": "string",
                "description": "MERS identifier of the organization to transfer Controller to",
                "example": "0000001"
              },
              "transfer_to_location_org_id": {
                "type": "string",
                "description": "MERS identifier of the organization to transfer Location to",
                "example": "0000001"
              },
              "transfer_to_delegatee_org_id": {
                "type": "string",
                "description": "MERS identifier of the organization to transfer Master Servicer to (deprecated, use transfer_to_master_servicer_org_id instead)",
                "example": "0000001"
              },
              "transfer_to_master_servicer_org_id": {
                "type": "string",
                "description": "MERS identifier of the organization to transfer Master Servicer to",
                "example": "0000001"
              },
              "transfer_to_subservicer_org_id": {
                "type": "string",
                "description": "MERS identifier of the organization to transfer Subservicer to",
                "example": "0000001"
              },
              "transfer_to_delegatee_for_transfers_org_id": {
                "type": "string",
                "description": "MERS identifier of the organization to transfer Delegatee for Transfers to",
                "example": "0000001"
              },
              "transfer_to_secured_party_org_id": {
                "type": "string",
                "description": "MERS identifier of the organization to transfer Secured Party to",
                "example": "0000001"
              },
              "transfer_to_secured_party_delegatee_org_id": {
                "type": "string",
                "description": "MERS identifier of the organization to transfer Secured Party Delegatee to",
                "example": "0000001"
              }
            }
          }
        }
      },
      "transfer_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "transfer_id": {
                "type": "string",
                "format": "uuid",
                "description": "id of the created transfer",
                "example": "26a10d0a-a933-4a9e-afe6-ac5be3db9859"
              },
              "document_id": {
                "type": "string",
                "format": "uuid",
                "description": "id of the associated transferred document",
                "example": "4d124b5b-cf5f-44e5-a8fc-e9cc386b2835"
              },
              "emortgage_package_id": {
                "type": "string",
                "format": "uuid",
                "description": "id of the associated transferred emortgage package",
                "example": "cd7fd7e6-220e-4308-993b-01c90967014b"
              },
              "edeliveries": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "org_id": {
                      "type": "string",
                      "description": "MERS organization identifier of recipient of the eDelivery",
                      "example": "0000001"
                    },
                    "edelivery_id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "id of the created edelivery",
                      "example": "90d0c0c4-3e57-45f8-a7de-b90aa12c74e7"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "transfer_attributes": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "example": "29af140e-f250-4574-b6f4-f8aad2179b61",
                "description": "The transfer id"
              },
              "type": {
                "type": "string",
                "example": "transfers",
                "description": "The type of object"
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "example": "Transfer",
                    "description": "The type of MERS action"
                  },
                  "created_at": {
                    "type": "string",
                    "example": "2023-07-31T21:18:27.669Z",
                    "format": "date-time",
                    "description": "time the transfer was created"
                  },
                  "direction": {
                    "type": "string",
                    "example": "outbound",
                    "description": "indicates if the transfer was initiated (outbound) or received (inbound)",
                    "enum": [
                      "outbound",
                      "inbound"
                    ]
                  },
                  "display_loan_number": {
                    "type": "string",
                    "description": "The loan number of the document. Use for display only."
                  },
                  "display_min_number": {
                    "type": "string",
                    "description": "The MIN number of the document. Use for display only.",
                    "example": "999938068729325206"
                  },
                  "expires_at": {
                    "type": "string",
                    "example": "2023-08-01T00:00:00.000Z",
                    "description": "Date time at which the transfer expires",
                    "format": "date-time"
                  },
                  "mers_received_at": {
                    "type": "string",
                    "example": "2023-07-31T21:18:29.000Z",
                    "format": "date-time",
                    "description": "Date time at which MERS received the transfer request"
                  },
                  "effective_date": {
                    "type": "string",
                    "example": "2023-07-31T00:00:00.000Z",
                    "format": "date-time",
                    "description": "time the transfer is effective"
                  },
                  "mers_tracking_identifier": {
                    "type": "string",
                    "example": "1350404",
                    "description": "The MERS transfer tracking ID"
                  },
                  "sender_name": {
                    "type": "string",
                    "example": "Partner1",
                    "description": "Organization that initiated the transfer. If the name of the organization is not known the MERS org ID is used instead."
                  },
                  "status": {
                    "type": "string",
                    "example": "initiated",
                    "description": "Current status of the transfer"
                  },
                  "display_status": {
                    "type": "string",
                    "example": "pending",
                    "description": "Simplified description of the transfer status"
                  },
                  "errors": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "description": "Description of an error causing the transfer to fail"
                    }
                  },
                  "transmissions_documents": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "min_number": {
                          "type": "string",
                          "description": "The MIN number of the document",
                          "example": "999938068729325206"
                        },
                        "document_id": {
                          "type": "string",
                          "description": "ID of the document being transferred when applicable, referencing a document object in the eVault"
                        },
                        "emortgage_package_id": {
                          "type": "string",
                          "description": "ID of the emortgage_package being transferred when applicable, referencing a version of the document object in the eVault"
                        }
                      }
                    }
                  },
                  "transmissions_organizations": {
                    "$ref": "#/components/schemas/transfer_transmissions_organizations"
                  },
                  "previous_right_holders": {
                    "$ref": "#/components/schemas/rights_holders"
                  }
                }
              }
            }
          }
        }
      },
      "edelivery_attributes": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "example": "29af140e-f250-4574-b6f4-f8aad2179b61",
                "description": "The eDelivery id"
              },
              "type": {
                "type": "string",
                "example": "edeliveries",
                "description": "The type of object"
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "example": "Edelivery",
                    "description": "The type of MERS action"
                  },
                  "created_at": {
                    "type": "string",
                    "example": "2023-07-31T21:18:27.669Z",
                    "format": "date-time",
                    "description": "time the eDelivery was created"
                  },
                  "direction": {
                    "type": "string",
                    "example": "outbound",
                    "description": "indicates if the eDelivery was initiated (outbound) or received (inbound)",
                    "enum": [
                      "outbound",
                      "inbound"
                    ]
                  },
                  "display_loan_number": {
                    "type": "string",
                    "description": "The loan number of the document. Use for display only."
                  },
                  "display_min_number": {
                    "type": "string",
                    "description": "The MIN number of the document. Use for display only.",
                    "example": "999938068729325206"
                  },
                  "expires_at": {
                    "type": "string",
                    "example": "2023-08-01T00:00:00.000Z",
                    "description": "Date time at which the eDelivery expires, when applicable",
                    "format": "date-time"
                  },
                  "mers_received_at": {
                    "type": "string",
                    "example": "2023-07-31T21:18:29.000Z",
                    "format": "date-time",
                    "description": "Date time at which MERS received the eDelivery request"
                  },
                  "mers_tracking_identifier": {
                    "type": "string",
                    "example": "1350404",
                    "description": "The MERS eDelivery tracking ID"
                  },
                  "sender_name": {
                    "type": "string",
                    "example": "Partner1",
                    "description": "Organization that initiated the eDelivery. If the name of the organization is not known the MERS org ID is used instead."
                  },
                  "status": {
                    "type": "string",
                    "example": "initiated",
                    "description": "Current status of the eDelivery"
                  },
                  "display_status": {
                    "type": "string",
                    "example": "pending",
                    "description": "Simplified description of the eDelivery status"
                  },
                  "errors": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "description": "Description of an error causing the transfer to fail"
                    }
                  },
                  "transmissions_documents": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "min_number": {
                          "type": "string",
                          "description": "The MIN number of the document",
                          "example": "999938068729325206"
                        },
                        "document_id": {
                          "type": "string",
                          "description": "ID of the document being transferred when applicable, referencing a document object in the eVault"
                        },
                        "emortgage_package_id": {
                          "type": "string",
                          "description": "ID of the emortgage_package being transferred when applicable, referencing a version of the document object in the eVault"
                        }
                      }
                    }
                  },
                  "transmissions_organizations": {
                    "type": "object",
                    "properties": {
                      "recipient": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/right_holder"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "inquiry_attributes": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "0d6bb319-b4fd-44a6-8dbc-e0311fe5bf94",
                "description": "The inquiry ID"
              },
              "type": {
                "type": "string",
                "example": "inquiries",
                "description": "The type of object"
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "initiated",
                      "completed",
                      "mers_responded_failed",
                      "snapdocs_error"
                    ],
                    "description": "The status of the inquiry: - 'initiated': the inquiry has been created and sent to MERS - 'completed': MERS has responded to the inquiry - 'mers_responded_failed': MERS has responded to the inquiry with an error - 'snapdocs_error': Snapdocs has encountered an error while processing the inquiry"
                  },
                  "mers_received_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the inquiry was received by MERS"
                  },
                  "errors": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "condition": {
                          "type": "string",
                          "example": "Error",
                          "enum": [
                            "Error",
                            "Warning"
                          ]
                        },
                        "code": {
                          "type": "string",
                          "example": "5016",
                          "description": "Error code received from MERS, please refer to MERS documentation for more details"
                        },
                        "name": {
                          "type": "string",
                          "description": "Error name received from MERS, please refer to MERS documentation for more details"
                        },
                        "description": {
                          "type": "string",
                          "description": "Error description received from MERS, please refer to MERS documentation for more details"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "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"
              }
            ]
          }
        }
      },
      "transfer_transmissions_organizations": {
        "type": "object",
        "properties": {
          "controller": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/right_holder"
            }
          },
          "location": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/right_holder"
            }
          },
          "master_servicer": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/right_holder"
            }
          },
          "subservicer": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/right_holder"
            }
          },
          "delegatee_for_transfers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/right_holder"
            }
          },
          "secured_party": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/right_holder"
            }
          },
          "secured_party_delegatee": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/right_holder"
            }
          }
        }
      },
      "reviewable_document": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "5279e4ca-cd04-49b3-9863-d94e9acc35fe",
            "description": "The reviewable document id"
          },
          "type": {
            "type": "string",
            "example": "reviewable_documents",
            "description": "The type of object"
          },
          "attributes": {
            "type": "object",
            "properties": {
              "min_number": {
                "type": "string",
                "description": "The MIN number of the eNote to append the file to",
                "example": "999938091211784532"
              },
              "document_type": {
                "type": "string",
                "description": "The document type",
                "example": "NoteAddendum"
              },
              "file_name": {
                "type": "string",
                "description": "The name of the file",
                "example": "document.pdf"
              },
              "file_type": {
                "type": "string",
                "description": "The type of the file",
                "example": "pdf"
              },
              "processable": {
                "type": "boolean",
                "description": "Whether the document can be used",
                "example": true
              }
            }
          }
        }
      },
      "add_document_payload": {
        "type": "object",
        "properties": {
          "mers": {
            "type": "object",
            "required": [
              "reviewable_document_id"
            ],
            "properties": {
              "reviewable_document_id": {
                "type": "string",
                "format": "uuid",
                "example": "02c0c641-f646-4c98-8879-87de6f91e375",
                "description": "id of the reviewable document to append to the eNote"
              }
            }
          }
        }
      },
      "add_document_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "change_data_id": {
                "type": "string",
                "format": "uuid",
                "example": "26a10d0a-a933-4a9e-afe6-ac5be3db9859",
                "description": "id of the created change data object"
              },
              "document_id": {
                "type": "string",
                "format": "uuid",
                "example": "4d124b5b-cf5f-44e5-a8fc-e9cc386b2835",
                "description": "id of the associated document (eNote)"
              }
            }
          },
          "errors": {
            "type": "object",
            "description": "Errors that occurred during the request"
          }
        }
      },
      "add_document_to_mers_payload": {
        "type": "object",
        "properties": {
          "mers": {
            "type": "object",
            "required": [
              "min_number",
              "reviewable_document_id"
            ],
            "properties": {
              "min_number": {
                "type": "string",
                "example": "999938029203623094",
                "description": "the MIN of the document (eNote)"
              },
              "reviewable_document_id": {
                "type": "string",
                "format": "uuid",
                "example": "02c0c641-f646-4c98-8879-87de6f91e375",
                "description": "id of the reviewable document to append to the eNote"
              }
            }
          }
        }
      },
      "add_document_to_mers_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "26a10d0a-a933-4a9e-afe6-ac5be3db9859",
                "description": "id of the created object, null if there was an error"
              },
              "min_number": {
                "type": "string",
                "example": "999938029203623094",
                "description": "the MIN of the document (eNote)"
              },
              "document_id": {
                "type": "string",
                "format": "uuid",
                "example": "4d124b5b-cf5f-44e5-a8fc-e9cc386b2835",
                "description": "id of the associated document (eNote)"
              },
              "emortgage_package_id": {
                "type": "string",
                "format": "uuid",
                "example": "a6114457-595c-4f45-818a-a7d4b3def565",
                "description": "the id of the associated emortgage package (current version of the eNote)"
              },
              "mers_action": {
                "type": "string",
                "example": "change_data",
                "description": "the associated action in the MERS system"
              },
              "snapdocs_action": {
                "type": "string",
                "example": "add_document_to_mers",
                "description": "the action executed"
              }
            }
          },
          "errors": {
            "type": "object",
            "description": "Errors that occurred during the request"
          }
        }
      },
      "mers_action_modification_payload": {
        "type": "object",
        "properties": {
          "mers": {
            "type": "object",
            "required": [
              "min_number",
              "reviewable_document_id"
            ],
            "properties": {
              "min_number": {
                "type": "string",
                "example": "999938029203623094",
                "description": "the MIN of the document (eNote)"
              },
              "reviewable_document_id": {
                "type": "string",
                "format": "uuid",
                "example": "02c0c641-f646-4c98-8879-87de6f91e375",
                "description": "id of the reviewable document to append to the eNote"
              },
              "loan_modification_type": {
                "type": "string",
                "enum": [
                  "Paper",
                  "Electronic"
                ],
                "example": "Paper",
                "description": "Loan modification type. Defaults to Paper."
              }
            }
          }
        }
      },
      "mers_action_modification_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "description": "Two records are returned in order: add_document_to_mers then modification",
            "items": {
              "$ref": "#/components/schemas/add_document_to_mers_response/properties/data"
            }
          },
          "errors": {
            "type": "object",
            "description": "Errors that occurred during the request"
          }
        }
      },
      "change_data_attributes": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "example": "29af140e-f250-4574-b6f4-f8aad2179b61",
                "description": "The change_data id"
              },
              "type": {
                "type": "string",
                "example": "change_data",
                "description": "The type of object"
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "example": "ChangeData",
                    "description": "The type of MERS action"
                  },
                  "status": {
                    "type": "string",
                    "example": "initiated",
                    "description": "Current status of the change data request"
                  },
                  "action_type": {
                    "type": "string",
                    "example": "Add Document",
                    "description": "The type of change data action being requested"
                  },
                  "created_at": {
                    "type": "string",
                    "example": "2023-07-31T21:18:27.669Z",
                    "format": "date-time",
                    "description": "time the change data request was created"
                  },
                  "updated_at": {
                    "type": "string",
                    "example": "2023-07-31T21:18:27.669Z",
                    "format": "date-time",
                    "description": "time the change data object was last updated"
                  },
                  "direction": {
                    "type": "string",
                    "example": "outbound",
                    "description": "indicates if the change data request was initiated (outbound) or received (inbound)",
                    "enum": [
                      "outbound",
                      "inbound"
                    ]
                  },
                  "display_loan_number": {
                    "type": "string",
                    "description": "The loan number of the document. Use for display only."
                  },
                  "display_min_number": {
                    "type": "string",
                    "description": "The MIN number of the document. Use for display only.",
                    "example": "999938068729325206"
                  },
                  "display_primary_borrower_name": {
                    "type": "string",
                    "description": "The primary borrower name. Use for display only.",
                    "example": "Green"
                  },
                  "mers_received_at": {
                    "type": "string",
                    "example": "2023-07-31T21:18:29.000Z",
                    "format": "date-time",
                    "description": "Date time at which MERS received the change data request"
                  },
                  "errors": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "description": "Description of an error causing the change data request to fail"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "inquiry_payload": {
        "type": "object",
        "properties": {
          "mers": {
            "type": "object",
            "properties": {
              "min_number": {
                "type": "string",
                "description": "The MIN number for which to do the inquiry",
                "example": "999938068729325206"
              },
              "signature_validation": {
                "type": "boolean",
                "default": true,
                "description": "Whether to validate the signature of the document with MERS, it is recommended to always validate the signature."
              }
            }
          }
        }
      },
      "assumption_payload": {
        "type": "object",
        "properties": {
          "mers": {
            "type": "object",
            "required": [
              "min_number",
              "borrowers_attributes"
            ],
            "properties": {
              "min_number": {
                "type": "string",
                "example": "999938029203623094",
                "description": "the MIN of the document (eNote)"
              },
              "borrowers_attributes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name_attributes": {
                      "type": "object",
                      "properties": {
                        "first_name": {
                          "type": "string",
                          "example": "David"
                        },
                        "middle_name": {
                          "type": "string",
                          "example": "John"
                        },
                        "last_name": {
                          "type": "string",
                          "example": "Green"
                        },
                        "name_suffix": {
                          "type": "string",
                          "example": "Jr"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "assumption_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "26a10d0a-a933-4a9e-afe6-ac5be3db9859",
                "description": "id of the created change data object"
              },
              "min_number": {
                "type": "string",
                "example": "999938029203623094",
                "description": "the MIN of the document (eNote)"
              },
              "document_id": {
                "type": "string",
                "format": "uuid",
                "example": "4d124b5b-cf5f-44e5-a8fc-e9cc386b2835",
                "description": "id of the associated document (eNote)"
              },
              "emortgage_package_id": {
                "type": "string",
                "format": "uuid",
                "example": "a6114457-595c-4f45-818a-a7d4b3def565",
                "description": "the id of the associated emortgage package (current version of the eNote)"
              },
              "mers_action": {
                "type": "string",
                "example": "change_data",
                "description": "the associated action in the MERS system"
              },
              "snapdocs_action": {
                "type": "string",
                "example": "assumption",
                "description": "the action executed"
              }
            }
          },
          "errors": {
            "type": "object",
            "description": "Errors that occurred during the request"
          }
        }
      }
    }
  }
}