# 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.

 - [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 /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 Plan`s for a given `Loan`.
 - [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 /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`.
 - [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`.
 - [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](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 Plan`s for a given company.
