Cases

This object allow you to add cases to a borrower that are relevant to servicing or collections. For example, a bankruptcy case. A borrower can have multiple cases. If you enabled Compliance Guard monitoring feature, we'll create a new case every time a borrower matches to one of the external data sources we use. For example, if you monitor for active military and we match one of your borrowers to the SCRA (https://scra.dmdc.osd.mil/scra/) database we'll create a new case with type=militaryDuty.

Get all cases

Get all cases. Returns only borrower-bound cases by default.

Securityoauth2 or bearerAuth or apiKeyHeader
Request
query Parameters
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.

offset
integer >= 0

Offset from the start of results.

sortBy
Array of strings

The fields by which to sort cases:

  • caseType - sort by case type name, alphabetically.
  • createdAt - sort by date-time of case creation.
  • createdByUserFirstName - sort by the creating employee's first name.
  • createdByUserLastName - sort by the creating employee's last name.
  • externalId - sort by external id, alphabetically.
  • lastViewedAt - sort by date-time of the last view of the case by an agent. (A case view happens when POST /api/people/{personId}/cases/{caseId}/views request is made.)
  • lastSubresourceUpdatedAt - sort by date-time of the last update to the case or a case subresource. A case's subresource are Snooze, Do Not Interact, Case Escalations, Loan
  • name - sort by case name, alphabetically. (If the case name is blank or null, sort by case type name.)
  • outcome - sort by case outcome.
  • status - sort by case process status.
  • statusUpdatedAt - sort by date-time of last time the case's status was updated.
expand
boolean
Default: false

Replace component IDs with corresponding objects

include
Array of strings non-empty

A comma separated list of field names to include in the response.

associations
string

Type of related object to return with the case data.

  • If null, no references to related objects are inserted into the response.
  • If all, insert an array of all relations
  • Otherwise insert array of single type.
Enum: "all" "documents" "cases" "interactions" "loans"
outcome
string
Enum: "all" "approved" "denied" "falsePositive" "noOutcome"
status
string
Enum: "all" "initiated" "processing" "completed" "canceled" "reopened"
statuses
Array of strings
Items Enum: "all" "initiated" "processing" "completed" "canceled" "reopened"
statusUpdatedBefore
string <date-time>

Filter by cases which have a statusUpdatedAt date-time from before the given value

statusUpdatedAfter
string <date-time>

Filter by cases which have a statusUpdatedAt date-time after the given value

caseNumber
string

Filter cases by external case number

caseType
string

The name of the case type.

Enum: "generic" "bankruptcy" "ceaseCommunication" "collection" "deceased" "disputeOfDebt" "federalEmergency" "identityTheft" "legalAction" "militaryDuty" "debtValidation" "oFACSanctionedIndividual" "creditBureauDispute"
createdBefore
string <date-time>

Filter by cases which have a createdAt date-time before the given value

createdAfter
string <date-time>

Filter by cases which have a createdAt date-time after the given value

borrowerBound
string
Default: "bound"
  • If bound only include cases with an associated borrower.
  • If unbound only include cases with no associated borrower.
  • If all include all cases
Enum: "bound" "unbound" "all"
nupUpdatedNull
boolean

Filters to cases that have been sent in the NUP file if true, otherwise filters them out if false. (Only applies to Bankruptcy cases)

snoozedUntilBefore
string <date-time>

Filter only cases with a snooze (the snoozeUntil value) set to expire before the specified datetime. Note that a snoozed case is set to None automatically very shortly after it expires.

snoozedUntilAfter
string <date-time>

Filter only cases with a snooze (the snoozeUntil value) set to expire after the specified datetime.

Responses
200

Success

get/cases
Response samples
application/json
{
  • "total": 0,
  • "count": 0,
  • "nextUrl": "string",
  • "previousUrl": "string",
  • "data": [
    ]
}

List active case escalations for a company

List active case escalations for a company

Securityoauth2 or bearerAuth or apiKeyHeader
Request
query Parameters
sortBy
Array of strings

The data attributes by which to sort the results.

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.

offset
integer >= 0

Offset from the start of results.

Responses
200

Success

get/active-escalations
Response samples
application/json
{
  • "count": 0,
  • "data": [
    ]
}

Create borrower case

Create a new case and associate it with a borrower using their 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.

Request Body schema: application/json
Any of:

Keyword parameters unique to bankruptcies.

typeId
required
string

Unique identifier of the case type.

externalId
string or null

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.

people
Array of strings

List of borrower IDs associated with case

name
string

The case name. If a name is not provided, the case name is taken from the case type. For example, Identity Theft.

caseType
string
Enum: "generic" "bankruptcy" "ceaseCommunication" "collection" "deceased" "disputeOfDebt" "federalEmergency" "identityTheft" "legalAction" "militaryDuty" "debtValidation" "oFACSanctionedIndividual" "disputeOfPurchase" "creditBureauDispute"
autoCreated
boolean

True if the case was created by some automated method—i.e., not by a human.

status
string (status)

The status of a process. This can be updated by a lender or by Peach.

initiated - The lender was notified by a borrower, but no documents or evidence have been provided yet. A grace period can be set.

processing - Peach matched the borrower to an external data source, or the lender started an internal process to handle a case, complaint or dispute.

completed - The lender completed an internal process, case, complaint or dispute. For example:

  • A borrower reported identity theft, and the lender reviewed documents and approved the claim.
  • A borrower requested a verification of debt in writing, and the lender sent an email with details.
  • Peach notified the lender about a new bankruptcy, and the lender reviewed the case and deemed it to be a false positive.

canceled - The lender couldn't complete an internal process and canceled it. This can happen for various reasons, such as lack of sufficient documentation.

reopened - The lender re-opened the case.

Enum: "initiated" "processing" "completed" "canceled" "reopened"
outcome
string or null (outcome)

The outcome of a process, case, complaint, or dispute.

  • If found to be valid, set value to approved. This might impact debt collection efforts.
  • If dismissed, set value to denied. This will have no further impact on debt collection efforts.
  • If found to be a false positive, set value to falsePositive.
  • If completed without an outcome (or no outcome was needed), set to noOutcome.
Enum: "approved" "denied" "falsePositive" "noOutcome"
matchToDataSource
boolean or null

true if the person's details have been matched to an external data source.

object (matchDetails)

The fields that are for what levels the person is matched to a monitoring hit (ie bankruptcy)

lenderAck
boolean or null
Default: false

The lender has acknowledged the auto-generated case.

customFields
object or null (customFields)

Custom fields are JSON key-value mappings. They are described by a customFieldSchemas property in the corresponding caseType. This means that arbitrary fields cannot be added to in-flight cases.

metaData
object or null

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

workflowId
string or null

The ID of the workflow instance assigned to this case.

escalatedTeamId
string or null

The ID of the Team to which the case should be escalated.

escalatedEmployeeId
string or null

The ID of the Employee to which the case should be escalated.

escalationIsUrgent
boolean or null

Boolean representing if this escalation is urgent. null if there is no escalation.

object or null

Object representing the last user and employee that viewed the case.

i.e., the user which last made the request: POST /api/people/{borrowerId}/cases/{caseId}/views

object or null

Object representing the last user and employee that updated a case or a case's subresources.

See lastSubresourceUpdatedAt for a description of subresources.

courtCaseFiledDate
string <date>

The bankruptcy court filing date. This is also when ‘automatic stay’ is invoked and creditors must stop calling borrowers or making attempts to collect on his or her debt.

courtCaseNumber
string

The unique identifier the courts use during the filing and review of the bankruptcy.

courtCaseChapter
string

The bankruptcy chapter code. One of four common types we support at this time.

Enum: "chapter7" "chapter11" "chapter12" "chapter13" "unknown"
courtCaseDebtorDisposition
string

The outcome of the bankruptcy case decided by the court.

Enum: "dismissed" "discharged" "reinstated"
courtCaseDebtorDispositionDate
string <date>

Date on which the disposition was decided by the court.

courtCaseLastStatus
string

The latest-reported bankruptcy case status, not case outcome, as it appears in the court.

Enum: "filed" "dismissed" "discharged" "conversion" "reinstated" "closedFiledInError" "closedTransferredOut" "closedDischargeNA" "closedUndeterminedReason"
courtCaseLastStatusUpdatedDate
string <date>

Date on which the latest status of the bankruptcy case was updated.

courtCaseClosedDate
string <date>

Date the bankruptcy case closed and the case is no longer on the court docket.

creditorClaimDeadlineDate
string or null <date>

The date a lender has to file a claim to be eligible for any bankruptcy proceeds.

anticipatedCaseCompletionDate
string or null <date>

In a bankruptcy chapter that leverages a reorganization and a new payment plan (i.e. Chapter 13), record when the last payment is expected to be received. This will trigger reminders to close out the case.

listedOutstandingDebt
boolean

When a bankruptcy is filed, the borrower lists all the creditors/loans he/she knows to be outstanding. Sometimes he/she may forget to list a loan/creditor, in which case the creditor may want to file a claim to ensure that the loan is added to the list of accounts to include in the bankruptcy.

Responses
200

Success

post/people/{personId}/cases
Request samples
application/json
{
  • "typeId": "string",
  • "externalId": "string",
  • "people": [
    ],
  • "name": "string",
  • "caseType": "generic",
  • "autoCreated": true,
  • "status": "initiated",
  • "outcome": "approved",
  • "matchToDataSource": true,
  • "matchDetails": {
    },
  • "lenderAck": false,
  • "customFields": { },
  • "metaData": { },
  • "workflowId": "string",
  • "escalatedTeamId": "string",
  • "escalatedEmployeeId": "string",
  • "escalationIsUrgent": true,
  • "lastViewedBy": {
    },
  • "lastSubresourceUpdatedBy": {
    },
  • "courtCaseFiledDate": "2019-08-24",
  • "courtCaseNumber": "string",
  • "courtCaseChapter": "chapter7",
  • "courtCaseDebtorDisposition": "dismissed",
  • "courtCaseDebtorDispositionDate": "2019-08-24",
  • "courtCaseLastStatus": "filed",
  • "courtCaseLastStatusUpdatedDate": "2019-08-24",
  • "courtCaseClosedDate": "2019-08-24",
  • "creditorClaimDeadlineDate": "2019-08-24",
  • "anticipatedCaseCompletionDate": "2019-08-24",
  • "listedOutstandingDebt": true
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Get borrower cases

Get all cases associated with a borrower.

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.

query Parameters
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.

offset
integer >= 0

Offset from the start of results.

sortBy
Array of strings

The fields by which to sort cases:

  • caseType - sort by case type name, alphabetically.
  • createdAt - sort by date-time of case creation.
  • createdByUserFirstName - sort by the creating employee's first name.
  • createdByUserLastName - sort by the creating employee's last name.
  • externalId - sort by external id, alphabetically.
  • lastViewedAt - sort by date-time of the last view of the case by an agent. (A case view happens when POST /api/people/{personId}/cases/{caseId}/views request is made.)
  • lastSubresourceUpdatedAt - sort by date-time of the last update to the case or a case subresource. A case's subresource are Snooze, Do Not Interact, Case Escalations, Loan
  • name - sort by case name, alphabetically. (If the case name is blank or null, sort by case type name.)
  • outcome - sort by case outcome.
  • status - sort by case process status.
  • statusUpdatedAt - sort by date-time of last time the case's status was updated.
expand
boolean
Default: false

Replace component IDs with corresponding objects

include
Array of strings non-empty

A comma separated list of field names to include in the response.

associations
string

Type of related object to return with the case data.

  • If null, no references to related objects are inserted into the response.
  • If all, insert an array of all relations
  • Otherwise insert array of single type.
Enum: "all" "documents" "cases" "interactions" "loans"
outcome
string
Enum: "all" "approved" "denied" "falsePositive" "noOutcome"
status
string
Enum: "all" "initiated" "processing" "completed" "canceled" "reopened"
statuses
Array of strings
Items Enum: "all" "initiated" "processing" "completed" "canceled" "reopened"
statusUpdatedBefore
string <date-time>

Filter by cases which have a statusUpdatedAt date-time from before the given value

statusUpdatedAfter
string <date-time>

Filter by cases which have a statusUpdatedAt date-time after the given value

caseNumber
string

Filter cases by external case number

caseType
string

The name of the case type.

Enum: "generic" "bankruptcy" "ceaseCommunication" "collection" "deceased" "disputeOfDebt" "federalEmergency" "identityTheft" "legalAction" "militaryDuty" "debtValidation" "oFACSanctionedIndividual" "creditBureauDispute"
createdBefore
string <date-time>

Filter by cases which have a createdAt date-time before the given value

createdAfter
string <date-time>

Filter by cases which have a createdAt date-time after the given value

nupUpdatedNull
boolean

Filters to cases that have been sent in the NUP file if true, otherwise filters them out if false. (Only applies to Bankruptcy cases)

snoozedUntilBefore
string <date-time>

Filter only cases with a snooze (the snoozeUntil value) set to expire before the specified datetime. Note that a snoozed case is set to None automatically very shortly after it expires.

snoozedUntilAfter
string <date-time>

Filter only cases with a snooze (the snoozeUntil value) set to expire after the specified datetime.

Responses
200

Success

get/people/{personId}/cases
Response samples
application/json
{
  • "total": 0,
  • "count": 0,
  • "nextUrl": "string",
  • "previousUrl": "string",
  • "data": [
    ]
}

Get borrower case 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.

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

The case object unique indentifier.

query Parameters
associations
string

Type of related object to return with the case data.

  • If null, no references to related objects are inserted into the response.
  • If all, insert an array of all relations
  • Otherwise insert array of single type.
Enum: "all" "documents" "cases" "interactions" "loans"
include
Array of strings non-empty

A comma separated list of field names to include in the response.

Responses
200

Success

get/people/{personId}/cases/{caseId}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Update case

Update a case associated with a borrower.

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.

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

The case object unique indentifier.

Request Body schema: application/json
Any of:

Keyword parameters unique to bankruptcies.

externalId
string or null

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.

people
Array of strings

List of borrower IDs associated with case

name
string

The case name. If a name is not provided, the case name is taken from the case type. For example, Identity Theft.

caseType
string
Enum: "generic" "bankruptcy" "ceaseCommunication" "collection" "deceased" "disputeOfDebt" "federalEmergency" "identityTheft" "legalAction" "militaryDuty" "debtValidation" "oFACSanctionedIndividual" "disputeOfPurchase" "creditBureauDispute"
autoCreated
boolean

True if the case was created by some automated method—i.e., not by a human.

status
string (status)

The status of a process. This can be updated by a lender or by Peach.

initiated - The lender was notified by a borrower, but no documents or evidence have been provided yet. A grace period can be set.

processing - Peach matched the borrower to an external data source, or the lender started an internal process to handle a case, complaint or dispute.

completed - The lender completed an internal process, case, complaint or dispute. For example:

  • A borrower reported identity theft, and the lender reviewed documents and approved the claim.
  • A borrower requested a verification of debt in writing, and the lender sent an email with details.
  • Peach notified the lender about a new bankruptcy, and the lender reviewed the case and deemed it to be a false positive.

canceled - The lender couldn't complete an internal process and canceled it. This can happen for various reasons, such as lack of sufficient documentation.

reopened - The lender re-opened the case.

Enum: "initiated" "processing" "completed" "canceled" "reopened"
outcome
string or null (outcome)

The outcome of a process, case, complaint, or dispute.

  • If found to be valid, set value to approved. This might impact debt collection efforts.
  • If dismissed, set value to denied. This will have no further impact on debt collection efforts.
  • If found to be a false positive, set value to falsePositive.
  • If completed without an outcome (or no outcome was needed), set to noOutcome.
Enum: "approved" "denied" "falsePositive" "noOutcome"
matchToDataSource
boolean or null

true if the person's details have been matched to an external data source.

object (matchDetails)

The fields that are for what levels the person is matched to a monitoring hit (ie bankruptcy)

lenderAck
boolean or null
Default: false

The lender has acknowledged the auto-generated case.

customFields
object or null (customFields)

Custom fields are JSON key-value mappings. They are described by a customFieldSchemas property in the corresponding caseType. This means that arbitrary fields cannot be added to in-flight cases.

metaData
object or null

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

workflowId
string or null

The ID of the workflow instance assigned to this case.

escalatedTeamId
string or null

The ID of the Team to which the case should be escalated.

escalatedEmployeeId
string or null

The ID of the Employee to which the case should be escalated.

escalationIsUrgent
boolean or null

Boolean representing if this escalation is urgent. null if there is no escalation.

object or null

Object representing the last user and employee that viewed the case.

i.e., the user which last made the request: POST /api/people/{borrowerId}/cases/{caseId}/views

object or null

Object representing the last user and employee that updated a case or a case's subresources.

See lastSubresourceUpdatedAt for a description of subresources.

courtCaseFiledDate
string <date>

The bankruptcy court filing date. This is also when ‘automatic stay’ is invoked and creditors must stop calling borrowers or making attempts to collect on his or her debt.

courtCaseNumber
string

The unique identifier the courts use during the filing and review of the bankruptcy.

courtCaseChapter
string

The bankruptcy chapter code. One of four common types we support at this time.

Enum: "chapter7" "chapter11" "chapter12" "chapter13" "unknown"
courtCaseDebtorDisposition
string

The outcome of the bankruptcy case decided by the court.

Enum: "dismissed" "discharged" "reinstated"
courtCaseDebtorDispositionDate
string <date>

Date on which the disposition was decided by the court.

courtCaseLastStatus
string

The latest-reported bankruptcy case status, not case outcome, as it appears in the court.

Enum: "filed" "dismissed" "discharged" "conversion" "reinstated" "closedFiledInError" "closedTransferredOut" "closedDischargeNA" "closedUndeterminedReason"
courtCaseLastStatusUpdatedDate
string <date>

Date on which the latest status of the bankruptcy case was updated.

courtCaseClosedDate
string <date>

Date the bankruptcy case closed and the case is no longer on the court docket.

creditorClaimDeadlineDate
string or null <date>

The date a lender has to file a claim to be eligible for any bankruptcy proceeds.

anticipatedCaseCompletionDate
string or null <date>

In a bankruptcy chapter that leverages a reorganization and a new payment plan (i.e. Chapter 13), record when the last payment is expected to be received. This will trigger reminders to close out the case.

listedOutstandingDebt
boolean

When a bankruptcy is filed, the borrower lists all the creditors/loans he/she knows to be outstanding. Sometimes he/she may forget to list a loan/creditor, in which case the creditor may want to file a claim to ensure that the loan is added to the list of accounts to include in the bankruptcy.

Responses
200

Success

put/people/{personId}/cases/{caseId}
Request samples
application/json
{
  • "externalId": "string",
  • "people": [
    ],
  • "name": "string",
  • "caseType": "generic",
  • "autoCreated": true,
  • "status": "initiated",
  • "outcome": "approved",
  • "matchToDataSource": true,
  • "matchDetails": {
    },
  • "lenderAck": false,
  • "customFields": { },
  • "metaData": { },
  • "workflowId": "string",
  • "escalatedTeamId": "string",
  • "escalatedEmployeeId": "string",
  • "escalationIsUrgent": true,
  • "lastViewedBy": {
    },
  • "lastSubresourceUpdatedBy": {
    },
  • "courtCaseFiledDate": "2019-08-24",
  • "courtCaseNumber": "string",
  • "courtCaseChapter": "chapter7",
  • "courtCaseDebtorDisposition": "dismissed",
  • "courtCaseDebtorDispositionDate": "2019-08-24",
  • "courtCaseLastStatus": "filed",
  • "courtCaseLastStatusUpdatedDate": "2019-08-24",
  • "courtCaseClosedDate": "2019-08-24",
  • "creditorClaimDeadlineDate": "2019-08-24",
  • "anticipatedCaseCompletionDate": "2019-08-24",
  • "listedOutstandingDebt": true
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Add association

Associate an existing case, interaction, loan, or file objects to the case. This way you can create comprehensive view of the case.

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.

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

The case object unique indentifier.

Request Body schema: application/json
objectType
string

Types of objects that can be associated with the case.

Enum: "document" "interaction" "loan" "case" "transaction"
objectId
string

Peach unique identifier for the associated object.

relation
string
Default: "related"

This is only applicable to objectType=case associations.

The way to read the relation is: caseId relation objectId. For example:

  • There is an existing caseId=111 caseType=identityTheft.
  • There is an existing caseId=222 caseType=debtValidation.
  • The identity theft case is blocking verification of debt. To represent that relation:
  • caseId=111 in path parameter.
  • relation=blocks in body.
  • objectId=222 in body.
Enum: "related" "causes" "blocks" "duplicate"
Responses
204

Success no content

post/people/{personId}/cases/{caseId}
Request samples
application/json
{
  • "objectType": "document",
  • "objectId": "string",
  • "relation": "related"
}

Remove association

Remove association of an existing case, interaction, loan, or file objects from the case.

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.

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

The case object unique indentifier.

query Parameters
objectType
string

Types of object to associate or remove from the case.

Enum: "document" "case" "interaction" "loan" "transaction"
objectId
string

Peach unique identifier for the associated object.

relation
string
Default: "related"

Label for a relationship between entities. Both causes and blocks are assumed to be directional, while the generic related is non-directional,

Enum: "causes" "blocks" "duplicate" "related"
Responses
204

Success no content

delete/people/{personId}/cases/{caseId}

Mark a case as viewed

Mark a case as viewed by the current user

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

The case object unique indentifier.

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.

Responses
204

Successfully marked case as viewed

post/people/{personId}/cases/{caseId}/views

Escalate or de-escalate a case

Escalate or de-escalate a case

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.

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

The case object unique indentifier.

Request Body schema: application/json
escalatedTeamId
string or null

Escalate the case to the team specified by this team id.

escalatedEmployeeId
string or null

Escalate the case to the employee specified by this employee id.

note
string or null

Create a case note with this content explaining why the escalation or de-escalation took place

isUrgent
boolean or null
Default: false

If true this escalation is urgent and tasks related to this case escalation should jump to the front of the agents' queues.

Responses
204

Success no content

post/people/{personId}/cases/{caseId}/escalations
Request samples
application/json
{
  • "escalatedTeamId": "string",
  • "escalatedEmployeeId": "string",
  • "note": "string",
  • "isUrgent": false
}

List case escalations

List case escalations

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.

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

The case object unique indentifier.

Responses
200

Success

get/people/{personId}/cases/{caseId}/escalations
Response samples
application/json
{
  • "count": 0,
  • "data": [
    ]
}

Snooze case

Snooze the case or cancel the case snooze.

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.

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

The case object unique indentifier.

Request Body schema: application/json
snoozeFor
required
integer or null >= 1

The number of days to snooze for. To cancel snoozing set to null. If the current time has caught up to the snoozedUntil date then setting this snoozeFor to null also causes the snooze to "pop" which initiates a case review task into the task system.

Responses
204

Success no content

post/people/{personId}/cases/{caseId}/snooze
Request samples
application/json
{
  • "snoozeFor": 1
}