Autopay

This object represents the current Autopay plan. The current Autopay plan must be canceled before creating a new plan. The autopay cadence can be aligned to due dates or can be on a different payment schedule.

Create Autopay plan

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string^ext-|^[A-Z]{2}-[A-Z0-9]+-[A-Z0-9]+|^\d+$

A Borrower's unique identifier, tied to a person or a business. Can be Peach or a lender's external identifier.

loanId
required
string^ext-|^[A-Z]{2}-[A-Z0-9]+-[A-Z0-9]+|^\d+$

The unique identifier of the Loan we wish to retrieve. Can be Peach or lender's external identifier.

Request Body schema: application/json
Any of:
previewMode
boolean
Default: false

In previewMode=true, the loan doesn't change and no changes are saved to the database.

isAlignedToDueDates
boolean

true - the Autopay payments will be aligned and processed on the loan's due dates.

false - the Autopay payments schedule will be different from the loan's due dates schedule.

If isAlignedToDueDates=false then paymentFrequency and specificDays must be provided.

paymentFrequency
string

The Autopay payments frequency.

Enum: "weekly" "everyTwoWeeks" "twiceMonthly" "monthly"
specificDays
Array of any or null

Specific days designates the day(s) that due dates will fall on. The allowed values for specific day(s) depends on the paymentFrequency.

weekly - provide one number in the valid range 1-7. 1=Monday...7=Sunday.

For example: [1].

everyTwoWeeks - provide two inputs. The first input (required) is an integer in the valid range 1-7. 1=Monday...7=Sunday.

The second input is a date that indicates when to start the cycle. If the second input is not passed, the system will default to the first valid start date based on the first input (the day of week passed in).

For example: [1, "2020-09-16"].

twiceMonthly - provide two numbers in the valid range 1-31. 1=first day of a month. Use 31 to indicate the last day of a month.

For example: [1, 15] or [15, 31].

monthly - provide one number in the valid range 1-31. 1=first day of a month. Use 31 to indicate the last day of a month.

For example: [1].

singleTerm - provide one number to indicate duration as a number of calendar days or provide a valid calendar date in the future. This option is only valid for use on the installment type and at loan origination. For example: [90] or ["2020-09-16"].

For weekly, everyTwoWeeks, twiceMonthly, monthly: If specificDays is left null, then the system will calculate due dates according to the paymentFrequency relative to the origination or activation date (or use existing specific days in the case of change due date).

For singleTerm: The specificDays is mandatory.

paymentInstrumentId
required
string

The payment instrument ID with which this autopay plan will be charged through.

agreementDocumentId
string

The document ID for the signed autopay agreement. Required if previewMode=false.

caseId
string

An identifier for an existing case.

sendNotice
boolean
Default: true

When set to false, the system will NOT send a autopayEnabled notice to the borrower.

Responses
200

Success

post/people/{personId}/loans/{loanId}/autopay
Request samples
application/json
{
  • "previewMode": false,
  • "isAlignedToDueDates": true,
  • "paymentFrequency": "weekly",
  • "specificDays": [
    ],
  • "paymentInstrumentId": "string",
  • "agreementDocumentId": "string",
  • "caseId": "string",
  • "sendNotice": true
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Get Autopay plan

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string^ext-|^[A-Z]{2}-[A-Z0-9]+-[A-Z0-9]+|^\d+$

A Borrower's unique identifier, tied to a person or a business. Can be Peach or a lender's external identifier.

loanId
required
string^ext-|^[A-Z]{2}-[A-Z0-9]+-[A-Z0-9]+|^\d+$

The unique identifier of the Loan we wish to retrieve. Can be Peach or lender's external identifier.

query Parameters
statuses
Array of strings
Default: ["booked","modified"]

The comma separated list of status values of autopay expected payments to include in the results, which are merged by date. All autopay expected payments can still be accessed in the individualEntries field.

Items Enum: "booked" "skipped" "canceled" "modified" "draft" "processed"
Responses
200

Success

get/people/{personId}/loans/{loanId}/autopay
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Update Autopay plan

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string^ext-|^[A-Z]{2}-[A-Z0-9]+-[A-Z0-9]+|^\d+$

A Borrower's unique identifier, tied to a person or a business. Can be Peach or a lender's external identifier.

loanId
required
string^ext-|^[A-Z]{2}-[A-Z0-9]+-[A-Z0-9]+|^\d+$

The unique identifier of the Loan we wish to retrieve. Can be Peach or lender's external identifier.

Request Body schema: application/json
paymentInstrumentId
required
string

The payment instrument ID with which this autopay plan will be charged through.

agreementDocumentId
required
string

The document ID for the signed autopay agreement. Required if previewMode=false.

caseId
string

An identifier for an existing case.

sendNotice
boolean
Default: true

When set to false, the system will NOT send a autopayPaymentMethodUpdated notice to the borrower.

Responses
200

Success

put/people/{personId}/loans/{loanId}/autopay
Request samples
application/json
{
  • "paymentInstrumentId": "string",
  • "agreementDocumentId": "string",
  • "caseId": "string",
  • "sendNotice": true
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Cancel Autopay plan

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string^ext-|^[A-Z]{2}-[A-Z0-9]+-[A-Z0-9]+|^\d+$

A Borrower's unique identifier, tied to a person or a business. Can be Peach or a lender's external identifier.

loanId
required
string^ext-|^[A-Z]{2}-[A-Z0-9]+-[A-Z0-9]+|^\d+$

The unique identifier of the Loan we wish to retrieve. Can be Peach or lender's external identifier.

query Parameters
cancellationReason
string
Default: "canceledByUser"

The the cancellation reason. This is sent as a query parameter because some internet infrastructure, including proxies might remove a body of a DELETE method

Enum: "invalidPaymentMethod" "paymentMethodRemoved" "tooManyFailedAttempts" "loanFrozen" "loanAccelerated" "loanChargedOff" "loanPaidOff" "canceledByUser" "loanTermsChanged"
caseId
string^ext-|^[A-Z]{2}-[A-Z0-9]+-[A-Z0-9]+|^\d+$

The case object unique indentifier.

sendNotice
boolean
Default: true

When set to false, the system will NOT send a autopayCanceledBySystem notice to the borrower.

This is sent as a query parameter because some internet infrastructure, including proxies might remove a body of a DELETE method

Responses
204

Success

delete/people/{personId}/loans/{loanId}/autopay