{ "openapi" : "3.0.1", "info" : { "title" : "Loan Import API", "version" : "4.0.0" }, "servers" : [ { "url" : "https://api-test.freddiemac.com/single-family/lsa" } ], "security" : [ { "bearerAuth" : [ ] } ], "paths" : { "/v1/loans/import" : { "post" : { "tags" : [ "Loan Import API" ], "summary" : "Loan Import API", "description" : "The request metadata must be included in the 'requestMetadataJson' field as a JSON object. Update the example JSON below to fit your scenario. \n\n **Example 1: Request Metadata for Seller for import and allocate an existing Loan to a Guarantor contract.**\n\n Please change the following fields to submit a valid request and “Try it out” \n\n 'sellerIdentifier', 'sellerOrganizationBranchIdentifier', 'investorContractIdentifier' \n ```json\n{\n \"correlationIdentifier\": \"5234-1156-83456\",\n \"sellerIdentifier\": \"999999\",\n \"sellerOrganizationBranchIdentifier\": 999999,\n \"counterPartyType\": \"Seller\",\n \"overwriteExistingLoan\": true,\n \"contractUPBLimitIndicator\": false,\n \"useSellerLoanIdOnly\": false,\n \"requestToEvaluateLoans\": false,\n \"investorContractIdentifier\": 99999999\n}\n```\n\n **Example 2: Request Metadata for Seller for import, allocate and evaluate New Cash loan providing Contract number_in the file.**\n\n Please change the following fields to submit a valid request and “Try it out” \n\n 'sellerIdentifier', 'sellerOrganizationBranchIdentifier', 'pricingIdentifier' \n ```json\n{\n \"correlationIdentifier\": \"1234-1126-83456\",\n \"sellerIdentifier\": \"999999\",\n \"sellerOrganizationBranchIdentifier\": 999999,\n \"counterPartyType\": \"Seller\",\n \"overwriteExistingLoan\": false,\n \"contractUPBLimitIndicator\": true,\n \"useSellerLoanIdOnly\": false,\n \"pricingIdentifier\": \"M99999999\"\n}\n``` \n\n **Example 3: Request Metadata for Seller for import, allocate and evaluate new Cash Loan.**\n\n Please change the following fields to submit a valid request and “Try it out” \n\n 'sellerIdentifier', 'sellerOrganizationBranchIdentifier', 'investorContractIdentifier' \n ```json\n{\n \"correlationIdentifier\": \"3234-1126-81456\",\n \"sellerIdentifier\": \"999999\",\n \"sellerOrganizationBranchIdentifier\": 999999,\n \"counterPartyType\": \"Seller\",\n \"overwriteExistingLoan\": false,\n \"contractUPBLimitIndicator\": true,\n \"useSellerLoanIdOnly\": false,\n \"investorContractIdentifier\": 99999999\n}\n``` \n\n **Example 4: Request Metadata For Seller for Import and evaluate New_Unallocated Loan.**\n\n Please change the following fields to submit a valid request and “Try it out” \n\n 'sellerIdentifier', 'sellerOrganizationBranchIdentifier' \n ```json\n{\n \"correlationIdentifier\": \"7234-1156-53456\",\n \"sellerIdentifier\": \"999999\",\n \"sellerOrganizationBranchIdentifier\": 999999,\n \"counterPartyType\": \"Seller\",\n \"overwriteExistingLoan\": false,\n \"contractUPBLimitIndicator\": false,\n \"useSellerLoanIdOnly\": false\n }\n``` \n\n **Example 5: Request Metadata for Secondary Market Advisor [SMA] for Import, allocate and evaluate New loan to a Guarantor contract providing a Pool number in the request metadata.**\n\n Please change the following fields to submit a valid request and “Try it out” \n\n 'sellerIdentifier', 'sellerOrganizationBranchIdentifier','requestingPartyAccountIdentifier', 'pricingIdentifier', 'poolNumber' \n ```json\n{\n \"correlationIdentifier\": \"9234-1196-53486\",\n \"sellerIdentifier\": \"999999\",\n \"sellerOrganizationBranchIdentifier\": 999999, \n \"requestingPartyAccountIdentifier\": \"SMA999\",\n \"counterPartyType\": \"SecondaryMarketAdvisor\",\n \"overwriteExistingLoan\": false,\n \"contractUPBLimitIndicator\": false,\n \"useSellerLoanIdOnly\": false,\n \"pricingIdentifier\": \"M99999999\", \n \"poolNumber\": \"SA9999\"\n }\n```", "operationId" : "importLoanS2S", "parameters" : [ { "name" : "env", "in" : "header", "description" : "
Environment \n\n
", "required" : false, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "default" : "ProductionBaseline", "enum" : [ "ProductionBaseline", "Pre-Production" ] } }, { "name" : "X-LIS-VENDOR-IDENTIFIER", "in" : "header", "description" : "A unique identifier that identifies the vendor.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "type" : "string" } }, { "name" : "X-LIS-VENDOR-NAME", "in" : "header", "description" : "The vendor company name that identifies the vendor identifier.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "type" : "string" } }, { "name" : "X-LIS-VENDOR-SOFTWARE", "in" : "header", "description" : "The vendor software name utilized to submit the loan through the system.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "type" : "string" } }, { "name" : "X-LIS-VENDOR-SOFTWARE-VERSION", "in" : "header", "description" : "The vendor software version name utilized to submit the loan through the system.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "multipart/form-data" : { "schema" : { "required" : [ "file", "requestMetadataJson" ], "type" : "object", "properties" : { "file" : { "type" : "string", "format" : "binary" }, "requestMetadataJson" : { "$ref" : "#/components/schemas/LoanImportRequest" } } } } } }, "responses" : { "200" : { "description" : "OK", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/LoanImportResponse" }, "examples" : { "ImportLoanResponse" : { "$ref" : "#/components/examples/ImportLoanResponse" } } } } }, "400" : { "description" : "Bad Request \r\n\n Error codes & details \r\n\n 400.001 SellerIdentifier Required \r\n\n 400.002 SellerIdentifier Invalid Request Type. \r\n\n 400.003 FileIdentifier Required \r\n\n 400.004 FileIdentifier Invalid Request Type. \r\n\n 400.005 SellerOrganizationBranchIdentifier Required \r\n\n 400.006 CorrelationIdentifier Required \r\n\n 400.007 CorrelationIdentifier Invalid Data Type. \r\n\n 400.008 PoolNumber Invalid Request Type. \r\n\n 400.009 Invalid PoolNumber Response\r\n\n 400.010 ContractUPBLimitIndicator Required \r\n\n ", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/LoanImportFileStatusRequest" }, "examples" : { "SellerIdentifierRequiredResponse" : { "$ref" : "#/components/examples/SellerIdentifierRequiredResponse" }, "SellerIdentifierInvalidRequestTypeResponse" : { "$ref" : "#/components/examples/SellerIdentifierInvalidRequestTypeResponse" }, "FileIdentifierRequiredResponse" : { "$ref" : "#/components/examples/FileIdentifierRequiredResponse" }, "FileIdentifierInvalidRequestTypeResponse" : { "$ref" : "#/components/examples/FileIdentifierInvalidRequestTypeResponse" }, "SellerOrganizationBranchIdentifierRequiredResponse" : { "$ref" : "#/components/examples/SellerOrganizationBranchIdentifierRequiredResponse" }, "CorrelationIdentifierRequiredResponse" : { "$ref" : "#/components/examples/CorrelationIdentifierRequiredResponse" }, "CorrelationIdentifierInvalidDataTypeResponse" : { "$ref" : "#/components/examples/CorrelationIdentifierInvalidDataTypeResponse" }, "PoolNumberInvalidRequestTypeResponse" : { "$ref" : "#/components/examples/PoolNumberInvalidRequestTypeResponse" }, "InvalidPoolNumberResponse" : { "$ref" : "#/components/examples/InvalidPoolNumberResponse" }, "ContractUPBLimitIndicatorRequiredResponse" : { "$ref" : "#/components/examples/ContractUPBLimitIndicatorRequiredResponse" } } } } }, "401" : { "description" : "Unauthorized \r\n\n Error codes & details \r\n\n 401 Rejected by policy", "content" : { "application/json" : { "examples" : { "ImportErrorResponse401" : { "$ref" : "#/components/examples/ImportErrorResponse401" } } } } }, "403" : { "description" : "The user does not have the permission to access the function \r\n\n Error codes & details \r\n\n 403 Rejected by policy", "content" : { "application/json" : { "examples" : { "ImportErrorResponse403" : { "$ref" : "#/components/examples/ImportErrorResponse403" } } } } }, "500" : { "description" : "Internal Server Error
\nError codes & details
Environment \n\n
", "required" : false, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "default" : "ProductionBaseline", "enum" : [ "ProductionBaseline", "Pre-Production" ] } }, { "name" : "X-LIS-VENDOR-IDENTIFIER", "in" : "header", "description" : "A unique identifier that identifies the vendor.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "type" : "string" } }, { "name" : "X-LIS-VENDOR-NAME", "in" : "header", "description" : "The vendor company name that identifies the vendor identifier.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "type" : "string" } }, { "name" : "X-LIS-VENDOR-SOFTWARE", "in" : "header", "description" : "The vendor software name utilized to submit the loan through the system.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "type" : "string" } }, { "name" : "X-LIS-VENDOR-SOFTWARE-VERSION", "in" : "header", "description" : "The vendor software version name utilized to submit the loan through the system.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/LoanImportFileStatusRequest" }, "examples" : { "LoanImportFileStatusRequestForSeller" : { "$ref" : "#/components/examples/LoanImportFileStatusRequestForSeller" }, "LoanImportFileStatusRequestForSMA" : { "$ref" : "#/components/examples/LoanImportFileStatusRequestForSMA" } } } }, "required" : true }, "responses" : { "200" : { "description" : "OK", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/LoanImportFileStatusResponse" }, "examples" : { "LoanImportFileStatusReponseWithoutErrors" : { "$ref" : "#/components/examples/LoanImportFileStatusReponseWithoutErrors" }, "LoanImportFileStatusIntermediateResponse" : { "$ref" : "#/components/examples/LoanImportFileStatusIntermediateResponse" }, "LoanImportFileStatusReponseWithErrors" : { "$ref" : "#/components/examples/LoanImportFileStatusReponseWithErrors" } } } } }, "400" : { "description" : "Bad Request \r\n\n Error codes & details \r\n\n 400.001 SellerIdentifier Required \r\n\n 400.002 SellerIdentifier Invalid Request Type. \r\n\n400.003 FileIdentifier Required \r\n\n 400.004 FileIdentifier Invalid Request Type. \r\n\n 400.005 SellerOrganizationBranchIdentifier Required \r\n\n 400.006 CorrelationIdentifier Required \r\n\n 400.007 CorrelationIdentifier Invalid Data Type. \r\n\n", "content" : { "application/json" : { "examples" : { "SellerIdentifierRequiredResponse" : { "$ref" : "#/components/examples/SellerIdentifierRequiredResponse" }, "SellerIdentifierInvalidRequestTypeResponse" : { "$ref" : "#/components/examples/SellerIdentifierInvalidRequestTypeResponse" }, "FileIdentifierRequiredResponse" : { "$ref" : "#/components/examples/FileIdentifierRequiredResponse" }, "FileIdentifierInvalidRequestTypeResponse" : { "$ref" : "#/components/examples/FileIdentifierInvalidRequestTypeResponse" }, "SellerOrganizationBranchIdentifierRequiredResponse" : { "$ref" : "#/components/examples/SellerOrganizationBranchIdentifierRequiredResponse" }, "CorrelationIdentifierRequiredResponse" : { "$ref" : "#/components/examples/CorrelationIdentifierRequiredResponse" }, "CorrelationIdentifierInvalidDataTypeResponse" : { "$ref" : "#/components/examples/CorrelationIdentifierInvalidDataTypeResponse" } } } } }, "401" : { "description" : "Unauthorized \r\n\n Error codes & details \r\n\n 401 Rejected by policy", "content" : { "application/json" : { "examples" : { "ImportErrorResponse401" : { "$ref" : "#/components/examples/ImportErrorResponse401" } } } } }, "403" : { "description" : "The user does not have the permission to access the function \r\n\n Error codes & details \r\n\n 403 Rejected by policy", "content" : { "application/json" : { "examples" : { "ImportErrorResponse403" : { "$ref" : "#/components/examples/ImportErrorResponse403" } } } } }, "500" : { "description" : "Internal Server Error
\nError codes & details