Promo Programs

Create promo program

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
promoTypeId
required
string

The promotional program type's unique identifier.

externalId
string

A lender's unique identifier for a specific promotional program.

status
required
string

The promotional program status.

pending - the promotion was created but was not activated yet.

active - the promotion is active.

Enum: "pending" "active"
promoStartDate
string <date>

The promotion start date. If the value is not passed, the system will set the promoStartDate to the activation date (if the promotional program was provided atOrigination) or to the date when the promotional program was created.

promoEndDate
string <date>

The promotional program end-date without a potential grace period. If promoEndDate is passed, the system will calculate the promoDurationDays. Pass only one of the attributes, promoEndDate or promoDurationDays.

promoDurationDays
integer

The promotional program duration as a number of calendar days. If promoDurationDays is passed, the system will calculate the promoEndDate. Pass only one of the attributes, promoEndDate or promoDurationDays.

promoGracePeriodDays
integer

The promotional program grace period as a number of calendar days.

sacDisqualifyOverdueDays
integer

The number of loan overdue days that would disqualify the promotional program. Any occurrence ofsacDisqualifyOverdueDays or more of number days overdue during the promotional period would disqualify (aka cancel) the promotional program.

metaData
object or null

Store any type of key/value pairs in the form of a JSON dictionary.

caseId
string

An identifier for an existing case.

Responses
200

Success

post/people/{personId}/loans/{loanId}/promo-programs
Request samples
application/json
{
  • "promoTypeId": "string",
  • "externalId": "string",
  • "status": "pending",
  • "promoStartDate": "2019-08-24",
  • "promoEndDate": "2019-08-24",
  • "promoDurationDays": 0,
  • "promoGracePeriodDays": 0,
  • "sacDisqualifyOverdueDays": 0,
  • "metaData": { },
  • "caseId": "string"
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Get promo programs

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.

Responses
200

Success

get/people/{personId}/loans/{loanId}/promo-programs
Response samples
application/json
{
  • "count": 0,
  • "data": {
    }
}

Get promo program by ID

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.

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

The promotional program identifier.

Responses
200

Success

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

Update promo program

There a few restrictions on what can be updated. promoTypeId cannot be updated. If status=pending - any attribute except for status can be updated. To activate use the Activate promo program endpoint. If status=active - promoType, status, promoDurationDays and promoStartDate cannot be updated. If status=canceled - promoType, promoDurationDays and promoStartDate cannot be updated. If status=exercised - no attributes can be updated.

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.

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

The promotional program identifier.

Request Body schema: application/json
externalId
string

A lender's unique identifier for a specific promotional program.

status
string

The promotional program status on a specific loan.

pending - the promotion was created but was not activated yet.

active - the promotion is active.

canceled - the promotion has been canceled for a reason. The reason provided in the promoCancelReason attribute.

exercised - the promotion was successfully exercised.

Enum: "pending" "active" "canceled" "exercised"
promoStartDate
string <date>

The promotion start date. If the value is not passed, the system will set the promoStartDate to the activation date (if the promotional program was provided atOrigination) or to the date when the promotional program was created.

promoEndDate
string <date>

The promotional program end-date without a potential grace period. If promoEndDate is passed, the system will calculate the promoDurationDays. Pass only one of the attributes, promoEndDate or promoDurationDays.

promoDurationDays
integer

The promotional program duration as a number of calendar days. If promoDurationDays is passed, the system will calculate the promoEndDate. Pass only one of the attributes, promoEndDate or promoDurationDays.

promoGracePeriodDays
integer

The promotional program grace period as a number of calendar days.

sacDisqualifyOverdueDays
integer

The number of loan overdue days that would disqualify the promotional program. Any occurrence of sacDisqualifyOverdueDays or more during the promotional period would disqualify (aka cancel) the promotional program.

metaData
object or null

Store any type of key/value pairs in the form of a JSON dictionary.

caseId
string

An identifier for an existing case.

Responses
200

Success

put/people/{personId}/loans/{loanId}/promo-programs/{promoProgramId}
Request samples
application/json
{
  • "externalId": "string",
  • "status": "pending",
  • "promoStartDate": "2019-08-24",
  • "promoEndDate": "2019-08-24",
  • "promoDurationDays": 0,
  • "promoGracePeriodDays": 0,
  • "sacDisqualifyOverdueDays": 0,
  • "metaData": { },
  • "caseId": "string"
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Cancel promo program

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.

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

The promotional program identifier.

query Parameters
promoCancelReason
string

The cancellation reason.

expired - the promo expired.

disqualified - the promo was disqualified for various reasons.

borrowerOptedOut - the borrower decided to opt out from the promotional program.

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

Enum: "expired" "disqualified" "borrowerOptedOut"
sendNotice
boolean
Default: true

When set to true the system will send a promoProgramCanceled 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

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

The case object unique indentifier.

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

Responses
200

Success

delete/people/{personId}/loans/{loanId}/promo-programs/{promoProgramId}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Activate promo program

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.

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

The promotional program identifier.

Responses
204

Success

post/people/{personId}/loans/{loanId}/promo-programs/{promoProgramId}/activate