# Promise to Pay Plans

This object represents a `Promise to Pay Plan`. A `Promise to Pay Plan` is a group of Promise to Pay
Periods— unscheduled payments that was verbally committed by a borrower. `Promise to Pay Plan`s are
defined on an account level. `Promise to Pay Plan`s are not guaranteed payments. They are used to track
verbal commitments made by borrowers.

Note: When creating or updating a `Promise to Pay Plan`, either pass a `schedule` object, or pass schedule descriptor
attributes— `startDate`, `frequency`, `specificDays`, `duration` and `amount`. Mixing the two
approaches is not allowed.


## Evaluate Promise to Pay Plan, does not require personId

 - [PUT /companies/{companyId}/loans/{loanId}/promise-to-pay-plans/{promiseToPayPlanId}/evaluate](https://docs.peachfinance.com/api-docs/api-public/promise-to-pay-plans/peach.loans.promise_to_pays.handlers.internal_evaluate_promise_to_pay_plan.md): Evaluates a Promise to Pay Plan and updates the status and isOverdue of the Promise to Pay Plan.

## Get Promise to Pay Plans for a Loan

 - [GET /people/{personId}/loans/{loanId}/promise-to-pay-plans](https://docs.peachfinance.com/api-docs/api-public/promise-to-pay-plans/peach.loans.promise_to_pays.handlers.get_promise_to_pay_plans_by_loan.md): Returns Promise to Pay Plans for a given Loan.

## Create Promise to Pay Plan

 - [POST /people/{personId}/loans/{loanId}/promise-to-pay-plans](https://docs.peachfinance.com/api-docs/api-public/promise-to-pay-plans/peach.loans.promise_to_pays.handlers.create_promise_to_pay_plan.md): Creates a new Promise to Pay Plan.

## Get Promise to Pay Plan

 - [GET /people/{personId}/loans/{loanId}/promise-to-pay-plans/{promiseToPayPlanId}](https://docs.peachfinance.com/api-docs/api-public/promise-to-pay-plans/peach.loans.promise_to_pays.handlers.get_promise_to_pay_plan.md): Returns a Promise to Pay Plan for a given Loan.

## Cancel Promise to Pay Plan

 - [PUT /people/{personId}/loans/{loanId}/promise-to-pay-plans/{promiseToPayPlanId}/cancel](https://docs.peachfinance.com/api-docs/api-public/promise-to-pay-plans/peach.loans.promise_to_pays.handlers.cancel_promise_to_pay_plan.md): Cancels a Promise to Pay Plan.

## Evaluate Promise to Pay Plan

 - [PUT /people/{personId}/loans/{loanId}/promise-to-pay-plans/{promiseToPayPlanId}/evaluate](https://docs.peachfinance.com/api-docs/api-public/promise-to-pay-plans/peach.loans.promise_to_pays.handlers.evaluate_promise_to_pay_plan.md): Evaluates a Promise to Pay Plan and updates the status and isOverdue of the Promise to Pay Plan.

## Get Promise to Pay Plans for a company

 - [GET /promise-to-pay-plans](https://docs.peachfinance.com/api-docs/api-public/promise-to-pay-plans/peach.loans.promise_to_pays.handlers.get_promise_to_pay_plans_by_company.md): Returns Promise to Pay Plans for a given company.

