Change Management REST API interactive and non-interactive modes do not return the same error messages when errors occurDescriptionThe Servicenow platform in non-interactive mode neither populates nor returns any interactive session error messages when REST API are called from an external system,unlike the Servicenow REST API Explorer, which does run in interactive mode. i.e. gs.addErrorMessage() returns nothing in non-interactive mode. Therefore to ensure that both REST API Explorer returns the same error messages as external REST API calls (to provide consistent behaviour), only non-interactive error messages are now returned.Steps to Reproduce Via the Change Management Rest API PATCH a Normal Change that is in state: New and Assignment Group: empty setting the state: Assess Since OOB the Assignment Group is mandatory for Normal Change Requests and enforced by a Business Rule this would result in the following error message: REST API Explorer (interactive mode) error message: "Could not create Normal Change Request. Assignment group is mandatory for in-progress Change Requests" External REST call e.g. via curl (non-interactive mode) error message: "Could not create Normal Change Request." The fix and work around will make the error messages consistent, taking the last error message on GlideRecord stack, both will show: "Could not create Normal Change Request. Operation against file 'change_request' was aborted by Business Rule 'Mandatory Assignment Group^995d514d530410100999ddeeff7b12e9'. Business Rule Stack:Mandatory Assignment Group"WorkaroundIn all of the following Scripted REST Resource [sys_ws_operation] sys_id: 14eb613db723130096c3e4f6ee11a91a 34471192b733130096c3e4f6ee11a99d 663a139f5303130096c3ddeeff7b1220 7c0e431b5303130096c3ddeeff7b124f 832a9f5f5303130096c3ddeeff7b127d a68c1cebb713130096c3e4f6ee11a9d7 b8775192b733130096c3e4f6ee11a911 d99c5cebb713130096c3e4f6ee11a9d8 f77c1cebb713130096c3e4f6ee11a967 Remove the following lines of code: var errorMessages = gs.getErrorMessages(); if (typeof errorMessages === "object" && errorMessages.length > 0) errorMessage += " " + errorMessages; replace with: var lastErrorMessage = changeProcess.getGlideRecord().getLastErrorMessage(); if (lastErrorMessage) errorMessage += " " + lastErrorMessage; Related Problem: PRB1393510