openapi: 3.2.0 info: title: Guarantor Settlement Purchase Statement Purchase Advice… version: 1.0.0 servers: - url: https://api-test.freddiemac.com/single-family/guarantor-settlement-service/v1 security: - bearerAuth: [] tags: - name: purchase-advice-guarantor-controller paths: /purchase_statement: post: tags: - purchase-advice-guarantor-controller summary: Get Details of Guarantor Contract operationId: getPurchaseStatement parameters: - name: X-CSS-VENDOR-IDENTIFIER in: header description: A unique identifier that identifies the vendor. schema: type: string - name: X-CSS-VENDOR-NAME in: header description: The vendor company name that identifies the vendor identifier schema: type: string - name: X-CSS-VENDOR-SOFTWARE in: header description: The vendor software name utilized to submit the loan through the system schema: type: string - name: X-CSS-VENDOR-SOFTWARE-VERSION in: header description: The vendor software version name utilized to submit the loan through the system schema: type: string requestBody: description: Sample Request content: application/json: schema: $ref: '#/components/schemas/Request' examples: ValidRequest - 1: description: ValidRequest - 1 value: date: '2022-07-05' sellerId: '196598' correlationID: 3fa85f64-5717-4562-b3fc-2c963f66afa6 'ValidRequest - 2 ': description: 'ValidRequest - 2 ' value: date: '2022-08-02' sellerId: '196598' correlationID: 3fa85f64-5717-4562-b3fc-2c963f66afa6 InvalidRequest - 1: description: InvalidRequest - 1 value: date: '2999-12-31' sellerId: '999999' correlationID: 3fa85f64-5717-4562-b3fc-2c963f66afa6 InvalidRequest - 2: description: InvalidRequest - 2 value: date: '2022-06-27' sellerId: '99999' correlationID: 3fa85f64-5717-4562-b3fc-2c963f66afa6 required: true responses: '200': description: Successfully retrieved response content: application/json: schema: $ref: '#/components/schemas/PurchaseStatement' example: sellerName: sellerName sellerId: '123456' orgId: '999999' sellerAddressStreet: sellerAddress designatedServicerName: servicerName servicerIdentifer: '99999' servicerAddressStreet: servicerAddress contractList: - contractName: Contract Name contractNumber: 36383642 prefix: CP poolNumber: CA12345 cusipNumber: POOLNUM contractAmount: 108000 remittanceType: STANDARD prePaymentRemittanceDueDays: 5 totalOPB: 1048848 totalPCCoupon: 0.035 contractSettlementDate: '2023-09-11' securityProduct: 30-Year High LTV >105 to<=125 Freddie Mac MBS participationPercentageRate: '100.00' loan: - sellerLoanIdentifier: '8200642379' freddieMacLoanNumber: '010000000' piPaymentFREAmount: 1137.28 lastPaidInstallmentDueDate: '2023-07-01' principalPurchased: 220915.27 interestRate: 0.04625 accruedInterest: 435.09 remainingMtyperiod: 360 basisPoints: 0.0025 bubdRatio: 5.26 bubdProceeds: 2905.04 deliveryFeesList: - feeName: Delivery Fee Name feeRate: '-0.06' feeAmount: '-309.59' gfeeList: - feeName: Gfee Name feeRate: '-0.06' feeAmount: '-309.59' securityTransferInstruction: fedwireShortName: 'BANK ' furtherInstructions: '' subAccountIdentifier: TEST ABA: '99999999999' totalAccruedInterest: 1283.87 wgtd_AvgNoteRate: 0.04625 totalPurchasePriceAmount: 1048848.17 wgtd_AvgAccountingNetYield: 0.04225 pcoupon_TotalAccruedInterest: 101.97 grandTotMortgagePurchase: 1048971.23 grandTotWacArmPCsettlmt: 1048949.97 amtDueToSeller: 21.26 grandTotBuBdProceeds: 2905.04 '400': description: Bad Request content: application/json: schema: type: string example: code: '400' message: Missing header Content-type details: Content-type must be application/json '401': description:
  • You are not authorized to view the resource
  • 401.001 - Invalid Access Token, please validate the token, if error persists, please renew your token.
  • 401.002 - Access Token Expired, please renew your access token.
  • 401.003 - API Product mismatch for token,your token does not have access to the requested API.
  • 401.004 - Invalid API Key, please validate the client ID.
  • 401.005 - Invalid API Key for given resource.
  • 401.006 - Insufficient scope for Application.
  • 401.007 - Invalid Username/password combination, please verify the credentials.
  • 401.008 - Invalid Refresh Token.
  • 401.009 - Invalid client secret.
  • 401.010 - Refresh Token expired.
  • content: application/json: schema: type: string example: code: '401.001' message: Not Authorized details: Invalid Access Token, please validate the token, if error persists, please renew your token. '403': description: Accessing the resource you were trying to reach is forbidden content: application/json: schema: type: string example: code: '403' message: Access Forbidden details: Accessing the resource you were trying to reach is forbidden '404': description: The resource you were trying to reach is not found content: application/json: schema: type: string example: code: '404' message: Resource Not Found details: The resource you were trying to reach is not found '500': description: Internal Server Error content: application/json: schema: type: string example: code: '500' message: Internal Server Error details: Unable to retrieve data for the submitted request at this time due to Internal Server error. Please resubmit or contact Customer Support at (800-FREDDIE) for assistance '502': description: Bad Gateway content: application/json: schema: type: string example: code: '502' message: Server experienced some Internal Error details: Unable to retrieve data for the submitted request at this time due to invalid response from the gateway. Please resubmit or contact Customer Support at (800-FREDDIE) for assistance components: schemas: Contract: type: object properties: contractName: type: string description: A free text name assigned by the seller of the Loan Purchase Contract to help them track, identify, and retrieve the contract data in our system. The contract name specified by a user contractNumber: type: integer description: A unique identifier for a group of loans identified as part of a cash pool or a security pool. format: int32 prefix: type: string description: An issuer assigned prefix code (suffix for GNMA) for a mortgage backed security that describes the type of collateral that backs the security poolNumber: type: string description: The unique identifier for a collection of financial instruments. The pool may serve as collateral, be associated with a credit enhancement, or be used as a cohort for a common valuation cusipNumber: type: string description: The unique industry wide identifier for a security, assigned by the committee on uniform security identification procedures (CUSIP). contractAmount: type: number description: The dollar amount of the Contract not including tolerance. remittanceType: type: string description: Indicates the specific remittance options for the mortgage under a specific commitment. enum: - FIRST_TUESDAY - GOLD - ARC - SUPER_ARC - DARC - DDARC - CD - DAYS_POST_CUTOFF - DAYS_POST_FIRST - ARC_4 - ARC_5 - STANDARD prePaymentRemittanceDueDays: type: integer description: Indicates the number of days you will have to remit the unpaid principal balance to Freddie Mac if a loan is paid off early format: int32 totalOPB: type: number description: The total amount of Original Principal Balance for all loans allocated to the guarantor loan purchase contract. totalPCCoupon: type: number description: The average of the gross interest rates of the mortgages in a mortgage pool, as of the issue date. contractSettlementDate: type: string description: The date in which you must fulfill the terms of your Guarantor purchase contract to Freddie Mac. format: date securityProduct: type: string description: The highest indicator of the types of mortgages that can be delivered under a contract. participationPercentageRate: type: number description: Defaulted as 100% since Freddie Mac currently does not purchase less than that amount. loan: type: array description: Loan Data for Each Loan items: $ref: '#/components/schemas/Loan' securityTransferInstruction: $ref: '#/components/schemas/SecurityTransferInstruction' origWgtd_AvgCompMargin: type: string description: "Loop thru each loan: Total Gross Margin of allocated loans = sum of (Margin Rate Percent * Arrived UPB Amount Loan Acquisition Scheduled UPB )\n WAC Contract Gross Margin = Total Gross Margin of allocated loans / Sum of Arrived UPB Amount Loan Acquisition Scheduled UPB \n Weighted Average Original Avg Component Margin = WAC Contract Gross Margin - GFee - Minimum Margin Servicing Spread" origWgtd_AvgCompLife: type: string description: "Total Life Of Loan Rate for allocated loans = Sum of (Ceiling Rate Percent * Arrived UPB Amount Loan Acquisition Scheduled UPB Amount )\n\nCalculated Life Of Loan Rate = Total Life Of Loan Rate for allocated loans / Sum Of Arrived UPB Amount Loan Acquisition Scheduled UPB Amount \nIF Adjustor ExecutionLevel == Contract level or Loan level Then\n Total Gfee = Sum of ((Loan Level Gfee + BUBD Basis Points) * Arrived UPB Amount Loan Acquisition Scheduled UPB Amount )\nELSE\n Total Gfee = Sum of (Loan Level Gfee * allocatedLoan Arrived UPB Amount Loan Acquisition Scheduled UPB Amount )\nSwap Contract Weighted Average Gfee = Total Gfee / Sum Of Arrived UPB Amount Loan Acquisition Scheduled UPB Amount\nWeighted Average Life Of Loan Rate = Calculated Life Of Loan Rate - Swap Contract Weighted Average Gfee - Minimum Lifetime Servicing Spread" origWgtd_AvgCoupon: type: string description: The weighted average of the gross interest rates of the ARM mortgages in a mortgage pool, as of the issue date, with the balance of each mortgage used as a weighting factor. totalAccruedInterest: type: number description: The dollar amount of the accrued interest in the current accounting period to be paid in the next period for all loans allocated to the guarantor loan purchase contract. wgtd_AvgNoteRate: type: number description: The weighted average of the gross interest rates of the mortgages in a collateral group, as of the issue date, with the balance of each mortgage used as a weighting factor. totalPurchasePriceAmount: type: number description: The total amount of Unpaid Principal Balance for all loans allocated to the guarantor loan purchase contract. wgtd_AvgAccountingNetYield: type: number description: The average of the rate at which the Servicer remits interest to Freddie Mac for all loans allocated to the guarantor loan purchase contract. It is calculated by taking the loan note rate minus the servicing fee per loan and then determining the average for all loans allocated to the guarantor loan purchase contract. pcoupon_TotalAccruedInterest: type: number grandTotMortgagePurchase: type: number description: The sum of Total of Unpaid Principal Balance (total of all loans) + Total of Accrued Interest (total of all loans) grandTotWacArmPCsettlmt: type: number description: Sum of Total of Unpaid Principal Balance (total of all loans) + Total of Accrued Interest (total of all loans) amtDueToSeller: type: number description: 'The total amount of Amount Due to Seller for all loans allocated to the guarantor loan purchase contract. ' grandTotBuBdProceeds: type: number description: 'The amount of credit or discount based per loan based on bu/bd options selected for all loans allocated to the guarantor loan purchase contract. ' description: Contract Data. PurchaseStatement: type: object properties: requestReceivedOn: title: Request received Time type: string description: 'Request received time to api, A date-time with an offset from UTC/Greenwich in the ISO-8601 calendar system, such as 2020-12-21T10:00:25+01:00' format: date-time processingTimeInSeconds: title: Processing Time In Seconds type: integer description: Time taken by API to process the request (in seconds) format: int64 correlationId: type: string description: Randomly generated identifier value that is added to every request and response.In a microservice architecture, the initial Correlation ID is passed to your sub-processes.If a sub-system also makes sub-requests, it will also pass the Correlation ID to those systems format: uuid example: 11cfc0f4-4544-43de-b9f6-f3b419b82e19 message: type: string description: Status of the request example: Success sellerName: type: string description: The unparsed name of either an individual or a legal entity. (The name of the seller.) sellerId: type: string description: The unique identifier assigned to a party, which may be an individual, a counterparty, or a related organizatio orgId: type: string description: A system-generated identifier to uniquely identify the organization to which the loan or contract belongs. sellerAddressStreet: type: string description: The organization address of the Seller. designatedServicerName: type: string description: Company name of the Servicer. servicerIdentifer: type: string description: Unique 6 digit numeric identifier assigned by Freddie Mac. servicerAddressStreet: type: string description: The organization address of the servicer. contractList: type: array description: Contract Data. items: $ref: '#/components/schemas/Contract' Request: title: Purchase Statement Request Parameters required: - date - sellerId type: object properties: date: title: Purchase Statement, Loan Settlement Date type: string description: Requested Date for the Purchase Statement API must be Current Date Or in the Past upto 61 Days format: date example: '2022-07-22' sellerId: pattern: '[\d]{6}' type: string description: ID of the Seller for who purchase statement is requested example: '999999' correlationID: type: - string - 'null' description: Randomly generated identifier value that is added to every request and response.In a microservice architecture, the initial Correlation ID is passed to your sub-processes.If a sub-system also makes sub-requests, it will also pass the Correlation ID to those systems format: uuid example: 11cfc0f4-4544-43de-b9f6-f3b419b82e19 description: This provides details on request parameter for the Purchase Statement API Loan: type: object properties: sellerLoanIdentifier: type: string description: A unique identifier assigned by the seller to the loan. freddieMacLoanNumber: type: string description: A Freddie Mac supplied number assigned to the Mortgage by the Seller/Servicer piPaymentFREAmount: type: number description: The dollar amount of the principal and interest payment as stated on the Note. The principal and interest payment is usually obtained using the loan amount and interest rate to arrive at full amortization during the loan term. lastPaidInstallmentDueDate: type: string description: The due date of last paid installment that had been collected for the mortgage. principalPurchased: type: number description: The dollar amount of this proceed portion. interestRate: type: number description: The minimum interest rate for all the loans eligible for allocation to the contract. firstRateAdj: type: string description: The date, as established in the Note, on which the first adjustment in the Note Rate is effective. The related ULDD Data Point name is First Rate Change Payment Effective Date, and it is also known as the Payment Change Date. accountNetYield: type: number description: The rate that the Servicer uses to report and remit interest to Freddie Mac each month, defined as the Note Rate minus the Servicing Fee. accruedInterest: type: number description: The dollar amount of this proceed portion. loanNetMarginRate: type: number description: The net margin is the gross margin minus the minimum contract servicing spread. It is used to calculate the new ANY for ARMs sold under the Cash program. accountingNetLifeCapRate: type: number description: Lifetime Ceiling minus the Required Spread and the Minimum Contract Servicing Spread. The related ULDD Data Point name is Ceiling Rate Percent. remainingMtyperiod: type: integer description: The number of moths remaining until the maturity date of the loan. format: int32 basisPoints: type: number description: 1/32nd of a percent that has been credited or discounted to the Seller of a loan. bubdRatio: type: number description: A Freddie Mac defined ratio by note rate. bubdProceeds: type: number description: The amount of credit or discount based per loan based on bu/bd options selected. deliveryFeesList: type: array description: A fee charged to deliver a loan items: $ref: '#/components/schemas/DeliveryFees' gfeeList: type: array items: $ref: '#/components/schemas/Gfee' description: Loan Data for Each Loan DeliveryFees: type: object properties: feeName: type: string description: Name of the Fee feeRate: type: number description: A fee charged to deliver a loan as percent Values feeAmount: type: number description: The value of the delivery fee in dollars description: A fee charged to deliver a loan Gfee: type: object properties: feeName: type: string description: Name of the Fee feeRate: type: number description: A fee charged to deliver a loan as percent Values feeAmount: type: number description: The value of the delivery fee in dollars SecurityTransferInstruction: type: object properties: fedwireShortName: type: string description: Full legal name and location (city, state, and zip code) of the bank receiving the funds for the beneficiary. furtherInstructions: type: string description: Descriptive text of further credit information about the Third Party/FRB Subaccount. subAccountIdentifier: type: string description: The sub account number of the 3rd party. ABA: type: string description: The ABA routing number of the bank that Freddie Mac will send wire funds to or ACH draft funds from. description: Wire Instructions for Each Contract securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: token