Response Codes

9 minute read

The ServiceChannel API returns conventional HTTP status codes as well as internal error codes and messages.

When you get a response, carefully examine the HTTP status code, error code, and error message to find the best solution to a problem.

HTTP Status Codes

Usually, 200 or 201 status codes mark a successful request, 4xx codes indicate that there is an error in the request itself, while codes in the 5xx range state that something went wrong on the ServiceChannel end.

The tables below describe HTTP codes that you may receive.

1xx Informational

Code Text Description
100 Continue The server has received the request headers. You can send the request body.
101 Switching Protocols The server is changing to the protocol specified in the Upgrade header.

2xx Success

Code Text Description
200 OK The request was successful.
201 Created The request was successful, and a new resource was created.
202 Accepted The request has been accepted, but not yet processed.
203 Non-Authoritative Information The request was successful, but the response data may be from a third party.
204 No Content The request was successful, but there is no need to return any data.
205 Reset Content The request was successful, but the server returned no data. Reset the document view to continue.
206 Partial Content The server has returned only part of the resource due to the range request header.

3xx Redirection

Code Text Description
300 Multiple Choices The request has more than one representation options, for example, different file formats. Select a preferred representation and redirect your request to the representation location.
301 Moved Permanently The resource you requested has been permanently moved to a new location. Direct this and all future requests to the URI specified in the Location response header.
302 Found The resource you requested has been temporarily moved to a new location. Direct this request to the temporary URI specified in the Location response header, but continue using the original URI for future requests.
303 See Other You can find the response to your request under another URI. Send a GET request to the URI specified in the Location response header.
304 Not Modified The resource has not been modified since last requested, so there is no new data to return.
305 Use Proxy Access the requested resource through the proxy provided in the Location response header.
307 Temporary Redirect The resource you requested has been temporarily moved to a new location. Direct this request to the temporary URI specified in the Location response header, but continue using the original URI for future requests. In contrast to 302, you cannot change the request method when reissuing the original request.

4xx Client Error

Code Text Description
400 Bad Request The request was not accepted due to bad syntax, missing parameters, insufficient data, etc.
401 Unauthorized Missing or incorrect authentication credentials.
403 Forbidden You are not authorized to request this resource, or the resource is unavailable for some reason.
404 Not Found The request URI is incorrect, or the resource does not exist.
405 Method Not Allowed You have used an incorrect request method. The Allow response header specifies methods supported by this resource.
406 Not Acceptable The format specified in the Accept header is not supported. Usually, the possible format is JSON. See Output Formats for details.
407 Proxy Authentication Required Authenticate yourself with the proxy, and then repeat the request adding a suitable Proxy-Authorization header.
408 Request Timeout The server has timed out while waiting for the request. You can repeat the request without modifications at any later time.
409 Conflict The server was not able to process the request because of a conflict. Study the response body to recognize the source of the problem. Resolve the conflict and reissue the request.
410 Gone The resource you requested is no longer available. Do not request this resource again in the future.
411 Length Required You have not stated the length of the content, which is required by the server. Add a valid Content-Length header and repeat the request.
412 Precondition Failed The server could not meet one or more of the preconditions stated in the request headers.
413 Request Entity Too Large The request is larger than the server is willing or able to process.
414 Request-URI Too Long The URI provided is longer than the server is willing or able to interpret. You have probably used too many query-strings in a GET request. In this case, try to convert it into a POST request.
415 Unsupported Media Type The request contains a media type that the server or resource does not support.
416 Requested Range Not Satisfiable The server cannot provide the portion of the data that you specified in the Range request header. It is possible that the range is outside the size of the target data.
417 Expectation Failed The server could not meet the expectation stated in the Expect request header.
426 Upgrade Required Switch to a protocol stated in the Upgrade header and repeat the request.

5xx Server Error

Code Text Description
500 Internal Server Error Something went wrong, and the server was unable to complete your request. Should this problem persists, click Help in the lower right corner of your screen and submit a bug report.
501 Not Implemented The server cannot fulfill the request or does not recognize the request method.
502 Bad Gateway The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
503 Service Unavailable The server is currently unavailable, or you have reached the throttling limit.
504 Gateway Timeout The server, while acting as a gateway or proxy, has waited too long for a response from the upstream server.
505 HTTP Version Not Supported The server does not support the HTTP version used in the request.

Internal Error Codes and Messages

While HTTP codes describe the overall situation with the response, the body-based error messages provide more details about the problem. In addition to the descriptive text, the response body contains machine-parsable error codes. While we may change the descriptive text, the codes stay the same.

The ServiceChannel API returns error codes and messages in the response body.

{
   "ErrorCodes": [
      911,
      913,
      702,
      301,
      603
   ],
   "ErrorCode": 911,
   "ErrorMessage": "Failed to create workorder: Invalid 'Category'. Invalid 'Priority'. Subscriber has no specified Trade. Contract not found for specified subscribers location, provider and trade. Subscriber has no specified Location"
}
Attribute Data type Description
ErrorCodes array of integers The list of error codes.
ErrorCode integer The code of the first error found.
ErrorMessage string The description of all errors.

Use the tables below to map the error codes you have received to the error reasons.

1xx Error Codes

Error Code Reason
100 NotAllowed
100 EmptyProvider
101 InvalidProviderId
102 UnknownProvider
150 TimeoutExpiredError

3xx Error Codes

Error Code Reason
300 EmptyContract
301 ContractUndefined

4xx Error Codes

Error Code Reason
400 EmptySubscriber
401 InvalidSubscriberId
402 UnknownSubscriber
403 InactiveSubscriber

5xx Error Codes

Error Code Reason
501 InternalError
502 DataNotFound
503 BadRequest
504 UnAuthorized
505 UnSupportedApplication

6xx Error Codes

Error Code Reason
600 EmptyLocation
601 InvalidLocationId
602 UnknownLocation
603 LocationNotBelongsToSubscriber
604 EmptyLocationCountry
605 LocationAlreadyExists
606 InvalidStoreId
607 LocationEmptyState

7xx Error Codes

Error Code Reason
700 EmptyTrade
701 InvalidTrade
702 TradeNotBelongsToSubscriber
703 InvalidPrimaryTrade

8xx Error Codes

Error Code Reason
800 EmptyUser
801 EmptyCreatedBy
802 InvalidUserName
803 NotProviderUser
804 UserHasNoPermissions

9xx Error Codes

Error Code Reason
900 EmptyWoProblem
901 InvalidWoProblemSource
902 InvalidWoProblemDescription
903 InvalidWoProblemCode
904 InvalidWoStatus
905 InvalidWoNte
906 InvalidWoCaller
907 InvalidWoCallDate
908 InvalidWoScheduledDate
909 InvalidWoScheduledDateGreaterThanMaxAllowed
910 EmptyWoCategory
911 InvalidWoCategory
912 EmptyWoPriority
913 InvalidWoPriority
914 InvalidWoCurrency
915 InvalidWoSetupId
916 AttachmentsRequired
917 InvalidWoIdentifier
918 EquipmentRequired
919 WoNteOverflow
920 InvalidWoPurchaseNumber
921 InvalidWoStateForUpdate
922 InvalidPagingParameter
923 InvalidWoNumber
924 CheckInDenied
925 CheckOutDenied
926 WoScheduledDateLessThenReassignDate
927 WoScheduledDateLessThenCallDate
928 InvalidWoActionReason
929 EmptySubscriberProperty
930 WorkOrderUpdateError
931 MissedWoNteDetails
932 InvalidLinkedWoIdentifier
933 WoIsOnHold
934 InvalidWoTrade
935 InvalidStarScore
936 WorkOrderAlreadyRated
937 AttachmentThumbnailNotAvailable

10xx Error Codes

Error Code Reason
1000 InvalidSetupId
1001 IssueListNotFound

11xx Error Codes

Error Code Reason
1100 InvalidOtherDesc
1101 InvalidTax2Name
1102 InvoiceInconsistentAmounts
1103 InvoiceInvalidTotal
1104 InvoiceTotalGreaterNte
1105 InvoiceExists
1106 CreatingInvoiceError
1107 DuplInvNumber
1108 InvoiceTotalNull
1109 InvComplDateNull
1110 InvDateLessComplDate
1111 InvoiceNotAuto
1112 ESignatureRequired
1113 InvWoNotFound
1114 InvWrongWoCurr
1115 InvWoCurrNotFound
1116 InvoicingDisabled
1117 InvCreationUnexpectedRes
1119 InvoiceInvalidLaborAmount
1120 InvoiceInvalidMaterialAmount
1121 InvDateOld
1122 InvDateGreater
1123 InvoiceTaxNotValidated
1123 InvoiceMaterialDescriptionLengthOverflow
1124 InvoiceMaterialPartNumberLengthOverflow
1125 TaxValidationError
1126 TaxExemptionError
1127 InvalidInvoiceNumber
1128 GetApprovalLevelsError
1129 InvoiceAddUsersToMliLevelsError
1130 InvoiceAddDeleteLocationsToMliLevelUserError
1131 InvoiceUpdateMLiLevelError
1132 InvoiceDeleteMliLevelError
1133 InvoiceDeleteUsersFromMliLevelError
1134 ApprovalLevelNameLengthOverflow
1135 GstTaxError
1136 Tax2Error
1137 GetApprovalLevelsAndLocationsByUserError
1138 GetAssignedUserShortInfoError
1139 AssignAllLocationsToApprovalLevelAndUserError
1140 GetLocationsForApprovalLevelAndAssignedUserError
1141 GetLocationsBySubscriberError
1142 AssignUserWithLocationsToApprovalLevelError
1143 ReAssignUserWithLocationsToNewApprovalLevelError
1144 ReAssignLocationsToApprovalLevelAndUserError
1145 OutstandingBalance
1146 InvoiceTaxDetailsEmpty
1147 InvoiceTaxDetailsIncorrectSum
1148 MultipleUsersForLocationIsNotAllowed
1149 UserAssignedToOtherLevel
1150 UserDoesNotExist
1151 LaborLineItemRequired
1152 MaterialLineItemRequired
1153 InvoiceDoesntExist
1154 InvoiceStarUnstarFailed
1155 InvoiceBatchUpdateInvalidInvoiceStatusError
1156 InvoiceBatchUpdateLimitExceededError
1157 InvoiceNotAvailableForCurrentUser
1158 InvoiceBatchUpdateInvalidRuleSetStructure
1159 InvoiceBatchUpdateInvalidMliStructure
1160 InvoiceBatchUpdateStatusError
1161 InvoiceMaterialUnitTypeInvalid
1162 ExistingBatchNumber
1163 InvoiceResolutionTextRequired
1164 GetInvoiceDefaultApprovalCodesError
1165 InvoiceInvalidTravelAmount
1166 InvoiceTravelDescriptionLengthOverflow
1167 InvoiceTravelUnitTypeInvalid
1168 TravelLineItemRequired
1169 TravelDetailsDisabled
1170 OnOffShoreDisabled
1171 InvoiceInvalidLaborCount
1172 InvoiceInvalidMaterialCount
1173 InvoiceInvalidTravelCount
1174 SubscriberNotRegisteredForTaxValidation
1175 ManyDecimalsInAmountError

12xx Error Codes

Error Code Reason
1200 TemplateParseSuccess
1201 TemplateIncorrectHeaderError
1202 TemplateEmptyTemplateError
1203 TemplateWrongFieldsCountError
1204 TemplateFieldNotFoundError
1205 TemplateFieldRequiredError
1206 TemplateParseIntError
1207 TemplateFieldSizeError
1208 TemplateInvalidValueError
1209 TemplateFieldFormatError
1210 TemplateFieldMaxRangeError
1211 TemplateFieldMinRangeError
1212 TemplateProviderNotEntered
1213 TemplateInvalidSubscriberError
1214 TemplateVendorNotFoundError
1215 TemplateMissedProviderError
1216 TemplateProviderNotFoundError
1217 TemplateProviderSubsccriberLinkError
1218 TemplateTradeDispatchRankError
1219 TemplateInvalidTradeForSubscriberError
1220 TemplateStoreNotFoundError
1221 TemplateNotStoresForStateError
1222 TemplateNotStoresForCountryError
1223 TemplateNotStoresForDistrictError
1224 TemplateNotStoresForRegionError
1225 TemplateMultiplePimaryProvidersForTradeStoreError
1226 TemplateDuplicatePrimaryRelationshipError
1227 TemplateAmbiguousDataError
1228 TemplateIncorrectSubscriber
1229 TemplateDuplicateRanking
1230 TemplateLongitudeRangeError
1231 TemplateLatitudeRangeError
1240 TemplateMissedSubscriberError
1241 TemplateMissedStoreIdError
1242 TemplateInvalidSubscriberIdError
1243 TemplateOpenCloseDateError
1244 TemplateInvalidCountryError
1245 TemplateInvalidStateForCountryError
1246 TemplateInvalidLocationTypeError
1247 TemplateMissingFullAndShortNameError
1248 TemplateMissingCountryError
1249 TemplateDuplicatedDataError
1250 TemplateParentLocationNotFoundError
1251 TemplateParseDateTimeError
1252 TemplateParseDecimalError
1260 TemplateLocationNotFoundError
1261 TemplateDuplicatedLocationFoundError
1262 TemplateInvalidLocationHeaderError
1263 TemplateDuplicatedLocationHeaderError
1264 TemplateHeaderContainsEmptyFieldsError
1265 TemplateLocHeadersShortHeaderError
1266 TemplateHeaderContainsDuplicatesError
1267 TemplateLocationNotesStoreIdFieldLengthError
1268 TemplateLocationNotesNoteValueFieldLengthError
1280 TemplateInvalidPhoneError
1281 TemplateDuplicateTelecomRecordError
1282 TemplateTelecomRecordExistsError

13xx Error Codes

Error Code Reason
1301 EmptyRequest

14xx Error Codes

Error Code Reason
1400 StoreIdRequiredError
1401 InvalidUserIdError
1402 InvalidStoreIdError
1403 AmbigiousError
1404 MliHierarchyFiledsCountError
1405 MliHierarchyMaxUserNameError
1406 MliHierarchyDuplicateUserError
1407 MLiHirarchyUserExistInOtherLevelError

15xx Error Codes

Error Code Reason
1501 GetRuleSetListError
1502 RuleSetDuplicateNameError
1503 RuleSetDuplicateActionError
1504 RuleSetConflictedActionError
1505 RuleSetRuleSetDoesNotExistsError
1506 RuleSetTradeDoesNotExistError
1507 RuleSetCategoryDoesNotExistError
1508 RuleSetMliLevelDoesNotExistError
1509 GetRuleSet
1510 CreateUpdateRuleSetError
1511 DeleteRuleSet
1512 GetRuleSetCategoriesTradesCountError
1513 GetRuleSetByInvoice
1514 GetCategoryTradeIdsAreSelectedError

17xx Error Codes

Error Code Reason
1700 UserFilterGetError
1701 UserFilterCreateUpdateError
1702 UserFilterDeleteError
1703 UserFilterSetAsDefaultError

20xx Error Codes

Error Code Reason
2001 PaymenowScProviderIdOrFbCompanyIdMustBeProvided
2002 PaymenowBannersForProvidersOnly
2003 PaymenowFeatureDisabled
2004 PaymenowBannerInfoNotFound
2005 PaymenowBannerInvalidNavigationUrl
2006 PaymenowRequestedProvidersIsNotAssigned
2007 PaymenowEmptyRequestedProviders

21xx Error Codes

Error Code Reason
2100 PaymentManagerFeatureDisabled
2101 PaymentManagerFeatureDisabledForSubscriber
2102 PaymentSystemCurrentlyUnavailable
2103 CurrencyNotSupported
2104 PaymentSystemAccountNotFound
2105 FeatureIsOff
2106 EarlyPayFeatureWithoutPaymentManagetFeatureError
2107 FtpTestError
2108 AcceptTermsAndConditionsRequestInvalid
2109 PaymentSystemAccountError
2110 SendReportToFTP

24xx Error Codes

Error Code Reason
2400 BadgeVerificationFailed
2401 BadgeTempPassEmpty

26xx Error Codes

Error Code Reason
2600 SubmitFeedbackErrorWoStatus
2601 SubmitFeedbackInvalidSubscriber

27xx Error Codes

Error Code Reason
2700 S3SaveError

28xx Error Codes

Error Code Reason
2800 GoodDataLoginFailed
2801 GoodDataElementUriError
2802 GoodDataReportResultUriError
2803 GoodDataReportResultEmpty
2804 GoodDataDesReportResCountError
2805 GoodDataDesReportResConvertError
2806 GoodDataDesDisplayFormAttributeEmpty

30xx Error Codes

Error Code Reason
3001 InvalidProposalAmountLimit

31xx Error Codes

Error Code Reason
3100 AssetTypeDuplicateNameError
3101 AssetTypeDoesntExistError
3102 AssetTypeFailUpdateRefrigerantPurpose
3103 AssetTypeDeleteFailed
3104 ExistingAssetsFoundForAssetType
3105 CantModifyAssetTypeParentId
3106 InvalidAssetTypeName

32xx Error Codes

Error Code Reason
3200 PartsChangeFailed
3201 PartsReasonCodeError
3202 PartsUseDateError
3203 PartsRefrigerantAlreadyExists
3204 PartsChargeHistoryAlreadyExists
3205 PartsNotFound

33xx Error Codes

Error Code Reason
3301 BadNotificationSubsciptionEventType

Updated: