Recover API Reference

Introduction#

The TrueAccord Recover REST API allows you to interact with your Recover account programmatically. Currently, it allows you to upload customers and amounts to be recovered from them and query their most recent status.

All the requests to the API must be done over HTTPS.

Endpoint#

The endpoint for the TrueAccord Recover API is: https://api.trueaccord.com/api/v1/

Authentication#

You authenticate to the TrueAccord Recover API by providing your API key as a username using HTTP Basic Authentication. The password part is ignored.

Example:

curl https://api.trueaccord.com/api/v1/customers/ -u $YOUR_KEY:

The -u option in curl sets the username and password for HTTP basic auth. Following it comes your API key and a colon that prevents curl from asking you for a password.

note

You must keep the colon (":") after your API key, as this represents a password which is being left blank.

You can also query the API in the browser with the same endpoint, https://api.trueaccord.com/api/v1/customers/. You'll be asked to provide a username and password in a pop-up alert. Copy-paste your API key into the username field, leave the password blank, and click the "Sign In" button. You'll see the JSON response in the browser window.

Headers#

X-TA-CREDITOR#

X-TA-CREDITOR

If your user account and its API key are associated with multiple creditors, you must include a custom header in your request for all /customer/ endpoints.  Add the following header: --header "X-TA-CREDITOR: $RELEVANT_CREDITOR_ID".  

If you fail to include this header, the request will fail with a status 403 error. See Recover Error Codes for more information.

If you're account is just associated with a single creditor, you do NOT need to include the X-TA-CREDITOR header.

Customers Endpoints#

These endpoints deal with modifying information about Customers, i.e. those who owe money that TrueAccord attempts to collect.

See the Customer datatype for more information on the Customer object.

Add Customers#

One or more customers can be added in a single request. The request payload contains a list of Customers under the key "customers".

POST https://api.trueaccord.com/api/v1/customers/

Add Customers Query Parameters#

ParamTypeRequiredAdditional Information
addDebtsIfPossibleBooleanFlag to add new debts to customers in the request for customers that have already been placed.

Add Customers Request Body#

KeyTypeRequiredAdditional Information
customersArray of CustomersInclude at least one Customer in the array.
Adding Customers Example Request JSON Payload
{
"customers": [
{
"name": {
"firstName": "John",
"middleName": "M",
"lastName": "Groom"
},
"dateOfBirth": {
"day": 7,
"month": 2,
"year": 1994
},
"businesses": [
{
"name": "Some Comp.",
"url": "http://www.company.com"
}
],
"addresses": [
{
"streetLine1": "101 N First St",
"streetLine2": "",
"city": "San Jose",
"state": "CA",
"zipcode": "99999",
"countryCode": "US",
"types" : [ "HOME" ]
}
],
"phones": [
{
"phoneNumber": "650-999-9999",
"types" : [ "CELL" ]
}
],
"emails": [
{
"email": "john@example.com",
"types" : [ "WORK" ]
},
{
"email": "john1977@gmail.com"
}
],
"reference": "MyRef",
"debts": [
{
"biller": "ArtsieStuff",
"product": "Oil Painting",
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"initialFees": {
"amount": 132,
"currency": "USD"
},
"transactionId": "MyTransId",
"transactionIp": "192.168.14.30",
"transactionTimestamp": 1385148285937,
"defaultTimestamp": 1388563200000,
"postChargeOffInformation" : {
"chargeOffTimestamp" : 1388563200000,
"balanceAtChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"feesAccruedSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"interestAccruedSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"totalPaidSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
}
},
"clientFields": [{
"key": "key1",
"value": "val1"}
],
"itemizationTimestamp" : 1385148285937,
"initialPaymentsAndCredits" : {
"amount" : 1000,
"currency": "USD"
},
"isInitialPrincipalBeforePaymentsAndCredits" : true
}
]
}
],
"addDebtsIfPossible": true
}

Add Customers Responses#

200 OK#

The customers in the response will mirror those of your request but with an additional meta field that can be used in the future to reference the customer objects you have created.

KeyTypeRequiredAdditional Info
customersArray of CustomersNew customers added to the system.
duplicatedReferencesArray of Duplicated ReferencesIf there are any duplicated customers in the query that have been placed before, their references will appear in the response under the duplicatedReferences field.
customersWithAddedDebtsArray of CustomersIf addDebtsIfPossible is flagged in the request, the response will mirror your request with new customers, and also include a separate field for existing customers that had new debts added: customersWithAddedDebts.
Add Customers 200 OK Response Example - Add New Customers and Duplicated References
{
"customers": [
{
"businesses": [
{
"name": "Some Comp.",
"url": "http://www.company.com"
}
],
"reference": "WowAReference",
"name": {
"firstName": "John",
"middleName": "M",
"lastName": "Groom"
},
"addresses": [
{
"state": "CA",
"streetLine1": "101 N First St",
"zipcode": "99999",
"streetLine2": "",
"types": [
"HOME"
],
"city": "San Jose",
"countryCode": "US"
}
],
"emails": [
{
"email": "john@example.com",
"types": [
"WORK"
]
},
{
"email": "john1977@gmail.com"
}
],
"phones": [
{
"phoneNumber": "650-999-9999",
"types": [
"CELL"
]
}
],
"dateOfBirth": {
"day": 7,
"month": 2,
"year": 1994
},
"meta": {
"isPrimary": false,
"lastModified": 1626447440161,
"versionInfo": {
"versionNumber": 0,
"userAccountId": "abcdefghijklmnop"
},
"timeCreated": 1626447440161,
"id": "f9b41cf2bfdc423fa51636a9394b74a4",
"isActive": true
},
"debts": [
{
"biller": "ArtsieStuff",
"initialFees": {
"amount": 132,
"currency": "USD"
},
"postChargeOffInformation": {
"balanceAtChargeOff": {
"amount": 14567,
"currency": "USD"
},
"feesAccruedSinceChargeOff": {
"amount": 14567,
"currency": "USD"
},
"chargeOffTimestamp": 1388563200000,
"totalPaidSinceChargeOff": {
"amount": 14567,
"currency": "USD"
},
"interestAccruedSinceChargeOff": {
"amount": 14567,
"currency": "USD"
}
},
"creditorId": "bf5903bb58cb352d441a9816e01ca09c",
"status": "PendingApproval",
"accountNumber": "4766780984752",
"type": "DEBT_TYPE_NONE",
"meta": {
"isPrimary": false,
"lastModified": 1626447440148,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1626447440148,
"id": "16537b04a2734f07ab4ebb82f2fe90de",
"isActive": true
},
"defaultTimestamp": 1388577600000,
"itemizationTimestamp" : 1385148285937,
"initialPaymentsAndCredits" : {
"amount" : 1000,
"currency": "USD"
},
"isInitialPrincipalBeforePaymentsAndCredits" : true,
"clientFields": [
{
"key": "key1",
"value": "val1"
}
],
"transactionIp": "192.168.14.30",
"initialCosts": {
"amount": 0,
"currency": "USD"
},
"product": "Oil Painting",
"chargeOffStatus": "NONE",
"transactionTimestamp": 1385148285937,
"personId": "f9b41cf2bfdc423fa51636a9394b74a4",
"transactionId": "WowATransId",
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"creditor": {
"brand": {
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"name": "iTable",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"meta": {
"isPrimary": false,
"lastModified": 1618853327379,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327379,
"id": "",
"isActive": true
},
"address": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
},
"type": "DOING_BUSINESS_AS"
},
"meta": {
"id": "bf5903bb58cb352d441a9816e01ca09c"
},
"originalBrand": {
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"name": "iTable",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"meta": {
"isPrimary": false,
"lastModified": 1618853327379,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327379,
"id": "",
"isActive": true
},
"address": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
},
"type": "DOING_BUSINESS_AS"
},
"creditorSettings": {
"creditorTimeZone": "PST",
"isFirstPartyRelationship": false,
"servicingType": "RECOVERY"
},
"companyName": "iTable",
"policy": {
"isAchEnabled": true
},
"industry": "",
"clientName": "iTable"
},
"paymentPlanId": "",
"oosWrittenDisclosure": "The law limits how long you can be sued on a debt. Because of the age of your debt,\nwe will not sue you for it, and we will not report it to any credit\nreporting agency.",
"isTimebarCompliant": false,
"locationCreated": {
"physical": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
}
},
"placementType": "ORIGINAL",
"isPreLegal": false,
"balanceDetails": {
"principal": {
"amount": 14567,
"currency": "USD"
},
"overcharges": {
"amount": 0,
"currency": "USD"
},
"isSettledInFull": false,
"costs": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
}
},
"specialUiTreatment": "NONE",
"unsettledPaymentsAmount": {
"amount": 0,
"currency": "USD"
},
"internalConfiguration": {
"showSpecialDisputeTreatment": true
},
"balance": {
"amount": 14699,
"currency": "USD"
},
"accruedInterest": {
"amount": 0,
"currency": "USD"
},
"balanceDetailsAtPlacement": {
"principal": {
"amount": 14567,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"costs": {
"amount": 0,
"currency": "USD"
}
},
"availablePaymentMethods": {
"creditCard": true,
"debitCard": true,
"check": true
},
"effectiveMaxDiscountPercent": {
"overrideType": "NO_OVERRIDE",
"maxDiscountPercent": 30,
"minSettlementPercent": 70
},
"transactionIdLast4": "nsId",
"communicationsInformation": {
"hadInitialCommunication": false
},
"minSettlementPercent": 70,
"maxDiscountPercent": 30,
"recentTransactionInfo": {},
"initialTotal": {
"amount": 14699,
"currency": "USD"
},
"accountNumberForDisplay": "nsId"
}
],
"isAddressInNewYorkCity": false
}
],
"duplicatedReferences": [
{
"reference": "LookAReference",
"transactionId": "LookATransId"
}
]
}

Add Customers 200 OK Response Example - Only Duplicated References
{
"duplicatedReferences": [
{
"reference": "155780663968-CbzcTXGaAtpW1"
}
]
}

Add Customers 200 OK Response Example - Existing Customer with Added Debts
{
"customersWithAddedDebts": [
{
"businesses": [
{
"name": "Some Comp.",
"url": "http://www.company.com"
}
],
"reference": "LookAReference",
"name": {
"firstName": "John",
"middleName": "M",
"lastName": "Groom"
},
"addresses": [
{
"state": "CA",
"streetLine1": "101 N First St",
"zipcode": "99999",
"streetLine2": "",
"types": ["HOME"],
"city": "San Jose",
"countryCode": "US"
}
],
"emails": [
{
"email": "john@example.com",
"types": ["WORK"]
},
{
"email": "john1977@gmail.com"
}
],
"phones": [
{
"phoneNumber": "650-999-9999",
"types": ["CELL"]
}
],
"dateOfBirth": {
"day": 7,
"month": 2,
"year": 1994
},
"debts": [
{
"biller": "ArtsieStuff",
"initialFees": {
"amount": 132,
"currency": "USD"
},
"postChargeOffInformation": {
"balanceAtChargeOff": {
"amount": 14567,
"currency": "USD"
},
"feesAccruedSinceChargeOff": {
"amount": 14567,
"currency": "USD"
},
"chargeOffTimestamp": 1388563200000,
"totalPaidSinceChargeOff": {
"amount": 14567,
"currency": "USD"
},
"interestAccruedSinceChargeOff": {
"amount": 14567,
"currency": "USD"
}
},
"creditorId": "bf5903bb58cb352d441a9816e01ca09c",
"status": "PendingApproval",
"accountNumber": "4741594710484",
"type": "DEBT_TYPE_NONE",
"meta": {
"isPrimary": false,
"lastModified": 1626448344983,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1626448344983,
"id": "918729bcc6ba4639ba55485115bfb5b3",
"isActive": true
},
"defaultTimestamp": 1388577600000,
"itemizationTimestamp" : 1385148285937,
"initialPaymentsAndCredits" : {
"amount" : 1000,
"currency": "USD"
},
"isInitialPrincipalBeforePaymentsAndCredits" : true,
"clientFields": [
{
"key": "key1",
"value": "val1"
}
],
"transactionIp": "192.168.14.30",
"initialCosts": {
"amount": 0,
"currency": "USD"
},
"product": "Oil Painting",
"chargeOffStatus": "NONE",
"transactionTimestamp": 1385148285937,
"personId": "17326913566d46a1a8be78916f93559c",
"transactionId": "YetAnotherTransId",
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"creditor": {
"brand": {
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"name": "iTable",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"meta": {
"isPrimary": false,
"lastModified": 1618853327379,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327379,
"id": "",
"isActive": true
},
"address": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
},
"type": "DOING_BUSINESS_AS"
},
"meta": {
"id": "bf5903bb58cb352d441a9816e01ca09c"
},
"originalBrand": {
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"name": "iTable",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"meta": {
"isPrimary": false,
"lastModified": 1618853327379,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327379,
"id": "",
"isActive": true
},
"address": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
},
"type": "DOING_BUSINESS_AS"
},
"creditorSettings": {
"creditorTimeZone": "PST",
"isFirstPartyRelationship": false,
"servicingType": "RECOVERY"
},
"companyName": "iTable",
"policy": {
"isAchEnabled": true
},
"industry": "",
"clientName": "iTable"
},
"paymentPlanId": "",
"oosWrittenDisclosure": "The law limits how long you can be sued on a debt. Because of the age of your debt,\nwe will not sue you for it, and we will not report it to any credit\nreporting agency.",
"isTimebarCompliant": false,
"locationCreated": {
"physical": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
}
},
"placementType": "ORIGINAL",
"isPreLegal": false,
"balanceDetails": {
"principal": {
"amount": 14567,
"currency": "USD"
},
"overcharges": {
"amount": 0,
"currency": "USD"
},
"isSettledInFull": false,
"costs": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
}
},
"specialUiTreatment": "NONE",
"unsettledPaymentsAmount": {
"amount": 0,
"currency": "USD"
},
"internalConfiguration": {
"showSpecialDisputeTreatment": true
},
"balance": {
"amount": 14699,
"currency": "USD"
},
"accruedInterest": {
"amount": 0,
"currency": "USD"
},
"balanceDetailsAtPlacement": {
"principal": {
"amount": 14567,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"costs": {
"amount": 0,
"currency": "USD"
}
},
"availablePaymentMethods": {
"creditCard": true,
"debitCard": true,
"check": true
},
"effectiveMaxDiscountPercent": {
"overrideType": "NO_OVERRIDE",
"maxDiscountPercent": 30,
"minSettlementPercent": 70
},
"transactionIdLast4": "nsId",
"communicationsInformation": {
"hadInitialCommunication": false
},
"minSettlementPercent": 70,
"maxDiscountPercent": 30,
"recentTransactionInfo": {},
"initialTotal": {
"amount": 14699,
"currency": "USD"
},
"accountNumberForDisplay": "nsId"
}
]
}
],
}

Add Customers V2#

One or more customers can be added in a single request. The request payload contains a list of Customers under the key "customers". Use of V2 is recommended over V1, as it mirrors the request with results or errors per account.

POST https://api.trueaccord.com/api/v1/customersBatch/

Add Customers V2 Query Parameters#

Request body parameters available:

KeyTypeRequiredAdditional Info
addDebtsIfPossibleBooleanIf true, add new debts to customers in the request if they have already been placed.
Adding Customers V2 Example Request
{
"customers": [
{
"name": {
"firstName": "John",
"middleName": "M",
"lastName": "Groom"
},
"dateOfBirth": {
"day": 7,
"month": 2,
"year": 1994
},
"businesses": [
{
"name": "Some Comp.",
"url": "http://www.company.com"
}
],
"addresses": [
{
"streetLine1": "101 N First St",
"streetLine2": "",
"city": "San Jose",
"state": "CA",
"zipcode": "99999",
"countryCode": "US",
"types" : [ "HOME" ]
}
],
"phones": [
{
"phoneNumber": "650-999-9999",
"types" : [ "CELL" ]
}
],
"emails": [
{
"email": "john@example.com",
"types" : [ "WORK" ]
},
{
"email": "john1977@gmail.com"
}
],
"reference": "MyRef",
"debts": [
{
"biller": "ArtsieStuff",
"product": "Oil Painting",
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"initialFees": {
"amount": 132,
"currency": "USD"
},
"transactionId": "MyTransId",
"transactionIp": "192.168.14.30",
"transactionTimestamp": 1385148285937,
"defaultTimestamp": 1388563200000,
"postChargeOffInformation" : {
"chargeOffTimestamp" : 1388563200000,
"balanceAtChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"feesAccruedSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"interestAccruedSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"totalPaidSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
}
},
"clientFields": [{
"key": "key1",
"value": "val1"}
],
"itemizationTimestamp" : 1385148285937,
"initialPaymentsAndCredits" : {
"amount" : 1000,
"currency": "USD"
},
"isInitialPrincipalBeforePaymentsAndCredits" : true
}
]
}
],
"addDebtsIfPossible": true
}

Add Customers V2 Responses#

200 OK#

In the case where the request succeeds, the response will mirror your request but with an additional meta field that can be used in the future to reference the customer objects you have created.

If there are any duplicate references/transaction ids or any other issues with a placed customer, it will be visible in the response with the flag isError .

If addDebtsIfPossible is flagged, the response will mirror your request with new customers, and also include a flag for isAddedDebt if an existing customer had another debt placed.

KeyTypeRequiredAdditional Info
responsesArray of objectsArray that aligns with the request. Contains Customer V2 Responses and Customer V2 Errors. but if there was an error posting a certain customer, replaces that customer with an error message.
Customer V2 Response#
KeyTypeRequiredAdditional Info
customerCustomerThe customer that is added.
isAddedDebtBoolean
Customer V2 Error#
KeyTypeRequiredAdditional Info
isErrorBooleanIs true if there is an error. Can be used to programmatically identify when dealing with error.
errorErrorInformation about the error returned.
Adding Customers V2 200 OK Response Example - Add Customer and Duplicate Error
{
"responses": [
{
"customer": {
"name": {
"firstName": "John",
"middleName": "M",
"lastName": "Groom"
},
"dateOfBirth": {
"day": 7,
"month": 2,
"year": 1994
},
"businesses": [
{
"name": "Some Comp.",
"url": "http://www.company.com"
}
],
"addresses": [
{
"streetLine1": "101 N First St",
"streetLine2": "",
"city": "San Jose",
"state": "CA",
"zipcode": "99999",
"countryCode": "US",
"types": [
"HOME"
]
}
],
"phones": [
{
"phoneNumber": "650-999-9999",
"types": [
"CELL"
]
}
],
"emails": [
{
"email": "john@example.com",
"types": [
"WORK"
]
},
{
"email": "john1977@gmail.com"
}
],
"reference": "MyRef",
"debts": [
{
"biller": "ArtsieStuff",
"product": "Oil Painting",
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"initialFees": {
"amount": 132,
"currency": "USD"
},
"transactionId": "MyTransId",
"transactionIp": "192.168.14.30",
"transactionTimestamp": 1385148285937,
"defaultTimestamp": 1388563200000,
"itemizationTimestamp" : 1385148285937,
"initialPaymentsAndCredits" : {
"amount" : 1000,
"currency": "USD"
},
"isInitialPrincipalBeforePaymentsAndCredits" : true,
"postChargeOffInformation": {
"chargeOffTimestamp": 1388563200000,
"balanceAtChargeOff": {
"amount": 14567,
"currency": "USD"
},
"feesAccruedSinceChargeOff": {
"amount": 14567,
"currency": "USD"
},
"interestAccruedSinceChargeOff": {
"amount": 14567,
"currency": "USD"
},
"totalPaidSinceChargeOff": {
"amount": 14567,
"currency": "USD"
}
},
"clientFields": [
{
"key": "key1",
"value": "val1"
}
]
}
]
},
"isAddedDebt": true
},
{
"error": {
"errorCode": "104",
"message": "Duplicated transactionId.",
"reference": "1234",
"transactionId": "MyTransId"
},
"isError": true
}
]
}

Adding Customers V2 200 OK Response Example - Only Duplicate Error
{
"responses": [
{
"isError": true,
"error": {
"errorCode": "409",
"message": "Duplicated transaction id.",
"reference": "MyRef",
"transactionId": "MyTransId"
}
}
]
}

List Customers#

GET https://api.trueaccord.com/api/v1/customers/

Returns a paginated list of Customer objects you created, along with current status information.

List Customers Query Parameters#

KeyTypeRequiredAdditional Info
countIntegerNumber of results to return. Limited to at most 100.
offsetIntegerZero-based. Used when more than 100 results to display further results.
startTimeTimestampOnly returns customers after this time.
endTimeTimestampOnly returns customers before this time.

List Customers Responses#

200 OK#
KeyTypeRequiredAdditional Info
customersArray of CustomersThe customers returned by query.
totalResultsIntegerTotal number of results for the query. Can be useful for pagination in combination with count and offset query parameters.
Listing Customers Example Response - 200 OK
{
"totalResults": 1,
"customers": [
{
"meta": {
"id": "3ef84ff19ddc",
"isActive": true,
"isPrimary": false,
"timeCreated": 1385695523047,
"lastModified": 1385695523047
},
"name": {
"firstName": "John",
"middleName": "M",
"lastName": "Groom"
},
"dateOfBirth": {
"day": 7,
"month": 2,
"year": 1994
},
"businesses": [
{
"name": "Some Comp.",
"url": "http://www.company.com"
}
],
"addresses": [
{
"streetLine1": "101 N First St",
"streetLine2": "",
"city": "San Jose",
"state": "CA",
"zipcode": "99999",
"countryCode": "US"
}
],
"phones": [
{
"phoneNumber": "650-999-9999"
}
],
"emails": [
{
"email": "john@example.com"
},
{
"email": "john1977@gmail.com"
}
],
"reference": "MyRef",
"debts": [
{
"meta": {
"id": "f32962a52aeb",
"isActive": true,
"isPrimary": false,
"timeCreated": 1385695523047,
"lastModified": 1385695523047
},
"biller": "ArtsieStuff",
"product": "Oil Painting",
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"initialFees": {
"amount": 132,
"currency": "USD"
},
"transactionId": "MyTransId",
"transactionIp": "192.168.14.30",
"transactionTimestamp": 1385148285937,
"defaultTimestamp": 1388563200000,
"accountNumber": "47994372839",
"balance": {
"amount": 14699,
"currency": "USD"
},
"status": "New"
}
]
}
]
}

List Customers by Creditor Reference ID#

info

This section technically refers to the same endpoints as List Customer Responses. However, a separate section has been created for it due to the unique and important behavior of the reference query parameter.

This will return a customer object specified by your internal reference number.

For one reference:

GET https://api.trueaccord.com/api/v1/customers/?reference={CreditorReferenceId}

For multiple references:

GET https://api.trueaccord.com/api/v1/customers/?reference={CreditorReferenceId_00},{CreditorReferenceId_01},...,{CreditorReferenceId_99}

List Customer by Creditor Reference ID Query Parameters#

KeyTypeRequiredAdditional Info
referencecomma separated stringsCreditor's customer references. Separate multiple references with commas. Max number of references to include is 100.
countIntegerNumber of results to return. Limited to at most 100.
offsetIntegerZero-based. Used when more than 100 results to display further results.
startTimeTimestampOnly returns customers after this time.
endTimeTimestampOnly returns customers before this time.

List Customers by Creditor Reference ID Responses#

200 OK#
KeyTypeRequiredAdditional Info
customersArray of CustomersThe customers returned by query.
totalResultsIntegerTotal number of results for the query. Can be useful for pagination in combination with count and offset query parameters.
List Customers by Creditor Reference ID 200 OK Response Example

Request endpoint: https://api.trueaccord.com/api/v1/customers/?reference=E=>7IzDYM

Response Body:

{
"customers": [
{
"businesses": [
{
"meta": {
"isPrimary": true,
"lastModified": 1618853327549,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327549,
"id": "ac3809bbb87f56e84fd730eb0d948bcf",
"isActive": true
},
"name": "Curae; Phasellus Ltd"
}
],
"reference": "E=>7IzDYM",
"name": {
"firstName": "Cecilia",
"lastName": "Snyder"
},
"addresses": [
{
"state": "OR",
"meta": {
"isPrimary": true,
"lastModified": 1618853327541,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327541,
"id": "39722cbbf8b91a4b9045c5e6175f1001",
"isActive": true
},
"streetLine1": "Ap #934-120 Ante Rd.",
"zipcode": "28033",
"city": "Portland",
"countryCode": "US"
}
],
"emails": [
{
"meta": {
"isPrimary": true,
"lastModified": 1618853327547,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327547,
"id": "4c9326bb9805fa8f85882c12eae724ce",
"isActive": true
},
"email": "cecilia.snyder@isp.com"
},
{
"meta": {
"isPrimary": false,
"lastModified": 1618853327569,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327569,
"id": "f0c62e118427f5948aefa5c428c43c93",
"isActive": true
},
"email": "cecilia353@aol.com"
}
],
"phones": [
{
"meta": {
"isPrimary": true,
"lastModified": 1618853327539,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327539,
"id": "73d51abbd89cb8196f0efb6892f94d68",
"isActive": true
},
"phoneNumber": "353-719-8146"
},
{
"meta": {
"isPrimary": false,
"lastModified": 1618853327569,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327569,
"id": "fccc2c35f0b84609e5f12c55dd85aba8",
"isActive": true
},
"phoneNumber": "353-719-8147"
}
],
"dateOfBirth": {
"day": 22,
"month": 3,
"year": 1985
},
"meta": {
"isPrimary": false,
"lastModified": 1618853328092,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853328092,
"id": "e54db7d751316935960ee7adc12857f2",
"isActive": true
},
"debts": [
{
"biller": "biller_0",
"initialFees": {
"amount": 0,
"currency": "USD"
},
"postChargeOffInformation": {
"chargeOffTimestamp": 1606557600000
},
"creditorId": "bf5903bb58cb352d441a9816e01ca09c",
"status": "InPaymentPlan",
"accountNumber": "43756429154",
"type": "DEBT_TYPE_NONE",
"meta": {
"isPrimary": false,
"lastModified": 1618853327596,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1603906010851,
"id": "99170fbb183477a35a94c9bf390b7702",
"isActive": true
},
"defaultTimestamp": 1609495200000,
"accountOpenTimestamp": 1607421600000,
"transactionIp": "127.0.0.1",
"initialCosts": {
"amount": 0,
"currency": "USD"
},
"product": "product_0",
"chargeOffStatus": "NONE",
"personId": "e54db7d751316935960ee7adc12857f2",
"transactionId": "839580621",
"initialInterest": {
"amount": 6494,
"currency": "USD"
},
"initialPrincipal": {
"amount": 90223,
"currency": "USD"
},
"paymentOffers": {
"availableSettlement": {
"settlementPercent": 30
},
"highlightedPpConfiguration": {
"numberOfInstallments": 3,
"frequency": "MONTHLY",
"settlementPercent": 25
},
"availablePpConfigurations": [
{
"numberOfInstallments": 3,
"frequency": "MONTHLY",
"settlementPercent": 25
},
{
"numberOfInstallments": 6,
"frequency": "MONTHLY",
"settlementPercent": 20
},
{
"numberOfInstallments": 9,
"frequency": "MONTHLY",
"settlementPercent": 15
}
],
"debtId": "99170fbb183477a35a94c9bf390b7702",
"disallowCustomPlans": false,
"meta": {
"isPrimary": false,
"lastModified": 1618853327609,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1617730010851,
"id": "741443f2d7674423b63e6711cc02c9d3",
"isActive": true
}
},
"creditor": {
"brand": {
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"name": "iTable",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"meta": {
"isPrimary": false,
"lastModified": 1618853327379,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327379,
"id": "",
"isActive": true
},
"address": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
},
"type": "DOING_BUSINESS_AS"
},
"meta": {
"id": "bf5903bb58cb352d441a9816e01ca09c"
},
"originalBrand": {
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"name": "iTable",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"meta": {
"isPrimary": false,
"lastModified": 1618853327379,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327379,
"id": "",
"isActive": true
},
"address": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
},
"type": "DOING_BUSINESS_AS"
},
"creditorSettings": {
"creditorTimeZone": "PST",
"isFirstPartyRelationship": false,
"servicingType": "RECOVERY"
},
"companyName": "iTable",
"policy": {
"isAchEnabled": true
},
"industry": "",
"clientName": "iTable"
},
"paymentPlanId": "4541dabab8dc500ff9ee6a46aada2f38",
"isTimebarCompliant": true,
"locationCreated": {
"physical": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
}
},
"placementType": "ORIGINAL",
"isPreLegal": false,
"balanceDetails": {
"principal": {
"amount": 70881,
"currency": "USD"
},
"overcharges": {
"amount": 0,
"currency": "USD"
},
"isSettledInFull": false,
"costs": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 0,
"currency": "USD"
},
"interest": {
"amount": 6494,
"currency": "USD"
}
},
"specialUiTreatment": "NONE",
"unsettledPaymentsAmount": {
"amount": 0,
"currency": "USD"
},
"internalConfiguration": {
"showSpecialDisputeTreatment": false
},
"balance": {
"amount": 77375,
"currency": "USD"
},
"accruedInterest": {
"amount": 0,
"currency": "USD"
},
"balanceDetailsAtPlacement": {
"principal": {
"amount": 90223,
"currency": "USD"
},
"interest": {
"amount": 6494,
"currency": "USD"
},
"fees": {
"amount": 0,
"currency": "USD"
},
"costs": {
"amount": 0,
"currency": "USD"
}
},
"availablePaymentMethods": {
"creditCard": true,
"debitCard": true,
"check": true
},
"calculatedPaymentOffers": {
"delayedOneTimePayment": {
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 77375,
"currency": "USD"
},
"discount": {
"amount": 0,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 1
},
"discountPercent": 0,
"settlementPercent": 100,
"numberOfInstallments": 1,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"percentOfCurrentBalance": 100,
"installmentAmount": {
"amount": 77375,
"currency": "USD"
},
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"isSif": false
},
"settlementConstraints": {
"min": {
"percent": 70,
"amount": {
"amount": 54162,
"currency": "USD"
}
},
"max": {
"percent": 100,
"amount": {
"amount": 77375,
"currency": "USD"
}
},
"settlementsAvailable": true
},
"disallowCustomPlans": false,
"availablePlans": [
{
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 25792,
"currency": "USD"
},
"discount": {
"amount": 0,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 3
},
"discountPercent": 0,
"settlementPercent": 100,
"numberOfInstallments": 3,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"percentOfCurrentBalance": 100,
"installmentAmount": {
"amount": 25792,
"currency": "USD"
},
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"isSif": false
},
{
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 12896,
"currency": "USD"
},
"discount": {
"amount": 0,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 6
},
"discountPercent": 0,
"settlementPercent": 100,
"numberOfInstallments": 6,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"percentOfCurrentBalance": 100,
"installmentAmount": {
"amount": 12896,
"currency": "USD"
},
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"isSif": false
},
{
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 8598,
"currency": "USD"
},
"discount": {
"amount": 0,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 9
},
"discountPercent": 0,
"settlementPercent": 100,
"numberOfInstallments": 9,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"percentOfCurrentBalance": 100,
"installmentAmount": {
"amount": 8598,
"currency": "USD"
},
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"isSif": false
}
],
"highlightedPlan": {
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 25792,
"currency": "USD"
},
"discount": {
"amount": 0,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 3
},
"discountPercent": 0,
"settlementPercent": 100,
"numberOfInstallments": 3,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"percentOfCurrentBalance": 100,
"installmentAmount": {
"amount": 25792,
"currency": "USD"
},
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"isSif": false
}
},
"effectiveMaxDiscountPercent": {
"overrideType": "NO_OVERRIDE",
"maxDiscountPercent": 30,
"minSettlementPercent": 70
},
"transactionIdLast4": "0621",
"communicationsInformation": {
"hadInitialCommunication": false
},
"minSettlementPercent": 70,
"maxDiscountPercent": 30,
"recentTransactionInfo": {
"lastPaymentDate": {
"day": 3,
"month": 4,
"year": 2021
},
"lastPaymentAmount": {
"amount": 9671,
"currency": "USD"
}
},
"initialTotal": {
"amount": 96717,
"currency": "USD"
},
"accountNumberForDisplay": "0621"
}
],
"isAddressInNewYorkCity": false
}
],
"totalResults": 1
}

Get One Customer#

GET https://api.trueaccord.com/api/v1/customers/{customerId}

Returns the Customer object with the given customerId.

The customer id appears in the meta field of the Customer object that was returned to you when you added the customer. The ids also appear in the list customers response.

Get One Customer Responses#

200 OK#

The response body is a Customer object, with the Metadata populated for all relevant fields.

Get One Customer 200 OK Response ExampleRequest Endpoint: `https://api.trueaccord.com/api/v1/customers/abcdefghijklmnop`

Response body:

{
"businesses": [
{
"name": "Some Comp.",
"url": "http://www.company.com"
}
],
"reference": "MyRef",
"name": {
"firstName": "John",
"middleName": "M",
"lastName": "Groom"
},
"addresses": [
{
"state": "CA",
"streetLine1": "101 N First St",
"zipcode": "99999",
"streetLine2": "",
"types": ["HOME"],
"city": "San Jose",
"countryCode": "US"
}
],
"emails": [
{
"email": "john@example.com",
"types": ["WORK"]
},
{
"email": "john1977@gmail.com"
}
],
"phones": [
{
"phoneNumber": "650-999-9999",
"types": ["CELL"]
}
],
"dateOfBirth": {
"day": 7,
"month": 2,
"year": 1994
},
"meta": {
"isPrimary": false,
"lastModified": 1624459680086,
"versionInfo": {
"versionNumber": 0,
"userAccountId": "abcdefghijklmnop"
},
"timeCreated": 1624459680086,
"id": "ffb88fc262714b9b952aab04fceef815",
"isActive": true
},
"debts": [
{
"biller": "ArtsieStuff",
"initialFees": {
"amount": 132,
"currency": "USD"
},
"postChargeOffInformation": {
"balanceAtChargeOff": {
"amount": 14567,
"currency": "USD"
},
"feesAccruedSinceChargeOff": {
"amount": 14567,
"currency": "USD"
},
"chargeOffTimestamp": 1388563200000,
"totalPaidSinceChargeOff": {
"amount": 14567,
"currency": "USD"
},
"interestAccruedSinceChargeOff": {
"amount": 14567,
"currency": "USD"
}
},
"creditorId": "bf5903bb58cb352d441a9816e01ca09c",
"status": "PendingApproval",
"accountNumber": "4748579232244",
"type": "DEBT_TYPE_NONE",
"meta": {
"isPrimary": false,
"lastModified": 1624459680039,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1624459680039,
"id": "27810c31088f47ec86e8d6956251b084",
"isActive": true
},
"defaultTimestamp": 1388577600000,
"clientFields": [
{
"key": "key1",
"value": "val1"
}
],
"transactionIp": "192.168.14.30",
"initialCosts": {
"amount": 0,
"currency": "USD"
},
"product": "Oil Painting",
"chargeOffStatus": "NONE",
"transactionTimestamp": 1385148285937,
"personId": "ffb88fc262714b9b952aab04fceef815",
"transactionId": "MyTransId",
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"creditor": {
"brand": {
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"name": "iTable",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"meta": {
"isPrimary": false,
"lastModified": 1618853327379,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327379,
"id": "",
"isActive": true
},
"address": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
},
"type": "DOING_BUSINESS_AS"
},
"meta": {
"id": "bf5903bb58cb352d441a9816e01ca09c"
},
"originalBrand": {
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"name": "iTable",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"meta": {
"isPrimary": false,
"lastModified": 1618853327379,
"versionInfo": {
"versionNumber": 0
},
"timeCreated": 1618853327379,
"id": "",
"isActive": true
},
"address": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
},
"type": "DOING_BUSINESS_AS"
},
"creditorSettings": {
"creditorTimeZone": "PST",
"isFirstPartyRelationship": false,
"servicingType": "RECOVERY"
},
"companyName": "iTable",
"policy": {
"isAchEnabled": true
},
"industry": "",
"clientName": "iTable"
},
"paymentPlanId": "",
"oosWrittenDisclosure": "The law limits how long you can be sued on a debt. Because of the age of your debt,\nwe will not sue you for it, and we will not report it to any credit\nreporting agency.",
"isTimebarCompliant": false,
"locationCreated": {
"physical": {
"state": "CA",
"streetLine1": "148 Townsend",
"zipcode": "94107",
"streetLine2": "Suite #26",
"city": "San Francisco",
"countryCode": "US"
}
},
"placementType": "ORIGINAL",
"isPreLegal": false,
"balanceDetails": {
"principal": {
"amount": 14567,
"currency": "USD"
},
"overcharges": {
"amount": 0,
"currency": "USD"
},
"isSettledInFull": false,
"costs": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
}
},
"specialUiTreatment": "NONE",
"unsettledPaymentsAmount": {
"amount": 0,
"currency": "USD"
},
"internalConfiguration": {
"showSpecialDisputeTreatment": true
},
"balance": {
"amount": 14699,
"currency": "USD"
},
"accruedInterest": {
"amount": 0,
"currency": "USD"
},
"balanceDetailsAtPlacement": {
"principal": {
"amount": 14567,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"costs": {
"amount": 0,
"currency": "USD"
}
},
"availablePaymentMethods": {
"creditCard": true,
"debitCard": true,
"check": true
},
"effectiveMaxDiscountPercent": {
"overrideType": "NO_OVERRIDE",
"maxDiscountPercent": 30,
"minSettlementPercent": 70
},
"transactionIdLast4": "nsId",
"communicationsInformation": {
"hadInitialCommunication": false
},
"minSettlementPercent": 70,
"maxDiscountPercent": 30,
"recentTransactionInfo": {},
"initialTotal": {
"amount": 14699,
"currency": "USD"
},
"accountNumberForDisplay": "nsId"
}
],
"isAddressInNewYorkCity": false
}

Add Contact Information to a Customer#

PATCH https://api.trueaccord.com/api/v1/customers/{customerId}

This will add the addresses, emails and phones in the request to the customer. Does not replace existing data.

Add Contact Information to a Customer Request Body#

If you do not want to add all addresses, phones, and emails, you can just add as relevant. None of the fields are required.

KeyTypeRequiredAdditional Info
addressesArray of Customer Addresses
phonesArray of Customer Phones
emailsArray of Customer Emails
Add Contact Information to a Customer Request Body Example
{
"addresses": [
{
"streetLine1": "101 N First St",
"streetLine2": "",
"city": "San Jose",
"state": "CA",
"zipcode": "99999",
"countryCode": "US"
}
],
"phones": [
{
"phoneNumber": "650-999-9999"
}
],
"emails": [
{
"email": "john@example.com"
},
{
"email": "john1977@example.com"
}
]
}

Add Contact Information to a Customer Responses#

200 OK#

The response is a full Customer object for the customer with the customerId in the URL parameter, including the contact information added in the request body.

Note that the response includes Metadata.

Add Contact Information to a Customer 200 OK Response Example
{
"dateOfBirth": {
"day": 22,
"month": 3,
"year": 1985
},
"emails": [
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": true,
"id": "4c9326bb9805fa8f85882c12eae724ce",
"timeCreated": 1618853327547,
"lastModified": 1618853327547,
"isActive": true
},
"email": "cecilia.snyder@isp.com"
},
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "f0c62e118427f5948aefa5c428c43c93",
"timeCreated": 1618853327569,
"lastModified": 1618853327569,
"isActive": true
},
"email": "cecilia353@aol.com"
},
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "ae4f24909f854ed2abdfcd15a796ac71",
"timeCreated": 1626816065553,
"lastModified": 1626816065553,
"isActive": true
},
"email": "john@example.com"
},
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "2feae01170e94b259ecac4d64733ff50",
"timeCreated": 1626816065556,
"lastModified": 1626816065556,
"isActive": true
},
"email": "john1977@example.com"
}
],
"reference": "E=>7IzDYM",
"name": {
"firstName": "Cecilia",
"lastName": "Snyder"
},
"businesses": [
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": true,
"id": "ac3809bbb87f56e84fd730eb0d948bcf",
"timeCreated": 1618853327549,
"lastModified": 1618853327549,
"isActive": true
},
"name": "Curae; Phasellus Ltd"
}
],
"addresses": [
{
"zipcode": "28033",
"streetLine1": "Ap #934-120 Ante Rd.",
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": true,
"id": "39722cbbf8b91a4b9045c5e6175f1001",
"timeCreated": 1618853327541,
"lastModified": 1618853327541,
"isActive": true
},
"countryCode": "US",
"city": "Portland",
"state": "OR"
},
{
"zipcode": "99999",
"streetLine1": "101 N First St",
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "18dd5a4f3e4c4b87b90209e49d2fb6b4",
"timeCreated": 1626816065573,
"lastModified": 1626816065573,
"isActive": true
},
"streetLine2": "",
"countryCode": "US",
"city": "San Jose",
"state": "CA"
}
],
"meta": {
"versionInfo": {
"versionNumber": 1,
"userAccountId": "deadbeefdeadbeefdeadbeefdeadbeef"
},
"isPrimary": false,
"id": "e54db7d751316935960ee7adc12857f2",
"timeCreated": 1618853327501,
"lastModified": 1626816065766,
"isActive": true
},
"phones": [
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": true,
"id": "73d51abbd89cb8196f0efb6892f94d68",
"timeCreated": 1618853327539,
"lastModified": 1618853327539,
"isActive": true
},
"phoneNumber": "353-719-8146"
},
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "fccc2c35f0b84609e5f12c55dd85aba8",
"timeCreated": 1618853327569,
"lastModified": 1618853327569,
"isActive": true
},
"phoneNumber": "353-719-8147"
},
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "a4bef9012cba4515951a127a91aa58eb",
"timeCreated": 1626816065570,
"lastModified": 1626816065570,
"isActive": true
},
"phoneNumber": "6509999999"
}
],
"debts": [
{
"chargeOffStatus": "NONE",
"initialPrincipal": {
"amount": 90223,
"currency": "USD"
},
"biller": "biller_0",
"accountNumber": "43756429154",
"accountOpenTimestamp": 1607421600000,
"creditorId": "bf5903bb58cb352d441a9816e01ca09c",
"personId": "e54db7d751316935960ee7adc12857f2",
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "99170fbb183477a35a94c9bf390b7702",
"timeCreated": 1603906010851,
"lastModified": 1618853327596,
"isActive": true
},
"defaultTimestamp": 1609495200000,
"initialInterest": {
"amount": 6494,
"currency": "USD"
},
"type": "DEBT_TYPE_NONE",
"postChargeOffInformation": {
"chargeOffTimestamp": 1606557600000
},
"initialCosts": {
"amount": 0,
"currency": "USD"
},
"product": "product_0",
"transactionIp": "127.0.0.1",
"transactionId": "839580621",
"status": "InPaymentPlan",
"initialFees": {
"amount": 0,
"currency": "USD"
},
"creditor": {
"creditorSettings": {
"creditorTimeZone": "PST",
"isFirstPartyRelationship": false,
"servicingType": "RECOVERY"
},
"originalBrand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"meta": {
"id": "bf5903bb58cb352d441a9816e01ca09c"
},
"brand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"policy": {
"isAchEnabled": true
},
"industry": "",
"companyName": "iTable",
"clientName": "iTable"
},
"balanceDetails": {
"costs": {
"amount": 0,
"currency": "USD"
},
"interest": {
"amount": 6494,
"currency": "USD"
},
"overcharges": {
"amount": 0,
"currency": "USD"
},
"principal": {
"amount": 70881,
"currency": "USD"
},
"fees": {
"amount": 0,
"currency": "USD"
},
"isSettledInFull": false
},
"maxDiscountPercent": 30,
"internalConfiguration": {
"showSpecialDisputeTreatment": true
},
"transactionIdLast4": "0621",
"accountNumberForDisplay": "0621",
"accruedInterest": {
"amount": 0,
"currency": "USD"
},
"paymentOffers": {
"highlightedPpConfiguration": {
"numberOfInstallments": 3,
"frequency": "MONTHLY",
"settlementPercent": 25
},
"availablePpConfigurations": [
{
"numberOfInstallments": 3,
"frequency": "MONTHLY",
"settlementPercent": 25
},
{
"numberOfInstallments": 6,
"frequency": "MONTHLY",
"settlementPercent": 20
},
{
"numberOfInstallments": 9,
"frequency": "MONTHLY",
"settlementPercent": 15
}
],
"availableSettlement": {
"settlementPercent": 30
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "741443f2d7674423b63e6711cc02c9d3",
"timeCreated": 1617730010851,
"lastModified": 1618853327609,
"isActive": true
},
"disallowCustomPlans": false,
"debtId": "99170fbb183477a35a94c9bf390b7702"
},
"balance": {
"amount": 77375,
"currency": "USD"
},
"calculatedPaymentOffers": {
"highlightedPlan": {
"installmentAmount": {
"amount": 25792,
"currency": "USD"
},
"settlementPercent": 100,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"discountPercent": 0,
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"numberOfInstallments": 3,
"percentOfCurrentBalance": 100,
"isSif": false,
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 25792,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 3,
"discount": {
"amount": 0,
"currency": "USD"
}
}
},
"settlementConstraints": {
"min": {
"percent": 70,
"amount": {
"amount": 54162,
"currency": "USD"
}
},
"max": {
"percent": 100,
"amount": {
"amount": 77375,
"currency": "USD"
}
},
"settlementsAvailable": true
},
"availablePlans": [
{
"installmentAmount": {
"amount": 25792,
"currency": "USD"
},
"settlementPercent": 100,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"discountPercent": 0,
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"numberOfInstallments": 3,
"percentOfCurrentBalance": 100,
"isSif": false,
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 25792,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 3,
"discount": {
"amount": 0,
"currency": "USD"
}
}
},
{
"installmentAmount": {
"amount": 12896,
"currency": "USD"
},
"settlementPercent": 100,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"discountPercent": 0,
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"numberOfInstallments": 6,
"percentOfCurrentBalance": 100,
"isSif": false,
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 12896,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 6,
"discount": {
"amount": 0,
"currency": "USD"
}
}
},
{
"installmentAmount": {
"amount": 8598,
"currency": "USD"
},
"settlementPercent": 100,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"discountPercent": 0,
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"numberOfInstallments": 9,
"percentOfCurrentBalance": 100,
"isSif": false,
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 8598,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 9,
"discount": {
"amount": 0,
"currency": "USD"
}
}
}
],
"disallowCustomPlans": false,
"delayedOneTimePayment": {
"installmentAmount": {
"amount": 77375,
"currency": "USD"
},
"settlementPercent": 100,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"discountPercent": 0,
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"numberOfInstallments": 1,
"percentOfCurrentBalance": 100,
"isSif": false,
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 77375,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 1,
"discount": {
"amount": 0,
"currency": "USD"
}
}
}
},
"placementType": "ORIGINAL",
"paymentPlanId": "4541dabab8dc500ff9ee6a46aada2f38",
"balanceDetailsAtPlacement": {
"principal": {
"amount": 90223,
"currency": "USD"
},
"interest": {
"amount": 6494,
"currency": "USD"
},
"fees": {
"amount": 0,
"currency": "USD"
},
"costs": {
"amount": 0,
"currency": "USD"
}
},
"availablePaymentMethods": {
"creditCard": true,
"debitCard": true,
"check": true
},
"specialUiTreatment": "NONE",
"isPreLegal": false,
"communicationsInformation": {
"hadInitialCommunication": false
},
"unsettledPaymentsAmount": {
"amount": 0,
"currency": "USD"
},
"isTimebarCompliant": true,
"minSettlementPercent": 70,
"initialTotal": {
"amount": 96717,
"currency": "USD"
},
"locationCreated": {
"physical": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
}
},
"effectiveMaxDiscountPercent": {
"overrideType": "NO_OVERRIDE",
"maxDiscountPercent": 30,
"minSettlementPercent": 70
},
"recentTransactionInfo": {
"lastPaymentDate": {
"day": 3,
"month": 4,
"year": 2021
},
"lastPaymentAmount": {
"amount": 9671,
"currency": "USD"
}
}
}
],
"isAddressInNewYorkCity": false
}

400 Bad Request - Improperly Formatted Data#

If any parts of the contact information are not properly formatted, the API returns a status 400 error with more information about why the data was not formatted correctly.

The response body is a Error object.

Add Contact Information to a Customer 400 Bad Request Response Example
{
"code": 102,
"msg": "Invalid phone number found.",
"errorInfo": null
}

Edit Contact Information for a Customer#

PUT https://api.trueaccord.com/api/v1/customers/CUSTOMER_ID

This endpoint lets you change the name, date of birth, and language preference of the customer. It lets you insert, enable, and disable emails, phones, and addresses associated with the customer.

This is a PUT endpoint and so any information in the payload will be treated as the source of truth. Prior to calling this endpoint, please do a GET request to pull down the most recent information using the Get One Customer endpoint.

To disable an email/phone/address do not send it in the payload. To enable or insert an email/phone/address send the information in the payload. The difference between enabling and inserting is that enabling implies that the email/phone/address was already stored in our system.

Disabled emails/phones/addresses are kept in the system, and are visible in the response objects, with the meta.isActive set to false.

Addresses require meta.isActive set to true or false.

Edit Contact Information for a Customer Request Body#

KeyTypeRequiredAdditional Info
nameCustomer Name
languagePreferenceLanguage EnumNote that the Language put here in languagePreference does not need to match with the language put in languagePreferred. However, it is recommended to align these for data consistency.
languagePreferredCustomer Language Preferred
addressesArray of Customer AddressesAt least one address is required.
phonesArray of Customer Phones
emailsArray of Customer EmailsAt least one email is required.
Language#
EnumNotes
ENGLISH
SPANISH
FRENCH
MANDARIN
RUSSIAN
HAITIAN_CREOLE
BENGALI
ITALIAN
ARABIC
KOREAN
POLISH
CANTONESE
OTHER
Customer Language Preferred#
KeyTypeRequiredAdditional Info
languageLanguage Enum
languageChannelEnumOne of:
  • "PHONE"
  • "SELF_SERVICE"
  • "OTHER"
languageDateDate
Edit Demographic Information for a Customer Request Body Example
{
"name": {
"firstName": "John",
"lastName": "Example"
},
"dateOfBirth": {
"day": 12,
"month": 11,
"year": 1997
},
"languagePreference": "FRENCH",
"languagePreferred": {
"language": "FRENCH",
"languageChannel": "SELF_SERVICE",
"languageDate": {
"day": 22,
"month": 10,
"year": 2020
}
},
"addresses": [
{
"state": "CA",
"city": "City",
"streetLine1": "St",
"zipcode": "Zip",
"countryCode": "US",
"meta": {
"isActive": true
}
},
{
"state": "CA",
"city": "City2",
"streetLine1": "St2",
"zipcode": "Zip2",
"countryCode": "US",
"meta": {
"isActive": false
}
}
],
"phones": [
{
"phoneNumber": "1234567891"
},
{
"phoneNumber": "1234567892"
},
{
"phoneNumber": "1234567893"
}
],
"emails": [
{
"email": "john1@example.com"
},
{
"email": "john3@example.com"
}
]
}

Edit Contact Information for a Customer Responses#

200 OK#

Response returns the full Customer object with updated information for the customer associated with the request. The response includes Metadata as applicable.

Edit Contact Information for a Customer 200 OK Response Example
{
"dateOfBirth": {
"day": 12,
"month": 11,
"year": 1997
},
"emails": [
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "4b52164960fb42e49c6f1b8418195c36",
"timeCreated": 1626816875146,
"lastModified": 1626816875146,
"isActive": true
},
"email": "john1@example.com"
},
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "38a23974a21b4fe9976f85e604a88720",
"timeCreated": 1626816875146,
"lastModified": 1626816875146,
"isActive": true
},
"email": "john3@example.com"
}
],
"reference": "E=>7IzDYM",
"languagePreferred": {
"language": "FRENCH",
"languageChannel": "SELF_SERVICE",
"languageDate": {
"day": 22,
"month": 10,
"year": 2020
}
},
"name": {
"firstName": "John",
"lastName": "Example"
},
"businesses": [
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": true,
"id": "ac3809bbb87f56e84fd730eb0d948bcf",
"timeCreated": 1618853327549,
"lastModified": 1618853327549,
"isActive": true
},
"name": "Curae; Phasellus Ltd"
}
],
"addresses": [
{
"zipcode": "Zip",
"streetLine1": "St",
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "9af6cc26bbf7435d8481ca0fcda73389",
"timeCreated": 1626816875112,
"lastModified": 1626816875112,
"isActive": true
},
"countryCode": "US",
"city": "City",
"state": "CA"
},
{
"zipcode": "Zip2",
"streetLine1": "St2",
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "fe261dfe5568438b9bed121df94c7d09",
"timeCreated": 1626816875112,
"lastModified": 1626816875112,
"isActive": true
},
"countryCode": "US",
"city": "City2",
"state": "CA"
}
],
"meta": {
"versionInfo": {
"versionNumber": 4,
"userAccountId": "deadbeefdeadbeefdeadbeefdeadbeef"
},
"isPrimary": false,
"id": "e54db7d751316935960ee7adc12857f2",
"timeCreated": 1618853327501,
"lastModified": 1626816875250,
"isActive": true
},
"languagePreference": "FRENCH",
"phones": [
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "69f639ea599a4b809f57b21d4ac8ea36",
"timeCreated": 1626816875126,
"lastModified": 1626816875126,
"isActive": true
},
"phoneNumber": "1234567891"
},
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "a781a344c32d4d2d964b39b24f2f0bba",
"timeCreated": 1626816875126,
"lastModified": 1626816875126,
"isActive": true
},
"phoneNumber": "1234567892"
},
{
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "ddae34acf5ac4bbaa55b1e488a53bcfb",
"timeCreated": 1626816875126,
"lastModified": 1626816875126,
"isActive": true
},
"phoneNumber": "1234567893"
}
],
"debts": [
{
"chargeOffStatus": "NONE",
"initialPrincipal": {
"amount": 90223,
"currency": "USD"
},
"biller": "biller_0",
"accountNumber": "43756429154",
"accountOpenTimestamp": 1607421600000,
"creditorId": "bf5903bb58cb352d441a9816e01ca09c",
"personId": "e54db7d751316935960ee7adc12857f2",
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "99170fbb183477a35a94c9bf390b7702",
"timeCreated": 1603906010851,
"lastModified": 1618853327596,
"isActive": true
},
"defaultTimestamp": 1609495200000,
"initialInterest": {
"amount": 6494,
"currency": "USD"
},
"type": "DEBT_TYPE_NONE",
"postChargeOffInformation": {
"chargeOffTimestamp": 1606557600000
},
"initialCosts": {
"amount": 0,
"currency": "USD"
},
"product": "product_0",
"transactionIp": "127.0.0.1",
"transactionId": "839580621",
"status": "InPaymentPlan",
"initialFees": {
"amount": 0,
"currency": "USD"
},
"creditor": {
"creditorSettings": {
"creditorTimeZone": "PST",
"isFirstPartyRelationship": false,
"servicingType": "RECOVERY"
},
"originalBrand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"meta": {
"id": "bf5903bb58cb352d441a9816e01ca09c"
},
"brand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"policy": {
"isAchEnabled": true
},
"industry": "",
"companyName": "iTable",
"clientName": "iTable"
},
"balanceDetails": {
"costs": {
"amount": 0,
"currency": "USD"
},
"interest": {
"amount": 6494,
"currency": "USD"
},
"overcharges": {
"amount": 0,
"currency": "USD"
},
"principal": {
"amount": 70881,
"currency": "USD"
},
"fees": {
"amount": 0,
"currency": "USD"
},
"isSettledInFull": false
},
"maxDiscountPercent": 30,
"internalConfiguration": {
"showSpecialDisputeTreatment": true
},
"transactionIdLast4": "0621",
"accountNumberForDisplay": "0621",
"accruedInterest": {
"amount": 0,
"currency": "USD"
},
"paymentOffers": {
"highlightedPpConfiguration": {
"numberOfInstallments": 3,
"frequency": "MONTHLY",
"settlementPercent": 25
},
"availablePpConfigurations": [
{
"numberOfInstallments": 3,
"frequency": "MONTHLY",
"settlementPercent": 25
},
{
"numberOfInstallments": 6,
"frequency": "MONTHLY",
"settlementPercent": 20
},
{
"numberOfInstallments": 9,
"frequency": "MONTHLY",
"settlementPercent": 15
}
],
"availableSettlement": {
"settlementPercent": 30
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "741443f2d7674423b63e6711cc02c9d3",
"timeCreated": 1617730010851,
"lastModified": 1618853327609,
"isActive": true
},
"disallowCustomPlans": false,
"debtId": "99170fbb183477a35a94c9bf390b7702"
},
"balance": {
"amount": 77375,
"currency": "USD"
},
"calculatedPaymentOffers": {
"highlightedPlan": {
"installmentAmount": {
"amount": 25792,
"currency": "USD"
},
"settlementPercent": 100,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"discountPercent": 0,
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"numberOfInstallments": 3,
"percentOfCurrentBalance": 100,
"isSif": false,
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 25792,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 3,
"discount": {
"amount": 0,
"currency": "USD"
}
}
},
"settlementConstraints": {
"min": {
"percent": 70,
"amount": {
"amount": 54162,
"currency": "USD"
}
},
"max": {
"percent": 100,
"amount": {
"amount": 77375,
"currency": "USD"
}
},
"settlementsAvailable": true
},
"availablePlans": [
{
"installmentAmount": {
"amount": 25792,
"currency": "USD"
},
"settlementPercent": 100,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"discountPercent": 0,
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"numberOfInstallments": 3,
"percentOfCurrentBalance": 100,
"isSif": false,
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 25792,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 3,
"discount": {
"amount": 0,
"currency": "USD"
}
}
},
{
"installmentAmount": {
"amount": 12896,
"currency": "USD"
},
"settlementPercent": 100,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"discountPercent": 0,
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"numberOfInstallments": 6,
"percentOfCurrentBalance": 100,
"isSif": false,
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 12896,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 6,
"discount": {
"amount": 0,
"currency": "USD"
}
}
},
{
"installmentAmount": {
"amount": 8598,
"currency": "USD"
},
"settlementPercent": 100,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"discountPercent": 0,
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"numberOfInstallments": 9,
"percentOfCurrentBalance": 100,
"isSif": false,
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 8598,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 9,
"discount": {
"amount": 0,
"currency": "USD"
}
}
}
],
"disallowCustomPlans": false,
"delayedOneTimePayment": {
"installmentAmount": {
"amount": 77375,
"currency": "USD"
},
"settlementPercent": 100,
"savingsAmount": {
"amount": 0,
"currency": "USD"
},
"discountPercent": 0,
"totalToPay": {
"amount": 77375,
"currency": "USD"
},
"numberOfInstallments": 1,
"percentOfCurrentBalance": 100,
"isSif": false,
"amountOfBalance": {
"amount": 77375,
"currency": "USD"
},
"application": {
"amountToPay": {
"amount": 77375,
"currency": "USD"
},
"paymentAmount": {
"amount": 77375,
"currency": "USD"
},
"frequency": "MONTHLY",
"numberOfInstallments": 1,
"discount": {
"amount": 0,
"currency": "USD"
}
}
}
},
"placementType": "ORIGINAL",
"paymentPlanId": "4541dabab8dc500ff9ee6a46aada2f38",
"balanceDetailsAtPlacement": {
"principal": {
"amount": 90223,
"currency": "USD"
},
"interest": {
"amount": 6494,
"currency": "USD"
},
"fees": {
"amount": 0,
"currency": "USD"
},
"costs": {
"amount": 0,
"currency": "USD"
}
},
"availablePaymentMethods": {
"creditCard": true,
"debitCard": true,
"check": true
},
"specialUiTreatment": "NONE",
"isPreLegal": false,
"communicationsInformation": {
"hadInitialCommunication": false
},
"unsettledPaymentsAmount": {
"amount": 0,
"currency": "USD"
},
"isTimebarCompliant": true,
"minSettlementPercent": 70,
"initialTotal": {
"amount": 96717,
"currency": "USD"
},
"locationCreated": {
"physical": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
}
},
"effectiveMaxDiscountPercent": {
"overrideType": "NO_OVERRIDE",
"maxDiscountPercent": 30,
"minSettlementPercent": 70
},
"recentTransactionInfo": {
"lastPaymentDate": {
"day": 3,
"month": 4,
"year": 2021
},
"lastPaymentAmount": {
"amount": 9671,
"currency": "USD"
}
}
}
],
"isAddressInNewYorkCity": false
}

400 Bad Request - Missing Information#

If any parts of the contact information are missing, the API returns a status 400 error with more information about what necessary data is missing.

The response body is a Error object.

Edit Contact Information for a Customer 400 Bad Request Response Example
{
"code": 104,
"msg": "First name must be non-empty.",
"errorInfo": {
"": "First name must be non-empty."
}
}

Add Comments to a Customer#

POST https://api.trueaccord.com/api/v1/customers/{customerId}/comments

Add comments to a Customer.

Add Comments to a Customer Request Body#

KeyTypeRequiredAdditional Info
commentsArray of StringsMax length for individual comment is 500 characters. The array of comments must contain less than 100 entries. In the event that the comments data doesn't meet these guidelines, the API returns a status 400 error.
Add Comments to a Customer Request Body Example
{
"comments": [
"Customer only speaks spanish. Usually they have a translator with them",
"John has paid 100 dollars in the past"
]
}

Add Comments to a Customer Responses#

200 OK#

The response is JSON, however it is simply the string "ok".

Example response:

"ok"
400 Bad Request - Invalid Data#

The response returns a 400 error when there are >99 comments or a comment contains >500 characters.

The response is an Error object.

Add Comments to a Customer 400 Bad Request Response Example
{
"code": 104,
"msg": "Comments must be smaller than 500 characters",
"errorInfo": null
}

Unsubscribe Contact Information from a Customer#

POST https://api.trueaccord.com/api/v1/customers/{customerId}/unsubscribe

Unsubscribe any contact that is already included in our system. When this endpoint is called, it changes the "isActive" field of the contact point to false.

If the contact point that you want us to not use is not already in the system, you need need to add it, and then call this endpoint. Contact information can be added with the Edit Contact Information for a Customer endpoint.

Unsubscribe Contact Information from a Customer Request Body#

Include combination of addresses, phones, and emails that you want unsubscribed. All Addresses, Phones, and Emails must be correctly formatted with their associated schemas or the request will return a status 400 with information about why the request failed.

KeyTypeRequiredAdditional Info
addressesArray of Customer Addresses
phonesArray of Customer Phones
emailsArray of Customer Emails
Unsubscribe Contact Information from a Customer Request Body Example
{
"addresses": [
{
"streetLine1": "101 N First St",
"streetLine2": "",
"city": "San Jose",
"state": "CA",
"zipcode": "99999",
"countryCode": "US"
}
],
"phones": [
{
"phoneNumber": "650-999-9999"
}
],
"emails": [
{
"email": "john@example.com"
},
{
"email": "john1977@example.com"
}
]
}

Unsubscribe Contact Information from a Customer Responses#

200 OK#

The response is JSON, however it is simply the string "ok".

Example response:

"ok"
400 Bad Request - Invalid Data#

The response returns a 400 error when contact information is not formatted correctly.

The response is an Error object.

AUnsubscribe Contact Information from a Customer 400 Bad Request Response Example
{
"code": 104,
"msg": "email address is not valid",
"errorInfo": null
}

Debts Endpoints#

These endpoints correspond to editing debt information for a given customer in the system.

The endpoints all start with the pattern: /customers/{customerId}/debts.

See the Debt datatype for more information on the Debt object.

List Debts of a Customer#

GET https://api.trueaccord.com/api/v1/customers/{customerId}/debts/

List Debts of a Customer Query Parameters#

KeyTypeRequiredAdditional Info
startTimeTimestampOnly returns debts after this time.
endTimeTimestampOnly returns debts before this time.

List Debts of a Customer Responses#

200 OK#
KeyTypeRequiredAdditional Info
debtsArray of DebtsDebt objects include Metadata.
info

When there are no debts in the response, such as if the query parameters you use filter for a range without any debts, the response returns an empty JSON object.

{}
List Debts of a Customer 200 OK Response Example
{
"debts": [
{
"meta": {
"id": "00000000000000000000000000000000",
"isActive": true,
"timeCreated": 1385159134267,
},
"personId": "CUSTOMER_ID",
"biller": "TheBiller",
"product": "TheProduct",
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"initialFees": {
"amount": 132,
"currency": "USD"
},
"status": "New",
"transactionId": "MyTransId",
"transactionIp": "192.168.0.1",
"transactionTimestamp": 1385695523047,
"defaultTimestamp": 1388563200000,
"accountOpenTimestamp": 1385695523047,
"accountNumber": "450000000",
"balance": {
"amount": 14699,
"currency": "USD"
},
}
]
}

Add New Debt to Customer#

POST https://api.trueaccord.com/api/v1/customers/{customerId}/debts/

Add New Debt to Customer Request Body#

The body of the request is a Debt object. While you must populate the required fields, the object returned for successful posts (see below 200 OK response) includes default values for a variety of fields.

info

It is recommended to set the transactionId field to an invoice number on your system.

Add New Debt to Customer Request Body Example
{
"biller": "TheBiller",
"product": "TheProduct",
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"initialFees": {
"amount": 132,
"currency": "USD"
},
"transactionId": "MyTransId",
"transactionIp": "192.168.0.1",
"transactionTimestamp": 1385695523047,
"defaultTimestamp": 1388563200000,
"accountOpenTimestamp": 1385695523047,
"clientFields": [{
"key": "key1",
"value": "val1"}
],
"itemizationTimestamp" : 1385148285937,
"initialPaymentsAndCredits" : {
"amount" : 1000,
"currency": "USD"
},
"isInitialPrincipalBeforePaymentsAndCredits" : true
}

Responses#

200 OK#

The response will be a debt object with a meta.id field which will be the debt permanent unique id.

Add New Debt to Customer 200 OK Response Example
{
"chargeOffStatus": "NONE",
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"biller": "TheBiller",
"accountNumber": "4785204050162",
"accountOpenTimestamp": 1385695523047,
"creditorId": "bf5903bb58cb352d441a9816e01ca09c",
"personId": "e54db7d751316935960ee7adc12857f2",
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "d4423d1ae49e440fa4c0ee6e9f91e215",
"timeCreated": 1626875695886,
"lastModified": 1626875695886,
"isActive": true
},
"defaultTimestamp": 1388577600000,
"itemizationTimestamp" : 1385148285937,
"initialPaymentsAndCredits" : {
"amount" : 1000,
"currency": "USD"
},
"isInitialPrincipalBeforePaymentsAndCredits" : true,
"transactionTimestamp": 1385695523047,
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"type": "DEBT_TYPE_NONE",
"initialCosts": {
"amount": 0,
"currency": "USD"
},
"clientFields": [
{
"key": "key1",
"value": "val1"
}
],
"product": "TheProduct",
"transactionIp": "192.168.0.1",
"transactionId": "MyTransId",
"status": "PendingApproval",
"initialFees": {
"amount": 132,
"currency": "USD"
},
"creditor": {
"creditorSettings": {
"creditorTimeZone": "PST",
"isFirstPartyRelationship": false,
"servicingType": "RECOVERY"
},
"originalBrand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"meta": {
"id": "bf5903bb58cb352d441a9816e01ca09c"
},
"brand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"policy": {
"isAchEnabled": true
},
"industry": "",
"companyName": "iTable",
"clientName": "iTable"
},
"balanceDetails": {
"costs": {
"amount": 0,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"overcharges": {
"amount": 0,
"currency": "USD"
},
"principal": {
"amount": 14567,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"isSettledInFull": false
},
"maxDiscountPercent": 30,
"internalConfiguration": {
"showSpecialDisputeTreatment": false
},
"transactionIdLast4": "nsId",
"accountNumberForDisplay": "nsId",
"prohibitedActions": [
{
"debtAction": "NEW_PAYMENT",
"prohibitionReasons": [
"LOCATION"
]
},
{
"debtAction": "NEW_PAYMENT_PLAN",
"prohibitionReasons": [
"LOCATION"
]
},
{
"debtAction": "MAKE_COMMUNICATION",
"prohibitionReasons": [
"LOCATION"
]
},
{
"debtAction": "NEW_PART_PAYMENT",
"prohibitionReasons": [
"LOCATION"
]
}
],
"accruedInterest": {
"amount": 0,
"currency": "USD"
},
"balance": {
"amount": 14699,
"currency": "USD"
},
"placementType": "ORIGINAL",
"paymentPlanId": "",
"balanceDetailsAtPlacement": {
"principal": {
"amount": 14567,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"costs": {
"amount": 0,
"currency": "USD"
}
},
"availablePaymentMethods": {
"creditCard": true,
"debitCard": true,
"check": true
},
"specialUiTreatment": "NONE",
"isPreLegal": false,
"communicationsInformation": {
"hadInitialCommunication": false
},
"unsettledPaymentsAmount": {
"amount": 0,
"currency": "USD"
},
"isTimebarCompliant": true,
"minSettlementPercent": 70,
"initialTotal": {
"amount": 14699,
"currency": "USD"
},
"locationCreated": {
"physical": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
}
},
"effectiveMaxDiscountPercent": {
"overrideType": "NO_OVERRIDE",
"maxDiscountPercent": 30,
"minSettlementPercent": 70
},
"recentTransactionInfo": {}
}

Retract Debt from Customer#

POST https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/retract

This stops the debt being collected by the TrueAccord system.

The debt remains in the system, but its "status" field is updated to be "status" : "RetractedByCreditor".

caution

Retractions may result in fees. Please refer to the TOS and your contract, or email support@trueaccord.com for more details.

Retract Debt from Customer Query Parameters#

KeyTypeRequiredAdditional Info
keepIfOnPaymentPlanBooleanDefault is true. Setting this to true will prevent the debt from being retracted if it is on a payment plan. Setting this to false will return an error message to reach out to Trueaccord for retracting the debt.
keepIfHasDisputeBooleanDefault is true. Setting this to true will prevent the debt from being retracted if it has a dispute.
skipTerminalValidationBooleanDefault is false. Setting this to true will allow for retraction of terminal debts.
reasonStringField to add a retraction reason for the debt.

Example:

POST https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/retract?keepIfOnPaymentPlan=true&keepIfHasDispute=true

Retract Debt from Customer Request Body#

The request body should be empty.

Retract Debt from Customer Responses#

200 OK#

The response will be a Debt object with "status" : "RetractedByCreditor".

Retract Debt from Customer 200 OK Response Example
{
"status": "RetractedByCreditor", //effect of this request
"chargeOffStatus": "NONE",
"initialPrincipal": {
"amount": 90223,
"currency": "USD"
},
"biller": "biller_0",
"accountNumber": "43756429154",
"accountOpenTimestamp": 1607421600000,
"creditorId": "bf5903bb58cb352d441a9816e01ca09c",
"terminationDate": 1626877082462,
"personId": "60b420bb3851d9d47acb933dbe70399b",
"meta": {
"versionInfo": {
"versionNumber": 1
},
"isPrimary": false,
"id": "99170fbb183477a35a94c9bf390b7702",
"timeCreated": 1603906010851,
"lastModified": 1626877082462,
"isActive": true
},
"defaultTimestamp": 1609495200000,
"initialInterest": {
"amount": 6494,
"currency": "USD"
},
"type": "DEBT_TYPE_NONE",
"postChargeOffInformation": {
"chargeOffTimestamp": 1606557600000
},
"initialCosts": {
"amount": 0,
"currency": "USD"
},
"product": "product_0",
"transactionIp": "127.0.0.1",
"transactionId": "839580621",
"initialFees": {
"amount": 0,
"currency": "USD"
},
"creditor": {
"creditorSettings": {
"creditorTimeZone": "PST",
"isFirstPartyRelationship": false,
"servicingType": "RECOVERY"
},
"originalBrand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"meta": {
"id": "bf5903bb58cb352d441a9816e01ca09c"
},
"brand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"policy": {
"isAchEnabled": true
},
"industry": "",
"companyName": "iTable",
"clientName": "iTable"
},
"featureFlags": {
"flags": [
"REGE_LETTER_FALLBACK"
]
},
"balanceDetails": {
"costs": {
"amount": 0,
"currency": "USD"
},
"interest": {
"amount": 6494,
"currency": "USD"
},
"overcharges": {
"amount": 0,
"currency": "USD"
},
"principal": {
"amount": 70881,
"currency": "USD"
},
"fees": {
"amount": 0,
"currency": "USD"
},
"isSettledInFull": false
},
"maxDiscountPercent": 30,
"internalConfiguration": {
"showSpecialDisputeTreatment": false
},
"transactionIdLast4": "0621",
"accountNumberForDisplay": "0621",
"prohibitedActions": [
{
"debtAction": "NEW_PAYMENT",
"prohibitionReasons": [
"DEBT_TERMINAL",
"LOCATION"
]
},
{
"debtAction": "NEW_PAYMENT_PLAN",
"prohibitionReasons": [
"DEBT_TERMINAL",
"LOCATION"
]
},
{
"debtAction": "MAKE_COMMUNICATION",
"prohibitionReasons": [
"DEBT_TERMINAL",
"LOCATION"
]
},
{
"debtAction": "NEW_PART_PAYMENT",
"prohibitionReasons": [
"DEBT_TERMINAL",
"LOCATION"
]
}
],
"statusChangeEnumReason": "OUT_OF_STATUTE",
"accruedInterest": {
"amount": 0,
"currency": "USD"
},
"balance": {
"amount": 77375,
"currency": "USD"
},
"placementType": "ORIGINAL",
"paymentPlanId": "4541dabab8dc500ff9ee6a46aada2f38",
"balanceDetailsAtPlacement": {
"principal": {
"amount": 90223,
"currency": "USD"
},
"interest": {
"amount": 6494,
"currency": "USD"
},
"fees": {
"amount": 0,
"currency": "USD"
},
"costs": {
"amount": 0,
"currency": "USD"
}
},
"availablePaymentMethods": {
"creditCard": true,
"debitCard": true,
"check": true
},
"specialUiTreatment": "NONE",
"isPreLegal": false,
"communicationsInformation": {
"hadInitialCommunication": false
},
"unsettledPaymentsAmount": {
"amount": 0,
"currency": "USD"
},
"isTimebarCompliant": true,
"minSettlementPercent": 70,
"initialTotal": {
"amount": 96717,
"currency": "USD"
},
"locationCreated": {
"physical": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
}
},
"effectiveMaxDiscountPercent": {
"overrideType": "NO_OVERRIDE",
"maxDiscountPercent": 30,
"minSettlementPercent": 70
},
"recentTransactionInfo": {
"lastPaymentDate": {
"day": 3,
"month": 4,
"year": 2021
},
"lastPaymentAmount": {
"amount": 9671,
"currency": "USD"
}
}
}

422 Unprocessable Entity - Debt on Payment Plan#

If the debt is on a payment plan, and keepIfOnPaymentPlan=true, then it cannot be retracted via the API. (see above Retract Debt from Customer Query Parameters for more information.)

The response body is an Error object with code 422.

Retract Debt from Customer 422 Unprocessable Entity Example Response
{
"code": 422,
"msg": "Debt is on payment plan.",
"errorInfo": null
}

Reopen Closed Debt#

POST https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/reopen

Use this method to restart collections on an account that was previously closed. For example, a settled account that accrued additional debt, or a retracted account that's being sent again to collections. The request body will be the desired balance of the debt, as seen in the following request example.

Reopen Closed Debt Request Body#

note

The amounts should be in cents. Only the balance.principle field is explicitly required. Any missing values for interest, fees, or costs will have a default value of 0 USD.

KeyTypeRequiredAdditional Info
balanceBalance Snapshot
Reopen Closed Debt Request Example
{
"balance": {
"principal": {
"amount": 14567,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"costs": {
"amount": 132,
"currency": "USD"
}
}
}

Reopen Closed Debt Responses#

200 OK#

If successful the response is the Debt object that was referenced with the debtId in the endpoint, with updated debt balance information. The debt will have the field "status" : "New".

Reopen Closed Debt 200 OK Response Example
{
"chargeOffStatus": "NONE",
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"biller": "TheBiller",
"accountNumber": "4785204050162",
"accountOpenTimestamp": 1385695523047,
"creditorId": "bf5903bb58cb352d441a9816e01ca09c",
"personId": "60b420bb3851d9d47acb933dbe70399b",
"meta": {
"versionInfo": {
"versionNumber": 2
},
"isPrimary": false,
"id": "d4423d1ae49e440fa4c0ee6e9f91e215",
"timeCreated": 1626875695886,
"lastModified": 1626878445444,
"isActive": true
},
"defaultTimestamp": 1388577600000,
"transactionTimestamp": 1385695523047,
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"defaultDate": {
"day": 1,
"month": 1,
"year": 2014
},
"type": "DEBT_TYPE_NONE",
"initialCosts": {
"amount": 132,
"currency": "USD"
},
"clientFields": [
{
"key": "key1",
"value": "val1"
}
],
"product": "TheProduct",
"transactionIp": "192.168.0.1",
"transactionId": "MyTransId",
"status": "New",
"initialFees": {
"amount": 132,
"currency": "USD"
},
"creditor": {
"creditorSettings": {
"creditorTimeZone": "PST",
"isFirstPartyRelationship": false,
"servicingType": "RECOVERY"
},
"originalBrand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"meta": {
"id": "bf5903bb58cb352d441a9816e01ca09c"
},
"brand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"policy": {
"isAchEnabled": true
},
"industry": "",
"companyName": "iTable",
"clientName": "iTable"
},
"featureFlags": {
"flags": [
"REGE_LETTER_FALLBACK"
]
},
"balanceDetails": {
"costs": {
"amount": 132,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"overcharges": {
"amount": 0,
"currency": "USD"
},
"principal": {
"amount": 14567,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"isSettledInFull": false
},
"maxDiscountPercent": 30,
"internalConfiguration": {
"showSpecialDisputeTreatment": false
},
"transactionIdLast4": "nsId",
"accountNumberForDisplay": "nsId",
"prohibitedActions": [
{
"debtAction": "NEW_PAYMENT",
"prohibitionReasons": [
"LOCATION"
]
},
{
"debtAction": "NEW_PAYMENT_PLAN",
"prohibitionReasons": [
"LOCATION"
]
},
{
"debtAction": "MAKE_COMMUNICATION",
"prohibitionReasons": [
"LOCATION"
]
},
{
"debtAction": "NEW_PART_PAYMENT",
"prohibitionReasons": [
"LOCATION"
]
}
],
"accruedInterest": {
"amount": 0,
"currency": "USD"
},
"balance": {
"amount": 14831,
"currency": "USD"
},
"placementType": "ORIGINAL",
"paymentPlanId": "",
"balanceDetailsAtPlacement": {
"principal": {
"amount": 14567,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"costs": {
"amount": 0,
"currency": "USD"
}
},
"availablePaymentMethods": {
"creditCard": true,
"debitCard": true,
"check": true
},
"specialUiTreatment": "NONE",
"isPreLegal": false,
"communicationsInformation": {
"hadInitialCommunication": false
},
"unsettledPaymentsAmount": {
"amount": 0,
"currency": "USD"
},
"isTimebarCompliant": true,
"minSettlementPercent": 70,
"initialTotal": {
"amount": 14831,
"currency": "USD"
},
"locationCreated": {
"physical": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
}
},
"effectiveMaxDiscountPercent": {
"overrideType": "NO_OVERRIDE",
"maxDiscountPercent": 30,
"minSettlementPercent": 70
},
"recentTransactionInfo": {}
}

400 Bad Request - Debt on Payment Plan#

A debt cannot be reopened if it's already on an in-progress payment plan.

Response returns an Error object.

Reopen Closed Debt 400 Bad Request Debt on Payment Plan Response Example
{
"code": 102,
"msg": "Debt balance cannot be updated when it has an in progress payment plan",
"errorInfo": null
}

400 Bad Request - Malformatted Balance#

Requests must contain properly formatted balance to be reopened.

If the balance isn't properly formatted, response returns an Error object.

Reopen Closed Debt 400 Bad Request Malformatted Balance Example

Bad request example:

{
}

Response example:

{
"code": 102,
"msg": "DebtReopenError: Malformed balance request",
"errorInfo": null
}

409 Conflict - Debt Status Incompatible with Reopening#

When debts are in terminal statuses, they cannot be reopened.

Response returns an Error object.

{
"code": 409,
"msg": "DebtReopenError: Current debt status incompatible with re-opening",
"errorInfo": null
}

[DEPRECATED] Update Debt Total to Collect Balance#

PUT https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/totalToCollectBalance

DEPRECATED

The Update Debt Total to Collect Balance endpoint has been deprecated. It will always return a status 404 error response. See below Update Debt Total to Collect Balance Responses section for more information

Updates the debt's total to collect balance to the absolute values specified in the request payload.

Update Debt Total to Collect Balance Request Body#

The request body is a Balance Snapshot object.

Update Debt Total to Collect Balance Request Body Example
{
"principal": {
"amount": 14567,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"costs": {
"amount": 132,
"currency": "USD"
},
"notes": "some note here"
}

Update Debt Total to Collect Balance Responses#

404 Not Found#

The request returns an Error object as it has been deprecated.

Example:

{
"code": 404,
"msg": "The self-serve option is no longer available. Please reach out to your representative at TrueAccord.",
"errorInfo": null
}

Get Debt Total to Collect Balance#

GET https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/totalToCollectBalance

Return the debt's current total to collect balance.

Get Debt Total to Collect Balance Responses#

200 OK#

The response for successful requests is the Balance Snapshot for the Debt object.

Get Debt Total to Collect Balance 200 OK Response
{
"principal": {
"amount": 14567,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"costs": {
"amount": 132,
"currency": "USD"
},
"notes": "some note here"
}

Update Debt Client Fields#

PUT https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/clientFields

Update the client fields on a Debt object. This request overrides any existing client fields.

Update Debt Client Fields Request Body#

KeyTypeRequiredAdditional Info
clientFieldsArray of ClientFieldsNew values for client fields.
Update Debt Client Fields Request Body Example
{
"clientFields": [
{
"key": "exampleKey",
"value": "exampleValue"
},
{
"key": "exampleKey2",
"value": "exampleValue2"
}
]
}

Update Debt Client Fields Responses#

200 OK#

The successful response mirrors the array of ClientFields included in the request.

Note that the response does not exactly mirror the request, as the response does not include the object with the key "clientFields".

Update Debt Client Fields 200 OK Response Example
[
{
"key": "exampleKey",
"value": "exampleValue"
},
{
"key": "exampleKey2",
"value": "exampleValue2"
}
]

400 Bad Request - Input Error#

If the request body is not formatted request, the API responds with status 400.

Update Debt Client Fields 400 Bad Request Input Error Response Example

Bad input request body:

[
{
"key": "badlyFormatted",
"value": "Request"
}
]

Response:

{
"code": 104,
"msg": "Input contained errors",
"errorInfo": {
"": "error.expected.jsobject"
}
}

Update Out of Statute Information#

PUT https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/outOfStatuteInformation

Update the out of statute information on a Debt object. Overrides any existing info.

Update Out of Statute Information Headers#

KeyTypeRequiredAdditional Info
X-TA-AUDIT-DESCRIPTIONStringOptional request header that can contain a free text description of the reason this create/update request is being called. Data will be shown in the version history of the created/updated entity.

Update Out of Statute Information Request Body#

KeyTypeRequiredAdditional Info
explicitOutOfStatuteDateDateThe date the debt goes out of statute.
explicitOutOfStatuteFlagBooleanFlag that can used with or without a date, in the case that an out of statute date is not available to make a debt out of statute.
Update Out of Statute Information Request Example
{
"explicitOutOfStatuteDate": {
"day": 6,
"month": 4,
"year": 2012
},
"explicitOutOfStatuteFlag": true
}

Update Out of Statute Information Responses#

200 OK#

Mirrors the request.

Update Out of Statute Information 200 OK Response Example
{
"explicitOutOfStatuteDate": {
"day": 6,
"month": 4,
"year": 2012
},
"explicitOutOfStatuteFlag": true
}

Update Post-Charge Off Information#

PUT https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/postChargeOffInformation

Update the post-charge off information on a debt object, overriding any existing info.

Update Post-Charge Off Information Headers#

KeyTypeRequiredAdditional Info
X-TA-AUDIT-DESCRIPTIONStringOptional request header that can contain a free text description of the reason this create/update request is being called. Data will be shown in the version history of the created/updated entity.

Update Post-Charge Off Information Request Body#

KeyTypeRequiredAdditional Info
postChargeOffInformationPostChargeOffInformationNew Post-charge off infomration for the debt.
Update Post-Charge Off Information Example Request
{
"postChargeOffInformation": {
"balanceAtChargeOff": {
"amount":350,
"currency":"USD"
},
"interestAccruedSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"nonInterestChargesAccruedSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"feesAccruedSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"totalPaidSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"adjustmentsMadeSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"lastPaymentAmountSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"chargeOffTimestamp":1589578639958
}
}

Update Post-Charge Off Information Responses#

200 OK#

If the request is successful, the response mirrors the request.

KeyTypeRequiredAdditional Info
postChargeOffInformationPostChargeOffInformationNew Post-charge off infomration for the debt.
Update Post-Charge Off Information Example Response 200 OK
{
"postChargeOffInformation": {
"balanceAtChargeOff": {
"amount":350,
"currency":"USD"
},
"interestAccruedSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"nonInterestChargesAccruedSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"feesAccruedSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"totalPaidSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"adjustmentsMadeSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"lastPaymentAmountSinceChargeOff": {
"amount":350,
"currency":"USD"
},
"chargeOffTimestamp":1589578639958
}
}

Change Default Date#

PUT https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/defaultDate

Update the date the debt defaulted for a Debt object, overriding the existing defaultDate and defaultTimestamp. The timestamp will contain a time on the provided date which will keep the date consistent across all timezones.

Change Default Date Headers#

X-TA-AUDIT-DESCRIPTION is an optional request header that can contain a free text description of the reason this create/update request is being called. Data will be shown in the version history of the created/updated entity.

Change Default Date Request Body#

KeyTypeRequiredAdditional Info
defaultDateDateRepresents the calendar date the debt defaulted.
Change Default Date Request Example
{
"defaultDate": {
"day": 6,
"month": 5,
"year": 2012
}
}

Change Default Date Responses#

200 OK#

A successful response mirrors the request.

KeyTypeRequiredAdditional Info
defaultDateDateRepresents the calendar date the debt defaulted.
Change Default Date Response Example 200 OK
{
"defaultDate": {
"day": 6,
"month": 5,
"year": 2012
}
}

Pause Collections#

POST https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/pauseCollections?changeDebtStatus={BOOLEAN}

Pause collections on an account.

Pause Collections Query Parameters#

KeyTypeRequiredAdditional Info
changeDebtStatusBooleanChange debt's status to PAUSED if the param flag changeDebtStatus is set to true.

Pause Collections Request Body#

KeyTypeRequiredAdditional Info
reasonEnum of PauseReason
pauseLengthInDaysIntegerNumber of days the account should remain paused. 0 indicates an indefinite pause period. PauseLengthInDays should only be specified with TEMPORARY_HARDSHIP, OTHER or PROFANITY as the reason.
notesStringReason why collections is being paused. Added as a comment on the Debt.
Pause Collections Request Body Example
{
"reason": "OTHER",
"pauseLengthInDays": 14,
"notes": "Client needs a pause during recall process"
}

PauseReason#

Reason used to explain why the debt status has been changed to paused.

Some of these pause reasons have restrictions on number of days they can be paused for, so when a custom range of days is necessary, use OTHER or TEMPORARY_HARDSHIP, which lack these restrictions.

EnumNotes
SCRA
PENDING_BK_VERIFICATION
PENDING_FRAUD_INVESTIGATION
PERMANENT_HARDSHIP_TERMINAL_ILLNESS
PERMANENT_HARDSHIP_PERMANENT_DISABILITY
PERMANENT_HARDSHIP_LONG_TERM_INCARCERATION
TEMPORARY_HARDSHIP
OTHER
GEOGRAPHIC_SUPPRESSION
GOOD_FAITH_PAYMENT
INVALID_DISPUTE_PAUSE_PERIOD
PROFANITY
MAILED_IN_PAYMENT
TEMPORARY_HARDSHIP_CONFIRMED
DV_DOCS_MAILED
PENDING_PREV_PAID_DOCS

Pause Collections Responses#

200 OK#

The response is JSON, however it is simply the string "ok".

Example response:

"ok"
400 Bad Request - Invalid Input#

When the input has an invalid format, suc has a missing required value, it returns a 400 error.

The response is an Error object.

Example response:

{
"code": 104,
"msg": "reason must be given.",
"errorInfo": {
"": "reason must be given."
}
}
422 Unprocessable Entity#

When the request includes data that it shouldn't the response is a status 422 error.

The response is an Error object that contains more information about why the request couldn't be processed. The error msg field provides more detail about why the request was not successful.

Example, when you try to pause a debt already in a terminal status:

{
"code": 422,
"msg": "Debt status is terminal.",
"errorInfo": null
}

Unpause Collections#

POST https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/unpauseCollections?changeDebtStatus=BOOLEAN

Unpause collections on an account that has been paused.

Unpause Collections Query Parameters#

KeyTypeRequiredAdditional Info
changeDebtStatusBooleanIf the param flag changeDebtStatus is set to true, change the debt's status to the last valid status, or NEW if no old status exists.

Unpause Collections Request Body#

KeyTypeRequiredAdditional Info
notesStringAdded as a comment on the debt regarding why collections is unpaused.
Unpause Collections Request Body Example
{
"notes": "Recall process is finished, unpausing"
}

Unpause Collections Responses#

200 OK#

The response is JSON, however it is simply the string "ok".

Example response:

"ok"
422 Unprocessable Entity - Missing Required Fields#

When the input is missing a required value, it responds with a status 422 error.

The response is an Error object.

Example response:

{
"code": 422,
"msg": "Notes should be provided when unpausing collections",
"errorInfo": null
}

Payments Endpoints#

These endpoints correspond to the Payment object. Payments correspond to changes to a Debt's balance.

List Payments of Debt#

GET https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/payments/

Return a list of all payments that have been made towards this debt, as specified by the debtId in the endpoint.

List Payments of a Debt Query Parameters#

KeyTypeRequiredAdditional Info
startTimeTimestampOnly returns data after this time.
endTimeTimestampOnly returns data before this time.

List Payments of a Debt Request Body#

No request body.

List Payments of a Debt Responses#

200 OK#

Returns all payments made to the debt.

If there have been no payments made on the debt or no payments in the time frame specified with the startTime and endTime query params, the response is just an empty object, {}.

KeyTypeRequiredAdditional Info
paymentsArray of Payments
List Payments of a Debt Response 200 OK Example
{
"payments": [
{
"meta": {
"id": "12121212121212121212121212121212",
"timeCreated": 1385159134267
},
"debtId": "11111111111111111111111111111111",
"amount": {
"amount": 785,
"currency": "USD"
},
"payee": "CREDITOR",
"transactionReference": "id_in_your_system",
"note": "Paid part of the balance directly",
"transactionType": "PAYMENT",
"paymentTimestamp" : 1448818320123
},
{
"meta": {
"id": "13131313131313131313131313131313",
"timeCreated": 1385159134267
},
"debtId": "11111111111111111111111111111111",
"amount": {
"amount": -345,
"currency": "USD"
},
"payee": "NOBODY",
"transactionReference": "",
"note": "Increasing balance due to additional chargebacks.",
"transactionType": "BALANCE_ADJUSTMENT",
"paymentTimestamp" : 1448818320123
},
{
"meta": {
"id": "14141414141414141414141414141414",
"timeCreated": 1385160134267
},
"debtId": "11111111111111111111111111111111",
"amount": {
"amount": -785,
"currency": "USD"
},
"payee": "CREDITOR",
"transactionReference": "id_in_your_system",
"note": "The payment returned",
"transactionType": "RETURNED_PAYMENT",
"returnedPaymentId": "12121212121212121212121212121212",
"paymentTimestamp" : 1448818320123
},
{
"meta": {
"id": "15151515151515151515151515151515",
"timeCreated": 1385360134267
},
"debtId": "11111111111111111111111111111111",
"amount": {
"amount": 785,
"currency": "USD"
},
"payee": "TRUEACCORD",
"transactionType": "PAYMENT",
"paymentTimestamp" : 1448818320123
},
{
"meta": {
"id": "16161616161616161616161616161616",
"timeCreated": 1385760134267
},
"debtId": "11111111111111111111111111111111",
"amount": {
"amount": -785,
"currency": "USD"
},
"payee": "TRUEACCORD",
"note": "Payment was refunded by request of customer",
"transactionType": "REFUND",
"returnedPaymentId": "15151515151515151515151515151515",
"paymentTimestamp" : 1448818320123
}
]
}

List All Payments#

GET https://api.trueaccord.com/api/v1/customers/payments/

Return all payments that have been made to a Creditor.

List All Payments Query Parameters#

KeyTypeRequiredAdditional Info
startTimeTimestampOnly returns data after this time.
endTimeTimestampOnly returns data before this time.
includeUnsettledPaymentsBooleanDefault is false.

List All Payments Responses#

200 OK#

Returns all payments made to the Creditor.

KeyTypeRequiredAdditional Info
paymentsArray of Payments
List All Payments Response 200 OK Example
{
"payments": [
{
"meta": {
"id": "12121212121212121212121212121212",
"timeCreated": 1385159134267
},
"debtId": "11111111111111111111111111111111",
"amount": {
"amount": 785,
"currency": "USD"
},
"payee": "CREDITOR",
"transactionReference": "id_in_your_system",
"note": "Paid part of the balance directly",
"transactionType": "PAYMENT",
"paymentTimestamp" : 1448818320123
},
{
"meta": {
"id": "13131313131313131313131313131313",
"timeCreated": 1385159134267
},
"debtId": "11111111111111111111111111111111",
"amount": {
"amount": -345,
"currency": "USD"
},
"payee": "NOBODY",
"transactionReference": "",
"note": "Increasing balance due to additional chargebacks.",
"transactionType": "BALANCE_ADJUSTMENT",
"paymentTimestamp" : 1448818320123
},
{
"meta": {
"id": "14141414141414141414141414141414",
"timeCreated": 1385160134267
},
"debtId": "11111111111111111111111111111111",
"amount": {
"amount": -785,
"currency": "USD"
},
"payee": "CREDITOR",
"transactionReference": "id_in_your_system",
"note": "The payment returned",
"transactionType": "RETURNED_PAYMENT",
"returnedPaymentId": "12121212121212121212121212121212",
"paymentTimestamp" : 1448818320123
},
{
"meta": {
"id": "15151515151515151515151515151515",
"timeCreated": 1385360134267
},
"debtId": "11111111111111111111111111111111",
"amount": {
"amount": 785,
"currency": "USD"
},
"payee": "TRUEACCORD",
"transactionType": "PAYMENT",
"paymentTimestamp" : 1448818320123
},
{
"meta": {
"id": "16161616161616161616161616161616",
"timeCreated": 1385760134267
},
"debtId": "11111111111111111111111111111111",
"amount": {
"amount": -785,
"currency": "USD"
},
"payee": "TRUEACCORD",
"note": "Payment was refunded by request of customer",
"transactionType": "REFUND",
"returnedPaymentId": "15151515151515151515151515151515",
"paymentTimestamp" : 1448818320123
}
]
}

400 Bad Request - Missing Required Query Parameters#

If the query parameters startTime and endTime are not included with the request, specifying a time window <90 days, the API responds with a status 400 error.

The response is an Error object.

Example response:

{
"code": 102,
"msg": "Requested time range should not be more than 90 days",
"errorInfo": null
}

Report Payment of Debt#

POST https://api.trueaccord.com/api/v1/customers/{customerId}/debts/{debtId}/payments/

Update TrueAccord about a direct payment to the Creditor for a Debt.

Report Payment of Debt Request Body#

KeyTypeRequiredAdditional Info
amountMonetary Amount
payeeStringShould always be value "CREDITOR"
transactionReferenceStringReference to payment in your system. Not required, but strongly recommended for keeping your records in sync with TrueAccord.
noteString
transactionTypeEnum of TransactionType
paymentTimeStampTimestamp
TransactionType#
EnumNotes
PAYMENTStandard payment, applicable in most cases.
BALANCE_ADJUSTMENTIf a payment returns (e.g. ACH payment or a refund) use BALANCE_ADJUSTMENT.
Report Payment of Debt Request Body Example
{
"amount": {
"amount": 785,
"currency": "USD"
},
"payee": "CREDITOR",
"transactionReference": "id_in_your_system",
"note": "Paid part of the balance directly",
"transactionType": "PAYMENT",
"paymentTimestamp": 1448818320123
}

Report Payment of Debt Responses#

200 OK#

In all cases the response would be a similar object containing a meta field with the unique permanent id of the payment.

Report Payment of Debt 200 OK Response Example
{
"meta": {
"id": "1b4e053b754341ff8daa7ece09d554a6",
"timeCreated": 1627049235873
},
"amount": {
"amount": 12,
"currency": "USD"
},
"isFailed": false,
"payee": "CREDITOR",
"transactionReference": "id_in_your_system",
"transactionType": "PAYMENT",
"paymentTimestamp": 1448818320123,
"debtId": "c5dfd7cf0c1c4944820176147272a100",
"note": "Paid part of the balance directly"
}

400 Bad Response - Missing Required Fields#

If the request is missing any required fields of the request body, the API returns a status 400 error.

The response body is an Error object.

Example response:

{
"code": 104,
"msg": "Payee is required.",
"errorInfo": {
"": "Payee is required."
}
}

List Payment Plans of Debt#

GET https://api.trueaccord.com/api/v1/debts/{debtId}/paymentPlans

List all active payment plans. If the withInactivated query parameter is set to true, also include all inactivated payment plans which were inactivated within the provided time window.

List Payment Plans of Debt Query Parameters#

KeyTypeRequiredAdditional Info
withInactivatedBooleanDefault is true. Flag to include inactivated payment plans in response.
fromTimestampOnly use if withInactivated is true. Start of time window in which the payment plan was inactivated.
toTimestampOnly use if withInactivated is true. End of time window in which the payment plan was inactivated.

List Payment Plans of Debt Responses#

200 OK#

Returns array of all Payment Plans associated with the debt.

List Payment Plans of Debt Example 200 OK Response Example
[
{
"application": {
"originatingTokenId": "6edb055cbcf94dea8abb4f71bfac38f9",
"installments": [
{
"dueDate": 1590945962000,
"amount": {
"amount": 980,
"currency": "USD"
}
},
{
"dueDate": 1593537962000,
"amount": {
"amount": 1000,
"currency": "USD"
}
},
{
"dueDate": 1596216362000,
"amount": {
"amount": 980,
"currency": "USD"
}
},
{
"dueDate": 1598894762000,
"amount": {
"amount": 980,
"currency": "USD"
}
},
{
"dueDate": 1601486762000,
"amount": {
"amount": 980,
"currency": "USD"
}
},
{
"dueDate": 1604165162000,
"amount": {
"amount": 959,
"currency": "USD"
}
}
],
"paymentAmount": {
"amount": 980,
"currency": "USD"
},
"numberOfInstallments": 6,
"startDate": 1590945962000,
"frequency": "MONTHLY",
"consent": {
"ip": "0:0:0:0:0:0:0:1",
"time": 1590946543383
},
"debtId": "92101cfb7ef50724ed584d070eac4840",
"startCalendarDay": {
"day": 31,
"month": 5,
"year": 2020
},
"reason": "REQUEST_FOR_SPECIFIC_TERMS",
"createdByUserAccountId": "abcdefghijklmnop",
"amountToPay": {
"amount": 5879,
"currency": "USD"
},
"discount": {
"amount": 0,
"currency": "USD"
}
},
"nextInstallment": 1,
"paymentMethodInfo": {
"cardInfo": {
"expirationMonth": "01",
"expirationYear": "2022",
"binNumber": "411111",
"billingZipCode": "94110",
"cardType": "VISA",
"lastFourDigits": "1111"
}
},
"revocation": {
"date": 1591035555387,
"reason": "REQUESTED_PLAN_CANCELLATION",
"revocationReason": "REQUESTED_PLAN_CANCELLATION"
},
"fullyPaid": false,
"installments": [
{
"installmentAmount": {
"amount": 980,
"currency": "USD"
},
"dueDate": 1590945962000,
"datePaid": 1590945993478,
"amountDue": {
"amount": 0,
"currency": "USD"
},
"status": "PAID_ON_TIME",
"isPaid": true
},
{
"dueDate": 1593537962000,
"status": "UNPAID",
"installmentAmount": {
"amount": 1000,
"currency": "USD"
},
"amountDue": {
"amount": 1000,
"currency": "USD"
}
},
{
"dueDate": 1596216362000,
"status": "UNPAID",
"installmentAmount": {
"amount": 980,
"currency": "USD"
},
"amountDue": {
"amount": 980,
"currency": "USD"
}
},
{
"dueDate": 1598894762000,
"status": "UNPAID",
"installmentAmount": {
"amount": 980,
"currency": "USD"
},
"amountDue": {
"amount": 980,
"currency": "USD"
}
},
{
"dueDate": 1601486762000,
"status": "UNPAID",
"installmentAmount": {
"amount": 980,
"currency": "USD"
},
"amountDue": {
"amount": 980,
"currency": "USD"
}
},
{
"dueDate": 1604165162000,
"status": "UNPAID",
"installmentAmount": {
"amount": 959,
"currency": "USD"
},
"amountDue": {
"amount": 959,
"currency": "USD"
}
}
],
"debtStateId": "6fef79e2339d4f9e83ee1eb61d42b634",
"isRecurring": true
}
]

400 Bad Request#

The List Payment Plans endpoint required the to and from query parameters, and if they're not included then the endpoint returns a status 400 error. That have correctly formatted values within the time the debt has been active.

The response returns an Error object if the time window is incorrect.

Example response for improper time window:

{
"code": 102,
"msg": "DebtId does not have debtState for requested window",
"errorInfo": null
}

If the request misses either of the to or from parameters, then it returns an HTML document explaining the error.

Debt Representation Endpoints#

Get Attorney Representation#

GET https://api.trueaccord.com/api/v1/debts/{debtId}/representation/attorneyRepresentation

Get currently active attorney representation for a debt if it exists.

Get Attorney Representation Responses#

200 OK#

If the debt included in request, as specified by the debtId in the endpoint, has attorney representation, the response returns an Attorney Representation object.

Get Attorney Representation 200 OK with representation Response Example
{
"contactInfo": {
"name": "Firm Name",
"phoneNumber": {
"phoneNumber": "123-456-7890",
"dataSource": {
"type:": "CREDITOR"
},
"consent": {
"time":1595627933618
},
"types":["WORK", "CELL", "HOME", "BUSINESS"]
},
"address": {
"name": {
"firstName":"FirstName",
"middleName":"MiddleName",
"lastName":"LastName"
},
"streetLine1": "123 Street St.",
"streetLine2":"Apt. 456",
"streetLine3":"C/O FirstName",
"city":"San Francisco",
"state":"CA",
"zipcode":"94109",
"countryCode":"US"
}
},
"email":"email@email.com",
"requestedBy":"POWER_OF_ATTORNEY",
"communicationType":"WRITTEN",
"receivedPowerOfAttorneyDocumentation":true
}

If the debt included in the request does not have attorney representation, then the response contains the JavaScript value null.

Example:

null

Get Debt Consolidator Representation#

GET https://api.trueaccord.com/api/v1/debts/{debtId}/representation/debtConsolidatorRepresentation

Get currently active debt consolidator representation for a debt if it exists.

Get Debt Consolidator Representation Responses#

200 OK#

If the debt included in request, as specified by the debtId in the endpoint, has debt consolidator representation, the response returns a Debt Consolidator Representation object.

Get Debt Consolidator Representation 200 OK Response Example
{
"debtConsolidatorType":"FREEDOM_FINANCIAL",
"contactInfo": {
"name": "Firm Name",
"phoneNumber": {
"phoneNumber": "123-456-7890",
"dataSource": {
"type:": "CREDITOR"
},
"consent": {
"time":1595627933618
},
"types":["WORK", "CELL", "HOME", "BUSINESS"]
},
"address": {
"name": {
"firstName":"FirstName",
"middleName":"MiddleName",
"lastName":"LastName"
},
"streetLine1": "123 Street St.",
"streetLine2":"Apt. 456",
"streetLine3":"C/O FirstName",
"city":"San Francisco",
"state":"CA",
"zipcode":"94109",
"countryCode":"US"
}
},
"email":"email@email.com",
"requestedBy":"POWER_OF_ATTORNEY",
"communicationType":"WRITTEN",
"receivedPowerOfAttorneyDocumentation":true,
"offerPercentOfBalance":80,
"offerDurationInMonths":6
}

If the debt included in the request does not have attdebt consolidator representation, then the response contains the JavaScript value null.

Example:

null

Add Attorney Representation#

POST https://api.trueaccord.com/api/v1/debts/{debtId}/representation/attorneyRepresentation

Add attorney representation for a debt.

Add Attorney Representation Request Body#

The request body is an Attorney Representation object.

Add Attorney Representation Request Body Example
{
"contactInfo": {
"name": "Firm Name",
"phoneNumber": {
"phoneNumber": "123-456-7890",
"dataSource": {
"type:": "CREDITOR"
},
"consent": {
"time":1595627933618
},
"types":["WORK", "CELL", "HOME", "BUSINESS"]
},
"address": {
"name": {
"firstName":"FirstName",
"middleName":"MiddleName",
"lastName":"LastName"
},
"streetLine1": "123 Street St.",
"streetLine2":"Apt. 456",
"streetLine3":"C/O FirstName",
"city":"San Francisco",
"state":"CA",
"zipcode":"94109",
"countryCode":"US"
}
},
"email":"email@email.com",
"requestedBy":"POWER_OF_ATTORNEY",
"communicationType":"WRITTEN",
"receivedPowerOfAttorneyDocumentation":true
}

Add Attorney Representation Responses#

200 OK#

The response is JSON, however it is simply the string "ok".

Example response:

"ok"

Add Debt Consolidator Representation#

POST https://api.trueaccord.com/api/v1/debts/{debtId}/representation/debtConsolidatorRepresentation

Add Debt Consolidator Representation Request Body#

The request body is an Debt Consolidator Representation object.

Add Debt Consolidator Representation Request Body Example
{
"debtConsolidatorType":"FREEDOM_FINANCIAL",
"contactInfo": {
"name": "Firm Name",
"phoneNumber": {
"phoneNumber": "123-456-7890",
"dataSource": {
"type:": "CREDITOR"
},
"consent": {
"time":1595627933618
},
"types":["WORK", "CELL", "HOME", "BUSINESS"]
},
"address": {
"name": {
"firstName":"FirstName",
"middleName":"MiddleName",
"lastName":"LastName"
},
"streetLine1": "123 Street St.",
"streetLine2":"Apt. 456",
"streetLine3":"C/O FirstName",
"city":"San Francisco",
"state":"CA",
"zipcode":"94109",
"countryCode":"US"
}
},
"email":"email@email.com",
"requestedBy":"POWER_OF_ATTORNEY",
"communicationType":"WRITTEN",
"receivedPowerOfAttorneyDocumentation":true,
"offerPercentOfBalance":80,
"offerDurationInMonths":6
}

Add Debt Consolidator Representation Responses#

200 OK#

The response is JSON, however it is simply the string "ok".

Example response:

"ok"

Add Attorney Debt Consolidator Representation#

POST https://api.trueaccord.com/api/v1/debts/{debtId}/representation/attorneyDebtConsolidatorRepresentation

Add attorney debt consolidator representation for a debt. Based on creditor settings, will be treated as an attorney or a debt consolidator.

Verifying Creditor Settings Config Using the API

You can verify if the representation is added as attorney representation or debt consolidator representation by calling the Get Attorney Representation and Get Debt Consolidator Representation endpoints.

Whichever of the responses contains the representation included in the request to the Add Attorney Debt Consolidator Representation endpoint (this endpoint), is the configuration for this endpoint in the creditor settings.

Add Attorney Debt Consolidator Representation Request Body#

The request body is an Debt Consolidator Representation object.

Add Attorney Debt Consolidator Representation Request Body Example
{
"debtConsolidatorType":"FREEDOM_FINANCIAL",
"contactInfo": {
"name": "Firm Name",
"phoneNumber": {
"phoneNumber": "123-456-7890",
"dataSource": {
"type:": "CREDITOR"
},
"consent": {
"time":1595627933618
},
"types":["WORK", "CELL", "HOME", "BUSINESS"]
},
"address": {
"name": {
"firstName":"FirstName",
"middleName":"MiddleName",
"lastName":"LastName"
},
"streetLine1": "123 Street St.",
"streetLine2":"Apt. 456",
"streetLine3":"C/O FirstName",
"city":"San Francisco",
"state":"CA",
"zipcode":"94109",
"countryCode":"US"
}
},
"email":"email@email.com",
"requestedBy":"POWER_OF_ATTORNEY",
"communicationType":"WRITTEN",
"receivedPowerOfAttorneyDocumentation":true
}

Add Attorney Debt Consolidator Representation Responses#

200 OK#

The response is JSON, however it is simply the string "ok".

Example response:

"ok"

Cancel Attorney Representation#

POST https://api.trueaccord.com/api/v1/debts/{debtId}/representation/cancelAttorneyRepresentation

Cancel attorney representation for a debt.

Cancel Attorney Representation Request Body#

The request body is a Representation Cancellation object.

Cancel Attorney Representation Request Body
{
"requestedBy":"POWER_OF_ATTORNEY",
"communicationType":"WRITTEN",
"reason":"cancelling rep"
}

Cancel Attorney Representation Responses#

200 OK#

The response is JSON, however it is simply the string "ok".

Example response:

"ok"
400 Bad Request - No Attorney Representation#

If you try to cancel attorney representation for a debt that does not currently have attorney representation, the API responds with a status 400 error.

The response body is an Error object.

Example response:

{
"code": 102,
"msg": "No Attorney representation information found.",
"errorInfo": null
}

Cancel Debt Consolidator Representation#

POST https://api.trueaccord.com/api/v1/debts/{debtId}/representation/cancelDebtConsolidatorRepresentation

Cancel debt consolidator representation for a debt.

Cancel Debt Consolidator Representation Request Body#

The request body is a Representation Cancellation object.

Cancel Debt Consolidator Representation Request Body
{
"requestedBy":"POWER_OF_ATTORNEY",
"communicationType":"WRITTEN",
"reason":"cancelling rep"
}

Cancel Debt Consolidator Representation Responses#

200 OK#

The response is JSON, however it is simply the string "ok".

Example response:

"ok"
400 Bad Request - No Debt Consolidator Representation#

If you try to cancel debt consolidator representation for a debt that does not currently have debt consolidator representation, the API responds with a status 400 error.

The response body is an Error object.

Example response:

{
"code": 102,
"msg": "No Debt consolidator representation information found.",
"errorInfo": null
}

Creditors Endpoints#

List Creditor Brands#

GET https://api/v1/creditors/{creditorId}/brands/

List Creditor Brands Responses#

200 OK#

Returns a list of all existing brands for the creditorId in the URL.

The response schema is an array of Creditor Brand objects.

List Creditor Brands 200 OK Example Response
[
{
"type": "DOING_BUSINESS_AS",
"name": "Existing Business",
"address": {
"streetLine2": "Suite #222",
"state": "NV",
"countryCode": "US",
"city": "Las Vegas",
"zipcode": "67676",
"streetLine1": "222 Lane"
},
"meta": {
"isPrimary": false,
"id": "",
"isActive": true,
"versionInfo": {
"versionNumber": 0
},
"lastModified": 1589538329855,
"timeCreated": 1589538329855
},
"description": "This business already exists.",
"websiteUrl": "http://www.existentialbusiness.com"
},
{
"logoUrl": "http://localhost/img/some_logo.png",
"type": "ORIGINAL",
"name": "Different Business",
"address": {
"streetLine2": "Suite #26",
"state": "CA",
"countryCode": "US",
"city": "Differentville",
"zipcode": "25806",
"streetLine1": "160 Different Street"
},
"meta": {
"isPrimary": false,
"id": "55555555555555555555555555555555",
"isActive": true,
"versionInfo": {
"versionNumber": 0
},
"lastModified": 1589538329855,
"timeCreated": 1589538329855
},
"description": "Not the same as existing business.",
"websiteUrl": "http://www.differentialbusiness.com"
}
]

Update Creditor Brands#

PUT https://api/v1/creditors/{creditorId}/brands

Update Creditor Brands Request Body#

Existing brands may be updated, but their meta data (excluding isPrimary) and their type (Original/DBA) cannot be changed.

New brands may be added, but Metadata fields with the exception of isActive, and isPrimary cannot be provided, as it they be generated automatically. The ids of new brands will be returned as part of the successful response.

KeyTypeRequiredAdditional Info
brandsArray of Creditor BrandsThe array of brands must include all existing brands (which can be retrieved with the List Creditor Brands endpoint). The API will generate a status 400 error if all brands are not included.
Update Creditor Brands Request Body Example
{
"brands": [{
"type": "DOING_BUSINESS_AS",
"name": "Existing Business",
"address": {
"streetLine2": "Suite #222",
"state": "NV",
"countryCode": "US",
"city": "Las Vegas",
"zipcode": "67676",
"streetLine1": "222 Lane"
},
"meta": {
"isPrimary": false,
"id": "",
"isActive": true,
"versionInfo": {
"versionNumber": 0
},
"lastModified": 1589538329855,
"timeCreated": 1589538329855
},
"description": "This business already exists.",
"websiteUrl": "http://www.existentialbusiness.com"
},
{
"logoUrl": "http://localhost/img/some_logo.png",
"type": "ORIGINAL",
"name": "Different Business",
"address": {
"streetLine2": "Suite #26",
"state": "CA",
"countryCode": "US",
"city": "Differentville",
"zipcode": "25806",
"streetLine1": "753 Changed Different Street"
},
"meta": {
"isPrimary": false,
"id": "55555555555555555555555555555555",
"isActive": true,
"versionInfo": {
"versionNumber": 0
},
"lastModified": 1589538329855,
"timeCreated": 1589538329855
},
"description": "Not the same as existing business.",
"websiteUrl": "http://www.differentialbusiness.com"
},
{
"logoUrl": "http://www.website.com/logo.png",
"type": "DOING_BUSINESS_AS",
"name": "Another Different Business",
"address": {
"state": "IA",
"countryCode": "US",
"city": "Anotherville",
"zipcode": "99995",
"streetLine1": "1029 That Street"
},
"description": "Not the same either old business.",
"websiteUrl": "http://www.consequentialbusiness.com"
}]
}

Update Creditor Brands Responses#

200 OK#

Returns a list of all brands, including any changes made by the call. Includes complete Metadata.

Update Creditor Brands 200 OK Response Example
[
{
"type": "DOING_BUSINESS_AS",
"name": "Existing Business",
"address": {
"streetLine2": "Suite #222",
"state": "NV",
"countryCode": "US",
"city": "Las Vegas",
"zipcode": "67676",
"streetLine1": "222 Lane"
},
"meta": {
"isPrimary": false,
"id": "",
"isActive": true,
"versionInfo": {
"versionNumber": 0
},
"lastModified": 1589538329855,
"timeCreated": 1589538329855
},
"description": "This business already exists.",
"websiteUrl": "http://www.existentialbusiness.com"
},
{
"logoUrl": "http://localhost/img/some_logo.png",
"type": "ORIGINAL",
"name": "Different Business",
"address": {
"streetLine2": "Suite #26",
"state": "CA",
"countryCode": "US",
"city": "Differentville",
"zipcode": "25806",
"streetLine1": "753 Changed Different Street"
},
"meta": {
"isPrimary": false,
"id": "55555555555555555555555555555555",
"isActive": true,
"versionInfo": {
"versionNumber": 0
},
"lastModified": 1589538329855,
"timeCreated": 1589538329855
},
"description": "Not the same as existing business.",
"websiteUrl": "http://www.differentialbusiness.com"
},
{
"logoUrl": "http://www.website.com/logo.png",
"type": "DOING_BUSINESS_AS",
"name": "Another Different Business",
"address": {
"state": "IA",
"countryCode": "US",
"city": "Anotherville",
"zipcode": "99995",
"streetLine1": "1029 That Street"
},
"meta": {
"isPrimary": false,
"id": "66666666666666666666666666666666",
"isActive": true,
"versionInfo": {
"versionNumber": 0
},
"lastModified": 1598538329851,
"timeCreated": 1598538329851
},
"description": "Not the same either old business.",
"websiteUrl": "http://www.consequentialbusiness.com"
}
]

400 Bad Request - Missing Required Values#

When the request body is missing required values, the API responds with a status 400 error.

The response body is a Error object.

Example response:

{
"code": 104,
"msg": "Missing original ids.",
"errorInfo": {
"": "Missing original ids."
}
}

Add New Creditor Brand#

POST https://api/v1/creditors/{creditorId}/brands

Add New Creditor Brand Request Body#

The body of the request should be a single Creditor Brand object.

For Brand Metadata, only isActive, and isPrimary) can be provided. The other Metadata fields are generated automatically by the API. The id of new brand will be returned as part of the successful response.

note

You cannot add a new creditor brand with this endpoint that contains a name already possessed by another brand within the system. If you attempt to add a new brand with an existing brand name, the API responds with a status 400 response. See below Add Creditor Brands Responses for more details.

Add New Creditor Brand Request Body Example
{
"logoUrl": "http://localhost/img/logo.png",
"type": "DOING_BUSINESS_AS",
"name": "Business",
"address": {
"streetLine2": "Suite #123",
"state": "CA",
"countryCode": "US",
"city": "San Francisco",
"zipcode": "54321",
"streetLine1": "789 Road"
},
"description": "Business business business.",
"websiteUrl": "http://www.businessisgood.com",
"brandDetails": {
"originalCreditor": "MyCreditor",
"merchant": "Toys-R-Us",
"productType": "CARD"
}
}

Add Creditor Brands Responses#

Unsuccessful additions have an error message describing the brand-level error.

200 OK#

Returns the newly added Creditor Brand object with updated meta field.

Add Creditor Brands 200 OK Response Example
{
"address": {
"state": "NV",
"city": "Las Vegas",
"streetLine1": "222 Lane",
"streetLine2": "Suite #222",
"countryCode": "US",
"zipcode": "67676"
},
"type": "DOING_BUSINESS_AS",
"websiteUrl": "http://www.existentialbusiness.com",
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isActive": true,
"id": "803ca90569dd4790ad460daa16a4bd75",
"isPrimary": false,
"timeCreated": 1623948513990,
"lastModified": 1623948513990
},
"name": "Existing Business",
"description": "This business already exists."
}

400 Bad Request - Improperly Formatted Request#

When the request body is malformatted, the API responds with a status 400 error.

The response body is a Error object.

Example response:

{
"code": 104,
"msg": "Only meta.isActive and meta.isPrimary can be changed.",
"errorInfo": {
"": "Only meta.isActive and meta.isPrimary can be changed."
}
}
400 Bad Request - Duplicate Brand Names#

The request may not contain duplicate brand names. If you attempt to add another brand of the same name as an existing brand, the API responds with a status 400 error.

The response body is an Error object.

Example response:

{
"code": 104,
"msg": "Duplicate brand names detected. Make sure to give all brands distinct names.",
"errorInfo": {
"": "Duplicate brand names detected. Make sure to give all brands distinct names."
}
}

Get Creditor Information#

GET https://api/v1/creditors/{creditorId}/info

Return creditor information for a given creditorId.

Get Creditor Information Responses#

200 OK#

The response body is a Creditor object.

Retrieving Creditor Information 200 OK Response Example
{
"companyName": "iTable",
"environment": "LIVE",
"industry": "companies",
"activationStatus": "ACTIVE",
"commissionPercentBasisPoint": 3300
}

Data Types#

Attorney Representation#

Attorney Representation Specification#

KeyTypeRequiredAdditional Info
contactInfoContact InfoAttorney contact information.
emailStringEmail address for contacting the attorney.
requestedByEnum of RequestedBy
communicationTypeEnum of CommunicationType
receivedPowerOfAttorneyDocumentationBoolean

RequestedBy#

EnumNotes
REQUEST_BY_UNKNOWN
CUSTOMER
POWER_OF_ATTORNEY
CREDITOR
DEBT_CONSOLIDATOR
ATTORNEY
TRUEACCORD
ATTORNEY_DEBT_CONSOLIDATOR

CommunicationType#

EnumNotes
COMMUNICATION_TYPE_UNKNOWN
WRITTEN
VERBAL

Balance Snapshot#

The balance snapshot object represents an update to the debt's balance. This is the total to collect balance which means that it is the total amount for True Accord to collect on before any payments or credits.

Balance Snapshot Schema#

KeyTypeRequiredAdditional Information
principalMonetary AmountThe absolute value for the principal.
interestMonetary AmountThe absolute value for the interest. If not provided in request, default value is 0.
feesMonetary AmountThe absolute value for the fees. If not provided in request, default value is 0.
costsMonetary AmountThe absolute value for the costs. If not provided in request, default value is 0.
notesStringA note about why this balance has been updated.

Balance Snapshot Example#

Balance Snapshot Example Object
{
"principal": {
"amount": 14567,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"costs": {
"amount": 132,
"currency": "USD"
},
"notes": "some note here"
}

Contact Info#

Contact Info Schema#

KeyTypeRequiredAdditional Info
nameString
phoneNumberPhone Number
addressContact Address

Creditor#

Creditor Schema#

KeyTypeRequiredAdditional Info
companyNameString
industryString
environmentEnum of CreditorEnvironment
activationStatusEnum of CreditorActivationStatus
commissionPercentBasisPointInteger
CreditorActivationStatus#
EnumNotes
ACTIVECreditor is live
NOT_APPLIEDInitial mode for creditors who have signed up through the home page. They need to initiate an application to start the process.
APPLICATION_UNDER_REVIEWThe following are subject to change (DO NOT USE).
REJECTEDTerminal state for a creditor account - means that we didn't on-board this creditor.
OFFBOARDEDTerminal state for a creditor account - means that we collected for this creditor, and decided to terminate the relationship between us.
CreditorEnvironment#
EnumNotes
LIVE
TEST
INTERNAL_TEST

Creditor Example#

{
"companyName": "iTable",
"environment": "LIVE",
"activationStatus": "ACTIVE",
"commissionPercentBasisPoint": 3300
}

Creditor Brand#

Creditor Brand Schema#

KeyTypeRequiredAdditional Info
logoUrlString
typeEnum of CreditorBrandTypeDefault: "DOING_BUSINESS_AS"
nameString
addressPostal Address
metaMeta
descriptionString
websiteUrlString
brandDetailsBrand DetailsSee note about unique fields on Brand Details.

CreditorBrandType#

EnumNotes
DOING_BUSINESS_ASAn identity of the Creditor, under which it's doing business.
ORIGINALA brand that originally owned a debt, that the Creditor currently owns. Useful for debt buyer Creditors, as this brand represents one of the companies from which they bought debts.

Brand Details#

Brand Details for each Creditor Brand must have unique merchant and originalCreditor field pairs, if Brand Details are included.

KeyTypeRequiredAdditional Info
originalCreditorStringOriginal Creditor for the debt.
merchantStringOriginal merchant associated with the debt.
productTypeEnum of ProductType
Product Type#
EnumNotes
UNKNOWN
CARD

Creditor Brand Example#

Creditor Brand Example
{
"logoUrl": "http://localhost/img/some_logo.png",
"type": "ORIGINAL",
"name": "Different Business",
"address": {
"streetLine2": "Suite #26",
"state": "CA",
"countryCode": "US",
"city": "Differentville",
"zipcode": "25806",
"streetLine1": "160 Different Street"
},
"meta": {
"isPrimary": false,
"id": "55555555555555555555555555555555",
"isActive": true,
"versionInfo": {
"versionNumber": 0
},
"lastModified": 1589538329855,
"timeCreated": 1589538329855
},
"description": "Not the same as existing business.",
"websiteUrl": "http://www.differentialbusiness.com"
}

Customer#

Customer objects represent a single person or business entity in our system. A single customer may be associated with more than one debt. The API allows you to create customers, list the customers you created as well as retrieving individual customers. Currently, updating or deleting an existing customer is unsupported.

Customer Specification#

tip

For best results in TrueAccord's collections attempts, you should specify as many fields as possible in the Customers object.

KeyTypeRequiredAdditional Information
nameNameFull name of customer.
dateOfBirthDateWhen customer was born.
businessesArray of Customer BusinessesAny business names associated with the Customer.
addressesArray of Customer AddressesMust provide at least one Address.
phonesArray of Phone NumbersPhone numbers associated with the Customer.
emailsArray of EmailsMust provide at least one Email.
commentsArray of CommentsCan be used to provide additional context about this customer.
referenceStringUsed to attach your system's customer unique ID to this object. Up to 1024 characters long.
debtsArray of DebtsAny existing debts associated with the customer. Must provide at least one Debt.
ssnStringThe Customer's Social Security Number. Should be formatted only as digits. (Ex: "123456789")

Customer Business#

KeyTypeRequiredAdditional Information
nameStringName of business.
urlStringWebsite associated with business. Start with http(s)://....

Customer Address#

KeyTypeRequiredAdditional Information
streetLine1StringStreet address.
streetLine2StringUnit number or PO BOX.
cityStringCity of address.
stateStringTwo-digit state code. Ex: "NY", "CA"
zipcodeStringPostal code for address.
countryCodeStringCode for country. Ex: "US"
typesArray of EnumsArray with one or both of the following:
  • "WORK"
  • "HOME"

Customer Phone#

While it is not required to provide a customer phone number, it is required to include the phoneNumber field if a phone number is provided.

KeyTypeRequiredAdditional Information
phoneNumberStringNine-digit phone number formatted ###-###-####. Ex: "444-555-6666"
typesArray of EnumsArray with one or more of the following:
  • "WORK"
  • "HOME"
  • "CELL"
  • "FAX"
  • "BUSINESS"

Customer Email#

KeyTypeRequiredValue
emailStringMust be valid email address.
typesStringArray with one or more of the following:
  • "WORK"
  • "HOME"

Customer Example#

Customer Example Object
{
"name": {
"firstName": "John",
"middleName": "M",
"lastName": "Groom"
},
"dateOfBirth": {
"day": 7,
"month": 2,
"year": 1994
},
"businesses": [
{
"name": "Some Comp.",
"url": "http://www.company.com"
}
],
"addresses": [
{
"streetLine1": "101 N First St",
"streetLine2": "",
"city": "San Jose",
"state": "CA",
"zipcode": "99999",
"countryCode": "US",
"types" : [ "HOME" ]
}
],
"phones": [
{
"phoneNumber": "650-999-9999",
"types" : [ "CELL" ]
}
],
"emails": [
{
"email": "john@example.com",
"types" : [ "WORK" ]
},
{
"email": "john1977@gmail.com"
}
],
"comments": [
{
"comment": "Business owner."
}
],
"reference": "MyRef",
"debts": [
{
"biller": "ArtsieStuff",
"product": "Oil Painting",
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"initialFees": {
"amount": 132,
"currency": "USD"
},
"transactionId": "MyTransId",
"transactionIp": "192.168.14.30",
"transactionTimestamp": 1385148285937,
"defaultTimestamp": 1388563200000,
"comments": [{
"comment": "Transaction failed due to insufficient funds."}
],
"clientFields": [{
"key": "key1",
"value": "val1"}
],
"postChargeOffInformation" : {
"chargeOffTimestamp" : 1388563200000,
"balanceAtChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"feesAccruedSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"interestAccruedSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"totalPaidSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
}
}
}
],
"ssn": "123456789"
}

Data Source#

Data Source Schema#

KeyTypeRequiredAdditional Info
typeEnum of DataSourceType

DataSourceType#

EnumNotes
CREDITORUse when data is provided by creditor. This should always be used when it is the Creditor posting the information.
CUSTOMERUsed when the customer provides information directly to TrueAccord.

Date#

Calendar date.

Date Schema#

KeyTypeRequiredAdditional Information
dayIntegerTakes values 1-31.
monthIntegerTakes values 1-12.
yearInteger4-digit year, ex: 2021.

Date Example#

{
"day": 7,
"month": 2,
"year": 1994
}

Debt#

Each Debt object contains the following fields:

Debt Schema#

A debt object within the system. Our system will attempt to collect the total of initialPrincipal, initialInterest and initialFees.

The Debt data type has different schemas for the request and the response. The response has additional data and includes data provided in the request.

Debt Request Schema#
KeyTypeRequiredAdditional Information
billerStringFor aggregators and marketplaces: this field stores the name of your sub merchant.
productStringDescription of the product or service associated with this debt.
initialPrincipalMonetary AmountAmount of money owed to you in cents.
initialInterestMonetary AmountThe amount of interest owed to you by this customer by the time it's handed off to TrueAccord.
initialFeesMonetary AmountThe amount of fees owed to you by this customer due to not paying initialPrincipal.
transactionIdStringYou can use to store a reference to the transactionId on your system. Up to 1024 characters.
transactionIpStringIP address associated with this transaction. Either in IPv4 or IPv6 format.
transactionTimestampTimestampTime that the transaction leading to the debt occurred, if applicable. For example, the origination date of the loan or the date the customer purchased the product which led to the debt. This should be before the defaultTimestamp. Note that this date may be shown to the customer to provide context on the debt, and also has ramifications in our system's compliance rules.
defaultTimestampTimestampTime customer defaulted on the debt. This should be after the transactionTimestamp. Note that this date may be shown to the customer to provide context on the debt, and also has ramifications in our system's compliance rules.
accountOpenTimestampTimestampTime the customer initially opened or created an account with you, if applicable. Note that this date may be shown to the customer to provide context on the debt, and also has ramifications in our system's compliance rules.
clientFieldsArray of ClientFieldsKey-value pairs that are client specific.
sendCbrNegativeNoticeBooleanFlag indicating whether a negative notice WILL BE submitted to a credit bureau in the future.
hasSentCbrNegativeNoticeBooleanFlag indicating whether a negative notice HAS BEEN submitted to a credit bureau in the past
postChargeOffInformationPostChargeOffInformationObject with information relevant for Post-ChargeOff debts. Required for accounts in the state of NY.
itemizationTimestampTimestampUnix Time in milliseconds, of the itemization date which could be any of last statement date, charge-off date, last payment date, transaction date, and judgement date. This is an optional field until the 30th Nov, 2021.
initialPaymentsAndCreditsMonetary AmountThe monetary credits the customer has towards the debt, or the amount of money the customer has paid towards the debt, before the debt came to collections to Trueaccord. This is an optional field until the 30th Nov, 2021.
isInitialPrincipalBeforePaymentsAndCreditsBooleanFlag indicating whether the initialPrincipal includes initialPaymentsAndCredits. A "true" value indicates that the principal to be collected is initialPrincipal minus initialPaymentsAndCredits. A "false" value or the absence of the flag indicates that the principal to be collected is the initialPrincipal. This is an optional field until the 30th Nov, 2021.
Debt Request Example#
Debt Request Example Object
{
"biller": "ArtsieStuff",
"product": "Oil Painting",
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"initialFees": {
"amount": 132,
"currency": "USD"
},
"transactionId": "MyTransId",
"transactionIp": "192.168.14.30",
"transactionTimestamp": 1385148285937,
"defaultTimestamp": 1388563200000,
"comments": [{
"comment": "Transaction failed due to insufficient funds."}
],
"clientFields": [{
"key": "key1",
"value": "val1"}
],
"postChargeOffInformation" : {
"chargeOffTimestamp" : 1388563200000,
"balanceAtChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"feesAccruedSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"interestAccruedSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
},
"totalPaidSinceChargeOff" : {
"amount": 14567,
"currency": "USD"
}
},
"itemizationTimestamp" : 1385148285937,
"initialPaymentsAndCredits" : {
"amount" : 1000,
"currency": "USD"
},
"isInitialPrincipalBeforePaymentsAndCredits" : true
}

Debt Response Schema#
KeyTypeRequiredAdditional Information
chargeOffStatusEnum of ChargeOffStatus
billerStringFor aggregators and marketplaces: this field stores the name of your sub merchant.
productStringDescription of the product or service associated with this debt.
initialPrincipalMonetary AmountAmount of money owed to you in cents.
initialFeesMonetary AmountThe amount of fees owed to you by this customer due to not paying initialPrincipal.
accountNumberString
accountOpenTimestampTimestampTime the customer initially opened or created an account with you, if applicable. Note that this date may be shown to the customer to provide context on the debt, and also has ramifications in our system's compliance rules.
creditorIdStringUUID set by TrueAccord system.
personIdStringUUID set by TrueAccord system.
metaMetadata
defaultTimestampTimestampTime customer defaulted on the debt. This should be after the transactionTimestamp. Note that this date may be shown to the customer to provide context on the debt, and also has ramifications in our system's compliance rules.
itemizationTimestampTimestampUnix Time in milliseconds, of the itemization date which could be any of last statement date, charge-off date, last payment date, transaction date, and judgement date. This is an optional field until the 30th Nov, 2021.
initialPaymentsAndCreditsMonetary AmountThe monetary credits the customer has towards the debt, or the amount of money the customer has paid towards the debt, before the debt came to collections to Trueaccord. This is an optional field until the 30th Nov, 2021. When this field is not provided in the request, a zero value is considered.
isInitialPrincipalBeforePaymentsAndCreditsBooleanFlag indicating whether the initialPrincipal includes initialPaymentsAndCredits. A "true" value indicates that the principal to be collected is initialPrincipal minus initialPaymentsAndCredits. A "false" value or the absence of the flag indicates that the principal to be collected is the initialPrincipal. This is an optional field until the 30th Nov, 2021.
transactionTimestampTimestampTime that the transaction leading to the debt occurred, if applicable. For example, the origination date of the loan or the date the customer purchased the product which led to the debt. This should be before the defaultTimestamp. Note that this date may be shown to the customer to provide context on the debt, and also has ramifications in our system's compliance rules.
initialInterestMonetary Amount
typeEnum of DebtType
initialCostMonetary Amount
clientFieldsArray of ClientFieldsKey-value pairs that are client specific.
transactionIdStringYou can use to store a reference to the transactionId on your system. Up to 1024 characters.
transactionIpStringIP address associated with this transaction. Either in IPv4 or IPv6 format.
statusString
creditorCreditor
balanceDetailsBalance Details
maxDiscountPercentIntegerMaximal discount creditor is willing to give. Percent integer, out of 100. Deprecated in favor of effectiveMaxDiscountPercent.
internalConfigurationInternal Configuration
transactionIdLast4StringLast 4 digits of transactionId.
accountNumberForDisplayString
prohibitedActionsArray of Prohibited Actions
accruedInterestMonetary AmountPortion of the balance that comes from interest.
balanceMonetary Amount
placementTypeEnum of PlacementType
paymentPlanIdStringThe identifier for the related payment plan, if it exists.
balanceDetailsAtPlacementBalance Snapshot
availablePaymentMethodsAvailable Payment Methods
specialUiTreatmentEnum of SpecialUiTreatment
isPreLegalBoolean
communicationsInformationCommunications Information
unsettledPaymentsAmountMonetary AmountTotal amount of unsettled payments that have not cleared yet. They do not contribute to the balance at this point.
isTimebarCompliantBoolean
minSettlementPercentIntegerPercent integer, out of 100.
initialTotalMonetary AmountBeware potentially misleading name. Sums the debt's balance buckets "to collect". Balance to collect = initial balance + balance adjustments. where initial balance is the sum of initial principal, initial interest, etc. So this is "total balance to collect", sum of "total principal to collect", "total interest to collect", etc.
locationCreatedLocation CreatedTotal amount of unsettled payments that have not cleared yet. They do not contribute to the balance at this point.
effectiveMaxDiscountPercentEffective Max Discount Percent
recentTransactionInfoRecent Transaction Info
Debt Response Example#
Debt Response Example Object
{
"chargeOffStatus": "NONE",
"initialPrincipal": {
"amount": 14567,
"currency": "USD"
},
"biller": "TheBiller",
"accountNumber": "4785204050162",
"accountOpenTimestamp": 1385695523047,
"creditorId": "bf5903bb58cb352d441a9816e01ca09c",
"personId": "e54db7d751316935960ee7adc12857f2",
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "d4423d1ae49e440fa4c0ee6e9f91e215",
"timeCreated": 1626875695886,
"lastModified": 1626875695886,
"isActive": true
},
"defaultTimestamp": 1388577600000,
"itemizationTimestamp" : 1385148285937,
"initialPaymentsAndCredits" : {
"amount" : 1000,
"currency": "USD"
},
"isInitialPrincipalBeforePaymentsAndCredits" : true,
"transactionTimestamp": 1385695523047,
"initialInterest": {
"amount": 0,
"currency": "USD"
},
"type": "DEBT_TYPE_NONE",
"initialCosts": {
"amount": 0,
"currency": "USD"
},
"clientFields": [
{
"key": "key1",
"value": "val1"
}
],
"product": "TheProduct",
"transactionIp": "192.168.0.1",
"transactionId": "MyTransId",
"status": "PendingApproval",
"initialFees": {
"amount": 132,
"currency": "USD"
},
"creditor": {
"creditorSettings": {
"creditorTimeZone": "PST",
"isFirstPartyRelationship": false,
"servicingType": "RECOVERY"
},
"originalBrand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"meta": {
"id": "bf5903bb58cb352d441a9816e01ca09c"
},
"brand": {
"type": "DOING_BUSINESS_AS",
"description": "iTable is revolutionizing the world.",
"websiteUrl": "http://www.itable.com",
"logoUrl": "http://localhost:9000/static/img/email_logo.png",
"name": "iTable",
"address": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
},
"meta": {
"versionInfo": {
"versionNumber": 0
},
"isPrimary": false,
"id": "",
"timeCreated": 1618853327379,
"lastModified": 1618853327379,
"isActive": true
}
},
"policy": {
"isAchEnabled": true
},
"industry": "",
"companyName": "iTable",
"clientName": "iTable"
},
"balanceDetails": {
"costs": {
"amount": 0,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"overcharges": {
"amount": 0,
"currency": "USD"
},
"principal": {
"amount": 14567,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"isSettledInFull": false
},
"maxDiscountPercent": 30,
"internalConfiguration": {
"showSpecialDisputeTreatment": false
},
"transactionIdLast4": "nsId",
"accountNumberForDisplay": "nsId",
"prohibitedActions": [
{
"debtAction": "NEW_PAYMENT",
"prohibitionReasons": ["LOCATION"]
},
{
"debtAction": "NEW_PAYMENT_PLAN",
"prohibitionReasons": ["LOCATION"]
},
{
"debtAction": "MAKE_COMMUNICATION",
"prohibitionReasons": ["LOCATION"]
},
{
"debtAction": "NEW_PART_PAYMENT",
"prohibitionReasons": ["LOCATION"]
}
],
"accruedInterest": {
"amount": 0,
"currency": "USD"
},
"balance": {
"amount": 14699,
"currency": "USD"
},
"placementType": "ORIGINAL",
"paymentPlanId": "",
"balanceDetailsAtPlacement": {
"principal": {
"amount": 14567,
"currency": "USD"
},
"interest": {
"amount": 0,
"currency": "USD"
},
"fees": {
"amount": 132,
"currency": "USD"
},
"costs": {
"amount": 0,
"currency": "USD"
}
},
"availablePaymentMethods": {
"creditCard": true,
"debitCard": true,
"check": true
},
"specialUiTreatment": "NONE",
"isPreLegal": false,
"communicationsInformation": {
"hadInitialCommunication": false
},
"unsettledPaymentsAmount": {
"amount": 0,
"currency": "USD"
},
"isTimebarCompliant": true,
"minSettlementPercent": 70,
"initialTotal": {
"amount": 14699,
"currency": "USD"
},
"locationCreated": {
"physical": {
"zipcode": "94107",
"streetLine1": "148 Townsend",
"streetLine2": "Suite #26",
"countryCode": "US",
"city": "San Francisco",
"state": "CA"
}
},
"effectiveMaxDiscountPercent": {
"overrideType": "NO_OVERRIDE",
"maxDiscountPercent": 30,
"minSettlementPercent": 70
},
"recentTransactionInfo": {}
}

PostChargeOffInformation#

The following data can be provided:

KeyTypeRequiredAdditional Information
chargeOffTimestampTimestampThe time of charge-off.
balanceAtChargeOffMonetary AmountThe balance at time of charge-off.
feesAccruedSinceChargeOffMonetary AmountThe fees accrued since time of charge-off.
interestAccruedSinceChargeOffMonetary AmountThe interest accrued since time of charge-off.
totalPaidSinceChargeOffMonetary AmountThe total amount paid since time of charge-off.

Balance Details#

KeyTypeRequiredAdditional Info
principalMonetary Amount
interestMonetary Amount
feesMonetary Amount
costsMonetary Amount
overchargesMonetary AmountRepresents mistakes in which TrueAccord collected more than the balance.
isSettledInFullBoolean

Internal Configuration#

KeyTypeRequiredAdditional Info
showSpecialDisputeTreatmentBooleanWhether TrueAccord shows special presentation for dispute debt state that this debt has. Applicable in states that require special disclosures or procedures for disputes.

Prohibited Action#

KeyTypeRequiredAdditional Info
debtActionEnum of DebtActions
prohibitedReasonsArray of Enum ProhibitionReasons
DebtAction#

Actions that can be performed on a given debt. This varies depending on the debt's status and the creditor lifecycle stage.

EnumNotes
NEW_PAYMENT
NEW_PAYMENT_PLAN
MAKE_COMMUNICATION
NEW_PART_PAYMENT
ProhibitionReason#
EnumNotes
DEBT_TERMINAL
CREDITOR_STATUS
LOCATION
PENDING_PAYMENT

Available Payment Methods#

KeyTypeRequiredAdditional Info
creditCardBoolean
debitCardBoolean
checkBoolean

Communications Information#

KeyTypeRequiredAdditional Info
hadInitialCommunicationBoolean
requiredCommunicationClausesEnumThe requiredCommunicationClauses field is used by certain creditors that require an additional communication with the initial communication. Request additional information from TrueAccord if you believe that this is necessary to you.

Location Created#

KeyTypeRequiredAdditional Info
physicalPostal Address

Effective Max Discount Percent#

KeyTypeRequiredAdditional Info
overrideTypeEnum of OverrideType
maxDiscountPercentMaximal discount creditor is willing to give. Percent with max of 100.
maxSettlementPercent100 minus max discount percent.
OverrideType#
EnumNotes
NO_OVERRIDE
CREDITOR
PORTFOLIO
DEBT
HEARTBEAT

Recent Transaction Info#

KeyTypeRequiredAdditional Info
lastChargeDateDate
lastChargeAmountMonetary Amount
lastPaymentDateDate
lastPaymentAmountMonetary Amount

ChargeOffStatus#

EnumNotes
NONENONE means 'unset'.
PRE_CHARGE_OFFIndicates that the debts are provided to TrueAccord before the creditor charges them off from their books, and writes them as loss.
POST_CHARGE_OFFIndicates that the debts are provided to us after being charged off from the creditor's books. Some states have extra regulation for collecting on debts of this status.

DebtType#

The high-level types of debts handled by the system.

EnumNotes
DEBT_TYPE_NONE
DEBT_TYPE_COMMERCIAL
DEBT_TYPE_CONSUMER

PlacementType#

EnumNotes
ORIGINAL
ORIGINAL

SpecialUiTreatment#

EnumNotes
PURCHASED

ClientField#

Custom client-specific data.

KeyTypeRequiredAdditional Information
keyStringThe key specifying the type of information.
valueStringThe value containing the information.

Debt Consolidator Representation#

Debt Consolidator Representation Schema#

KeyTypeRequiredAdditional Info
debtConsolidatorTypeEnum of DebtConsolidatorType
contactInfoContact Info
emailStringEmail address for contacting the debt consolidator.
requestedByEnum of RequestedBy
communicationTypeEnum of CommunicationType
receivedPowerOfAttorneyDocumentationBoolean
offerPercentOfBalanceInteger
offerDurationInMonthsInteger

Debt Consolidator Representation Example#

Debt Consolidator Representation Example
{
"debtConsolidatorType":"FREEDOM_FINANCIAL",
"contactInfo": {
"name": "Firm Name",
"phoneNumber": {
"phoneNumber": "123-456-7890",
"dataSource": {
"type:": "CREDITOR"
},
"consent": {
"time":1595627933618
},
"types":["WORK", "CELL", "HOME", "BUSINESS"]
},
"address": {
"name": {
"firstName":"FirstName",
"middleName":"MiddleName",
"lastName":"LastName"
},
"streetLine1": "123 Street St.",
"streetLine2":"Apt. 456",
"streetLine3":"C/O FirstName",
"city":"San Francisco",
"state":"CA",
"zipcode":"94109",
"countryCode":"US"
}
},
"email":"email@email.com",
"requestedBy":"POWER_OF_ATTORNEY",
"communicationType":"WRITTEN",
"receivedPowerOfAttorneyDocumentation":true,
"offerPercentOfBalance":80,
"offerDurationInMonths":6
}

DebtConsolidatorType#

debtConsolidatorType must be selected from a predetermined list on our backend. If you'd like to use a debt consolidator that isn't listed, use OTHER or get in contact with TrueAccord to add a new one.

EnumNotes
CREDIT_SOLUTIONS
FREEDOM_FINANCIAL
AMERICAN_FREEDOM_FINANCIAL
DEBT_SETTLEMENT_USA
US_DEBT_RELIEF
ACCELERATE_DEBT_MANAGEMENT_GROUP
PACIFIC_DEBT
NATIONAL_DEBT_RELIEF
CHRISTIAN_DEBT_REMOVERS
LIBERTY_SETTLEMENT_GROUP
CORPORATE_TURNAROUND
LAW_OFFICES_OF_MATTHEW_GUTHRIE
SEIDELMAN_PALMER
JASON_HASS_GROUP
ROLL_LAW_OFFICE
OTHER

Duplicated Reference#

The Duplicated Reference data type is used in response to Add Customers requests when there already is an account in the system for your creditor profile with the same Customer reference or a Debt associated with the customer with the same Debt transactionId.

Duplicated Reference Schema#

KeyTypeRequiredAdditional Info
referenceStringRefers to the reference field in the Customer data type.
transactionIdStringRefers to the transactionId field in the Debt data type.

Duplicated Reference Example#

{
"reference": "MyRef",
"transactionId": "MyTransId"
}

Error#

These Error objects are returned when data cannot be ingested, but there was not any HTTP response error (i.e status 4XX/5XX). This error object is returned with status 200 OK responses.

For more information about status 4XX/5XX errors, and the associated responses, refer to the Recover API Error Documentation.

Error Schema#

KeyTypeRequiredAdditional Information
errorCodeStringError code about why data could not be ingested. More information about these codes can be found in the Recover API error code documentation.
messageString
referenceString

Error Example#

{
"errorCode": "422",
"message": "PersonIn could not be validated",
"reference": ""
}

Metadata#

Most objects in our system contain a meta field with meta data describing the object.

Metadata Schema#

KeyTypeAdditional Information
idStringUnique identifier of the object in our system. You should treat this as an opaque string and not rely on its format.
isActiveBooleanField which indicates whether an object is active in the system. If a customer or a debt are inactive, our system will not attempt to collect them.
isPrimaryBooleanIf the object appears in a list of objects (like emails, or phones) this indicates whether that object has priority over others. There can be at most one primary object in a list.
timeCreatedTimestampWhen object was created. Should not be included in REQUESTS to the API. The TrueAccord system will generate this.
lastModifiedTimestampWhen object was last modified. Should not be included in REQUESTS to the API. The TrueAccord system will generate this.

Metadata Example#

{
"id": "3ef84ff19ddc",
"isActive": true,
"isPrimary": false,
"timeCreated": 1385695523047,
"lastModified": 1385695523047
}

Monetary Amount#

The Monetary Amount object is the way that money is represented in the TrueAccord system. Monetary Amounts are always in cents.

Monetary Amount Specification#

KeyTypeRequiredAdditional Information
amountIntegerAmount of money in cents.
currencyStringCurrency of Monetary Amount. Currently the system only supports "USD".

Monetary Amount Example#

{
"amount": 14567,
"currency": "USD"
}

Name#

A person's name.

Name Specification#

KeyTypeRequiredAdditional Information
firstNameStringCustomer first name.
middleNameStringCustomer middle name.
lastNameStringCustomer last name.

Name Example#

{
"firstName": "John",
"middleName": "M",
"lastName": "Groom"
}

Payment#

The payment object represents a change in the debt's balance. Every payment has an amount associated with it. A positive amount decreases the debt balance while a negative amount increases the balance.

Payment Specification#

KeyTypeRequiredAdditional Information
metaMetaOnly includes "id" and "timeCreated".
amountMonetary AmountThe amount of the payment. Must be positive.
payeeEnumIdentifies who received the payment and can take the following values:
  • "CREDITOR" for when the payment has been made directly to the creditor.
  • "TRUEACCORD" when the payment has been made to TrueAccord.
transactionReferenceStringReference to associate this payment to a transaction in your internal system.
noteStringNote about the payment. If no note is provided in the request, the API responds with the "note": "Received from the API".
transactionTypeEnumIdentifies the type of this payment and can take the following values:
  • "PAYMENT": A standard payment - this deducts the debt's balance. The amount must be positive.
  • "RETURNED_PAYMENT": A payment that failed after it's been declared successful. This is typically used when ACH payments return, or when you refund customers. This payment increases the debt's balance, and the amount must be negative.
  • "REFUND": A payment that has been refunded after it has been made. The amount is negative and it increases the debt's balance.
paymentTimestampTimestampOptional for informational purposes. If not provided during creation, it will return when the payment has been posted to TrueAccord. (matching meta.timeCreated)
returnedPaymentIdTimestampReturned payments must contain a returnedPaymentId field to indicate which payment returned, out of those that have been reported to TrueAccord.

Notice: the id is of TrueAccord's system. Use Listing Payments of Debt to retrieve the list of previously reported payments.
isFailedBooleanOnly returned by the API. true if there was a problem making the payment.

Payment Example#

Payment Example Object
{
"meta": {
"id": "11111111111111111111111111111111",
"timeCreated": 1385159142788
},
"amount": {
"amount": 300,
"currency": "USD"
},
"payee": "TRUEACCORD",
"transactionReference": "MyTransactionRef",
"note": "Paid directly via CC",
"transactionType": "PAYMENT",
"paymentTimestamp" : 1448818320123
}

Payment Plan#

A payment plan is a scheduled series of payments for a customer to repay their Debt.

Payment Plan Specification#

KeyTypeRequiredAdditional Info
applicationPayment Plan Application
nextInstallmentNumberIndex of the next installment to be paid.
paymentMethodInfoPayment Method Info
revocationPayment Plan Revocation
fullyPaidBooleanTrue if payment plan fully paid. Can also be calculated from the installments.
InstallmentsArray of Payment Plan Installments
debtStateIdString
isRecurringBoolean

Payment Plan Application#

KeyTypeRequiredAdditional Info
originatingTokenIdString
installmentsArray of Payment Plan Application Installments
numberOfInstallmentsIntegerDEPRECATED - Use the size of the 'installments' array field. Number of installments expected to be paid during the plan.
startDateTimestampDEPRECATED - This value is only used by the backend to calculate the explicit installments for backwards compatibility. It is not used if the explicit installments are set and will eventually not be used at all. The start date of the plan (this is when the first installment is due)
frequencyEnum of Payment Plan FrequencyFrequency of payment as originally set. Only used by the backend if the installments field is not set.
consentConsent
debtIdStringThe debtId this application refers to.
startCalendarDayDateThe start calendar day. Useful to avoid timezone-related issues and know the customer's true intended start date.
reasonStringDefault: OTHER
createdByUserAccountIdString
amountToPayMonetary AmountThe principal amount that needs to be paid for completing this plan. Normally, this would be the debt balance at time of consent - discount. However, in case of revocation and reapplying that amount may include fees accrued from the previous time.
discountMonetary AmountThe discount offered by us as an absolute number. The amount_to_pay field above reflects that discount. We store it here since this number is displayed in the plan terms.
Payment Plan Frequency#
EnumNotes
UNKNOWN
WEEKLY
BI_WEEKLY
MONTHLY
CUSTOM

Payment Plan Application Installment#

KeyTypeRequiredAdditional Info
dueDateTimestamp
amountMonetary Amount

Consent#

KeyTypeRequiredAdditional Info
ipStringString representation of IP address. Ex: "0:0:0:0:0:0:0:1"
timeTimestampTime consent was given.

Payment Method Info#

KeyTypeRequiredAdditional Info
cardInfoPayment Card Info
achInfoACH Info

Payment Card Info#

KeyTypeRequiredAdditional Info
expirationMonthString StringMonth card expiring. Takes values 01-12. Ex: "03
expirationYearStringYear card expiring. Four digits. Ex: "2022".
binNumberStringPayment card BIN.
billingZipCodeStringZIP code associated with the payment card.
cardTypeEnum of PaymentCardTypeIssuer of the payment card. Takes values
lastFourDigitsString
PaymentCardType#
EnumNotes
UNKNOWN
MASTERCARD
VISA
DISCOVER

ACH Info#

KeyTypeRequiredAdditional Info
lastThreeOfAccountNumberString
lastFourOfAccountNumberString

Payment Plan Revocation#

KeyTypeRequiredAdditional Info
dateTimestamp
reasonString
revocationReasonEnum of Revocation ReasonDefault is "MISC_REMOVAL"
Revocation Reason#
EnumNotes
MISC_REMOVAL
PLAN_BREAKAGE
NEW_PLAN_REQUEST
REQUESTED_PLAN_CANCELLATION
IN_DISPUTE
CLIENT_RETRACTED
CLOSED
ALTERNATIVE_RESOLUTION

Payment Plan Installment#

KeyTypeRequiredAdditional Info
dueDateTimestamp
datePaidTimestampEmpty if not paid.
isPaidBoolean
isIvrPaymentBoolean
isEnteredByAgentBoolean
paymentMethodEnum of Payment Method
statusEnum of Payment Status
installmentAmountMonetary Amount
amountDueMonetary AmountAmount left to be paid for this installment (0 if installment is fully paid).
Payment Method#
EnumNotes
CARD
ACH
CHECK
DIRECT2CREDITOR
OTHER
Payment Status#
EnumNotes
UNPAIDUnpaid payment.
UNPAID_OVER_DUEWithin grace period.
UNPAID_LATE
PAID_ON_TIMEPaid before or during grace period.
PAID_LATE

Phone Number#

Phone Number Schema#

KeyTypeRequiredAdditional Info
phoneNumberStringThe phone number to be used for contacting.
dataSourceData Source
consentConsent
typesArray of EnumsArray with one or more of the following:
  • "WORK"
  • "HOME"
  • "CELL"
  • "FAX"
  • "BUSINESS"

Phone Number Example#

{
"phoneNumber": "123-456-7890",
"dataSource": {
"type:": "CREDITOR"
},
"consent": {
"time":1595627933618
},
"types":["WORK", "CELL", "HOME", "BUSINESS"]
}

Postal Address#

Postal Address Schema#

KeyTypeRequiredAdditional Info
nameName
streetLine1StringStreet address.
streetLine2StringUnit number or PO BOX.
cityStringCity of address.
stateStringTwo-digit state code. Ex: "NY", "CA"
zipcodeStringPostal code for address.
countryCodeStringCode for country. Ex: "US"

Representation Cancellation#

Representation Cancellation Schema#

KeyTypeRequiredAdditional Info
requestedByEnum of RequestedBy
communicationTypeEnum of CommunicationType
reasonString

Representation Cancellation Example#

{
"requestedBy":"POWER_OF_ATTORNEY",
"communicationType":"WRITTEN",
"reason":"cancelling rep"
}

Timestamp#

TrueAccord uses timestamps to mark time in it's system that are in milliseconds since Jan 1st, 1970 UTC.

Timestamp Example#

"lastModified": 1385695523047