Line of Credit Purchases

This object represents a line of credit purchase. Purchases can be made on Draw objects only. Purchases of type regular increase principal balance of a Draw. Some purchase types, such as cashBack or refund are actually reduce the principal balance of a Draw. Each purchase has a unique identifier.

Get line of credit purchases

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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
types
Array of strings

The statuses of the purchases to fetch

Items Enum: "regular" "refund" "cashback"
statuses
Array of strings

The statuses of the purchases to fetch

Items Enum: "authorized" "pending" "settled" "canceled" "declined" "disputed"
limit
integer [ 1 .. 100 ]
Default: 25

The maximum count of results to retrieve.

startingAfter
string

Return results starting after the provided object identifier.

endingBefore
string

Return results ending before the provided object identifier.

fromEffectiveAt
string <date-time>

Used for filtering objects such that effectiveAt is greater than or equal to fromEffectiveAt

toEffectiveAt
string <date-time>

Used for filtering objects such that effectiveAt is less than or equal to toEffectiveAt

fromCreatedAt
string <date-time>

Used for filtering objects such that createdAt is greater than or equal to fromCreatedAt

toCreatedAt
string <date-time>

Used for filtering objects such that createdAt is less than or equal to toCreatedAt

sortBy
Array of strings

The data attributes by which to sort the results.

Items Enum: "effectiveAt" "+effectiveAt" "-effectiveAt" "createdAt" "+createdAt" "-createdAt"
Responses
200

Success

get/people/{personId}/loans/{loanId}/purchases
Response samples
application/json
{
  • "status": 0,
  • "count": 0,
  • "data": [
    ]
}

Get line of credit purchases timeline

Get line of credit purchases timeline is designed to provide a sequential ordering of purchases using specific purchase timestamps passed to Peach as part of the query parameters. To generate the timeline, Peach "inserts" purchases using the first available timestamp provided in the query parameters. For example, if effectiveAt and authorizedAt are provided in that order, Peach will

  • check first for an effectiveAt timestamp. If it exists, insert into timeline using effectiveAt timestamp.
  • if effectiveAt does not exist, check for authorizedAt. If it exists, insert into timeline using authorizedAt timestamp.
  • if neither exist, insert purchase into timeline using createdAt.
Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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
types
Array of strings

The statuses of the purchases to fetch

Items Enum: "regular" "refund" "cashback"
statuses
Array of strings

The statuses of the purchases to fetch

Items Enum: "authorized" "pending" "settled" "canceled" "declined" "disputed"
limit
integer [ 1 .. 100 ]
Default: 25

The maximum count of results to retrieve.

startingAfter
string

Return results starting after the provided object identifier.

endingBefore
string

Return results ending before the provided object identifier.

fromEffectiveAt
string <date-time>

Used for filtering objects such that effectiveAt is greater than or equal to fromEffectiveAt

toEffectiveAt
string <date-time>

Used for filtering objects such that effectiveAt is less than or equal to toEffectiveAt

fromCreatedAt
string <date-time>

Used for filtering objects such that createdAt is greater than or equal to fromCreatedAt

toCreatedAt
string <date-time>

Used for filtering objects such that createdAt is less than or equal to toCreatedAt

timelineOrdering
Array of strings

The parameters used to generate a timeline of purchases. Purchases will be inserted into the timeline based on the parameters provided. effectiveAt, createdAt, and authorizedAt are available for sorting. createdAt will be used if any purchases would not be inserted into the timeline based on the attributes provided. The full timeline will be sorted either ASC (+) or DESC (-). It cannot be sorted based on individual attributes. e.g. [-effectiveAt, +authorizedAt, -createdAt] is not a valid input.

Items Enum: "effectiveAt" "authorizedAt" "createdAt"
sortOrder
string

The order of the purchase timeline returned.

  • asc - oldest to newest
  • desc - newest to oldest
Enum: "asc" "desc"
Responses
200

Success

get/people/{personId}/loans/{loanId}/purchases-timeline
Response samples
application/json
{
  • "status": 0,
  • "count": 0,
  • "data": [
    ]
}

Create purchase

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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.

drawId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The draw identifier.

query Parameters
force
boolean
Default: false

Allows creation of purchases, even if is above the credit limit for the line of credit.

sync
boolean
Default: false

Make the process synchronous.

Request Body schema: application/json
externalId
string or null (externalId) <= 50 characters

A lender's identifier for a resource.

After the resource is successfully created, a lender can use the Peach assigned ID OR the externalId identifiers to fetch the resource.

Fetching with externalId:

To fetch a resource using an externalId, you MUST use the prefix ext- in the URL.

For example, a loan with an external identifier of ABCDE would be referenced like /api/people/BO-FAKE-IDNT/loans/ext-ABCDE.

Creating with externalId:

To create a resource with an external identifer, you MUST NOT use the prefix ext-.

For example, if the external identifier should be ABCDE, then pass { externalId: "ACBCE", ... } in the request body.

drawId
string

The unique identifier of the draw that the purchase belongs to.

lineOfCreditId
string

The unique identifier of the line of credit that the purchase belongs to.

authorizationPurchaseId
string or null

Peach's unique (or lender's external identifier) for the authorization purchase. This attribute is used to reference an initial authorization, so lenders know which captures (purchase object(s) in Peach) are related to the original authorization.

type
string
  • regular - a regular purchase made by the borrower. Increases draw's balance.
  • refund - a refund of the purchase made in the past. Decreases draw's balance.
  • cashBack - cash back given to the borrower by the issuing institution.
Enum: "regular" "refund" "cashBack"
status
string
Default: "settled"
  • authorized - the purchase is authorized and not yet settled. Authorized purchases are included in openToBuy, utilizationAmount, and availableCredit calculations; however, authorizations are not written to the ledger and are not included in total outstanding loan balances.
  • settled - the purchase was settled.
  • pending - the purchase is pending. pending purchases increases the draw balance similar to settled. Pending status is used mainly for visuals and normally shown in Borrower Portal and on statements.
  • canceled - the purchase was canceled. canceled purchases reduce the draw balance. A new purchase cannot be created in canceled status.
  • declined - the purchase was declined. declined purchases reduce the draw balance if the status changes from pending to declined. A new purchase can be created in declinedstatus for record purposes (it will not impact the draw balance).
  • disputed - The purchase was disputed for full or partial amount. disputed status is a terminal state and once set cannot be changed to another status. This status can not be set manually. Submitting a purchase dispute will set the purchase's status to disputed.
Enum: "authorized" "settled" "pending" "canceled" "declined" "disputed"
amount
required
number <float> >= 0

The amount of the purchase. The amount can be updated only if the purchase status is pending or authorized. The amount and status of a purchase may be changed on the same call.

purchaseDate
string <date>

The date of a purchase.

This attribute can be passed only during the line of credit migration process. The value must be before or equal to today, and cannot be greater than the "migration at date" (aka the actual date on which you run the migration.)

For non-migrated purchases:

  • The value is equal to the date part of the authorizedAt converted to the product timezone (e.g. Eastern or Pacific). If authorizedAt is null, this value is equal to the date part of the purchase's createdAt converted to the product timezone.

The purchaseDate is returned in Get endpoints for both migrated and non-migrated purchases.

object (PurchaseDetails)

The details of purchase.

originalPurchaseId
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

Peach's unique or lender's external identifier.

object (PurchaseDeclineReason)

The reason the purchase was declined

object (PurchaseMigrationDetails)

Purchase migration related details. This object should be used for lines that are migrated from another system to Peach.

metadata
object or null

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

authorizedAt
string <date-time>

The timestamp when the purchase was authorized. This value can be set by lenders at the time of purchase creation. If the value is not set by the lender, it will be populated based on authorizedAt (if it is non-null) otherwise createdAt for the corresponding authorizationPurchaseId. If the value is not set by the lender and no authorizationPurchaseId is set, this value corresponds to purchase.authorized event. If the purchase was never in authorized status and none of the prior conditions are met, this value will be null.

Responses
200

Created

408

Request Timeout

post/people/{personId}/loans/{loanId}/draws/{drawId}/purchases
Request samples
application/json
{
  • "externalId": "string",
  • "drawId": "string",
  • "lineOfCreditId": "string",
  • "authorizationPurchaseId": "string",
  • "type": "regular",
  • "status": "authorized",
  • "amount": 0,
  • "purchaseDate": "2019-08-24",
  • "purchaseDetails": {
    },
  • "originalPurchaseId": "string",
  • "declineReason": {
    },
  • "migration": {
    },
  • "metadata": { },
  • "authorizedAt": "2019-08-24T14:15:22Z"
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Get draw purchases

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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.

drawId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The draw identifier.

query Parameters
types
Array of strings

The statuses of the purchases to fetch

Items Enum: "regular" "refund" "cashback"
statuses
Array of strings

The statuses of the purchases to fetch

Items Enum: "authorized" "pending" "settled" "canceled" "declined" "disputed"
fromEffectiveAt
string <date-time>

Used for filtering objects such that effectiveAt is greater than or equal to fromEffectiveAt

toEffectiveAt
string <date-time>

Used for filtering objects such that effectiveAt is less than or equal to toEffectiveAt

fromCreatedAt
string <date-time>

Used for filtering objects such that createdAt is greater than or equal to fromCreatedAt

toCreatedAt
string <date-time>

Used for filtering objects such that createdAt is less than or equal to toCreatedAt

limit
integer [ 1 .. 100 ]
Default: 25

The maximum count of results to retrieve.

startingAfter
string

Return results starting after the provided object identifier.

endingBefore
string

Return results ending before the provided object identifier.

sortBy
Array of strings

The data attributes by which to sort the results.

Items Enum: "effectiveAt" "+effectiveAt" "-effectiveAt" "createdAt" "+createdAt" "-createdAt"
Responses
200

Purchases

get/people/{personId}/loans/{loanId}/draws/{drawId}/purchases
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": [
    ]
}

Get draw purchases timeline

Get draw purchases timeline is designed to provide a sequential ordering of purchases using specific purchase timestamps passed to Peach as part of the query parameters. To generate the timeline, Peach "inserts" purchases using the first available timestamp provided in the query parameters. For example, if effectiveAt and authorizedAt are provided in that order, Peach will

  • check first for an effectiveAt timestamp. If it exists, insert into timeline using effectiveAt timestamp.
  • if effectiveAt does not exist, check for authorizedAt. If it exists, insert into timeline using authorizedAt timestamp.
  • if neither exist, insert purchase into timeline using createdAt.
Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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.

drawId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The draw identifier.

query Parameters
types
Array of strings

The statuses of the purchases to fetch

Items Enum: "regular" "refund" "cashback"
statuses
Array of strings

The statuses of the purchases to fetch

Items Enum: "authorized" "pending" "settled" "canceled" "declined" "disputed"
fromEffectiveAt
string <date-time>

Used for filtering objects such that effectiveAt is greater than or equal to fromEffectiveAt

toEffectiveAt
string <date-time>

Used for filtering objects such that effectiveAt is less than or equal to toEffectiveAt

fromCreatedAt
string <date-time>

Used for filtering objects such that createdAt is greater than or equal to fromCreatedAt

toCreatedAt
string <date-time>

Used for filtering objects such that createdAt is less than or equal to toCreatedAt

limit
integer [ 1 .. 100 ]
Default: 25

The maximum count of results to retrieve.

startingAfter
string

Return results starting after the provided object identifier.

endingBefore
string

Return results ending before the provided object identifier.

timelineOrdering
Array of strings

The parameters used to generate a timeline of purchases. Purchases will be inserted into the timeline based on the parameters provided. effectiveAt, createdAt, and authorizedAt are available for sorting. createdAt will be used if any purchases would not be inserted into the timeline based on the attributes provided. The full timeline will be sorted either ASC (+) or DESC (-). It cannot be sorted based on individual attributes. e.g. [-effectiveAt, +authorizedAt, -createdAt] is not a valid input.

Items Enum: "effectiveAt" "authorizedAt" "createdAt"
sortOrder
string

The order of the purchase timeline returned.

  • asc - oldest to newest
  • desc - newest to oldest
Enum: "asc" "desc"
Responses
200

Purchases

get/people/{personId}/loans/{loanId}/draws/{drawId}/purchases-timeline
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": [
    ]
}

Get purchase by ID

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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.

drawId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The draw identifier.

purchaseId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The purchase identifier.

Responses
200

Success

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

Update purchase

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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.

drawId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The draw identifier.

purchaseId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The purchase identifier.

query Parameters
force
boolean
Default: false

Allows creation of purchases, even if is above the credit limit for the line of credit.

sync
boolean
Default: false

Make the process synchronous.

Request Body schema: application/json
status
string
Enum: "authorized" "pending" "settled" "canceled" "declined" "disputed"
amount
number >= 0

The amount of the purchase.

effectiveAt
string <date-time>

The effective timestamp when the purchase was applied in the ledger. effectiveAt is equal to the timestamp when the purchase is set to pending or settled status, whichever comes first. Changing the effectiveAt via the Update purchase endpoint will trigger a replay of the line of credit. Keep in mind that an existing statement might've included the purchase based on the existing effectiveAt value and the interest was accrued based on the existing effectiveAt. effectiveAt can be updated only if the purchase is in settled or pending status.

The timezone is UTC for this timestamp and the format is ISO. For example, in order to set a purchase effectiveAt to July 28th 2022, 10:44 am PDT, send 2022-07-28T17:44:00Z

externalId
string

The lender's identifier for the purchase.

originalPurchaseId
string

Peach's unique or lender's external identifier. Typically used for purchases of type refund which allows the lender to reference the original purchase being refunded. For authorizations, please see authorizationPurchaseId attribute.

authorizationPurchaseId
string

Peach's unique or lender's external identifier for the authorization purchase. This attribute is used to reference an initial authorization, so lenders know which captures (purchase object(s) in Peach) are related to the original authorization.

object (PurchaseDetails)

The details of purchase.

metadata
object
object (PurchaseDeclineReason)

The reason the purchase was declined

object (InternalRefundDetails)

The details of how a refund was applied:

  • The system will first deplete any non-due principal. This amount will be stored as refundNonDuePrincipalAmount.
  • If any refund amount is left to apply, the system will create a transaction of type serviceCredit and serviceCreditType=refund. This transaction will be applied on the Draw level first and any leftover amount will be applied on the LOC level (based on the loan type waterfall configuration for payments). This amount will be stored as refundTransactionAmount.
  • Any unapplied refund amount will be recorded as credit to the borrower (also called reimbursementAmount.)
Responses
200

Updated

408

Request Timeout

423

Locked

put/people/{personId}/loans/{loanId}/draws/{drawId}/purchases/{purchaseId}
Request samples
application/json
{
  • "status": "authorized",
  • "amount": 0,
  • "effectiveAt": "2022-06-10T11:45Z",
  • "externalId": "string",
  • "originalPurchaseId": "string",
  • "authorizationPurchaseId": "string",
  • "purchaseDetails": {
    },
  • "metadata": { },
  • "declineReason": {
    },
  • "refundDetails": {
    }
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Create purchase dispute

Creates a new purchase dispute. Purchases in authorized status may not be disputed. They must first be written to the ledger by changing the status of the purchase or creating a new purchase object in pending or settled status. Once one of those steps have been taken, the purchase may be disputed.

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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.

drawId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The draw identifier.

purchaseId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The purchase identifier.

Request Body schema: application/json
required
id
string
createdAt
string <date-time>
updatedAt
string or null <date-time>
deletedAt
string or null <date-time>
externalId
string or null [ 1 .. 50 ] characters

A lender's identifier for an object.

After the object is successfully created, a lender can use ID or externalId identifiers to fetch the object.

To fetch the object using externalId you need to add ext- to the URL.

Note: Don't add ext- to the identifier value. For example: if the external identifier is ABCDE, then pass externalId=ACBCE and NOT ext-ABCDE when creating the object.

caseId
string

Peach identifier of the case. The case object contains more details about the dispute, e.g. evidence information such as supporting documents.

status
string
Default: "unsubmitted"

The status of the dispute. unsubmitted is the only valid status for a new purchase dispute.

unsubmitted - The dispute is pending submission to a processor/network.

submitted - The dispute has been submitted to a processor/network.

expired - The dispute has expired.

won - The dispute is won.

lost - The dispute is lost.

canceled - The dispute was canceled. Only unsubmitted disputes can be canceled.

Enum: "unsubmitted" "submitted" "expired" "won" "lost" "canceled"
disputedAmount
required
number <float>

The disputed amount. Can be less than the original purchase amount. Sum of disputed amounts cannot exceed the original purchase amounts (regardless of disputes outcomes).

object
repostedPurchaseId
string

The identifier of the reposted purchase. When a borrower loses a dispute, the lender normally creates a new purchase in the amount of the dispute.

createDisputeCase
boolean
Default: true

If true, the system will automatically create a Purchase Dispute case object and return the case identifier in caseId attribute. Alternatively, you can create the case object, pass createDisputeCase=false and the case identifier in the caseId attribute.

Responses
200

Success

423

Locked

post/people/{personId}/loans/{loanId}/draws/{drawId}/purchases/{purchaseId}/disputes
Request samples
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "externalId": "string",
  • "caseId": "string",
  • "status": "unsubmitted",
  • "disputedAmount": 0,
  • "metadata": { },
  • "repostedPurchaseId": "string",
  • "createDisputeCase": true
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Get purchase disputes

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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.

drawId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The draw identifier.

purchaseId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The purchase identifier.

Responses
200

Success

get/people/{personId}/loans/{loanId}/draws/{drawId}/purchases/{purchaseId}/disputes
Response samples
application/json
{
  • "status": 0,
  • "count": 0,
  • "data": [
    ]
}

Get draw purchase disputes

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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.

drawId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The draw identifier.

Responses
200

Success

get/people/{personId}/loans/{loanId}/draws/{drawId}/disputes
Response samples
application/json
{
  • "status": 0,
  • "count": 0,
  • "data": [
    ]
}

Get line of credit purchase disputes

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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}/disputes
Response samples
application/json
{
  • "status": 0,
  • "count": 0,
  • "data": [
    ]
}

Get purchase dispute by ID

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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.

drawId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The draw identifier.

purchaseId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The purchase identifier.

purchaseDisputeId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The ID of the purchase dispute

Responses
200

Success

get/people/{personId}/loans/{loanId}/draws/{drawId}/purchases/{purchaseId}/disputes/{purchaseDisputeId}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Update purchase dispute

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
personId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[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.

drawId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The draw identifier.

purchaseId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The purchase identifier.

purchaseDisputeId
required
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The ID of the purchase dispute

query Parameters
sync
boolean
Default: false

Make the process synchronous.

Request Body schema: application/json
required
id
string
createdAt
string <date-time>
updatedAt
string or null <date-time>
deletedAt
string or null <date-time>
externalId
string or null [ 1 .. 50 ] characters

A lender's identifier for an object.

After the object is successfully created, a lender can use ID or externalId identifiers to fetch the object.

To fetch the object using externalId you need to add ext- to the URL.

Note: Don't add ext- to the identifier value. For example: if the external identifier is ABCDE, then pass externalId=ACBCE and NOT ext-ABCDE when creating the object.

caseId
string

Peach identifier of the case. The case object contains more details about the dispute, e.g. evidence information such as supporting documents.

status
string
Default: "unsubmitted"

The status of the dispute. unsubmitted is the only valid status for a new purchase dispute.

unsubmitted - The dispute is pending submission to a processor/network.

submitted - The dispute has been submitted to a processor/network.

expired - The dispute has expired.

won - The dispute is won.

lost - The dispute is lost.

canceled - The dispute was canceled. Only unsubmitted disputes can be canceled.

Enum: "unsubmitted" "submitted" "expired" "won" "lost" "canceled"
disputedAmount
number <float>

The disputed amount. Can be less than the original purchase amount. Sum of disputed amounts cannot exceed the original purchase amounts (regardless of disputes outcomes).

object
repostedPurchaseId
string

The identifier of the reposted purchase. When a borrower loses a dispute, the lender normally creates a new purchase in the amount of the dispute.

Responses
200

Success

408

Request Timeout

put/people/{personId}/loans/{loanId}/draws/{drawId}/purchases/{purchaseId}/disputes/{purchaseDisputeId}
Request samples
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "externalId": "string",
  • "caseId": "string",
  • "status": "unsubmitted",
  • "disputedAmount": 0,
  • "metadata": { },
  • "repostedPurchaseId": "string"
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Request sandbox access