Active Query Builder WebAPI client for .NET
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

WebApi.ActiveQueryBuilder - the C# library for the QueryBuilderApi

Active Query Builder Web API lets create, analyze and modify SQL queries for different database servers using RESTful HTTP requests to a cloud-based service. It requires SQL execution context (information about database schema and used database server) to be stored under the registered account at

Frameworks supported

  • .NET 4.0 or later
  • Windows Phone 7.1 (Mango)


The DLLs included in the package may not be the latest version. We recommned using [NuGet] ( to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742


Include the DLL in the C# project, and use the namespaces:

using WebApi.ActiveQueryBuilder.Api;
using WebApi.ActiveQueryBuilder.Client;
using WebApi.ActiveQueryBuilder.Model;

Getting Started

using System;
using System.Collections.Generic;
using System.Diagnostics;
using WebApi.ActiveQueryBuilder.Api;
using WebApi.ActiveQueryBuilder.Client;
using WebApi.ActiveQueryBuilder.Model;

namespace Example
    public class Example
        public void main()
            string sql = "Select customer_id, first_name From customer";
            string metadataGuid = "b3207f4f-b1f4-4dc2-979b-7724ed2d0221";

            var apiInstance = new ActiveQueryBuilderApi();
            var query = new SqlQuery() // SqlQuery | Information about SQL query and it's context.
              Guid = metadataGuid,
              Text = sql
            List<QueryColumn> columns = apiInstance.GetQueryColumnsPost(query);
            Debug.WriteLine("API called successfully. Returned columns: " + columns.Count);
            var transform = new Transform
                Guid = metadataGuid,
                Sql = sql

            var filter = new ConditionGroup();

            var conditionGroup = new ConditionGroup();

            var condition = new Condition
                Field = "customer_id",
                ConditionOperator = Condition.ConditionOperatorEnum.Greater,
                Values = new List<string> { "10" }
            conditionGroup.Conditions = new List<Condition> { condition };

            filter.ConditionGroups = new List<ConditionGroup> { conditionGroup };

            var page = new Pagination { Skip = 2, Take = 3 };
            var order = new Sorting { Field = "customer_id", Order = Sorting.OrderEnum.Desc };            

            transform.Filter = filter;
            transform.Pagination = page;
            transform.Sortings = new List<Sorting> { order };

            TransformResult result = apiInstance.TransformSQLPost(transform);
            Debug.WriteLine("API called successfully. Returned result: " + result.Sql);

Documentation for API Endpoints

All URIs are relative to

Class Method HTTP request Description
ActiveQueryBuilderApi GetQueryColumnsPost POST /getQueryColumns
ActiveQueryBuilderApi TransformSQLPost POST /transformSQL

Documentation for Models

Source code

Full source code of all clients for Active Query Builder Web API is available on GitHub. Get the source code of javascript here: