Cases

This object allows 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 the returned 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.
  • owningEmployee.displayName - sort by the displayName field in the object in owningEmployee field.
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"
caseTypeId
string (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The case type unique identifier.

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.

owningEmployeeId
string

Filter by cases which have an owningEmployeeId equal to the given employee ID. If the employee ID is null, filter by cases which have no owning employee.

Responses
200

Success

get/cases
Response samples
application/json
{
  • "status": 0,
  • "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
{
  • "status": 0,
  • "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 (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.

Request Body schema: application/json
required
Any of:

Keyword parameters unique to bankruptcies.

caseType
string
Value: "bankruptcy"
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.

id
string
createdAt
string <date-time>
updatedAt
string or null <date-time>
deletedAt
string or null <date-time>
createReviewTask
boolean

If true create a task of type reviewAutoCreatedCase. Note: this field is NOT saved on the case resource; it just creates a task.

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.

people
Array of strings

List of borrower IDs associated with case

borrowerIds
Array of strings

List of borrower IDs associated with case

name
string [ 1 .. 100 ] characters

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

creationProcedure
string or null (CaseCreationProcedure)

The field indicating which procedure originally created this case.

This is used to mark when a system like, for instance, Compliance Guard automatically created a case, which allows a case to be differentiated from, for instance, manually created ones.

Enum: "automatedCollectionsDetection" "automatedOfacDetection" "automatedBankruptcyDetection" "automatedDeceasedDetection" "automatedScraDetection" "supercasePopulationCommit"
owningEmployeeId
string or null

The ID of the employee that owns this case. The case owner is the preferred employee to process tasks relating to this case.

Case ownership must be enabled via setting tasks.enableCaseOwnership to true in the company configuration.

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 (i.e. bankruptcy)

lenderAck
boolean or null
Default: false

The lender has acknowledged the auto-generated case.

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 (MetaData)

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.

escalatedAt
string or null <date-time>

Timestamp of when the case was escalated.

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.

Array of objectsAssociation (object) or caseAssociation (object) or null

Associated objects of the case.

openedAt
string or null <date-time>

Represents the original date-time a case was created, either within Peach or in an external system. For cases created directly in Peach CRM, openedAt is identical to createdAt, marking the initiation within Peach. Conversely, for cases migrated from external sources, openedAt reflects the time the case was originally established in the external system. The timestamp must include a timezone (or UTC offset).

typeId
required
string

Unique identifier of the case type.

Responses
200

Success

post/people/{personId}/cases
Request samples
application/json
{
  • "caseType": "bankruptcy",
  • "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,
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "createReviewTask": true,
  • "externalId": "string",
  • "people": [
    ],
  • "borrowerIds": [
    ],
  • "name": "string",
  • "creationProcedure": "automatedCollectionsDetection",
  • "owningEmployeeId": "string",
  • "autoCreated": true,
  • "status": "initiated",
  • "outcome": "approved",
  • "matchToDataSource": true,
  • "matchDetails": {
    },
  • "lenderAck": false,
  • "customFields": { },
  • "metaData": { },
  • "workflowId": "string",
  • "escalatedAt": "2019-08-24T14:15:22Z",
  • "escalatedTeamId": "string",
  • "escalatedEmployeeId": "string",
  • "escalationIsUrgent": true,
  • "associations": [
    ],
  • "openedAt": "2019-08-24T14:15:22Z",
  • "typeId": "string"
}
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 (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.

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 data attributes by which to sort the results.

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.

owningEmployeeId
string

Filter by cases which have an owningEmployeeId equal to the given employee ID. If the employee ID is null, filter by cases which have no owning employee.

Responses
200

Success

get/people/{personId}/cases
Response samples
application/json
{
  • "status": 0,
  • "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 (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.

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

The case object unique identifier.

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

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

The case object unique identifier.

Request Body schema: application/json
required
Any of:

Keyword parameters unique to bankruptcies.

caseType
string
Value: "bankruptcy"
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.

id
string
createdAt
string <date-time>
updatedAt
string or null <date-time>
deletedAt
string or null <date-time>
createReviewTask
boolean

If true create a task of type reviewAutoCreatedCase. Note: this field is NOT saved on the case resource; it just creates a task.

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.

people
Array of strings

List of borrower IDs associated with case

borrowerIds
Array of strings

List of borrower IDs associated with case

name
string [ 1 .. 100 ] characters

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

creationProcedure
string or null (CaseCreationProcedure)

The field indicating which procedure originally created this case.

This is used to mark when a system like, for instance, Compliance Guard automatically created a case, which allows a case to be differentiated from, for instance, manually created ones.

Enum: "automatedCollectionsDetection" "automatedOfacDetection" "automatedBankruptcyDetection" "automatedDeceasedDetection" "automatedScraDetection" "supercasePopulationCommit"
owningEmployeeId
string or null

The ID of the employee that owns this case. The case owner is the preferred employee to process tasks relating to this case.

Case ownership must be enabled via setting tasks.enableCaseOwnership to true in the company configuration.

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 (i.e. bankruptcy)

lenderAck
boolean or null
Default: false

The lender has acknowledged the auto-generated case.

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 (MetaData)

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.

escalatedAt
string or null <date-time>

Timestamp of when the case was escalated.

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.

Array of objectsAssociation (object) or caseAssociation (object) or null

Associated objects of the case.

openedAt
string or null <date-time>

Represents the original date-time a case was created, either within Peach or in an external system. For cases created directly in Peach CRM, openedAt is identical to createdAt, marking the initiation within Peach. Conversely, for cases migrated from external sources, openedAt reflects the time the case was originally established in the external system. The timestamp must include a timezone (or UTC offset).

Responses
200

Success

put/people/{personId}/cases/{caseId}
Request samples
application/json
{
  • "caseType": "bankruptcy",
  • "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,
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "createReviewTask": true,
  • "externalId": "string",
  • "people": [
    ],
  • "borrowerIds": [
    ],
  • "name": "string",
  • "creationProcedure": "automatedCollectionsDetection",
  • "owningEmployeeId": "string",
  • "autoCreated": true,
  • "status": "initiated",
  • "outcome": "approved",
  • "matchToDataSource": true,
  • "matchDetails": {
    },
  • "lenderAck": false,
  • "customFields": { },
  • "metaData": { },
  • "workflowId": "string",
  • "escalatedAt": "2019-08-24T14:15:22Z",
  • "escalatedTeamId": "string",
  • "escalatedEmployeeId": "string",
  • "escalationIsUrgent": true,
  • "associations": [
    ],
  • "openedAt": "2019-08-24T14:15:22Z"
}
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 (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.

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

The case object unique identifier.

Request Body schema: application/json
required
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 (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.

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

The case object unique identifier.

query Parameters
objectType
required
string

Type of object to remove from the case.

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

Peach unique identifier for the associated object to remove from the case.

Example: objectId=LN-AAAA-BBBB
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 (AnyId) ^ext-|^[A-Z][A-Z0-9]-[A-Z0-9]+-[A-Z0-9]+|^\d+...

The case object unique identifier.

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.

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

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

The case object unique identifier.

Request Body schema: application/json
required
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 (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.

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

The case object unique identifier.

Responses
200

Success

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

List case escalation by ID

List case escalations

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.

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

The case object unique identifier.

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

The case escalation object unique identifier.

Responses
200

Success

get/people/{personId}/cases/{caseId}/escalations/{caseEscalationId}
Response samples
application/json
{
  • "escalatedTeamId": "string",
  • "escalatedEmployeeId": "string",
  • "note": "string",
  • "isUrgent": false,
  • "caseId": "string",
  • "caseName": "string",
  • "escalationTargetName": "string"
}

Snooze case

Snooze the case or cancel the case snooze.

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.

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

The case object unique identifier.

Request Body schema: application/json
required
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
}