Validate a Query Activity verified

Learn how to validate a Query Activity in Salesforce Marketing Cloud (SFMC) with SSJS (server-side JavaScript). Code snippets include the REST API method.

Validate a Query

var query =  'SELECT TOP 10 SubscriberKey, EmailAddress FROM _Subscribers';

var payload = {
    "Text": query
}

var endpoint = restInstanceUrl + "automation/v1/queries/actions/validate/";

var request = new Script.Util.HttpRequest(endpoint);
    request.emptyContentHandling = 0;
    request.retries = 2;
    request.continueOnError = true;
    request.setHeader("Authorization", "Bearer " + accessToken);
    request.method = "POST";
    request.contentType = "application/json";
    request.encoding = "UTF-8";
    request.postData = Stringify(payload);

var results = request.send();

var result = Platform.Function.ParseJSON(String(results.content));
<script runat="server">

    Platform.Load("core", "1");

    var api = new Script.Util.WSProxy();

    var restInstanceUrl = "https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/",
        accessToken     = "YOUR_REST_API_TOKEN";
	
	try {

        var query =  'SELECT TOP 10 SubscriberKey, EmailAddress FROM _Subscribers';

        var payload = {
            "Text": query
        }

        var endpoint = restInstanceUrl + "automation/v1/queries/actions/validate/";

        var request = new Script.Util.HttpRequest(endpoint);
            request.emptyContentHandling = 0;
            request.retries = 2;
            request.continueOnError = true;
            request.setHeader("Authorization", "Bearer " + accessToken);
            request.method = "POST";
            request.contentType = "application/json";
            request.encoding = "UTF-8";
            request.postData = Stringify(payload);

        var results = request.send();

        var result = Platform.Function.ParseJSON(String(results.content));

        Write(Stringify(result));
		
	} catch(error) {

        Write(Stringify(error));
        
    }	

</script>
{
    "queryValid": true,
    "errors": []
}

Validate a Query by Id

var request = api.retrieve("QueryDefinition", ["CustomerKey", "QueryText"], {
    Property: "Name", 
    SimpleOperator: "equals",
    Value: "MyNewQuery" 
});

var customerKey = request.Results[0].CustomerKey;
var queryText = request.Results[0].QueryText;

var payload = {
    "Text": queryText
}

var endpoint = restInstanceUrl + "automation/v1/queries/" + customerKey + "/actions/validate/";

var request = new Script.Util.HttpRequest(endpoint);
    request.emptyContentHandling = 0;
    request.retries = 2;
    request.continueOnError = true;
    request.setHeader("Authorization", "Bearer " + accessToken);
    request.method = "POST";
    request.contentType = "application/json";
    request.encoding = "UTF-8";
    request.postData = payload;

var results = request.send();

var result = Platform.Function.ParseJSON(String(results.content));
<script runat="server">

    Platform.Load("core", "1");

    var api = new Script.Util.WSProxy();

    var restInstanceUrl = "https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/",
        accessToken     = "YOUR_REST_API_TOKEN";
	
	try {

        var name = "MyNewQuery";

        var request = api.retrieve("QueryDefinition", ["CustomerKey", "QueryText"], {
            Property: "Name", 
            SimpleOperator: "equals",
            Value: name 
        });

        var customerKey = request.Results[0].CustomerKey;
        var queryText = request.Results[0].QueryText;

        var payload = {
            "Text": queryText
        }

        var endpoint = restInstanceUrl + "automation/v1/queries/" + customerKey + "/actions/validate/";

        var request = new Script.Util.HttpRequest(endpoint);
            request.emptyContentHandling = 0;
            request.retries = 2;
            request.continueOnError = true;
            request.setHeader("Authorization", "Bearer " + accessToken);
            request.method = "POST";
            request.contentType = "application/json";
            request.encoding = "UTF-8";
            request.postData = Stringify(payload);

        var results = request.send();

        var result = Platform.Function.ParseJSON(String(results.content));

        Write(Stringify(result));
		
	} catch(error) {
        Write(Stringify(error));
    }	

</script>
{
    "queryValid": true,
    "errors": []
}

Reference

Ressources and references related to the current methods.

SOAP object

Last Updated: