GET api/{entitytype}/search?searchtext={searchtext}&autocomplete={autocomplete}&pagesize={pagesize}&page={page}

Returns the match for the specified entity type or across all types if entitytype is "all"

Request Information

URI Parameters

NameDescriptionTypeAdditional information
entitytype

Type of the entity to search on. Example: all/incidentrequest/problem/KB etc

string

Required

searchtext

Text to search

string

Required

autocomplete

If true, only summary field will be searched. This should be set to true only for typeahead searches

boolean

Default value is False

pagesize

Number of results that should be returned, defaults to 10

integer

Default value is 10

page

Page number

integer

Default value is 1

Body Parameters

None.

Response Information

List of objects

Response Formats

application/json

Sample:

        [
          {  
          "Oid": 1,  
          "Status": "New",  
          "ItemId": "IR-0000001",  
          "Summary": "test",                  
          "Priority": "1 - Critical", 
          "DueDate": "2015-03-09T23:59:00-06:00"
         },

         {
          "Oid": 2,  
          "IsDeleted": false,  
          "Status": "Unsubmitted", 
          "ItemId": "IR-0000002",  
          "Summary": "test printer",                   
          "Priority": "1 - Critical",  
          "DueDate": "2015-03-10T23:59:00-06:00"
         }         
       ]
       

application/x-www-form-urlencoded

Sample:
{}

Example Code in C#

      //REQUEST           
          string sessionId = set to the sessionId that was received on login;
          string searchtext = text to search
          string entitytype = can be 'Incident','KB', etc
          int pagesize = 10;
          int page = 1;
          string uri = string.format("http://localhost/restapi/api/{0}/search?searchtext={1}&pagesize={2}&page={3}", entitytype,searchtext, pagesize,page);

          HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri);
          //Assumption: CGRestAPI is configured to use WIA
          webRequest.Credentials = CredentialCache.DefaultCredentials;
          webRequest.Method = "GET";
          webRequest.ContentType = "application/json";
          webRequest.Headers.Add("sessionid", sessionId);
          HttpWebResponse httpWebResponse = (System.Net.HttpWebResponse)webRequest.GetResponse();
          
          Stream responseStream = httpWebResponse.GetResponseStream();
          using (var streamReader = new StreamReader(responseStream))
          {
              var result = JsonConvert.DeserializeObject(streamReader.ReadToEnd());
              if (result != null && result is Newtonsoft.Json.Linq.JArray)
              {
                  //do something with the result
              }
          }