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.

External Account Document

An External Account Document is a document uploaded by the customer to help prove they own a given account that exists in another financial institution. Examples include an image (or pdf) of a bank statement or a driver's license.

externalAccountDocument Object

Represents a single document uploaded by a customer for a specific external account in CorePro.

details

Property Data Type
(length)
Description
customerId integer The unique identifier for the customer who uploaded the document.
externalAccountId Required The unique identifier for the externalAccount to which this document is associated.
documentType string (50) The type of document. Possible values include:
  • DriversLicense
  • BankStatement
reasonType string (50) The reason for uploading the document. Possible values include:
  • NameChange
  • AddressChange
  • Unspecified
documentName string (50) A caller-specified, user-friendly name for this document. Maximum length is 50 characters. Must have one of the following extensions:
  • .jpg
  • .jpeg
  • .gif
  • .png
  • .pdf
documentContent string (10 MB) A base64-encoded representation of the actual content of the document.

* NOTE: Applicable only when POSTing to the /externalAccountDocument/upload route. This property will not be returned by any route. Base64-encoding is done implicitly by the CorePro SDK using the RFC 4648-compliant encoding (i.e. no embedded line breaks and uses = as its padding character). See RFC 4648 for more information.

upload

Upload a document associated with a specific external account

POST /externalAccountDocument/upload

Request Body Parameters

customerId Required The unique identifier for the customer who uploaded the document.
externalAccountId Required The unique identifier for the externalAccount to which this document is associated.
documentType Required The type of document. Possible values include:
  • DriversLicense
  • BankStatement
reasonType Required The reason for uploading the document. Possible values include:
  • NameChange
  • AddressChange
  • Unspecified
documentName Required A caller-specified, user-friendly name for this document. Maximum length is 50 characters. Must have one of the following extensions:
  • .jpg
  • .jpeg
  • .gif
  • .png
  • .pdf
documentContent Required A base64-encoded representation of the actual content of the document.

* NOTE: Applicable only when POSTing to the /externalAccountDocument/upload route. This property will not be returned by any route. Base64-encoding is done implicitly by the CorePro .NET SDK.

Response Data

No object is returned; the envelope's "data" property will be absent, but a status of 201 is returned upon success.

Error Codes

Code Message (en-US) Notes
1-60000 Any "Common Error Code" may occur. See Common Error Codes
62701 Invalid Document Type. Valid values are: 'DriversLicense', and 'BankStatement'.
62702 Unsupported Media Type.
62703 Document size exceeded. Maximum size is {0} MB.
62704 Invalid Reason Type. Valid values are: 'NameChange', 'AddressChange', and 'Unspecified'.
62705 {0} : documentContent property must follow RFC 4648-compliant encoding (i.e. no embedded line breaks and use '=' as its padding character).
62706 Document must be no larger than {0} MB.

Example

Request
POST /externalAccountDocument/upload
Authorization: Basic PutBase64TokenHere
{
  "customerId": 33,
  "externalAccountId": 240,
  "documentType": "Bank Statement",
  "documentName": "Nov 2013 Bank Statement for MyBank.jpg",
  "documentContent": "/9j/4ReMRXhpZgAATU0AKgAAAAgADAEAAAMAAAABBxYAAAEBAAMAAAABAUkAAAECAAMAAAADAAAAngEGAAMAAAABAAIAAAESAAMAAAABAAEAAAEVAAMAAAABAAMAAAEaAAUAAAABAAAApAEbAAUAAAABAAAArAEoAAMAAAABAAIAAAExAAIAAAAcAAAAtAEyAAIAAAAUAAAA0IdpAAQAAAABAAAA5AAAARwACAAIAAgALcbAAAAnEAAtxsAAACcQQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzADIwMTI6MTA6MTkgMTI6MzA6MDgAAASQAAAHAAAABDAyMjGgAQADAAAAAQABAACgAgAEAAAAAQAAAPqgAwAEAAAAAQAAAC0AAAAAAAAABgEDAAMAAAABAAYAAAEaAAUAAAABAAABagEbAAUAAAABAAABcgEoAAMAAAABAAIAAAIBAAQAAAABAAABegICAAQAAAABAAAWCgAAAAAAAABIAAAAAQAAAEgAAAAB/9j/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+"
}
Response
201
{
  "errors": [],
  "status": 201
}

Ready to start a conversation?

Email Us