Request Documentation


POST /v1/RecordsByField

POST /v1/RecordsByField

To create a record in a custom object you need to make a POST request.

request RecordSearchRequestParameters
returns string

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
   
    //make async request
    var parameters = new RecordSearchRequestParameters
    {
        CustomObjectId = CUSTOM_OBJECT_ID,
        FieldsValues = new Dictionary< string, object>
        {
            {"{CustomObjectPublicId}", "the contains query to filter the custom field items"}
            {"{ViewFilterPublicId}", "the 32 character id of the filter"}
            {"{FieldName}", "field name"}
            {"{FieldPublicId}", "the 32 character id of the field"}
            {"{Number}", "the page Number (default is 1)"}
            {"{OperatorName}", "Operator Name"}
            {"{OperatorPublicId}", "the 32 character id of the operator"}
            {"{Text}", "text"}
            {"{Value}", "value"}
            {"{CriteriaExpression}", "CriteriaExpression"}
        }
    };
    
    HttpContent content = new StringContent(JsonConvert.SerializeObject(parameters),Encoding.UTF8, "application/json");
    var request = await client.PostAsync("http://api.setcrm.com/v1/RecordsByField", content);
    //handle the result
    var result = await request.Content.ReadAsStringAsync();
}
...
...
...
...


GET /v1/Record

GET /v1/Record?customObjectId={0}&recordId={1}

To get a record you need to make a GET request.
This request has 2 parameters;

  • customObjectId - the 32 character id of the custom object
  • recordId - the 32 character id of the record

returns RecordDto

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/record?customObjectId=" 
                                               + {CUSTOM_OBJECT_GUID} + "recordId=" + {RECORD_GUID});
    //deserialize response
    var result = JsonConvert.DeserializeObject< RecordDto>(response);
}
try(HttpClient client = HttpClientBuilder.create().build())
{
   String yourApiKey ="{YOUR_API_KEY}";
   URI uri = new URIBuilder()
           .setScheme("http")
           .setHost("api.setcrm.com/v1")
           .setPath("/records")
           .setParameter("customObjectId", "{CUSTOM_OBJECT_GUID}")
           .setParameter("recordId", "{RECORD_GUID}")
           .build();
   HttpGet request = new HttpGet(uri);
   // add request header
   request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
   request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                                    .encodeToString( yourApiKey.getBytes() ));
   HttpResponse response = client.execute(request);
    //deserialize response
   ObjectMapper mapper = new ObjectMapper();
   PagedDto< RecordDto> result = mapper.readValue(response, PagedDto< RecordDto>);
}
...
...
...


GET /v1/RelationRecords

GET /v1/RelationRecords?relationId={0}&recordId={1}&q={2}&pageSize={3}&pageNumber={4}

To get custom object's records you need to make a GET request.
This request has 3 parameters;

  • relationId - the 32 character id of the relation
  • recordId - the 32 character id of the parent record
  • q - the contains query to filter the records
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedDto< RecordDto>

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/relationrecords?relationId=" 
                                                + {RELATION_GUID}+"&recordId="+{RECORD_GUID});
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedDto< RecordDto>>(response);
}
try(HttpClient client = HttpClientBuilder.create().build())
{
   String yourApiKey ="{YOUR_API_KEY}";
   URI uri = new URIBuilder()
 	        .setScheme("http")
 	        .setHost("api.setcrm.com/v1")
 	        .setPath("/relationrecords")
 	        .setParameter("relationId", "{RELATION_GUID}")
 	        .setParameter("recordId", "{RECORD_GUID}")
 	        .build();
  HttpGet request = new HttpGet(uri);
  // add request header
  request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
  request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                                   .encodeToString( yourApiKey.getBytes() ));
  HttpResponse response = client.execute(request);
   //deserialize response
  ObjectMapper mapper = new ObjectMapper();
  PagedDto< RecordDto> result = mapper.readValue(response, PagedDto< RecordDto>);
}
...
...
...


GET /v1/TableRecord

GET /v1/TableRecord?customObjectId={0}&recordId={1}&tableId={2}

To get a record you need to make a GET request.
This request has 2 parameters;

  • customObjectId - the 32 character id of the custom object
  • recordId - the 32 character id of the record
  • tableId - the 32 character id of the table field

returns CustomTableResponse

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/tablerecord?customObjectId=" 
                                               + {CUSTOM_OBJECT_GUID} + "&recordId=" + {RECORD_GUID} + "&tableId=" + {TABLE_ID});
    //deserialize response
    var result = JsonConvert.DeserializeObject< CustomTableResponse>(response);
}
...
...
...
...


GET /v1/RecordByUniqueField

GET /v1/RecordByUniqueField?customObjectId={0}&id={1}&value={2}

To get custom object's records you need to make a GET request.
This request has 3 parameters;

  • customObjectId - the 32 character id of the custom object
  • id - the 32 character id of the parent record
  • value - the string value

returns ByUniqueFieldDto

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/RecordByUniqueField?customObjectId=" 
                                                + {CUSTOM_OBJECT_ID}+"&id="+{id}+"&value="+{value});
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedDto< RecordDto>>(response);
}
try(HttpClient client = HttpClientBuilder.create().build())
{
   String yourApiKey ="{YOUR_API_KEY}";
   URI uri = new URIBuilder()
 	        .setScheme("http")
 	        .setHost("api.setcrm.com/v1")
 	        .setPath("/relationrecords")
 	        .setParameter("relationId", "{RELATION_GUID}")
 	        .setParameter("recordId", "{RECORD_GUID}")
 	        .build();
  HttpGet request = new HttpGet(uri);
  // add request header
  request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
  request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                                   .encodeToString( yourApiKey.getBytes() ));
  HttpResponse response = client.execute(request);
   //deserialize response
  ObjectMapper mapper = new ObjectMapper();
  PagedDto< RecordDto> result = mapper.readValue(response, PagedDto< RecordDto>);
}
...
...
...
...


POST /v1/Record

POST /v1/Record

To create a record in a custom object you need to make a POST request.
This request expects a form collection as parameter. And that collection must have customObjectId and field id value list.

  • customObjectId - the 32 character id of the custom object

request RecordRequestParameters
returns RecordResponse

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
   
    //make async request
    var parameters = new RecordRequestParameters
    {
        CustomObjectId = CUSTOM_OBJECT_ID,
        FieldsValues = new Dictionary< string, object>
        {
            {"{CUSTOM_FIELD_ID}", "sample value"}
        }
    };
    
    HttpContent content = new StringContent(JsonConvert.SerializeObject(parameters),Encoding.UTF8, "application/json");
    var request = await client.PostAsync("http://api.setcrm.com/v1/record", content);
    //handle the result
    var result = await request.Content.ReadAsStringAsync();
}
HttpClient client = HttpClientBuilder.create().build();	  
	 String url ="http://api.setcrm.com/v1/record";
     String yourApiKey ="{YOUR_API_KEY}";
    HttpPost request = new HttpPost(url);
    // add request header
    request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
    request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                                  .encodeToString( yourApiKey.getBytes() ));
    RecordRequestParameters parameters = new RecordRequestParameters();
    parameters.CustomObjectId="{CUSTOM_OBJECT_ID}";
    parameters.FieldsValues = new HashMap< String, Object>();
    parameters.FieldsValues.put("{CUSTOM_FIELD_ID}", "sample value");
    ObjectMapper mapper = new ObjectMapper();
    String jsonInString = mapper.writeValueAsString(parameters);
    request.setEntity(new UrlEncodedFormEntity(jsonInString));
    HttpResponse response = client.execute(request);
     //deserialize response    
    String result = request.Content.ReadAsStringAsync();
...
...
                    // Your ID and token
                    $authToken = "{YOUR_API_KEY}";
                    // The data to send to the API
                    $postDetailData = array(
                    '{CUSTOM_FIELD_ID}' => 'sample value',
                    '{CUSTOM_FIELD_ID}' => 'sample value');
                    $postData = array(
                    'CustomObjectId' => '{CUSTOM_OBJECT_ID}',
                    'FieldsValues' => $postDetailData
                    );
                    // Create the context for the request
                    $context = stream_context_create(array(
                    'http' => array(
                    'method' => 'POST',
                    'header' => "Authorization: {$authToken}\r\n".
                    "Content-Type: application/json\r\n",
                    'content' => json_encode($postData)
                    )
                    ));
                    // Send the request
                    $response = file_get_contents('http://api.setcrm.com/v1/Record', FALSE, $context);
                    // Check for errors
                    if($response === FALSE){
                    die('Error');
                    }
                    // Decode the response
                    $responseData = json_decode($response, TRUE);
                    // Print the date from the response
                    echo $responseData['IsOk'];
                    echo $responseData['Message'];
  

Organizational


POST /v1/UpdateRecord

POST /v1/UpdateRecord

To update a record in a custom object you need to make a POST request.
This request expects a form collection as parameter. And that collection must have customObjectId, recordId and custom field id value list.

  • customObjectId - the 32 character id of the custom object
  • recordId - the 32 character id of the record

request RecordRequestParameters
returns RecordResponse

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var parameters = new RecordRequestParameters
    {
        CustomObjectId = CUSTOM_OBJECT_ID,
        RecordId = RECORD_ID
        FieldsValues = new Dictionary< string, object>
        {
            {"{CUSTOM_FIELD_ID}", "updated sample value"}
        }
    };
    
    HttpContent content = new StringContent(JsonConvert.SerializeObject(parameters),Encoding.UTF8, "application/json");
    var request = await client.PostAsync("http://api.setcrm.com/v1/updaterecord", content);
    //handle the result
    var result = await request.Content.ReadAsStringAsync();
}
...
...
...
...


POST /v1/DeleteRecord

POST /v1/DeleteRecord?customObjectId={1}&recordId={2}

To delete a record in a custom object you need to make a POST request.
This request expects 2 parameter.

  • customObjectId - the 32 character id of the custom object
  • recordId - the 32 character id of the record

returns bool

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
   
    //make async request
    var request = await client.PostAsync("http://api.setcrm.com/v1/deleterecord?customObjectId=" 
                                          + CUSTOM_OBJECT_ID + "&recordId=" + RECORD_ID, content);
    //handle the result
    var result = await request.Content.ReadAsStringAsync();
}
...
...
...
...


POST /v1/UpdateUser

POST /v1/UpdateUser?firstName={0}&lastName={1}&userName={2}
    &publicId={3}&activeMenuId={4}&mobileNumber={5}&identityNumber={6}&department={7}°ree={8}
    &startedAt={9}&endedAt={10}&bornAt={11}&extension={12}&welcomeUrl={13}&level1ManagerPublicId={14}
    &level2ManagerPublicId={15}&level3ManagerPublicId={16}&specificCode1={17}&specificCode2={18}
    &specificCode3={19}&buddyPublicId={20}

You need to use the UPDATEUSER method to update any user's information.
This request has 21 parameters;

  • firstName - user name
  • lastName - user lastname
  • publicId - the user fieldId (optional)
  • activeMenuId - the menu Id
  • mobileNumber - user phone number
  • identityNumber - user identity number
  • department - user department
  • degree - user degree
  • startedAt - date of employment
  • endedAt - date of leaving work
  • bornAt - date of birth
  • extension - extension
  • welcomeUrl - welcome url
  • level1ManagerPublicId - 1st degree manager
  • level2ManagerPublicId - 2nd degree manager
  • level3ManagerPublicId - 3rd degree manager
  • specificCode1 - specific code 1
  • specificCode2 - specific code 2
  • specificCode3 - specific code 3
  • buddyPublicId - the 32 character id of the buddy public

returns bool

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.PostAsync("http://api.setcrm.com/v1/updateuser?firstName=" + {FIRST_NAME} 
                +"&lastName=" + {LAST_NAME} 
                +"&userName=" + {USER_NAME} 
                +"&publicId=" + {PUBLICID}  
                +"&activeMenuId=" + {ACTIVEMENUID}
                +"&mobileNumber=" + {MOBILE_NUMBER}
                +"&identityNumber=" + {IDENTITY_NUMBER}
                +"&department=" + {DEPARTMENT}
                +"°ree=" + {DEGREE}
                +"&startedAt=" + {STARTED_AT}
                +"&endedAt=" + {ENDED_AT}
                +"&bornAt=" + {BORN_AT}
                +"&extension=" + {EXTENSION} 
                +"&welcomeUrl=" + {WELCOME_URL} 
                +"&level1ManagerPublicId=" + {LEVEL_1_MANAGER_PUBLIC_ID}
                +"&level2ManagerPublicId=" + {LEVEL_2_MANAGER_PUBLIC_ID} 
                +"&level3ManagerPublicId=" + {LEVEL_3_MANAGER_PUBLIC_ID}  
                +"&specificCode1=" + {SPECIFIC_CODE_1} 
                +"&specificCode1=" + {SPECIFIC_CODE_1} 
                +"&specificCode2=" + {SPECIFIC_CODE_2} 
                +"&specificCode3=" + {SPECIFIC_CODE_3} 
                +"&buddyPublicId=" + {BUDDY_PUBLIC_ID});
      
    //handle the result
     var result = await request.Content.ReadAsStringAsync();
}
...
...
...
...


POST /v1/CreateUser

POST /v1/CreateUser?firstName={0}&lastName={1}&userName={2}
    &publicId={3}&activeMenuId={4}&mobileNumber={5}&identityNumber={6}&department={7}°ree={8}
    &startedAt={9}&endedAt={10}&bornAt={11}&extension={12}&welcomeUrl={13}&level1ManagerPublicId={14}
    &level2ManagerPublicId={15}&level3ManagerPublicId={16}&specificCode1={17}&specificCode2={18}
    &specificCode3={19}&buddyPublicId={20}&Email={21}&Password={22}&ImageUrl={23}
&IsAktive={24}&Language={25}&PermissionGroupPublicIds={26}&UserGroupPublicIds={27}

You need to use the CREATEUSER method to update any user's information.
This request has 27 parameters;

  • firstName - user name
  • lastName - user lastname
  • publicId - the user fieldId (optional)
  • activeMenuId - the menu Id
  • mobileNumber - user phone number
  • identityNumber - user identity number
  • department - user department
  • degree - user degree
  • startedAt - date of employment
  • endedAt - date of leaving work
  • bornAt - date of birth
  • extension - extension
  • welcomeUrl - welcome url
  • level1ManagerPublicId - 1st degree manager
  • level2ManagerPublicId - 2nd degree manager
  • level3ManagerPublicId - 3rd degree manager
  • specificCode1 - specific code 1
  • specificCode2 - specific code 2
  • specificCode3 - specific code 3
  • buddyPublicId - the 32 character id of the buddy public
  • Email - user email
  • Password - user password
  • ImageUrl- image url adress
  • IsAktive - IsAktive
  • Language - language
  • PermissionGroupPublicIds - user permission group publicIds
  • UserGroupPublicIds - user user group publicIds

returns bool

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.PostAsync("http://api.setcrm.com/v1/CreateUser?firstName=" + {FIRST_NAME} 
                +"&lastName=" + {LAST_NAME} 
                +"&userName=" + {USER_NAME} 
                +"&publicId=" + {PUBLICID}  
                +"&activeMenuId=" + {ACTIVEMENUID}
                +"&mobileNumber=" + {MOBILE_NUMBER}
                +"&identityNumber=" + {IDENTITY_NUMBER}
                +"&department=" + {DEPARTMENT}
                +"°ree=" + {DEGREE}
                +"&startedAt=" + {STARTED_AT}
                +"&endedAt=" + {ENDED_AT}
                +"&bornAt=" + {BORN_AT}
                +"&extension=" + {EXTENSION} 
                +"&welcomeUrl=" + {WELCOME_URL} 
                +"&level1ManagerPublicId=" + {LEVEL_1_MANAGER_PUBLIC_ID}
                +"&level2ManagerPublicId=" + {LEVEL_2_MANAGER_PUBLIC_ID} 
                +"&level3ManagerPublicId=" + {LEVEL_3_MANAGER_PUBLIC_ID}  
                +"&specificCode1=" + {SPECIFIC_CODE_1} 
                +"&specificCode1=" + {SPECIFIC_CODE_1} 
                +"&specificCode2=" + {SPECIFIC_CODE_2} 
                +"&specificCode3=" + {SPECIFIC_CODE_3} 
                +"&buddyPublicId=" + {BUDDY_PUBLIC_ID}
                +"&email=" + {EMAIL});
                +"&password=" + {PASSWORD});
                +"&imageUrl=" + {IMAGE_URL});
                +"&isAktive=" + {ISAKTIVE});
                +"&language=" + {LANGUAGE});
                +"&permissionGroupPublicIds=" + {PERMISSION_GROUP_PUBLIC_ID});
                +"&userGroupPublicIds=" + {USER_GROUP_PUBLIC_ID}););
      
    //handle the result
     var result = await request.Content.ReadAsStringAsync();
}
...
...
...
...


POST /v1/CreateUserGroup

POST /v1/CreateUserGroup?ActiveMenuPublicId={0}&AdminPublicIds={1}&Description={2}
    &IsActive={3}&Name={4}&ParentPublicId={5}&PublicId={6}&specificCode1={7}&specificCode2={8}
    &specificCode3={9}

You need to use the UPDATEUSER method to update any user's information.
This request has 10 parameters;

  • activeMenuPublicId - Aktive Menu PublicId
  • adminPublicIds - the 32 character id of the admin public
  • description - description
  • isActive - IsAktive
  • name - group name
  • parentPublicId - user identity number
  • publicId - the 32 character id of the public
  • specificCode1 - specific code 1
  • specificCode2 - specific code 2
  • specificCode3 - specific code 3

returns bool

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.PostAsync("http://api.setcrm.com/v1/CreateUserGroup?firstName=" + {FIRST_NAME} 
                +"&activeMenuPublicId=" + {ACTIVE_MENU_PUBLICID} 
                +"&adminPublicIds=" + {ADMIN_PUBLICID} 
                +"&description=" + {DESCRÄ°PTION}  
                +"&isActive=" + {ISAKTIVE}
                +"&name=" + {NAME}
                +"&parentPublicId=" + {PARENT_PUBLICID}
                +"&publicId=" + {PUBLICID}
                +"&specificCode1=" + {SPECIFIC_CODE_1} 
                +"&specificCode2=" + {SPECIFIC_CODE_2} 
                +"&specificCode3=" + {SPECIFIC_CODE_3});
      
    //handle the result
     var result = await request.Content.ReadAsStringAsync();
}
...
...
...
...


GET /v1/GetUser

GET /v1/GetUser?publicId={0}&pageSize={1}

Lets you retrieve information for the user.
This request has 1 parameters;

  • publicId - the 32 character id of the user public Id
  • pageSize - the paging size (max is 100, default is 100)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/getuser?publicId=" + "publicId" 
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/getuser")
        .setParameter("publicId", "{USER_ID}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/GetUsers

GET /v1/GetUsers?q={0}&pageSize={1}

You use to see information all users.
This request has 1 parameters;

  • q - the 32 character id of the user public Id
  • pageSize - the paging size (max is 100, default is 100)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/getusers?q=" + "q" 
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/getusers")
        .setParameter("q", "{q}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/GetUsersWithGroups

GET /v1/GetUsersWithGroups?q={0}&userGroupPublicId={1}&permissionGroupPublicId={2}&pageSize={3}&pageNumber={4}

You use to see information all users groups.
This request has 3 parameters;

  • q - the contains query to filter the custom field items
  • userGroupPublicId - the userGroupPublicId (default "")
  • permissionGroupPublicId - the permissionGroupPublicId (default "")
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/getuserswithgroups"
//deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/getuserswithgroups")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/GetUserGroup

GET /v1/GetUserGroup?publicId={0}&pageSize={1}

You use to see information specific user groups.
This request has 1 parameters;

  • publicId - the 32 character id of the user public Id
  • pageSize - the paging size (max is 100, default is 100)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/getusergroup?publicId=" + "publicId" 
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/getusergroup")
        .setParameter("publicId", "{USER_ID}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/GetPermissionGroup

GET /v1/GetPermissionGroup?publicId={0}&pageSize={1}

You use to see information the user permission group.
This request has 1 parameters;

  • publicId - the 32 character id of the user public Id
  • pageSize - the paging size (max is 100, default is 100)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/getpermissiongroup?publicId=" + "publicId" 
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/getpermissiongroup")
        .setParameter("publicId", "{USER_ID}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/GetUserGroups

GET /v1/GetUserGroups?q={0}&pageSize={1}

You use to see information the user groups.
This request has 1 parameters;

  • q - the contains query to filter the dependent custom field items, ( default is "" )
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/getusergroups?q=" + "q" 
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/getusergroups")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/GetPermissionGroups

GET /v1/GetPermissionGroups?q={0}&pageSize={1}

You use to see information the user groups.
This request has 1 parameters;

  • q - the contains query to filter the dependent custom field items, ( default is "" )
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/getpermissiongroups?q=" + "q" 
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/getpermissiongroups")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...

Data Summary Request


GET /v1/CustomObjects

GET /v1/CustomObjects?q={0}&pageSize={1}&pageNumber={2}

To get custom objects of the company you need to make a GET request.
This request has 3 parameters;

  • q - the contains query to filter the custom objects
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/customobjects");
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/customobjects")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                                 .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/ViewFilters

GET /v1/ViewFilters?q={0}&customObjectId={1}&pageSize={2}&pageNumber={3}

To get custom objects of the company you need to make a GET request.
This request has 3 parameters;

  • q - the contains query to filter the custom objects
  • customObjectId - the 32 character id of the custom object
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/viewfilters?customObjectId=" + CUSTOM_OBJECT_ID");
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();	  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/viewfilters")
        .setParameter("customObjectId", "{CUSTOM_OBJECT_GUID}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/Fields

GET /v1/Fields?q={0}&customObjectId={1}&pageSize={2}&pageNumber={3}

To get custom object's fields you need to make a GET request.
This request has 4 parameters;

  • q - the contains query to filter the custom fields
  • customObjectId - the 32 character id of the custom object
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/fields?customObjectId=" 
                                                + CUSTOM_OBJECT_ID);
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();	  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/fields")
        .setParameter("customObjectId", "{CUSTOM_OBJECT_GUID}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/TableFields

GET /v1/TableFields?q={0}&tableId={1}&customObjectId={2}&pageSize={3}&pageNumber={4}

To get table fields you need to make a GET request.
This request has 5 parameters;

  • q - the contains query to filter the custom fields
  • tableId - the 32 character id of the table
  • customObjectId - the 32 character id of the custom object
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/tablefields?tableId=" 
                                                + TABLE_ID + "&customObjectId=" + CUSTOM_OBJECT_ID);
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/tablefields")
        .setParameter("tableId", "{TABLE_ID}")
        .setParameter("customObjectId", "{CUSTOM_OBJECT_GUID}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/FieldItems

GET /v1/FieldItems?q={0}&customFieldId={1}&customObjectId={2}&pageSize={3}&pageNumber={4}

To get custom objects of the company you need to make a GET request.
This request has 5 parameters;

  • q - the contains query to filter the custom field items
  • customFieldId - the 32 character id of the custom field
  • customObjectId - the 32 character id of the custom object
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/fieldItems?customFieldId=" 
                                                + CUSTOM_FIELD_ID + "&customObjectId=" + CUSTOM_OBJECT_ID);
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/fieldItems")
        .setParameter("customFieldId", "{CUSTOM_FIELD_ID}")
        .setParameter("customObjectId", "{CUSTOM_OBJECT_GUID}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/SystemLookupItems

GET /v1/SystemLookupItems?q={0}&name={1}&pageSize={2}&pageNumber={3}&publicId={4}&groupIds={5}

To get system lookup items (User, UserGroup, PermissionGroup) of the company you need to make a GET request.
This request has 5 parameters;

  • q - the contains query to filter the system lookup items
  • name - case sensitive system lookup item type (User, UserGroup, PermissionGroup)
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)
  • publicId - the fieldId (optional)
  • groupIds - the groupIds (optional)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/systemlookupitems?name=" + "User");
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/systemlookupitems")
        .setParameter("name", "{User}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/DependencyItems

GET /v1/DependencyItems?q={0}&controllingFieldId={1}&customObjectId={2}&pageSize={3}&pageNumber={4}

To get dependent custom field items by controlling field id you need to make a GET request.
This request has 5 parameters;

  • q - the contains query to filter the dependent custom field items
  • controllingFieldId - the 32 character id of the controlling custom field
  • customObjectId - the 32 character id of the custom object
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/dependencyitems?controllingFieldId=" 
                                                + CUSTOM_FIELD_ID + "&customObjectId=" + CUSTOM_OBJECT_ID);
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/dependencyitems")
        .setParameter("controllingFieldId", "{CUSTOM_FIELD_ID}")
        .setParameter("customObjectId", "{CUSTOM_OBJECT_ID}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/PredifinedItems

GET /v1/PredifinedItems?q={0}&predifinedId={1}&pageSize={2}&pageNumber={3}

To get predifined items you need to make a GET request.
This request has 4 parameters;

  • q - the contains query to filter the custom field items
  • parentId - the 32 character id of the predifined id
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/predifineditems?parentId=" 
                                                + PREDIFINED_ID);
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/predifineditems")
        .setParameter("parentId", "{PREDIFINED_ID}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/PredifinedDependencyItems

GET /v1/PredifinedDependencyItems?q={0}&controllingId={1}&parentId={2}&pageSize={3}&pageNumber={4}

To get dependent predifined items by controlling predifined item id you need to make a GET request.
This request has 5 parameters;

  • q - the contains query to filter the dependent custom field items
  • controllingId - the 32 character id of the controlling custom field
  • parentId - the 32 character id of the parent predifined item
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/predifineddependencyitems?controllingId=" 
                                                + CONROLLING_PREDIFINED_ITEM_ID + "&parentId=" + PARENT_PREDIFINED_ID);
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/predifineddependencyitems")
        .setParameter("controllingId", "{CONROLLING_PREDIFINED_ITEM_ID}")
        .setParameter("parentId", "{PARENT_PREDIFINED_ID}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/OrganizationalUnitItems

GET /v1/OrganizationalUnitItems?q={0}&publicId={1}&name={2}&filterType={3}&groupIds={4}&pageSize={5}&pageNumber={6}

To get dependent organizationunit items by groupId item id you need to make a GET request. // ??
This request has 5 parameters;

  • q - the contains query to filter the dependent custom field items
  • publicId - the 32 character id of the controlling custom field
  • name - the string name
  • filterType - the filter type
  • groupIds - the org gruop id
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/organizationalunititems?name=" + "Name" 
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/organizationalunititems")
        .setParameter("name", "{NAME}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/FilterFields

GET /v1/FilterFields?customObjectId={0}&filterId={1}&pageSize={2}&pageNumber={3}

To get dependent predifined items by controlling predifined item id you need to make a GET request. // ??
This request has 2 parameters;

  • customObjectId - the 32 character id of the custom object Id
  • filterId - the filter Id
  • pageSize - the paging size (max is 100, default is 100)
  • pageNumber - the page Number (default is 1)

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/filterfields?customObjectId=" + "CustomObjectId" 
                                        + "&filterId=" + "filterId"
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/filterfields")
        .setParameter("customObjectId", "{CUSTOM_OBJECT_ID}")
        .setParameter("filterId", "{FILTER_ID}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


GET /v1/GetLookupFieldKeyByValue

GET /v1/GetLookupFieldKeyByValue?customObjectPublicId={0}&lookupObjectPublicId={1}&value={2}

To get dependent predifined items by controlling predifined item id you need to make a GET request. // ??
This request has 3 parameters;

  • customObjectPublicId - the 32 character id of the custom object public Id
  • lookupObjectPublicId - the related lookup object id
  • value - the string value

returns PagedKeyValue

using (var client = new HttpClient())
{
    //set Accept and Authorization header 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{YOUR_API_KEY}");
    //make async request
    var response = await client.GetStringAsync("http://api.setcrm.com/v1/getlookupfieldkeybyvalue??customObjectPublicId=" + "CustomObjectId" +
                                                    "&lookupObjectPublicId=" + "lookupObjectPublicId" + "&value=" + "value"
    //deserialize response
    var result = JsonConvert.DeserializeObject< PagedKeyValue>(response);
}
HttpClient client = HttpClientBuilder.create().build();  
String yourApiKey ="{YOUR_API_KEY}";
URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.setcrm.com/v1")
        .setPath("/getlookupfieldkeybyvalue")
        .setParameter("customObjectPublicId", "{CUSTOM_OBJECT_PUBLIC_ID}")
        .setParameter("lookupObjectPublicId", "{LOOKUP_OBJECT_ID}")
        .setParameter("value", "{VALUE}")
        .build();
HttpGet request = new HttpGet(uri);
// add request header
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
request.addHeader("Authorization", "Basic " + java.util.Base64.getEncoder()
                                              .encodeToString( yourApiKey.getBytes() ));
HttpResponse response = client.execute(request);
 //deserialize response
ObjectMapper mapper = new ObjectMapper();
PagedDto< RecordDto> result = mapper.readValue(response, PagedKeyValue);
...
...
...


Custom Operators


# Public Id Name
1 9B97F15C15B74AF3880A1B4D18C880CD equals
2 3DA446BF69C843D6B99A723785D5B057 not_equal_to
3 30C3C39BC41F4351A7812C051D850C17 less_than
4 C0A290359D374350A21B257A573B3A03 greather_than
5 DBF938C6F1914D809A07CCD8F6CE0847 less_than_or_equal_to
6 E0861F8618174555869987E26DFBF73D contains
7 AE168AA58A0E4779B657BA3A17F3332F does_not_contain
8 52109B6959D644F795F3FFBCCA19BB79 starts_with
9 5C2B527D29314A2FA6336ABF5E2D5624 ends_with
# Public Id Name
1 A22A5D83E8F04CAA8A11DCC8078EB40E equals
2 EAE4E8FABD0C446A984B8FF010E5F9E6 not_equal_to
3 C2DFD907DE0B46EE899413C05F838F4F less_than
4 5AAE6CE1E20449DCB1065DFEA8DAFA4D greather_than
5 9BD88DB5876A416AA53FD7E5BBE84A63 less_than_or_equal_to
6 C563E6ECA3FA48119733634FA9179E9B contains
7 DC80CEE469E24F0D8B8D642A67F62920 does_not_contain
8 5401245FA2204AFDAE87B68EAECA37E6 starts_with
9 C86BD85D655E45E1A74DB79AAD6DE628 ends_with
# Public Id Name
1 BB953068117842F69EC52477085BAEE5 equals
2 562D268828964D00995A2E5A563ED2F0 not_equal_to
3 E63C7AA7559048A290B80708EF7DE343 less_than
4 9D2340FC9C3242B986524FBE2B4800AB greather_than
5 D69B63FEB8654E2BAE3C4ED9CA90AF7A less_than_or_equal_to
6 AEDE83DA57B24467B5465D582FA1BEB6 greather_than_or_equal_to
7 63D958C84A2640BBA1F9B50BB41738CA between
# Public Id Name
1 BC6302DBEA7B4A429B5A1C0BFABC47F7 equals
2 4483BCFDD196445BA2E652FBF6F43F51 not_equal_to
# Public Id Name
1 55F306EE19104D9CB8B5C55B143C6177 equals
2 ADB07A2630654C4FB56DC3AD6E4549A7 not_equal_to
3 9A98B37A9BB64FEC8B47C569F82C21CA less_than
4 62A6F2CE75284C5F8A2C3E828FB505D9 greather_than
5 59BBA1D505074F2C9B19B44F5208F952 less_than_or_equal_to
6 861FC032A4E0438CB229350F1DDF4F52 contains
7 FEFE84E4E3554E788FE1CB70B73D4D19 does_not_contain
8 6635F77D238A479A8DD8321B75CEF2AE starts_with
9 D80DB57A72D94813BFFCB1CA2E8D7EEE ends_with
# Public Id Name
1 462E63E73AC945A18D644E22B1104489 equals
2 272731EC75F149D08C811A6731693536 not_equal_to
3 82BD40DE114A4012837CB55B0EE0B8A1 less_than
4 A232CDD902D1434297483C28E01DE6C4 greather_than
5 1238487A29BC4ECABBE23DDCC3EEC1FD less_than_or_equal_to
6 436CB05B735E4FB58EB5C32AE71C106D contains
7 55A6E769143448E3B9245C9A552A1F49 does_not_contain
8 2F9A4984F5F84067AB8E89ACE138C42C starts_with
9 62650AFBE9AB40B59035934D095B28FF ends_with
# Public Id Name
1 E93A4139A8124A48AB975F15D66DC6E9 equals
2 6B546AFF7CA546FFB30C707190C983BA not_equal_to
3 20268E1B3C8B4F23BE307648BC278A78 less_than
4 9A8DF98072C2480B8FA0B8DB2FAEA4A7 greather_than
5 459B55022B324AC78E5586A88F17E1EC less_than_or_equal_to
6 B72B52FDC8AE4EE1A1FC5692C8363A35 contains
7 55ADB3506B0C46639FA3B25A319A9B5F does_not_contain
8 459B7AD418B74EDBBEE71082C8706917 starts_with
9 46DA3D1163E9403595F4FAEBB8A99F44 ends_with
# Public Id Name
1 8D57A8F8538D451A955B109F8FD726AF equals
2 F336FD1F10AB470F9DDFFA2FF9DD1E08 not_equal_to
3 50A5F745013142DB8A04803D81A9F49A less_than
4 A09B287F740843BAA713E343AD44B6BF greather_than
5 2B0E353DCAB34D9DA62081FB846EE7CF less_than_or_equal_to
6 B915DBF7D8FF4FB6A0E800CA1D13C3D0 greather_than_or_equal_to
# Public Id Name
1 FC91D3BBBF0141CDB499AD4682B2EA0F equals
2 880D5FDE5DC3484CAFBC9172ED7A4F63 not_equal_to
3 AE82A481DBF84047A410D8E4CD580430 greather_than
4 EEC2045EA6E243B3A01E05C6AFD0FB71 greather_than_or_equal_to
5 FA8DEF8B8CD1488E9F9ED7B20A4432A3 less_than
6 4F9D309851DA4C5A909CDBEAC74803A5 less_than_or_equal_to
7 49188E71506B487CB8D5F9B723C6206A between
# Public Id Name
1 9DAC355E10AD4569B1C4D90E99B96F44 equals
2 32E975E78C404C73BF3FADBF1757A8C7 not_equal_to
3 E00DF22E22EA4631BBC162CFA62F3C30 greather_than
4 20EB4BA7E4464B2483E7428E0517B5FD greather_than_or_equal_to
5 7A460E0B26B742CC8A711571D1C30C55 less_than
6 BD7CE1D5EDFD419BA7B1578EBE5BC680 less_than_or_equal_to
7 6B63E5D987984B52BFECBBD68B4932AE between
# Public Id Name
1 2D40641F27C344428EEC8CE0100071F1 equals
2 3A5F369651CF429FA53C83A7C02AF49F not_equal_to
3 D856C0FA5AD4460EAD7F59FDC2DEF7FC less_than
4 0A44A0DC65F84EADB6E176786FAA65C3 greather_than
5 BA11EAD8434C4B8C98E2FB0AF8C71954 less_than_or_equal_to
6 8964DF0FE64E47C28CF7FBCBC5536C84 greather_than_or_equal_to
# Public Id Name
0 F5DB3638329942AF8C778677F61390CC includes
0 66710104AA584703A2FD41775CD51003 not_includes
1 BC763C0A149C425A94ED8CBDA1417E62 equals
2 5365FD5F8552442FA0244E47A94F58C0 not_equal_to
3 A4C327972A0C4D00867D08B5BDA1C7A1 less_than
4 71929B58738C43449FA0672692E7A675 greather_than
5 7CB5F3CD574842ABB16AD61B38230B3D less_than_or_equal_to
6 98C41590DDBB4DFD82C6E5C52A27BDFA contains
7 3AF87EC2C00A46A086BA8D4B0CB743EA does_not_contain
8 4685B330CEEF47D7A715A7A340906851 start_with
9 2CE128BDD0894FE6914BBD20D347107A ends_with
# Public Id Name
0 2A30C820A7DD4B8080B67A4B4B4DBE3D includes
0 ECB5F57B526B4F52989F8E66F6042B38 not_includes
1 8B145F5B80D6418388A09DFD633846C6 equals
2 3F4F6580645E47E0921EE7A9B2042067 not_equal_to
3 174955BC6B294463BB829D353336DD2E less_than
4 2148885EFA0747F5A3382469086B4923 greather_than
5 4503463273E54ED49E9C55CD108A2F62 less_than_or_equal_to
6 77BAE3B07D70403898E922361960A759 contains
7 47EEEC4A91DD4AFB975060E97FDB53B6 does_not_contain
8 3D480B05833249D99E830E21D219D432 start_with
9 02416C3125644C0181907A7CF66373EC ends_with
# Public Id Name
0 00E35E3A9B7E414697EFF6661FFE0310 includes
0 BA9EFE5793C3499F93CD4871E951D9E7 not_includes
1 B0F4F867076046FDB287D7BFD33B1C9E equals
2 51077053325349D0B5B461AD8D90313C not_equal_to
3 A3F0B607F4094D969B2F887AAD5B12E3 less_than
4 C0D2383A75A948EAB3B817449DE5580F greather_than
5 D848FC07949A43D9A125EE00E00B92DB less_than_or_equal_to
6 E007CE7589B24137A72CAA092DA8A331 contains
7 4D6E28CF5C7449BA967050433901008A does_not_contain
8 FB16B8C55E274EEB84EC0E398E1DD435 start_with
9 0EE48B7478424473A2CE9621BCCE01EC ends_with
# Public Id Name
1 4FCA67B90EF746E48D121EEF0F2F9751 equals
2 827264209F234D72A11E692DBA19B1DF not_equal_to
3 1CC2853C514549298F4D4F7BD798E6B8 less_than
4 C9D52A20F91F4F9F92A6EAE5F5A87EB8 greather_than
5 2E2474F2A77E46859DDCC1892257138D less_than_or_equal_to
6 033D4A6112F445598E557791FEFAAB93 greather_than_or_equal_to
# Public Id Name
0 5417CE7589B24137A72CAA092DA8A354 contains
0 AE328AA58A0E4779B657BA3A17F4322F does_not_contain
1 62B97F15C15B85AF3880A1B4D18C21CD equals
2 A8A446BF69C843D6B99A723785D5B011 not_equal_to
3 21C3C39BC41F4351A7812C051D850C98 less_than
4 B1A290359D379450A21B257A573B3A56 greather_than
5 ADF938C6F1914D809A07CCD8F6CE0864 less_than_or_equal_to
8 64109B6959D644F795F3FFBCCA19BB45 start_with
9 6A2B527D29314A6FA6336ABF5E2D5642 ends_with
# Public Id Name
0 284BEA2DB2F64C58BF3C574768CABF07 includes
0 93F9FBBB92A9435B98E3610B6AFB6427 not_includes
1 6A5EADF08C124066900569A3BF37D8A7 equals
2 8018E0D162EA4946864FF76400AA52BD not_equal_to
3 3ADF59EA762748E1BB405ABFC3FF62B9 less_than
4 802710FCE526435C8CD5EACC02B47740 greather_than
5 C84AC17CFC3C4BC5AC4DEA2CB9D04DBB less_than_or_equal_to
6 E1868BD795164B6FA28575450598307E contains
7 D79548EF9D894B55B04619C0BE540834 does_not_contain
8 5BB2544F127946FF9243A25F2FF247A8 start_with
9 6F748D1249064E3B855E28F5B651E06B ends_with
# Public Id Name
1 2AB60F4B2FD14CC989B52770A2B12E2C equals
2 62E8EB7975BA4F4E93FBA4006980E12D not_equal_to
3 FD2D0920CFED4CDDB5DE30B9A482908F less_than
4 FCB1737518174DD0B7CC4A24088C5187 greather_than
5 625C5FAFA98344AF82F19B214C3DCB92 less_than_or_equal_to
6 5B60F5EA51434B7B98B02260369A0CEE contains
# Public Id Name
1 6DCCFD944BB14A2F949A93F51E851F53 equals
2 B47505196727440E8F923B1BF7315BBF not_equal_to
3 6FB489B842894510B25BFA6F75294CBC less_than
4 C7F3CDA6AC864B01AE347A72A0D15E30 greather_than
5 7D9C72EA57844996A89BA6DB82F29937 less_than_or_equal_to
6 010973EB54414C6E940AF24CBF03BCFA greather_than_or_equal_to
7 6DCCFD944BB14A2F949A93F51E851F53 between
# Public Id Name
1 53EFAA7773E94F77B973943677C1EC91 equals
2 529591158FA844F098FD36AF9FFB4F69 not_equal_to
3 C4B460373D6E461792ACC126A277939C less_than
4 02A687439C8A4986BD300FB7F13B85BE greather_than
5 381E280E43C54ED5BE88821F638F3511 less_than_or_equal_to
6 EBC25606797A4BDABB1D2AEBC8F9FD5B greather_than_or_equal_to
7 3A4B8B3AE38442D9B8F2224E7B334142 between
# Public Id Name
1 B66613F547634E478963835A7D38C2B4 equals
2 D607552040E9447E8FB0F9EEF7AF4E3B not_equal_to
3 A2ECF6B72ACF4DAFB48702215521AFE2 less_than
4 E64E9AD24E00499DB57CFE9F96F970EA greather_than
5 547572437C35442483CBFBA04187C1EE less_than_or_equal_to
6 75F04154E37C4B948BFAB949F5688CAF greather_than_or_equal_to
7 EDB6B18B237847B8AD3C7A1F54B4AC1D between
# Public Id Name
1 B66613F547634E478963835A7D38C2B4 equals
2 D607552040E9447E8FB0F9EEF7AF4E3B not_equal_to
3 A2ECF6B72ACF4DAFB48702215521AFE2 less_than
4 E64E9AD24E00499DB57CFE9F96F970EA greather_than
5 547572437C35442483CBFBA04187C1EE less_than_or_equal_to
6 75F04154E37C4B948BFAB949F5688CAF greather_than_or_equal_to
7 EDB6B18B237847B8AD3C7A1F54B4AC1D between
# Public Id Name
1 53EFAA7773E94F78B973943677C1EC91 equals
2 529591158FA844F298FD36AF9FFB4F69 not_equal_to
3 C4B460373D6E461892ACC126A277939C less_than
4 02A687439C8A4987BD300FB7F13B85BE greather_than
5 381E280E43C54ED6BE88821F638F3511 less_than_or_equal_to
6 EBC25606797A4BDBBB1D2AEBC8F9FD5B greather_than_or_equal_to
7 3A4B8B3AE38442D5B8F2224E7B334142 between
# Public Id Name
0 00E35E3A9B7E414697EFF6661FFE0315 contains
0 BA9EFE5793C3499F93CD4871E951D9E9 does_not_contain
1 B0F4F867076046FDB287D7BFD33B1C9F equals
2 51077053325349D0B5B461AD8D90313L not_equal_to
3 A3F0B607F4094D969B2F887AAD5B12E9 less_than
4 C0D2383A75A948EAB3B817449DE5580G greather_than
5 D848FC07949A43D9A125EE00E00B92DP less_than_or_equal_to
6 E007CE7589B24137A72CAA092DA8A332 contains
7 4D6E28CF5C7449BA967050433901008B does_not_contain
8 FB16B8C55E274EEB84EC0E398E1DD439 start_with
9 0EE48B7478424473A2CE9621BCCE01ED ends_with

Request Types


RecordRequestParameters


public class RecordRequestParameters
{
    public string RecordId { get; set; }
    public string CustomObjectId { get; set; }
    
    public Dictionary< string, object> FieldsValues { get; set; }
    public bool IsForcingSave { get; set; }
}
        


CompanyUserRequest


public class CompanyUserRequest
{
       public string FirstName { get; set; }
       public string LastName { get; set; }
       public string UserName { get; set; }
       public string PublicId { get; set; }
       public string ActiveMenuId { get; set; }
       public string MobileNumber { get; set; }
       public string IdentityNumber { get; set; }
       public string Department { get; set; }
       public string Degree { get; set; }
       public DateTime? StartedAt { get; set; }
       public DateTime? EndedAt { get; set; }
       public DateTime? BornAt { get; set; }
       public string Extension { get; set; }
       public string WelcomeUrl { get; set; }
       public string Level1ManagerPublicId { get; set; }
       public string Level2ManagerPublicId { get; set; }
       public string Level3ManagerPublicId { get; set; }
       public string SpecificCode1 { get; set; }
       public string SpecificCode2 { get; set; }
       public string SpecificCode3 { get; set; }
       public string BuddyPublicId { get; set; }
}
        


RecordSearchRequestParameters


 public class RecordSearchRequestParameters
    {
        public string CustomObjectPublicId { get; set; }
        public string ViewFilterPublicId { get; set; }
        private List<Criteria> Criterias;
        public string CriteriaExpression { get; set; }
        }

Criteria


    public class Criteria
  {
    public int Number { get; set; }
    public string FieldPublicId { get; set; }
    public string FieldName { get; set; }
    public string OperatorPublicId { get; set; }
    public string OperatorName { get; set; }
    public string Value { get; set; }
    public string Text { get; set; }
    public Criteria()
    {
      this.Text = this.Text ?? string.Empty;
    }
  }

Response Types

Data Transfer Object Documentation


RecordDto


public class RecordDto
{
    public long Id { get; set; }
    public string PublicId { get; set; }
    public string Name { get; set; }
    public bool IsActive { get; set; }
    public int CompanyId { get; set; }
    public long CustomObjectId { get; set; }
    public string CustomObjectName { get; set; }
    public List< CustomFieldValueDto> Values { get; set; }
    public List< KeyValue> LookupObjects { get; set; }
    
    public long UpdatedBy { get; set; }
    public DateTime UpdatedAt { get; set; }
    public long CreatedBy { get; set; }
    public DateTime CreatedAt { get; set; }
}
        


CustomFieldValueDto


public class CustomFieldValueDto
{
   public long Id { get; set; }
   public string PublicId { get; set; }
   public string Name { get; set; }
   public bool IsActive { get; set; }
   public long UpdatedBy { get; set; }
   public long CustomObjectId { get; set; }
   public string CustomObjectFormulaName { get; set; }
   public long FieldId { get; set; }
   public string FieldPublicId { get; set; }
   public string FieldFormulaName { get; set; }
   public long RecordId { get; set; }
   public string RecordPublicId { get; set; }
   public string SelectedItemIds { get; set; }
   public string SelectedItemPublicIds { get; set; }
   public long LookupRelationId { get; set; }
   public string LookupRecordPublicIds { get; set; }
   public string OrganizationalUnitName { get; set; }
   public bool IsMultipleValue { get; set; }
   public bool IsCalculated { get; set; }
   public int FieldTypeId { get; set; }
   public string SqlColumnPosfix { get; set; }
   public int Length { get; set; }
   public int DecimalPlaces { get; set; }
   public object Value { get; set; }
}
        


RecordResponse


public class RecordResponse
{
    public string RecordId { get; set; }
    public List< ValidationResult> Errors { get; set; }
    public List< ValidationResult> Warnings { get; set; }
    public List< ValidationResult> Informations { get; set; }
    public bool IsOk { get; set; }
    public string Message { get; set; }
}
        


RecordError


public class RecordError
{
    public string CustomFieldPublicId { get; set; }
    public string CustomFieldName { get; set; }
    public string Message { get; set; }
    public string Value { get; set; }
    public bool IsValidationRuleError { get; set; }
    public int LineNumber { get; set; }
}
        


KeyValue


public class KeyValue
{
    public string Key { get; set; }
    public string Value { get; set; }
}
        


PagedKeyValue


public class PagedKeyValue
{
    public int PageNumber { get; set; }
    public int PageSize { get; set; }
    public long ItemCount { get; set; }
    public int PageCount { get; set; }
    public bool HasPrevPage { get; set; }
    public bool HasNextPage { get; set; }
    public List< KeyValue> Items { get; set; }
}
        


PagedDto


public class PagedDto< T>
{
    public int PageNumber { get; set; }
    public int PageSize { get; set; }
    public long ItemCount { get; set; }
    public int PageCount { get; set; }
    public bool HasPrevPage { get; set; }
    public bool HasNextPage { get; set; }
    public List< T> Items { get; set; }
}