Error
An error is an unexpected circumstance that occurs when using CorePro. An error can occur for several reasons, a few of which include:
- Configuration: Not subscribed to the requested functionality, invalid configuration values for a particular action, request from an untrusted IP address, etc.
- Transient: Throttling of requests due to load, maintenance window in effect, connectivity issues between your server and CorePro servers, etc.
- Technical: Invalid url, malformed JSON body, etc.
- Business: Missing value for a required property, value out of range, , duplicate tag, etc.
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. |
50902 | ProgramId {0} does not have a BIN mapped to it. | 400 | Your program is configured incorrectly. Contact support@corepro.io |
50904 | Could not find PciKeyId for BankId {0}, ProgramId {1} in a status of 1 (Encrypt and Decrypt allowed). | 400 | Your program is configured incorrectly. Contact support@corepro.io |
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. |
Error Code Ranges
CorePro groups different types of errors into different ranges of codes. This is meant primarily for ease of troubleshooting problems for CorePro support, but it is also useful knowledge for the caller as well. The following are all the error ranges defined by CorePro:
details
Code Range | HTTP Status Code | Meaning |
---|---|---|
1-50000 | 500 | "Hard" errors within CorePro itself. Please report the error along with the requestId (a.k.a "Incident Id") to CorePro support. |
50001-50999 | 401-505, see Common Error Codes | A connectivity issue, software defect, malformed request, etc. |
51000-57999 | 500 | Reserved for future use. |
58000-58999 | 500 | Reserved for third party use. Will never be issued by CorePro. May be useful when logging. |
59000-59899 | 400 | CorePro has the functionality you requested, but it is misconfigured, disabled, or unavailable due to business contract limitations. |
59900-59999 | 400 | Invalid JSON payload. Could be an improperly structured body, an improper type passed for a given property, or any other JSON formatting problem. |
60000-2147483647 | 400 | Validation errors when processing a request. An example would be trying to transfer a negative amount of funds. |
error Object
Represents a single error. Note every API route may emit more than one error at a time.
details
Property | Description |
---|---|
code |
A value between 1 and 2147483647. This is the value that should be used to programmatically detect specific errors and supply a custom message in your application. See Common Error Codes and Error Code Ranges for additional information. |
message |
A human-friendly textual description of the error that occurred. The text may differ depending on the customer's culture, provided when the customer was created. The exact text may change at any time without notice. |
Here is an example response body of a request which failed due to a business rule:
400
{ "errors": [ { "code": 62001, "message": "Only one external account is allowed." } ], "requestId": "54128665-e29d-4934-97fe-bc2912c146d8", "status": 400 }