API Documentation

Common Error Codes

The following are errors that can happen on any request to CorePro, depending on the request parameters, origin, intermediate network, etc. If present, these values will appear in the "errors" property of the envelope:

details

Code Message (en-US) HTTP Status Code Notes
50401 User is not authorized 401 Check your configuration for proper CorePro API Key and Secret values against those in CorePro Admin console. Existing ones may have expired.
50403 IP is not trusted 403 Check the IP of the request. If it is a valid IP, contact CorePro support to whitelist it.
50404 The requested resource was not found. 404 The route is invalid or is not supported in the version associated with your API Key.
50405 The requested HTTP method is not allowed. 405 The route accepts a different HTTP method - did you issue a POST when you should have issued a GET for a particular route?
50429 Rate limit exceeded 429 Too many requests within a certain timeslice for your API Key. Wait a small amount of time and retry the request. If this happens regularly, contact CorePro support to increase your rate limit (additional fee may be applied)
50500 Internal Server Error 500 CorePro is experiencing issues. Please share your requestId with CorePro support.
50501 Not Implemented 501 The route is invalid. Verify your code is calling a documented CorePro route.
50502 Bad Gateway 502 Network connectivity issues between your server and CorePro servers, or CorePro is down for maintenance. Investigate, and if issues persist, contact CorePro support.
50503 Service Unavailable 503 CorePro servers are unavailable. You will need to try your request later.
50504 Gateway Timeout 504 Network connectivity issues between your server and CorePro servers, or CorePro is down for maintenance. Investigate, and if issues persist, contact CorePro support.
50505 HTTP Version Not Supported 505 HTTP/1.1 must be specified when using CorePro. Change your code to issue HTTP/1.1 requests.
52998 Internal Server Error. Incident Id : {0} 500 This is the catch-all error number for an internal server error. Please contact support@corepro.io with the Incidient Id provided in the message.
58150 QualiFile service call error received. 500 The content of this error message may be replaced by the actual one received from the QualiFile service call.
59001 No VerificationFundsAccount configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59002 No RetailClearingAccount configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59003 No ProgramExternalAccount configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59004 No BankIncomeAccount configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59005 No RegDFeeAmtForExceedingMonthlyMax configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59006 No RegDMonthlyTransWithdrawCountMax configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59007 Internal to Internal transfer is disabled for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59008 AllowedAccountTypeId is not configured properly for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59009 Program {0} does not have recurring contributions enabled. 400 You are unable to do recurring contributions because it is disabled for your program.
59010 Program {0} is not configured to require external account verification. Call /externalAccount/create instead. 400 Call /externalAccount/create instead.
59011 Program {0} is configured to require external account verification. Call /externalAccount/initiate instead. 400 Call /externalAccount/initiate instead.
59012 Program {0} is missing a ProgramReport record for the given date range and program. 400 Your program is configured incorrectly. Contact support@corepro.io
59013 No ProgramClearingAccount configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59014 No MiscellaneousAccount configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59015 No GeneralJournalAccount configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59016 No CashAccount configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59017 No RetailExternalAccount configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59018 No ProgramEcode.PercentToClient configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59019 No ProgramEcode.PercentToCorePro configured for program {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59020 Program {0} does not have account type {1} enabled. 400 Your program is configured incorrectly. Contact support@corepro.io
59102 No ProgramClearingAccount linked to ProgramExternalAccount {0} 400 Your program is configured incorrectly. Contact support@corepro.io
59103 All card numbers are already allocated for Program {0}. 400 Your program is configured incorrectly. Contact support@corepro.io
59900 Could not convert {0} to {1}: {2}. Path '{3}', line {4}, position {5}. 400 Invalid value passed in for a JSON property. The value could not be converted to the proper type. {0} = JSON type, {1} = destination type, {2} = value, {3} = property name, {4} = line number, {5} = character position. e.g.: "Could not convert string to decimal: 11..04. Path 'recurringContributionAmount', line 9, position 42."
59901 Invalid JavaScript property identifier character: {0}. Path '{1}', line {2}, position {3}. 400 Property name is missing opening quote character ('"'). {0} = property name, {1} = line number, {2} = character position. e.g.: "Invalid JavaScript property identifier character: ". Path 'targetDate', line 13, position 7."
59902 Expected ':' but got: {0}. Path '{1}', line {2}, position {3}. 400 Property name is missing closing quote character ('"'). {0} = first character of property name, {1} = property name, {2} = line number, {3} = character position. e.g.: "Expected ':' but got: S. Path 'targetDate', line 13, position 11."
59903 Invalid character after parsing property name. Expected ':' but got: =. Path '{0}', line {1}, position {2}. 400 Attempting to use "=" instead of ":" to separate property name and its value. {0} = property name (typically the name of the previous property, not the one with the issue), {1} = line number, {2} = character position. e.g.: "Invalid character after parsing property name. Expected ':' but got: =. Path 'tag', line 11, position 18."
59904 Error reading {0}. Unexpected token: StartArray. Path '{1}', line {2}, position {3}. 400 Passed an array value to a property which is not an array. {0} = destination type, {1} = property name, {2} = line number, {3} = character position. e.g.: "Error reading string. Unexpected token: StartArray. Path 'tag', line 10, position 11."
59905 Error parsing NaN value. Path '{0}', line {1}, position {2}. 400 Attempting to pass null for a property value, but using an invalid casing (such as NULL or Null). {0} = property name, {1} = line number, {2} = character position. e.g.: "Error parsing NaN value. Path 'tag', line 10, position 10."
59906 After parsing a value an unexpected character was encountered: ;. Path '{0}', line {1}, position {2}. 400 Attempting to use a semicolon (;) where a comma (,) should be used. {0} = property name, {1} = line number, {2} = character position. e.g.: "After parsing a value an unexpected character was encountered: ;. Path 'customerId', line 2, position 22."
59949 (Message varies) 400 A generic JSON parsing error occurred. See message for details. i.e. The JSON payload is not structured properly in some way.
59950 Unexpected end when deserializing object. Path '{0}', line {1}, position {2}. 400 Closing curly brace ("}") is missing in JSON payload. {0} = property name, {1} = line number, {2} = character position. e.g.: "Unexpected end when deserializing object. Path 'type', line 15, position 1."
59951 Error converting value "{0}" to type '{1}'. Path '', line {2}, position {3}. 400 Opening curly brace ("}") is missing in JSON payload. {0} = first property name in payload, {1} = (varies, ignore), {2} = line number, {3} = character position. e.g.: "Error converting value \"customerId\" to type 'CorePro.Business.Account'. Path '', line 2, position 15."
59952 Value for property '{0}' is not formatted as a valid ISO-8601 DateTime. Example value=2015-01-31T22:43:21.123+00:00 400 The value for the property is not formatted as an ISO-8601 date. e.g.: "Value for property 'targetDate' is not formatted as a valid ISO-8601 DateTime. Example value=2015-01-31T22:43:21.123+00:00"
59953 Value for property '{0}' is not formatted as a valid boolean. Valid values=true,false 400 The value for the property is not formatted as a boolean value. e.g.: "Value for property 'isCloseable' is not formatted as a valid boolean. Valid values=true,false"
59954 Value for property '{0}' is not formatted as a valid decimal (precision up to 2). Example value=1234.56 400 The value for the property is not formatted as a decimal value. e.g.: "Value for property 'targetAmount' is not formatted as a valid decimal (precision up to 2). Example value=1234.56"
59955 Value for property '{0}' is not formatted as a valid decimal (precision up to 11). Example value=1234.56789012345 400 The value for the property is not formatted as a decimal value. e.g.: "Value for property 'interestRateMonthly' is not formatted as a valid decimal (precision up to 2). Example value=1234.56789012345"
59956 Value for property '{0}' is not acceptable. Specifics: {1} 400 The value for the property could not be cast properly. e.g.: "Value for property 'customerId' is not acceptable. Specifics: Input string '12548a' is not a valid integer. Path 'customerId', line 2, position 23."
59957 Missing a closing curly brace. Specifics: {0} 400 JSON payload is missing a closing curly brace. e.g.: "Missing a closing curly brace. Unexpected end when deserializing object. Path 'type', line 12, position 1."
59958 Missing an opening curly brace. Specifics: {0} 400 JSON payload is missing an opening closing curly brace. e.g.: "Missing an opening curly brace. Specifics: Error converting value "customerId" to type 'CorePro.Business.Account'. Path '', line 2, position 15."
59999 (Message varies) 400 A generic JSON deserialization error occurred. See message for details. i.e. The JSON payload is not structured properly in some way.
60001 Customer id {0} is invalid. 400 Provide a valid customerId in the request
60002 Customer id {0} is inactive. 400 An inactive customer cannot perform any actions in CorePro. Redirect the user to a page informing them of this.
60003 Customer id {0} is not in a verified status. 400 An unverified customer cannot perform any actions in CorePro (except call /customer/verify). Redirect the user to a page informing them of this.
60004 Customer id {0} is locked. 400 An locked customer cannot perform any actions in CorePro. Redirect the user to a page informing them of this.
60005 Customer id {0} is marked as deceased. 400 An deceased customer cannot perform any actions in CorePro. Redirect the user to a page informing them of this.

Document

Deprecated
This route has been deprecated and should be used for troubleshooting purposes only, and then only in a non-programmatic fashion. It may be removed at any time.
To ensure a consistent handling of errors across the entire CorePro API, any routes which previously returned non-JSON based output (such as raw PDF) have been deprecated.

The new format for these routes will be a JSON-based fileContent object.

In its place, please use the /bankdocument route.

A document represents a document issued by a bank that a customer must indicate they have read and accepted during the customer creation process or the savings account creation process.

During the customer/account creation process it is required that certain documents are displayed to the customers. Additionally we require acknowledgement of the viewing and the acceptance of these documents before the account can be opened.

The actual documents required varies depending on the bank assigned to your program but some examples include:

  • e-Sign Agreement
  • Terms & Conditions
  • Privacy Policies
  • Truth-in-Savings Account Disclosure
  • Deposit Account Agreement

NOTE: The e-Sign agreement MUST be displayed to and accepted by the user before any other documents are listed. After the user has accepted the e-Sign agreement, the others may then be displayed as a list for the user to review in any order.

The HTML version of the document is returned inline. If available, a PDF version of each document is stored at the returned url for retrieval.

document Object

Represents data associated with a single document in CorePro.

details

Property Data Type
(length)
Description
bankId integer
culture string (20) Valid values vary by program. However, here are two examples:
  • en-US
  • es-US
customerId integer
documentId integer
documentType string (50) Valid values include:
  • TermsAndConditions
  • PrivacyPolicy
  • TruthInSavings
  • eStatement
downloadUrl string (255) Absolute url to the pdf version of the document
effectiveDate datetime Date this document became effective.
expireDate datetime Date this document will expire.
html string (2 MB) Actual HTML content.
title string (100) Title to display to the user as the link text to the downloadUrl.

list

Retrieve a list of all documents for the given culture.

GET /document/list/{culture}

Request Parameters

culture Required Accepted values vary by program. Examples are:
  • en-US
  • es-US

Response Data

A document Object

Error Codes

Code Message (en-US) Notes
1-60000 Any "Common Error Code" may occur. See Common Error Codes

Example

Request
GET /document/list/en-US
Authorization: Basic PutBase64TokenHere
Response
200
{
  "data": [
    {
      "bankId": 1,
      "culture": "en-US",
      "documentId": 25,
      "documentType": "TermsAndConditions",
      "downloadUrl": "https://sandbox-api.corepro.io/document/download/en-US/25",
      "effectiveDate": "2014-02-18T23:01:11.541+00:00",
      "expireDate": "2014-12-31T23:59:59.999+00:00",
      "html": "<h4>TERMS AND CONDITIONS</h4><br /><br />\r\n\r\n<p>These Terms and Conditions (this \"Agreement\") govern the \r\n\r\nprogram and services available through CorePro and Lincoln Savings \r\n\r\nBank (\"LSB\") as described in this Agreement.   \r\n\r\nCorePro offers a unique way to save for a financial \r\n\r\nsavings goal through the accumulation of deposits in a \r\n\r\nsavings account at LSB.  LSB is not \r\n\r\naffiliated with CorePro but is a CorePro bank service provider.  In addition to this Agreement, your \r\n\r\nSavings Account maintained at LSB is subject to \r\n\r\nLSB's Consumer Deposit Account Agreement and Truth \r\n\r\nIn Savings Disclosure.</p>",
      "title": "CorePro Sample Terms and Conditions"
    },
    {
      "bankId": 1,
      "culture": "en-US",
      "documentId": 26,
      "documentType": "PrivacyPolicy",
      "downloadUrl": "https://sandbox-api.corepro.io/document/download/en-US/26",
      "effectiveDate": "2014-02-18T23:01:11.541+00:00",
      "expireDate": "2014-12-31T23:59:59.999+00:00",
      "html": "<h4>PRIVACY POLICY</h4>  <br /><br />    <p>In this disclosure, you'll find details about our privacy policies and procedures, and instructions for \r\n\r\nchanging how information about you may be shared. Please read this carefully, print and/or download a copy for your files.</p> \r\n<p>Your Savings Account with Lincoln Savings Bank is governed by the LSB Consumer Privacy Disclosure.  Please see the LSB Consumer Privacy \r\n\r\nDisclosure for details on the LSB privacy policies.</p>\r\n",
      "title": "CorePro Sample Privacy Policy"
    },
    {
      "bankId": 1,
      "culture": "en-US",
      "documentId": 27,
      "documentType": "TruthInSavings",
      "downloadUrl": "https://sandbox-api.corepro.io/document/download/en-US/27",
      "effectiveDate": "2014-02-18T23:01:11.541+00:00",
      "expireDate": "2014-12-31T23:59:59.999+00:00",
      "html": "<h4>Truth-In-Savings Account Disclosure</h4>\r\n<p>This Savings Account is only available to individuals with a CorePro Account.  This disclosure contains information about your Savings Account related to CorePro.  Your Savings Account with Lincoln Savings Bank (“LSB”) is governed by this Truth-In-Savings Account Disclosure and the Lincoln Savings Bank Consumer Deposit Account Agreement.  In addition, the CorePro Terms and Conditions govern your CorePro Account.   Any capitalized terms not defined herein shall have the meaning set forth in your CorePro Terms and Conditions.</p>\r\n",
      "title": "CorePro Sample Truth In Savings"
    },
    {
      "bankId": 1,
      "culture": "en-US",
      "documentId": 28,
      "documentType": "eStatement",
      "downloadUrl": "https://sandbox-api.corepro.io/document/download/en-US/28",
      "effectiveDate": "2014-02-18T23:01:11.541+00:00",
      "expireDate": "2014-12-31T23:59:59.999+00:00",
      "html": "<h4>Agreement and Consent Regarding Electronic Communications</h4>  \r\n<p>Please read this Agreement and Consent Regarding Electronic Communications (referred to as the “Agreement”) and retain a copy for your future reference.  This Agreement contains important information regarding your transaction of business electronically with CorePro and Lincoln Savings Bank (“LSB”).  In this Agreement, the following terms have the meanings shown below:</p>  \r\n",
      "title": "CorePro Sample eStatement"
    }
  ],
  "errors": [],
  "status": 200
}

download

Retrieve the raw binary data for the given document.

GET /document/download/{culture}/{documentId}

Request Parameters

culture Required Accepted values vary by program. Examples are:
  • en-US
  • es-US
documentId Required The documentId for the desired document.

NOTE: The absolute url for downloading a specific document is included as the downloadUrl property on a document object returned from /bankdocument/list.

Response Data

A binary stream containing the raw body of the document

Error Codes

Code Message (en-US) Notes
1-60000 Any "Common Error Code" may occur. See Common Error Codes
65301 Both customerId and documentId are required.
65302 The requested document id = {0} is invalid.
65303 The requested document id = {0} is configured improperly. Please contact support.
65304 The requested document id = {0} could not be located.

Example

Request
GET /document/download/en-US/34
Authorization: Basic PutBase64TokenHere
Response
200
--raw body of the document here--

Ready to start a conversation?

Email Us