Do Not Interact Types

This object allows you to create custom Do Not Interact Types which will create Do Not Interact instances automatically when case conditions are met. For example, when a new bankruptcy case is initiated, the system can automatically create Do Not Interact to block debt collection related interactions for 30 calendar days.

The conditions are set in the following way. There are two triggers and one condition fields that you can configure:

  1. onStatus - triggered based on the case status.
  2. onOutcome - triggered based on the case outcome.
  3. onCondition - condition(s) based on case fields values.

You must provide at least one trigger, onStatus or onOutcome, when creating a new Do Not Interact Type object.

Few examples:

  • onStatus=processing, onOutcome=null, onCondition=null - the Do Not Interact instance will be created when the case status is changed to processing.
  • onStatus=completed, onOutcome=approved, onCondition=null - the Do Not Interact instance will be created when the case status is changed to completed and the outcome is approved.

Do Not Interact Types must be associated with Case Types. A Do Not Interact Type object can be associated with multiple Case Types.

Create type

Securityoauth2 or bearerAuth or apiKeyHeader
Request
query Parameters
typeId
integer <int32>

Optional argument. If provided, will create a new type from the specified typeId.

version
integer <int32>

Optional argument. If provided, the action will be performed on the specified version.

Request Body schema: application/json
required
id
string
createdAt
string <date-time>
updatedAt
string or null <date-time>
deletedAt
string or null <date-time>
name
string <= 50 characters
Default: ""

The default name for instances of that type. The name could be shown in UI.

description
string <= 500 characters
Default: ""

The description for instances of that type. The description could be shown in UI.

status
string
Default: "draft"

The type status. A new type is normally created in the draft status. After you finish with the type configurations and ready to create instances of that type, update the status to active.

You can also update an existing type. Each update will create a new version of the type. Only one version of the type can be active. We'll automatically change the previous version to deprecated. Instances in-flight will continue to use the previous version(s). New instances will be created using the active version.

Enum: "draft" "active" "deprecated"
channel
string (DoNotInteractChannel)

Channel(s) for which outbound interactions with a borrower are blocked. Use value all for all channels. At least one of the attributes, channel or theme, must be provided.

Enum: "all" "voice" "email" "fax" "text" "chat" "mail"
theme
string (DoNotInteractTheme)

Theme(s) for which outbound interactions with a borrower are blocked. Use value all for all themes. all doesn't include opsAccountCredentials. For example, use opsCollDebt to stop debt collection interactions. At least one of the attributes, channel or theme, must be provided.

Enum: "all" "opsCollDebt" "opsCollLocateBorrower" "opsCollVerifyEmployment" "opsCollContactEmployerNotice" "opsServicingDebtValidation" "opsServicingNegativeCreditReportNotice" "opsServicingTimeBarredNotice" "opsServicing"
onStatus
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"
onOutcome
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"
Array of objects or null (onCondition)

Array of conditions for case fields values. and operator is used if multiple conditions are provided. For example:

  • A bankruptcy case has two fields, chapter and dispositionCode.
  • If two conditions are created: first chapter=chapter17, second dispositionCode=dismissed.
  • The logical condition will look like: chapter=chapter17 and dispositionCode=dismissed.
duration
integer or null >= 0
Default: 0

Number of days during which the interactions will be blocked. We start counting from the day conditions are met.

unit
string or null

Indicates how to count days provided in duration.

Enum: "calendarDays" "businessDays"
Responses
200

Success

post/do-not-interact-types
Request samples
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "name": "",
  • "description": "",
  • "status": "draft",
  • "channel": "all",
  • "theme": "all",
  • "onStatus": "initiated",
  • "onOutcome": "approved",
  • "onCondition": [
    ],
  • "duration": 0,
  • "unit": "calendarDays"
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Get types

Securityoauth2 or bearerAuth or apiKeyHeader
Request
query Parameters
loanTypeId
Array of strings (AnyId)

Use this to limit results to a specific lender product.

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.

Responses
200

Success

get/do-not-interact-types
Response samples
application/json
{
  • "status": 0,
  • "count": 0,
  • "data": [
    ]
}

Get type by ID

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
doNotInteractTypeId
required
integer

The Do Not Interact Type unique identifier.

query Parameters
version
integer <int32>

Optional argument. If provided, the action will be performed on the specified version.

Responses
200

Success

get/do-not-interact-types/{doNotInteractTypeId}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}

Update type

Change the triggering conditions and settings of a draft type, or update the status of an active type to deprecated. Doing the later will create a new draft version of the configuration unless explicitly told not to.

Securityoauth2 or bearerAuth or apiKeyHeader
Request
path Parameters
doNotInteractTypeId
required
integer

The Do Not Interact Type unique identifier.

query Parameters
version
integer <int32>

Optional argument. If provided, the action will be performed on the specified version.

Request Body schema: application/json
required
id
string
createdAt
string <date-time>
updatedAt
string or null <date-time>
deletedAt
string or null <date-time>
name
string <= 50 characters
Default: ""

The default name for instances of that type. The name could be shown in UI.

description
string <= 500 characters
Default: ""

The description for instances of that type. The description could be shown in UI.

status
string
Default: "draft"

The type status. A new type is normally created in the draft status. After you finish with the type configurations and ready to create instances of that type, update the status to active.

You can also update an existing type. Each update will create a new version of the type. Only one version of the type can be active. We'll automatically change the previous version to deprecated. Instances in-flight will continue to use the previous version(s). New instances will be created using the active version.

Enum: "draft" "active" "deprecated"
channel
string (DoNotInteractChannel)

Channel(s) for which outbound interactions with a borrower are blocked. Use value all for all channels. At least one of the attributes, channel or theme, must be provided.

Enum: "all" "voice" "email" "fax" "text" "chat" "mail"
theme
string (DoNotInteractTheme)

Theme(s) for which outbound interactions with a borrower are blocked. Use value all for all themes. all doesn't include opsAccountCredentials. For example, use opsCollDebt to stop debt collection interactions. At least one of the attributes, channel or theme, must be provided.

Enum: "all" "opsCollDebt" "opsCollLocateBorrower" "opsCollVerifyEmployment" "opsCollContactEmployerNotice" "opsServicingDebtValidation" "opsServicingNegativeCreditReportNotice" "opsServicingTimeBarredNotice" "opsServicing"
onStatus
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"
onOutcome
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"
Array of objects or null (onCondition)

Array of conditions for case fields values. and operator is used if multiple conditions are provided. For example:

  • A bankruptcy case has two fields, chapter and dispositionCode.
  • If two conditions are created: first chapter=chapter17, second dispositionCode=dismissed.
  • The logical condition will look like: chapter=chapter17 and dispositionCode=dismissed.
duration
integer or null >= 0
Default: 0

Number of days during which the interactions will be blocked. We start counting from the day conditions are met.

unit
string or null

Indicates how to count days provided in duration.

Enum: "calendarDays" "businessDays"
Responses
200

Success

put/do-not-interact-types/{doNotInteractTypeId}
Request samples
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "name": "",
  • "description": "",
  • "status": "draft",
  • "channel": "all",
  • "theme": "all",
  • "onStatus": "initiated",
  • "onOutcome": "approved",
  • "onCondition": [
    ],
  • "duration": 0,
  • "unit": "calendarDays"
}
Response samples
application/json
{
  • "status": 0,
  • "message": "string",
  • "data": {
    }
}