NAV Navigation
Shell HTTP JavaScript Ruby Python PHP Java Go

WebHR API v3.0.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

WebHR offers RESTful Application Programming Interface (API), based on semantically meaningful HTTPS requests to access or modify a resource within WebHR. The APIs can be used to either enter data into WebHR or extract data out of WebHR depending upon the nature of API and the need by an external application.

Base URLs:

Email: WebHR Support License: MIT

Authentication

Scope Scope Description
Full_Access Full access to all resources

Organization

CompaniesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=Companies?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=Companies?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Companies?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=Companies',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=Companies', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=Companies', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Companies?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=Companies", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=Companies

Lists all Companies in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Company": "string",
"CompanyCode": "string",
"LegalName": "string",
"ContactNumber": "string",
"FaxNumber": "string",
"EmailAddress": "string",
"Website": "string",
"BankName": "string",
"AccountTitle": "string",
"AccountNumber": "string",
"RoutingNumber": "string",
"AccountType": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Companies

AddCompany

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Organization&submodule=Companies?request=&Data=CompanyName,string,CompanyCode,string,CompanyType,string,LegalName,string,LegalTradingName,string,RegistrationNumber,string,CompanyRegistrationNumber,string,ContactPerson,string,ContactPersonDesignation,string,Designation,string,ContactNumber,string,PhoneNumber,string,FaxNumber,string,EmailAddress,string,Email,string,Website,string,Status,string,CompanyStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Organization&submodule=Companies?request=&Data=CompanyName,string,CompanyCode,string,CompanyType,string,LegalName,string,LegalTradingName,string,RegistrationNumber,string,CompanyRegistrationNumber,string,ContactPerson,string,ContactPersonDesignation,string,Designation,string,ContactNumber,string,PhoneNumber,string,FaxNumber,string,EmailAddress,string,Email,string,Website,string,Status,string,CompanyStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Companies?request=&Data=CompanyName,string,CompanyCode,string,CompanyType,string,LegalName,string,LegalTradingName,string,RegistrationNumber,string,CompanyRegistrationNumber,string,ContactPerson,string,ContactPersonDesignation,string,Designation,string,ContactNumber,string,PhoneNumber,string,FaxNumber,string,EmailAddress,string,Email,string,Website,string,Status,string,CompanyStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Organization&submodule=Companies',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddCompanies](#schemaaddcompanies)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Organization&submodule=Companies', params={
'request': '', 'Data': {
"CompanyName": "string",
"CompanyCode": "string",
"CompanyType": "string",
"LegalName": "string",
"LegalTradingName": "string",
"RegistrationNumber": "string",
"CompanyRegistrationNumber": "string",
"ContactPerson": "string",
"ContactPersonDesignation": "string",
"Designation": "string",
"ContactNumber": "string",
"PhoneNumber": "string",
"FaxNumber": "string",
"EmailAddress": "string",
"Email": "string",
"Website": "string",
"Status": "string",
"CompanyStatus": "string",
"CustomFields": [],
"AdditionalInfo": {}
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Organization&submodule=Companies', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Companies?request=&Data=CompanyName,string,CompanyCode,string,CompanyType,string,LegalName,string,LegalTradingName,string,RegistrationNumber,string,CompanyRegistrationNumber,string,ContactPerson,string,ContactPersonDesignation,string,Designation,string,ContactNumber,string,PhoneNumber,string,FaxNumber,string,EmailAddress,string,Email,string,Website,string,Status,string,CompanyStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Organization&submodule=Companies", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Organization&submodule=Companies

Adds Company in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add company
Data query AddCompanies true JSON Array of company details

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Company added successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

DivisionsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=Divisions?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=Divisions?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Divisions?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=Divisions',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=Divisions', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=Divisions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Divisions?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=Divisions", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=Divisions

Lists all Divisions in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Company": "string",
"DivisionType": "string",
"DivisionName": "string",
"DivisionCode": "string",
"DivisionHead": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Divisions

AddDivision

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Organization&submodule=Divisions?request=&Data=CompanyName,string,DivisionType,string,DivisionName,string,DivisionCode,string,DivisionHeadUserName,string,Notes,string,Status,string,DivisionStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Organization&submodule=Divisions?request=&Data=CompanyName,string,DivisionType,string,DivisionName,string,DivisionCode,string,DivisionHeadUserName,string,Notes,string,Status,string,DivisionStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Divisions?request=&Data=CompanyName,string,DivisionType,string,DivisionName,string,DivisionCode,string,DivisionHeadUserName,string,Notes,string,Status,string,DivisionStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Organization&submodule=Divisions',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddDivisions](#schemaadddivisions)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Organization&submodule=Divisions', params={
'request': '', 'Data': {
"CompanyName": "string",
"DivisionType": "string",
"DivisionName": "string",
"DivisionCode": "string",
"DivisionHeadUserName": "string",
"Notes": "string",
"Status": "string",
"DivisionStatus": "string",
"CustomFields": [],
"AdditionalInfo": {}
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Organization&submodule=Divisions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Divisions?request=&Data=CompanyName,string,DivisionType,string,DivisionName,string,DivisionCode,string,DivisionHeadUserName,string,Notes,string,Status,string,DivisionStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Organization&submodule=Divisions", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Organization&submodule=Divisions

Adds Division in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add division
Data query AddDivisions true JSON Array of division details

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Division added successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

DivisionsTypesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=DivisionsTypes?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=DivisionsTypes?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=DivisionsTypes?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=DivisionsTypes',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=DivisionsTypes', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=DivisionsTypes', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=DivisionsTypes?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=DivisionsTypes", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=DivisionsTypes

Lists all Division Types in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query DivisionsTypesParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"DivisionType": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK DivisionsTypes

StationsTypesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=StationsTypes?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=StationsTypes?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=StationsTypes?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=StationsTypes',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=StationsTypes', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=StationsTypes', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=StationsTypes?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=StationsTypes", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=StationsTypes

Lists all Station Types in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query StationsTypesParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"StationType": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK StationsTypes

StationsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=Stations?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=Stations?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Stations?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=Stations',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=Stations', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=Stations', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Stations?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=Stations", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=Stations

Lists all Stations in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"StationName": "string",
"StationCode": "string",
"Address": "string",
"City": "string",
"State": "string",
"ZipCode": "string",
"Country": "string",
"PhoneNumber": "string",
"FaxNumber": "string",
"EmailAddress": "string",
"Website": "string",
"Latitude": "string",
"Longitude": "string",
"StationHead": "string",
"StationGeneralManager": "string",
"StationCurrency": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Stations

AddStation

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Organization&submodule=Stations?request=&Data=CompanyName,string,DivisionName,string,StationType,string,StationName,string,StationCode,string,ParentStationName,string,Status,string,StationStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Organization&submodule=Stations?request=&Data=CompanyName,string,DivisionName,string,StationType,string,StationName,string,StationCode,string,ParentStationName,string,Status,string,StationStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Stations?request=&Data=CompanyName,string,DivisionName,string,StationType,string,StationName,string,StationCode,string,ParentStationName,string,Status,string,StationStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Organization&submodule=Stations',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddStations](#schemaaddstations)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Organization&submodule=Stations', params={
'request': '', 'Data': {
"CompanyName": "string",
"DivisionName": "string",
"StationType": "string",
"StationName": "string",
"StationCode": "string",
"ParentStationName": "string",
"Status": "string",
"StationStatus": "string",
"CustomFields": [],
"AdditionalInfo": {}
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Organization&submodule=Stations', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Stations?request=&Data=CompanyName,string,DivisionName,string,StationType,string,StationName,string,StationCode,string,ParentStationName,string,Status,string,StationStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Organization&submodule=Stations", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Organization&submodule=Stations

Adds Station in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add station
Data query AddStations true JSON Array of station details

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Station added successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

DepartmentsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=Departments?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=Departments?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Departments?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=Departments',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=Departments', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=Departments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Departments?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=Departments", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=Departments

Lists all Departments in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Company": null,
"Division": "string",
"Station": "string",
"DepartmentName": "string",
"DepartmentCode": "string",
"DepartmentHead": "string",
"ParentDepartment": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Departments

AddDepartment

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Organization&submodule=Departments?request=&Data=CompanyName,string,DivisionName,string,StationName,string,DepartmentName,string,DepartmentCode,string,ParentDepartmentName,string,DepartmentHeadUserName,string,AssistantDepartmentHeadUserName,string,Status,string,DepartmentStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Organization&submodule=Departments?request=&Data=CompanyName,string,DivisionName,string,StationName,string,DepartmentName,string,DepartmentCode,string,ParentDepartmentName,string,DepartmentHeadUserName,string,AssistantDepartmentHeadUserName,string,Status,string,DepartmentStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Departments?request=&Data=CompanyName,string,DivisionName,string,StationName,string,DepartmentName,string,DepartmentCode,string,ParentDepartmentName,string,DepartmentHeadUserName,string,AssistantDepartmentHeadUserName,string,Status,string,DepartmentStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Organization&submodule=Departments',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddDepartments](#schemaadddepartments)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Organization&submodule=Departments', params={
'request': '', 'Data': {
"CompanyName": "string",
"DivisionName": "string",
"StationName": "string",
"DepartmentName": "string",
"DepartmentCode": "string",
"ParentDepartmentName": "string",
"DepartmentHeadUserName": "string",
"AssistantDepartmentHeadUserName": "string",
"Status": "string",
"DepartmentStatus": "string",
"CustomFields": [],
"AdditionalInfo": {}
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Organization&submodule=Departments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Departments?request=&Data=CompanyName,string,DivisionName,string,StationName,string,DepartmentName,string,DepartmentCode,string,ParentDepartmentName,string,DepartmentHeadUserName,string,AssistantDepartmentHeadUserName,string,Status,string,DepartmentStatus,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Organization&submodule=Departments", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Organization&submodule=Departments

Adds Department in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add department
Data query AddDepartments true JSON Array of department details

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Department added successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

CustomFieldsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=CustomFields?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=CustomFields?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=CustomFields?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=CustomFields',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=CustomFields', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=CustomFields', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=CustomFields?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=CustomFields", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=CustomFields

Lists all Custom Fields in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"RecordId": "string",
"ComponentName": "string",
"CustomFieldName": "string",
"CustomFieldCategory": "string",
"MandatoryField": "string",
"CustomFieldType": "string",
"CustomFieldOrder": "string",
"CustomFieldPosition": "string",
"CustomFieldTypeValues": null,
"Instructions": "string"
}

Responses

Status Meaning Description Schema
200 OK OK CustomFieldsList

CostCentersList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=CostCenters

Lists all Cost Centers in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query CostCentersParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"CostCenterName": "string",
"CostCenterCode": "string",
"CostCenterHead": "string",
"Notes": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK CostCenters

AddCostCenter

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters?request=&Data=CostCenterName,string,CostCenterCode,string,CostCenterHeadUserName,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters?request=&Data=CostCenterName,string,CostCenterCode,string,CostCenterHeadUserName,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters?request=&Data=CostCenterName,string,CostCenterCode,string,CostCenterHeadUserName,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddCostCenters](#schemaaddcostcenters)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters', params={
'request': '', 'Data': {
"CostCenterName": "string",
"CostCenterCode": "string",
"CostCenterHeadUserName": "string",
"CustomFields": [],
"AdditionalInfo": {}
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters?request=&Data=CostCenterName,string,CostCenterCode,string,CostCenterHeadUserName,string,CustomFields,,AdditionalInfo,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Organization&submodule=CostCenters", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Organization&submodule=CostCenters

Adds Cost Center in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add cost center
Data query AddCostCenters true JSON Array of cost center details

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Cost center added successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

ParentDepartmentsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=ParentDepartments

Lists all Parent Departments in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query ParentDepartmentsParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"ParentDepartmentName": "string",
"ParentDepartmentHead": "string",
"ParentDepartmentAddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK ParentDepartments

AddParentDepartment

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments?request=&Data=ParentDepartmentName,string,ParentDepartmentHeadUserName,string,AdditionalInfo,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments?request=&Data=ParentDepartmentName,string,ParentDepartmentHeadUserName,string,AdditionalInfo,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments?request=&Data=ParentDepartmentName,string,ParentDepartmentHeadUserName,string,AdditionalInfo,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddParentDepartments](#schemaaddparentdepartments)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments', params={
'request': '', 'Data': {
"ParentDepartmentName": "string",
"ParentDepartmentHeadUserName": "string",
"AdditionalInfo": {}
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments?request=&Data=ParentDepartmentName,string,ParentDepartmentHeadUserName,string,AdditionalInfo,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Organization&submodule=ParentDepartments", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Organization&submodule=ParentDepartments

Adds Parent Department in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add parent department
Data query AddParentDepartments true JSON Array of parent department details

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Parent department added successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

TeamsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=Teams?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=Teams?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Teams?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=Teams',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=Teams', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=Teams', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Teams?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=Teams", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=Teams

Lists all Teams in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query TeamsParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"TeamTitle": "string",
"TeamLeader": "string",
"TeamCoordinators": "string",
"TeamEmployees": "string",
"Description": "string",
"Notes": "string",
"TeamAddedOn": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Teams

PoliciesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=Policies?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=Policies?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Policies?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=Policies',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=Policies', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=Policies', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Policies?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=Policies", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=Policies

Lists all Policies in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PoliciesParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PolicyTitle": "string",
"PolicyType": "string",
"Description": "string",
"Notes": "string",
"PolicyAddedOn": "string",
"Status": "string",
"CustomFields": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Policies

AnnouncementsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=Announcements?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=Announcements?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Announcements?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=Announcements',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=Announcements', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=Announcements', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Announcements?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=Announcements", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=Announcements

Lists all Announcements in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query AnnouncementsParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"AnnouncementTitle": "string",
"AnnouncementStartDate": "string",
"AnnouncementEndDate": "string",
"Message": "string",
"AnnouncementByEmail": "string",
"Notes": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Announcements

NotificationsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=Notifications?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=Notifications?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Notifications?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=Notifications',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=Notifications', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=Notifications', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Notifications?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=Notifications", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=Notifications

Lists all Notifications in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query NotificationsParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Notifications by StartDate, EndDate,Page and Search. Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-23”,“Page”:1,“Search”:“deadline”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"NotificationType": "string",
"SendTo(Employee)": "string",
"SendToSelf": "string",
"ExemptEmployees": "string",
"DaysToSendNotification": "string",
"NotificationAddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Notifications

RemindersList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Organization&submodule=Reminders?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Organization&submodule=Reminders?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Organization&submodule=Reminders?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Organization&submodule=Reminders',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Organization&submodule=Reminders', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Organization&submodule=Reminders', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Organization&submodule=Reminders?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Organization&submodule=Reminders", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Organization&submodule=Reminders

Lists all Reminders in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query RemindersParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Reminders by StartDate, EndDate, ReminderTitle, Status, Page and Search. Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-23”,“ReminderTitle”:“Payroll Follow-up”,“Page”:1,“Search”:“payroll”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"ReminderTitle": "string",
"ReminderType": "string",
"ReminderDate": "string",
"SendReminderTo(Employee)": "string",
"ReminderEmployees": "string",
"Message": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Reminders

Employees

EmployeesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Employees?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Employees?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Employees?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Employees',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Employees', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Employees', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Employees?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Employees", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Employees

Lists all Employees in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query EmployeesParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"AccessCode": "string",
"FirstName": "string",
"LastName": "string",
"MiddleName": "string",
"FullName": "string",
"EmailAddress": "string",
"Status": "string",
"Designation": "string",
"EmployeeGrade": "string",
"CompanyName": "string",
"DivisionName": "string",
"DepartmentName": "string",
"StationName": "string",
"EmployeeCategory": "string",
"EmployeeType": "string",
"NotActivelyWorking": "string",
"NotActivelyWorkingReason": "string",
"JoiningDate": "string",
"GovernmentId": "string",
"DateOfBirth": "string",
"Gender": "string",
"MaritalStatus": "string",
"BloodGroup": "string",
"PresentContactNumber": "string",
"MobileNumber": "string",
"OfficePhoneNumber": "string",
"PositionCode": "string",
"ReportsTo": "string",
"PermanentAddress": "string",
"PermanentCity": "string",
"PermanentState": "string",
"PermanentCountry": "string",
"PresentAddress": "string",
"PresentCity": "string",
"PresentState": "string",
"PresentCountry": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Employees

AddEmployee

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Employees&submodule=Employees?request=&data=CompanyName,string,DivisionName,string,StationName,string,DepartmentName,string,Designation,string,Grade,string,WorkShift,string,EmployeeCategory,string,EmployeeType,string,UserName,string,FirstName,string,LastName,string,Password,string,AllowLogin,string,EmailAddress,string,ShowInOrganogram,string,AccessCode,string,ReportsTo,string,Supervisor,string,Salutation,string,Nickname,string,DateofBirth,string,Gender,string,BloodGroup,string,Nationality,string,Religion,string,MaritalStatus,string,JoiningDate,string,GovernmentId,string,EmployeeTaxNumber,string,PresentAddress,string,PresentCity,string,PresentState,string,PresentZipCode,string,PresentCountry,string,PresentContactNumber,string,PermanentAddress,string,PermanentCity,string,PermanentState,string,PermanentZipCode,string,PermanentCountry,string,PermanentContactNumber,string,HomePhoneNumber,string,OfficePhoneNumber,string,MobileNumber,string,PassportNumber,string,PassportExpiration,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Employees&submodule=Employees?request=&data=CompanyName,string,DivisionName,string,StationName,string,DepartmentName,string,Designation,string,Grade,string,WorkShift,string,EmployeeCategory,string,EmployeeType,string,UserName,string,FirstName,string,LastName,string,Password,string,AllowLogin,string,EmailAddress,string,ShowInOrganogram,string,AccessCode,string,ReportsTo,string,Supervisor,string,Salutation,string,Nickname,string,DateofBirth,string,Gender,string,BloodGroup,string,Nationality,string,Religion,string,MaritalStatus,string,JoiningDate,string,GovernmentId,string,EmployeeTaxNumber,string,PresentAddress,string,PresentCity,string,PresentState,string,PresentZipCode,string,PresentCountry,string,PresentContactNumber,string,PermanentAddress,string,PermanentCity,string,PermanentState,string,PermanentZipCode,string,PermanentCountry,string,PermanentContactNumber,string,HomePhoneNumber,string,OfficePhoneNumber,string,MobileNumber,string,PassportNumber,string,PassportExpiration,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Employees?request=&data=CompanyName,string,DivisionName,string,StationName,string,DepartmentName,string,Designation,string,Grade,string,WorkShift,string,EmployeeCategory,string,EmployeeType,string,UserName,string,FirstName,string,LastName,string,Password,string,AllowLogin,string,EmailAddress,string,ShowInOrganogram,string,AccessCode,string,ReportsTo,string,Supervisor,string,Salutation,string,Nickname,string,DateofBirth,string,Gender,string,BloodGroup,string,Nationality,string,Religion,string,MaritalStatus,string,JoiningDate,string,GovernmentId,string,EmployeeTaxNumber,string,PresentAddress,string,PresentCity,string,PresentState,string,PresentZipCode,string,PresentCountry,string,PresentContactNumber,string,PermanentAddress,string,PermanentCity,string,PermanentState,string,PermanentZipCode,string,PermanentCountry,string,PermanentContactNumber,string,HomePhoneNumber,string,OfficePhoneNumber,string,MobileNumber,string,PassportNumber,string,PassportExpiration,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Employees&submodule=Employees',
params: {
'request' => 'string(varchar255)',
'data' => '[AddEmployees](#schemaaddemployees)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Employees&submodule=Employees', params={
'request': '', 'data': {
"CompanyName": "string",
"DivisionName": "string",
"StationName": "string",
"DepartmentName": "string",
"Designation": "string",
"Grade": "string",
"WorkShift": "string",
"EmployeeCategory": "string",
"EmployeeType": "string",
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"Password": "string",
"AllowLogin": "string",
"EmailAddress": "string",
"ShowInOrganogram": "string",
"AccessCode": "string",
"ReportsTo": "string",
"Supervisor": "string",
"Salutation": "string",
"Nickname": "string",
"DateofBirth": "string",
"Gender": "string",
"BloodGroup": "string",
"Nationality": "string",
"Religion": "string",
"MaritalStatus": "string",
"JoiningDate": "string",
"GovernmentId": "string",
"EmployeeTaxNumber": "string",
"PresentAddress": "string",
"PresentCity": "string",
"PresentState": "string",
"PresentZipCode": "string",
"PresentCountry": "string",
"PresentContactNumber": "string",
"PermanentAddress": "string",
"PermanentCity": "string",
"PermanentState": "string",
"PermanentZipCode": "string",
"PermanentCountry": "string",
"PermanentContactNumber": "string",
"HomePhoneNumber": "string",
"OfficePhoneNumber": "string",
"MobileNumber": "string",
"PassportNumber": "string",
"PassportExpiration": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Employees&submodule=Employees', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Employees?request=&data=CompanyName,string,DivisionName,string,StationName,string,DepartmentName,string,Designation,string,Grade,string,WorkShift,string,EmployeeCategory,string,EmployeeType,string,UserName,string,FirstName,string,LastName,string,Password,string,AllowLogin,string,EmailAddress,string,ShowInOrganogram,string,AccessCode,string,ReportsTo,string,Supervisor,string,Salutation,string,Nickname,string,DateofBirth,string,Gender,string,BloodGroup,string,Nationality,string,Religion,string,MaritalStatus,string,JoiningDate,string,GovernmentId,string,EmployeeTaxNumber,string,PresentAddress,string,PresentCity,string,PresentState,string,PresentZipCode,string,PresentCountry,string,PresentContactNumber,string,PermanentAddress,string,PermanentCity,string,PermanentState,string,PermanentZipCode,string,PermanentCountry,string,PermanentContactNumber,string,HomePhoneNumber,string,OfficePhoneNumber,string,MobileNumber,string,PassportNumber,string,PassportExpiration,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Employees&submodule=Employees", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Employees&submodule=Employees

Adds Employees in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request to add employees
data query AddEmployees true JSON Array

Detailed descriptions

request: “Add” is required in request to add employees “Add” is required in request parameter to add employees

data: JSON Array “JSON Array” of employees

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Employee has been addedd Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

RehiresList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesRehire?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesRehire?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesRehire?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesRehire',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesRehire', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesRehire', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesRehire?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesRehire", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=EmployeesRehire

Lists all Rehire in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query RehireParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"ExitDate": null,
"PreviousCompanyName": "string",
"PreviousStationName": "string",
"PreviousDivisionName": "string",
"PreviousDepartmentName": "string",
"PreviousDesignation": "string",
"PreviousEmployeeGrade": "string",
"PreviousEmployeeWorkShift": "string",
"PreviousEmployeeReportsTo": "string",
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"DepartmentName": "string",
"Designation": "string",
"EmployeeGrade": "string",
"EmployeeWorkShift": "string",
"EmployeeReportsTo": "string",
"JoiningDate": null,
"NewJoiningDate": null,
"Reason": "string",
"RehireAddedOn": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Rehire

TransfersList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Transfers?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Transfers?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Transfers?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Transfers',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Transfers', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Transfers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Transfers?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Transfers", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Transfers

Lists all Trasnfers in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query TransferParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"TransferType": "string",
"TransferDate": null,
"TransferFromStation": "string",
"TransferToStation": "string",
"TransferFromDepartment": "string",
"TransferToDepartment": "string",
"TransferFromCompany": "string",
"TransferToCompany": "string",
"TransferFromDivision": "string",
"TransferToDivision": "string",
"TransferFromEmployeeType": "string",
"TransferToEmployeeType": "string",
"TransferFromEmployeeCategory": "string",
"TransferToEmployeeCategory": "string",
"TransferFromEmployeeDesignation": "string",
"TransferToEmployeeDesignation": "string",
"TransferFromEmployeeReportsTo": "string",
"TransferToEmployeeReportsTo": "string",
"TransferFromEmployeeGrade": "string",
"TransferToEmployeeGrade": "string",
"TransferFromWorkShift": "string",
"TransferToWorkShift": "string",
"TransferFrom_HRBudgetOpenPosition": "string",
"TransferTo_HRBudgetOpenPosition": "string",
"OpenPositionCode": null,
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Transfers

ExitList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesExit?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesExit?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesExit?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesExit',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesExit', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesExit', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesExit?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=EmployeesExit", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=EmployeesExit

Lists all Employees Exits in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query ExitParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"ExitDate": null,
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"ExitType": "string",
"ExitInterviewConducted": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Exit

ResignationsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Resignations?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Resignations?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Resignations?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Resignations',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Resignations', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Resignations', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Resignations?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Resignations", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Resignations

Lists all Resignations in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"ResignationDate": null,
"NoticeDate": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Resignations

PromotionsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Promotions?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Promotions?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Promotions?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Promotions',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Promotions', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Promotions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Promotions?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Promotions", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Promotions

Lists all Promotions in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PromotionsParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"Title": "string",
"PromotionDate": null,
"PromotionTypeTitle": "string",
"EmployeeDesignation_From": "string",
"EmployeeDesignation_To": "string",
"EmployeeGrade_From": "string",
"EmployeeGrade_To": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Promotions

TerminationsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Terminations?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Terminations?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Terminations?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Terminations',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Terminations', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Terminations', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Terminations?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Terminations", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Terminations

Lists all Terminations in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"TerminationType": "string",
"TerminationDate": null,
"NoticeDate": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Terminations

AchievementsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Achievements?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Achievements?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Achievements?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Achievements',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Achievements', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Achievements', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Achievements?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Achievements", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Achievements

Lists all Achievements in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"AchievementTitle": "string",
"AchievementDate": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Achievements

ComplaintsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Complaints?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Complaints?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Complaints?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Complaints',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Complaints', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Complaints', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Complaints?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Complaints", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Complaints

Lists all Complaints in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"Title": "string",
"ComplaintDate": null,
"ComplaintAgainst": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Complaints

WarningsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Warnings?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Warnings?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Warnings?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Warnings',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Warnings', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Warnings', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Warnings?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Warnings", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Warnings

Lists all Warnings in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"WarningByEmployee": "string",
"WarningToEmployee": "string",
"WarningDate": null,
"TypeOfWarning": "string",
"Subject": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Warnings

MemosList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Memos?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Memos?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Memos?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Memos',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Memos', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Memos', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Memos?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Memos", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Memos

Lists all Memos in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"MemoDate": null,
"Subject": "string",
"MemoTo": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Memos

SuggestionsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Suggestions?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Suggestions?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Suggestions?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Suggestions',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Suggestions', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Suggestions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Suggestions?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Suggestions", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Suggestions

Lists all Suggestions in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"Title": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Suggestions

IncidentsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Incidents?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Incidents?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Incidents?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Incidents',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Incidents', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Incidents', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Incidents?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Incidents", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Incidents

Lists all Incidents in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"CategoryType": null,
"IncidentType": "string",
"Title": "string",
"IncidentDate": null,
"IncidenttTime": null,
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Incidents

PollsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Employees&submodule=Polls?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Employees&submodule=Polls?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Polls?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Employees&submodule=Polls',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Employees&submodule=Polls', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Employees&submodule=Polls', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Polls?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Employees&submodule=Polls", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Employees&submodule=Polls

Lists all Polls in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PollsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“AllowCustomFields”:1,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-23”,“UserName”:“john.doe”,“Page”:1,“Search”:“engagement”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"Question": "string",
"Answer1": "string",
"Answer2": "string",
"Answer3": "string",
"Answer4": "string",
"Answer5": "string",
"Answer6": "string",
"PollStartDate": null,
"PollEndDate": null,
"PollAddedOn": null,
"Status": "string",
"CustomFieldsData": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Polls

AddPoll

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Employees&submodule=Polls?request=&Data=Question,string,Answer1,string,Answer2,string,Answer3,string,Answer4,string,Answer5,string,Answer6,string,Notes,string,AdditionalInfo,%5Bobject%20Object%5D,CustomFields,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Employees&submodule=Polls?request=&Data=Question,string,Answer1,string,Answer2,string,Answer3,string,Answer4,string,Answer5,string,Answer6,string,Notes,string,AdditionalInfo,%5Bobject%20Object%5D,CustomFields,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Employees&submodule=Polls?request=&Data=Question,string,Answer1,string,Answer2,string,Answer3,string,Answer4,string,Answer5,string,Answer6,string,Notes,string,AdditionalInfo,%5Bobject%20Object%5D,CustomFields,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Employees&submodule=Polls',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddPoll](#schemaaddpoll)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Employees&submodule=Polls', params={
'request': '', 'Data': {
"Question": "string",
"Answer1": "string",
"Answer2": "string",
"Answer3": "string",
"Answer4": "string",
"Answer5": "string",
"Answer6": "string",
"PollStartDate": null,
"PollEndDate": null,
"Notes": "string",
"AdditionalInfo": {},
"CustomFields": {}
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Employees&submodule=Polls', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Employees&submodule=Polls?request=&Data=Question,string,Answer1,string,Answer2,string,Answer3,string,Answer4,string,Answer5,string,Answer6,string,Notes,string,AdditionalInfo,%5Bobject%20Object%5D,CustomFields,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Employees&submodule=Polls", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Employees&submodule=Polls

Adds Polls in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Poll
Data query AddPoll true JSON Object of Poll data.

Detailed descriptions

Data: JSON Object of Poll data. Flow: required fields are Question, Answer1, Answer2, PollStartDate and PollEndDate. Optional fields are Answer3, Answer4, Answer5, Answer6, Notes, AdditionalInfo and CustomFields. Example:Data={“Question”:“How satisfied are you with the new policy?”,“Answer1”:“Very Satisfied”,“Answer2”:“Satisfied”,“Answer3”:“Neutral”,“Answer4”:“Dissatisfied”,“PollStartDate”:“2026-08-01”,“PollEndDate”:“2026-08-31”,“Notes”:“August engagement poll”,“AdditionalInfo”:{“RecordSource”:2},“CustomFields”:{“1”:{“FieldValue”:“HR”}}}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Poll Added Successfully. string
Fail Unknown Error -> Missing Question / Missing Answer1 / Missing Answer2 / Missing PollStartDate / Missing PollEndDate / Invalid PollStartDate / Invalid PollEndDate / PollEndDate must be greater than or equal to PollStartDate. string

Timesheet

AttendanceList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Timesheet&submodule=Attendance

Lists all Attendances in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query AttendanceParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"AttendanceDate": null,
"SignInTime": null,
"SignOutTime": null,
"LunchBreakOutTime": null,
"LunchBreakInTime": null,
"AdditionalBreakOutTime": null,
"AdditionalBreakInTime": null,
"ExtraBreakOutTime": null,
"ExtraBreakInTime": null,
"BreakOutTime": null,
"TotalTime": null,
"ApprovalStatus": "string",
"Approver": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Attendance

AddAttendance

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance?request=&Data=AccessCode,string,Type,string,WorkShift,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance?request=&Data=AccessCode,string,Type,string,WorkShift,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance?request=&Data=AccessCode,string,Type,string,WorkShift,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddAttendance](#schemaaddattendance)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance', params={
'request': '', 'Data': {
"AccessCode": "string",
"Date": null,
"Time": null,
"Type": "string",
"WorkShift": "string",
"SchedulerId": null
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance?request=&Data=AccessCode,string,Type,string,WorkShift,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Timesheet&submodule=Attendance", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Timesheet&submodule=Attendance

Add Leave in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Attendance
Data query AddAttendance true “JSON Array” of Attendance Data.

Detailed descriptions

Data: “JSON Array” of Attendance Data. Example For Data Param: Data=[{“AccessCode”:“8”,“Date”:“2021-04-02”,“Time”:“09:03:00”,“Type”:“Sign In”,“WorkShift”:“Regular WorkShift”}]

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Records added in queue successfully. Data will be available in your WebHR account shortly. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

LeavesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Timesheet&submodule=Leaves

Lists all Leaves in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query LeavesParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"Reason": "string",
"ReferenceNumber": "string",
"LeaveType": "string",
"LunchBreakOutTime": null,
"LeaveFrom": null,
"LeaveTo": null,
"LeaveHours": "string",
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Leaves

AddLeave

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves?request=&params=UserName,string,LeaveType,string,LeaveDuration,string,HalfDayLeavePeriod,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves?request=&params=UserName,string,LeaveType,string,LeaveDuration,string,HalfDayLeavePeriod,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves?request=&params=UserName,string,LeaveType,string,LeaveDuration,string,HalfDayLeavePeriod,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves',
params: {
'request' => 'string(varchar255)',
'params' => '[AddLeave](#schemaaddleave)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves', params={
'request': '', 'params': {
"UserName": "string",
"LeaveFrom": null,
"LeaveTo": null,
"LeaveType": "string",
"LeaveDuration": "string",
"HalfDayLeavePeriod": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves?request=&params=UserName,string,LeaveType,string,LeaveDuration,string,HalfDayLeavePeriod,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Timesheet&submodule=Leaves", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Timesheet&submodule=Leaves

Add Leave in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request to add Leave
params query AddLeave true “JSON Array” of Leave Data.

Detailed descriptions

request: “Add” is required in request to add Leave “Add” is required in request parameter to add Leave

params: “JSON Array” of Leave Data. Example:params={“UserName”:“test123”,“LeaveFrom”:“2021-04-02”,“LeaveTo”:“2021-04-04”,“LeaveType”:“Annual Leave”,“LeaveDuration”:“Full Day Leave”}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Data has been added successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

LeavesQuotaList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Timesheet&submodule=LeavesQuota?request=&params=Year,string,UserName,string,LeaveType,string \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Timesheet&submodule=LeavesQuota?request=&params=Year,string,UserName,string,LeaveType,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=LeavesQuota?request=&params=Year,string,UserName,string,LeaveType,string',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Timesheet&submodule=LeavesQuota',
params: {
'request' => 'string(varchar255)',
'params' => '[LeavesQuotaParams](#schemaleavesquotaparams)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Timesheet&submodule=LeavesQuota', params={
'request': '', 'params': {
"Year": "string",
"UserName": "string",
"LeaveType": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Timesheet&submodule=LeavesQuota', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=LeavesQuota?request=&params=Year,string,UserName,string,LeaveType,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Timesheet&submodule=LeavesQuota", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Timesheet&submodule=LeavesQuota

Lists Leaves Quota in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query LeavesQuotaParams true JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Example:params={“Year”:“2021”, “UserName”: “jack”, “LeaveType” : “Annual Leave”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Year": "string",
"Employee": "string",
"UserName": "string",
"AccessCode": "string",
"EmployeeType": "string",
"EmployeeCategory": null,
"LeaveType": null,
"Entitled": null,
"Accrued": "string",
"CarriedOver": "string",
"Additional": null,
"Adjusted": null,
"Taken": null,
"Pending": "string",
"Balance": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK LeavesQuota

EmployeeHoursList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Timesheet&submodule=EmployeeHours&request=List

Lists Employee Hours in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query EmployeeHoursParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"UserName": "string",
"Employee": "string",
"Project": "string",
"EmployeeHoursDate": null,
"RegularHours": 0,
"OvertimeHours": 0
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK EmployeeHours

AddEmployeeHours

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Add?request=&Data=UserName,string,EmployeeId,0,Project,string,ProjectId,0,ProjectTaskId,0,EmployeeHoursDate,string,RegularHours,string,OvertimeHours,string,Description,string,JiraWorklogId,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Add?request=&Data=UserName,string,EmployeeId,0,Project,string,ProjectId,0,ProjectTaskId,0,EmployeeHoursDate,string,RegularHours,string,OvertimeHours,string,Description,string,JiraWorklogId,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Add?request=&Data=UserName,string,EmployeeId,0,Project,string,ProjectId,0,ProjectTaskId,0,EmployeeHoursDate,string,RegularHours,string,OvertimeHours,string,Description,string,JiraWorklogId,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Add',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddEmployeeHours](#schemaaddemployeehours)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Add', params={
'request': '', 'Data': {
"UserName": "string",
"EmployeeId": 0,
"Project": "string",
"ProjectId": 0,
"ProjectTaskId": 0,
"EmployeeHoursDate": "string",
"RegularHours": "string",
"OvertimeHours": "string",
"Description": "string",
"JiraWorklogId": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Add?request=&Data=UserName,string,EmployeeId,0,Project,string,ProjectId,0,ProjectTaskId,0,EmployeeHoursDate,string,RegularHours,string,OvertimeHours,string,Description,string,JiraWorklogId,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Add", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Timesheet&submodule=EmployeeHours&request=Add

Add Employee Hours in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Employee Hours
Data query AddEmployeeHours true JSON Object of Employee Hours.

Detailed descriptions

Data: JSON Object of Employee Hours. Flow: send either UserName or EmployeeId. For project mapping, send either Project or ProjectId. EmployeeHoursDate defaults to current date if omitted. RegularHours and OvertimeHours default to 0 when omitted. Duplicate hours or duplicate JiraWorklogId are rejected. Example:Data={“UserName”:“david”,“Project”:“WebHR”,“EmployeeHoursDate”:“2026-07-20”,“RegularHours”:“8”,“OvertimeHours”:“1”,“ProjectTaskId”:“12”,“Description”:“Worked on API documentation”,“JiraWorklogId”:“WH-123-1”}

Example responses

200 Response

{
"Status": 0,
"Message": "string",
"Error": "string"
}

Responses

Status Meaning Description Schema
200 OK OK GenericAddResponse

UpdateEmployeeHours

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Update?request=&params= \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Update?request=&params= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Update?request=&params=',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Update',
params: {
'request' => 'string(varchar255)',
'params' => 'string(varchar255)',
'Data' => 'undefined'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Update', params={
'request': '', 'params': '', 'Data': undefined
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Update?request=&params=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Update", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Timesheet&submodule=EmployeeHours&request=Update

Update Employee Hours in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Update” is required in request parameter to update Employee Hours
params query string(varchar255) true JSON Object of parameters containing FieldId returned in list API.
Data query undefined true “JSON Array” of Employee Hours

Detailed descriptions

params: JSON Object of parameters containing FieldId returned in list API. Example:params={“FieldId”:“WyI2OTQiLCJDdG1IcUoiXQ==”}

Data: “JSON Array” of Employee Hours Example:Data={“UserName”:“david”,“Project”:“WebHR”,“EmployeeHoursDate”:“2022-03-20”,“RegularHours”:“8”,“OvertimeHours”:“1”}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Record Updated Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

DeleteEmployeeHours

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Delete?request=&params= \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Delete?request=&params= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Delete?request=&params=',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Delete',
params: {
'request' => 'string(varchar255)',
'params' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Delete', params={
'request': '', 'params': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Delete?request=&params=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Timesheet&submodule=EmployeeHours&request=Delete", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Timesheet&submodule=EmployeeHours&request=Delete

Delete Employee Hours in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Delete” is required in request to delete Employee Hours
params query string(varchar255) true JSON Object of parameters containing FieldId returned in list API.

Detailed descriptions

request: “Delete” is required in request to delete Employee Hours “Delete” is required in request parameter to delete Employee Hours

params: JSON Object of parameters containing FieldId returned in list API. Example:params={“FieldId”:“WyI2OTQiLCJDdG1IcUoiXQ==”}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Record Deleted Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

HolidaysList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Timesheet&submodule=Holidays&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Timesheet&submodule=Holidays&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=Holidays&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Timesheet&submodule=Holidays&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Timesheet&submodule=Holidays&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Timesheet&submodule=Holidays&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=Holidays&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Timesheet&submodule=Holidays&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Timesheet&submodule=Holidays&request=List

Lists Holidays in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query Holidays false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"Title": "string",
"HolidayDuration": "string",
"HolidayStartDate": null,
"HolidayEndDate": null,
"PaidHoliday": "string",
"Status": "string",
"Company": "string",
"Station": "string",
"Department": "string",
"RecordAddedOn": null,
"RecordAddedBy": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Holidays

WorkFromHomeList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkFromHome&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkFromHome&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkFromHome&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkFromHome&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkFromHome&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkFromHome&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkFromHome&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkFromHome&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Timesheet&submodule=WorkFromHome&request=List

Lists WorkFromHome in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query WorkFromHome false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"UserName": "string",
"Employee": "string",
"WorkFromHomeType": "string",
"WorkFromHomeStartDate": null,
"WorkFromHomeEndDate": null,
"ApprovalStatus": "string",
"RecordAddedOn": null,
"RecordAddedBy": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK WorkFromHome

SpecificDaysOffList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Timesheet&submodule=SpecificDaysOff&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Timesheet&submodule=SpecificDaysOff&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=SpecificDaysOff&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Timesheet&submodule=SpecificDaysOff&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Timesheet&submodule=SpecificDaysOff&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Timesheet&submodule=SpecificDaysOff&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=SpecificDaysOff&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Timesheet&submodule=SpecificDaysOff&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Timesheet&submodule=SpecificDaysOff&request=List

Lists Specific Days Off in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query SpecificDaysOff false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"UserName": "string",
"FullName": "string",
"Notes": "string",
"DayOffDate": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK SpecificDaysOff

WorksheetList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Timesheet&submodule=Worksheet&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Timesheet&submodule=Worksheet&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=Worksheet&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Timesheet&submodule=Worksheet&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Timesheet&submodule=Worksheet&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Timesheet&submodule=Worksheet&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=Worksheet&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Timesheet&submodule=Worksheet&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Timesheet&submodule=Worksheet&request=List

Lists all Worksheets in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query WorksheetParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Example:params={“StartDate”:“”,“EndDate”:“”,“Page”:1,“Search”:“”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"WorksheetTitle": "string",
"ProjectTitle": "string",
"WorksheetDate": null,
"WorksheetStartTime": "string",
"WorksheetEndTime": "string",
"WorkFromHome": "string",
"ApprovalStatus": "string",
"RecordAddedOn": "string",
"RecordAddedBy": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Worksheet

FlexHoursList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Timesheet&submodule=FlexHours?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Timesheet&submodule=FlexHours?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=FlexHours?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Timesheet&submodule=FlexHours',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Timesheet&submodule=FlexHours', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Timesheet&submodule=FlexHours', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=FlexHours?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Timesheet&submodule=FlexHours", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Timesheet&submodule=FlexHours

Lists all Flex Hours in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query FlexHoursParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“UserName”:“john.doe”,“ApprovalStatus”:“Approved”,“AllowCustomFields”:1,“Page”:1,“Search”:“late arrival”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Date": "string",
"Hours": "string",
"Notes": "string",
"ApprovalStatus": "string",
"RecordAddedOn": "string",
"CustomFields": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK FlexHours

WorkShiftsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkShifts?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkShifts?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkShifts?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkShifts',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkShifts', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkShifts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkShifts?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Timesheet&submodule=WorkShifts", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Timesheet&submodule=WorkShifts

Lists all Work Shifts in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query WorkShiftsParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“Approved”,“UserName”:“john.doe”,“AllowCustomFields”:1,“Page”:1,“Search”:“night”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Title": "string",
"Status": "string",
"NightShift": 0,
"SchedulerShift": 0,
"Notes": "string",
"WorkDays": [
"string"
],
"WorkHours": [
"string"
],
"RegularWorkHours": [
"string"
],
"WorkShiftAddedOn": "string",
"CustomFields": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK WorkShifts

Projects

ProjectsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Projects&submodule=Projects&request=List

Lists Projects in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"ProjectTitle": "string",
"ProjectCode": "string",
"ClientName": "string",
"ProjectCategoryName": null,
"ProjectStartDate": null,
"ProjectEndDate": null,
"ProjectManager": "string",
"ProjectCoordinator": "string",
"ProjectEmployees": "string",
"ProjectStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Projects

AddProjects

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Add?request=&Data=Status,1,Summary,%5Bobject%20Object%5D,Data,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Add?request=&Data=Status,1,Summary,%5Bobject%20Object%5D,Data,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Add?request=&Data=Status,1,Summary,%5Bobject%20Object%5D,Data,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Add',
params: {
'request' => 'string(varchar255)',
'Data' => '[Projects](#schemaprojects)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Add', params={
'request': '', 'Data': {
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"ProjectTitle": "string",
"ProjectCode": "string",
"ClientName": "string",
"ProjectCategoryName": null,
"ProjectStartDate": null,
"ProjectEndDate": null,
"ProjectManager": "string",
"ProjectCoordinator": "string",
"ProjectEmployees": "string",
"ProjectStatus": "string"
}
}
]
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Add?request=&Data=Status,1,Summary,%5Bobject%20Object%5D,Data,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Add", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Projects&submodule=Projects&request=Add

Add Projects in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Projects
Data query Projects true “JSON Array” of Data

Detailed descriptions

Data: “JSON Array” of Data Example:Data={“ProjectTitle”:“Test API Project”, “ProjectEmployees”:[“admin”]}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Record addedd Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

UpdateProjects

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Update?request=&params=&Data=Status,1,Summary,%5Bobject%20Object%5D,Data,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Update?request=&params=&Data=Status,1,Summary,%5Bobject%20Object%5D,Data,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Update?request=&params=&Data=Status,1,Summary,%5Bobject%20Object%5D,Data,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Update',
params: {
'request' => 'string(varchar255)',
'params' => 'string(varchar255)',
'Data' => '[Projects](#schemaprojects)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Update', params={
'request': '', 'params': '', 'Data': {
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"ProjectTitle": "string",
"ProjectCode": "string",
"ClientName": "string",
"ProjectCategoryName": null,
"ProjectStartDate": null,
"ProjectEndDate": null,
"ProjectManager": "string",
"ProjectCoordinator": "string",
"ProjectEmployees": "string",
"ProjectStatus": "string"
}
}
]
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Update?request=&params=&Data=Status,1,Summary,%5Bobject%20Object%5D,Data,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Update", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Projects&submodule=Projects&request=Update

Update Projects in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Update” is required in request parameter to add Projects
params query string(varchar255) true JSON Object of parameters containing FieldId returned in list API.
Data query Projects true “JSON Array” of Data

Detailed descriptions

params: JSON Object of parameters containing FieldId returned in list API. Example:params={“FieldId”:“WyI2OTQiLCJDdG1IcUoiXQ==”}

Data: “JSON Array” of Data Example:Data={“ProjectTitle”:“Test API Project”, “ProjectEmployees”:[“admin”]}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Record Updated Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

DeleteProjects

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Delete?request= \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Delete?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Delete?request=',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Delete',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Delete', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Delete?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Projects&submodule=Projects&request=Delete", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Projects&submodule=Projects&request=Delete

Delete Projects from your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Delete” is required in request parameter to add Projects
params query undefined false “JSON Array” of params

Detailed descriptions

params: “JSON Array” of params Example:params={“RecordId”:“xyz”}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Record Delete Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

ProjectsTasksList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Projects&submodule=ProjectsTasks&request=List

Lists Projects Tasks in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Task": "string",
"TaskType": "string",
"ProjectTitle": "string",
"ClientName": "string",
"TaskStartDate": null,
"TaskEndDate": null,
"Deadline": null,
"AssignedTo": []
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK ProjectsTasks

AddProjectsTasks

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Add?request=&Data=Task,string,TaskType,string,ProjectTitle,string,AssignedTo,,TaskStartTime,string,TaskEndTime,string,MaxHoursBy,string,MaxHours,string,TaskRateRegular,string,TaskRateOvertime,string,TaskBillRateRegular,string,TaskBillRateOvertime,string,Description,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Add?request=&Data=Task,string,TaskType,string,ProjectTitle,string,AssignedTo,,TaskStartTime,string,TaskEndTime,string,MaxHoursBy,string,MaxHours,string,TaskRateRegular,string,TaskRateOvertime,string,TaskBillRateRegular,string,TaskBillRateOvertime,string,Description,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Add?request=&Data=Task,string,TaskType,string,ProjectTitle,string,AssignedTo,,TaskStartTime,string,TaskEndTime,string,MaxHoursBy,string,MaxHours,string,TaskRateRegular,string,TaskRateOvertime,string,TaskBillRateRegular,string,TaskBillRateOvertime,string,Description,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Add',
params: {
'request' => 'string(varchar255)',
'Data' => '[ProjectsTasksParams](#schemaprojectstasksparams)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Add', params={
'request': '', 'Data': {
"Task": "string",
"TaskType": "string",
"ProjectTitle": "string",
"Deadline": null,
"AssignedTo": [],
"TaskStartDate": null,
"TaskEndDate": null,
"TaskStartTime": "string",
"TaskEndTime": "string",
"MaxHoursBy": "string",
"MaxHours": "string",
"TaskRateRegular": "string",
"TaskRateOvertime": "string",
"TaskBillRateRegular": "string",
"TaskBillRateOvertime": "string",
"Description": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Add?request=&Data=Task,string,TaskType,string,ProjectTitle,string,AssignedTo,,TaskStartTime,string,TaskEndTime,string,MaxHoursBy,string,MaxHours,string,TaskRateRegular,string,TaskRateOvertime,string,TaskBillRateRegular,string,TaskBillRateOvertime,string,Description,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Add", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Projects&submodule=ProjectsTasks&request=Add

Add Projects Tasks in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Project Tasks
Data query ProjectsTasksParams true “JSON Array” of Project Tasks

Detailed descriptions

Data: “JSON Array” of Project Tasks Example:Data={“ProjectTitle”: “My Project”, “TaskType”:“Team Task”, “TaskTitle”: “Testing Task”, “AssignTo”: [“cruz”, “sophia”]}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Record addedd Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

UpdateProjectsTasks

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request==Update?request=&params=&Data=Task,string,TaskType,string,ProjectTitle,string,AssignedTo,,TaskStartTime,string,TaskEndTime,string,MaxHoursBy,string,MaxHours,string,TaskRateRegular,string,TaskRateOvertime,string,TaskBillRateRegular,string,TaskBillRateOvertime,string,Description,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request==Update?request=&params=&Data=Task,string,TaskType,string,ProjectTitle,string,AssignedTo,,TaskStartTime,string,TaskEndTime,string,MaxHoursBy,string,MaxHours,string,TaskRateRegular,string,TaskRateOvertime,string,TaskBillRateRegular,string,TaskBillRateOvertime,string,Description,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request==Update?request=&params=&Data=Task,string,TaskType,string,ProjectTitle,string,AssignedTo,,TaskStartTime,string,TaskEndTime,string,MaxHoursBy,string,MaxHours,string,TaskRateRegular,string,TaskRateOvertime,string,TaskBillRateRegular,string,TaskBillRateOvertime,string,Description,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request==Update',
params: {
'request' => 'string(varchar255)',
'params' => 'string(varchar255)',
'Data' => '[ProjectsTasksParams](#schemaprojectstasksparams)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request==Update', params={
'request': '', 'params': '', 'Data': {
"Task": "string",
"TaskType": "string",
"ProjectTitle": "string",
"Deadline": null,
"AssignedTo": [],
"TaskStartDate": null,
"TaskEndDate": null,
"TaskStartTime": "string",
"TaskEndTime": "string",
"MaxHoursBy": "string",
"MaxHours": "string",
"TaskRateRegular": "string",
"TaskRateOvertime": "string",
"TaskBillRateRegular": "string",
"TaskBillRateOvertime": "string",
"Description": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request==Update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request==Update?request=&params=&Data=Task,string,TaskType,string,ProjectTitle,string,AssignedTo,,TaskStartTime,string,TaskEndTime,string,MaxHoursBy,string,MaxHours,string,TaskRateRegular,string,TaskRateOvertime,string,TaskBillRateRegular,string,TaskBillRateOvertime,string,Description,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request==Update", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Projects&submodule=ProjectsTasks&request==Update

Add Projects Tasks in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Update” is required in request parameter to add Project Tasks
params query string(varchar255) true JSON Object of parameters containing FieldId returned in list API.
Data query ProjectsTasksParams true “JSON Array” of Project Tasks

Detailed descriptions

params: JSON Object of parameters containing FieldId returned in list API. Example:params={“FieldId”:“WyI2OTQiLCJDdG1IcUoiXQ==”}

Data: “JSON Array” of Project Tasks Example:Data={“ProjectTitle”: “My Project”, “TaskType”:“Team Task”, “TaskTitle”: “Testing Task”, “AssignTo”: [“cruz”, “sophia”]}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Record Updated Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

DeleteProjectsTasks

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Delete?request=&params= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Delete?request=&params= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Delete?request=&params=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Delete',
params: {
'request' => 'string(varchar255)',
'params' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Delete', params={
'request': '', 'params': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Delete?request=&params=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsTasks&request=Delete", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Projects&submodule=ProjectsTasks&request=Delete

Delete Projects Tasks in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Delete” is required in request parameter to Delete Projects Tasks
params query string(varchar255) true JSON Object of parameters containing FieldId returned in list API.

Detailed descriptions

params: JSON Object of parameters containing FieldId returned in list API. Example:params={“FieldId”:“WyI2OTQiLCJDdG1IcUoiXQ==”}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Record Deleted Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

ProjectsClientsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Projects&submodule=ProjectsClients&request=List

Lists Projects Clients in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"ClientName": "string",
"FirstName": "string",
"LastName": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"Address": "string",
"City": "string",
"State": "string",
"Country": "string",
"ZipCode": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK ProjectsClients

AddProjectsClients

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Add?request=&Data=ClientName,string,FirstName,string,LastName,string,EmailAddress,string,PhoneNumber,string,Address,string,City,string,State,string,Country,string,ZipCode,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Add?request=&Data=ClientName,string,FirstName,string,LastName,string,EmailAddress,string,PhoneNumber,string,Address,string,City,string,State,string,Country,string,ZipCode,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Add?request=&Data=ClientName,string,FirstName,string,LastName,string,EmailAddress,string,PhoneNumber,string,Address,string,City,string,State,string,Country,string,ZipCode,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Add',
params: {
'request' => 'string(varchar255)',
'Data' => '[ProjectsClientsDataFields](#schemaprojectsclientsdatafields)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Add', params={
'request': '', 'Data': {
"ClientName": "string",
"FirstName": "string",
"LastName": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"Address": "string",
"City": "string",
"State": "string",
"Country": "string",
"ZipCode": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Add?request=&Data=ClientName,string,FirstName,string,LastName,string,EmailAddress,string,PhoneNumber,string,Address,string,City,string,State,string,Country,string,ZipCode,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Add", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Projects&submodule=ProjectsClients&request=Add

Add Projects Clients in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Projects Clients
Data query ProjectsClientsDataFields true “JSON Array” of Projects Clients

Detailed descriptions

Data: “JSON Array” of Projects Clients Example:Data={“ClientName”: “Verge Inc”, “FirstName”: “Verge”, “LastName”: “Systems”}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Record added Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

UpdateProjectsClients

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Update?request=&params=&Data=ClientName,string,FirstName,string,LastName,string,EmailAddress,string,PhoneNumber,string,Address,string,City,string,State,string,Country,string,ZipCode,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Update?request=&params=&Data=ClientName,string,FirstName,string,LastName,string,EmailAddress,string,PhoneNumber,string,Address,string,City,string,State,string,Country,string,ZipCode,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Update?request=&params=&Data=ClientName,string,FirstName,string,LastName,string,EmailAddress,string,PhoneNumber,string,Address,string,City,string,State,string,Country,string,ZipCode,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Update',
params: {
'request' => 'string(varchar255)',
'params' => 'string(varchar255)',
'Data' => '[ProjectsClientsDataFields](#schemaprojectsclientsdatafields)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Update', params={
'request': '', 'params': '', 'Data': {
"ClientName": "string",
"FirstName": "string",
"LastName": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"Address": "string",
"City": "string",
"State": "string",
"Country": "string",
"ZipCode": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Update', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Update?request=&params=&Data=ClientName,string,FirstName,string,LastName,string,EmailAddress,string,PhoneNumber,string,Address,string,City,string,State,string,Country,string,ZipCode,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Update", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Projects&submodule=ProjectsClients&request=Update

Update Projects Clients in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Update” is required in request parameter to Update Projects Clients
params query string(varchar255) true JSON Object of parameters containing FieldId returned in list API.
Data query ProjectsClientsDataFields true “JSON Array” of Data

Detailed descriptions

params: JSON Object of parameters containing FieldId returned in list API. Example:params={“FieldId”:“WyI2OTQiLCJDdG1IcUoiXQ==”}

Data: “JSON Array” of Data Example:Data={“ClientName”: “Verge Inc”, “FirstName”: “Verge”, “LastName”: “Systems”}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Record Updated Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

DeleteProjectsClients

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Delete?request=&params= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Delete?request=&params= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Delete?request=&params=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Delete',
params: {
'request' => 'string(varchar255)',
'params' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Delete', params={
'request': '', 'params': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Delete', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Delete?request=&params=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Projects&submodule=ProjectsClients&request=Delete", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Projects&submodule=ProjectsClients&request=Delete

Delete Projects Clients in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Delete” is required in request parameter to Delete Projects Clients
params query string(varchar255) true JSON Object of parameters containing FieldId returned in list API.

Detailed descriptions

params: JSON Object of parameters containing FieldId returned in list API. Example:params={“FieldId”:“WyI2OTQiLCJDdG1IcUoiXQ==”}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Record Deleted Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

Recruitment

JobPostsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Recruitment&submodule=JobPosts?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Recruitment&submodule=JobPosts?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobPosts?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Recruitment&submodule=JobPosts',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobPosts', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Recruitment&submodule=JobPosts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recruitment&submodule=JobPosts?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Recruitment&submodule=JobPosts", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Recruitment&submodule=JobPosts

Lists all Job Posts in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query JobPostParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Example:params={“JobPostStatus”:“Open/Closed”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"JobTitle": "string",
"ReferenceNumber": null,
"JobType": "string",
"NumberOfPositions": 0,
"CandidateAgeRangeStart": 0,
"CandidateAgeRangeEnd": 0,
"CandidateExperience": "string",
"CandidateQualification": "string",
"Description": "string",
"SalaryStartRange": "string",
"SalaryEndRange": "string",
"JobPostCompany": "string",
"JobPostDepartment": "string",
"JobPostStation": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK JobPosts

JobRequestsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Recruitment&submodule=JobRequests?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Recruitment&submodule=JobRequests?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobRequests?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Recruitment&submodule=JobRequests',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobRequests', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Recruitment&submodule=JobRequests', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recruitment&submodule=JobRequests?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Recruitment&submodule=JobRequests", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Recruitment&submodule=JobRequests

Lists all Job Requests in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"JobTitle": "string",
"ReferenceNumber": 0,
"JobType": "string",
"NumberOfPositions": 0,
"CandidateAgeRangeStart": 0,
"CandidateAgeRangeEnd": 0,
"CandidateExperience": "string",
"CandidateQualification": "string",
"Description": "string",
"SalaryStartRange": "string",
"SalaryEndRange": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK JobRequests

CandidatesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Recruitment&submodule=JobCandidates

Lists all Candidates in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query JobCandidatesParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Example:params={“AppliedOn_StartDate”:“2021-04-01”,“AppliedOn_EndDate”:“2021-06-02”, “AllowCustomFields”:1} Candidates records returned in the list have applied from jobs portal.

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"FirstName": "string",
"LastName": 0,
"DateOfBirth": "string",
"Gender": 0,
"Nationality": 0,
"Address": 0,
"City": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"MobileNumber": "string",
"JobField": "string",
"AppliedOn": null,
"Qualifications": null,
"Experience": null,
"Membership": null,
"Trainings": null,
"Languages": null,
"Skills": null,
"References": null,
"CustomFields": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK JobCandidatesList

AddCandidate

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates?request=&data=JobField,string,FirstName,string,LastName,string,DateOfBirth,string,Gender,string,Address,string,City,string,ZipCode,string,Country,string,EmailAddress,string,PhoneNumber,string,ResourceSource,string,ResourceSourceDetails,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates?request=&data=JobField,string,FirstName,string,LastName,string,DateOfBirth,string,Gender,string,Address,string,City,string,ZipCode,string,Country,string,EmailAddress,string,PhoneNumber,string,ResourceSource,string,ResourceSourceDetails,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates?request=&data=JobField,string,FirstName,string,LastName,string,DateOfBirth,string,Gender,string,Address,string,City,string,ZipCode,string,Country,string,EmailAddress,string,PhoneNumber,string,ResourceSource,string,ResourceSourceDetails,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates',
params: {
'request' => 'string(varchar255)',
'data' => '[AddCandidate](#schemaaddcandidate)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates', params={
'request': '', 'data': {
"JobField": "string",
"FirstName": "string",
"LastName": "string",
"DateOfBirth": "string",
"Gender": "string",
"Address": "string",
"City": "string",
"ZipCode": "string",
"Country": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"Interests": null,
"Achievements": null,
"ResourceSource": "string",
"ResourceSourceDetails": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates?request=&data=JobField,string,FirstName,string,LastName,string,DateOfBirth,string,Gender,string,Address,string,City,string,ZipCode,string,Country,string,EmailAddress,string,PhoneNumber,string,ResourceSource,string,ResourceSourceDetails,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Recruitment&submodule=JobCandidates", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Recruitment&submodule=JobCandidates

Add Candidates in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request to add employees
data query AddCandidate true JSON Array

Detailed descriptions

request: “Add” is required in request to add employees “Add” is required in request parameter to add employees

data: JSON Array “JSON Array” of candidates

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Candidate has been addedd Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

ScreeningInterviewsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Recruitment&submodule=Screening_Interviews?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Recruitment&submodule=Screening_Interviews?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recruitment&submodule=Screening_Interviews?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Recruitment&submodule=Screening_Interviews',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Recruitment&submodule=Screening_Interviews', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Recruitment&submodule=Screening_Interviews', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recruitment&submodule=Screening_Interviews?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Recruitment&submodule=Screening_Interviews", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Recruitment&submodule=Screening_Interviews

Lists all Screening Interviews in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"InterviewType": "string",
"InterviewDate": null,
"InterviewTime": null,
"PlaceOfInterview": "string",
"CandidateName": "string",
"CandidateEmailAddress": "string",
"CandidateReferenceNumber": 0
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK ScreeningInterviews

JobTestsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Recruitment&submodule=JobTests

Lists all Job Tests in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query JobTestsParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Job Tests by StartDate, EndDate, UserName and Page. Set AllowCustomFields=1 to include CustomFields in response. Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“UserName”:“john.doe”,“AllowCustomFields”:1,“Page”:1}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Title": "string",
"Description": "string",
"TestTime": "string",
"SubmitOnTimesUp": 0,
"Notes": "string",
"JobTestAddedOn": "string",
"Questions": [
{}
],
"CustomFields": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK JobTests

AddJobTest

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests?request=&Data=Title,string,Description,string,TestTime,string,SubmitOnTimesUp,0,Notes,string,Questions,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests?request=&Data=Title,string,Description,string,TestTime,string,SubmitOnTimesUp,0,Notes,string,Questions,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests?request=&Data=Title,string,Description,string,TestTime,string,SubmitOnTimesUp,0,Notes,string,Questions,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddJobTest](#schemaaddjobtest)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests', params={
'request': '', 'Data': {
"Title": "string",
"Description": "string",
"TestTime": "string",
"SubmitOnTimesUp": 0,
"Notes": "string",
"Questions": [
{}
]
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests?request=&Data=Title,string,Description,string,TestTime,string,SubmitOnTimesUp,0,Notes,string,Questions,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Recruitment&submodule=JobTests", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Recruitment&submodule=JobTests

Add Job Test in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Job Test
Data query AddJobTest true JSON Object of Job Test data.

Detailed descriptions

Data: JSON Object of Job Test data. Flow: Title is required. Questions should be sent as an array. TestTime should be in HH:MM format. Example:Data={“Title”:“PHP Basics Test”,“Description”:“Screening test for backend role”,“TestTime”:“01:30”,“SubmitOnTimesUp”:1,“Notes”:“Auto submit after time ends”,“Questions”:[{“Question”:“What is OOP?”,“Type”:“text”}]}

Example responses

200 Response

{
"Status": 0,
"Message": "string",
"Error": "string"
}

Responses

Status Meaning Description Schema
200 OK OK GenericAddResponse

JobEvaluationList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Recruitment&submodule=JobEvaluation

Lists all Job Evaluations in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query JobEvaluationParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Job Evaluation records by StartDate, EndDate, UserName and Page. Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“UserName”:“john.doe”,“Page”:1}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Title": "string",
"Description": "string",
"Instructions": "string",
"Notes": "string",
"JobEvaluationAddedOn": "string",
"Questions": [
{}
]
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK JobEvaluation

AddJobEvaluation

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation?request=&Data=Title,string,Description,string,Instructions,string,Notes,string,Questions,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation?request=&Data=Title,string,Description,string,Instructions,string,Notes,string,Questions,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation?request=&Data=Title,string,Description,string,Instructions,string,Notes,string,Questions,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddJobEvaluation](#schemaaddjobevaluation)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation', params={
'request': '', 'Data': {
"Title": "string",
"Description": "string",
"Instructions": "string",
"Notes": "string",
"Questions": [
{}
]
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation?request=&Data=Title,string,Description,string,Instructions,string,Notes,string,Questions,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Recruitment&submodule=JobEvaluation", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Recruitment&submodule=JobEvaluation

Add Job Evaluation in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Job Evaluation
Data query AddJobEvaluation true JSON Object of Job Evaluation data.

Detailed descriptions

Data: JSON Object of Job Evaluation data. Flow: Title is required. Questions should be sent as an array. Example:Data={“Title”:“Technical Interview Evaluation”,“Description”:“Evaluation template for backend interview”,“Instructions”:“Score each competency from 1 to 5”,“Notes”:“Internal use”,“Questions”:[{“Question”:“Problem solving”,“Type”:“rating”}]}

Example responses

200 Response

{
"Status": 0,
"Message": "string",
"Error": "string",
"Data": {
"JobEvaluationId": 0
}
}

Responses

Status Meaning Description Schema
200 OK OK JobEvaluationAddResponse

Payroll

LoansList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Loans?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Loans?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Loans?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Loans',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Loans', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Loans', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Loans?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Loans", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Loans

Lists all Loans in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query LoansListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Loans by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“car loan”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"LoanAmount": "string",
"RemainingAmount": "string",
"MonthlyRepaymentAmount": "string",
"RepaymentsType": "string",
"RepaymentsMonths": "string",
"LoanDate": null,
"RepaymentStartDate": null,
"Interest": "string",
"InterestType": "string",
"TotalLoanPaid": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Loans

PayslipsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Payslips?request=&params=PayslipStartMonth,string,PayslipStartYear,string,PayslipEndMonth,string,PayslipEndYear,string,Company,string,Division,string,Station,string,DepartmentName,string,ShowLeaveSalary,0,ShowEndOfServiceBenefitAllowance,0,ShowLeaveSalaryPaid,0,ShowEndOfServicePaid,0,LeaveType,string \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Payslips?request=&params=PayslipStartMonth,string,PayslipStartYear,string,PayslipEndMonth,string,PayslipEndYear,string,Company,string,Division,string,Station,string,DepartmentName,string,ShowLeaveSalary,0,ShowEndOfServiceBenefitAllowance,0,ShowLeaveSalaryPaid,0,ShowEndOfServicePaid,0,LeaveType,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Payslips?request=&params=PayslipStartMonth,string,PayslipStartYear,string,PayslipEndMonth,string,PayslipEndYear,string,Company,string,Division,string,Station,string,DepartmentName,string,ShowLeaveSalary,0,ShowEndOfServiceBenefitAllowance,0,ShowLeaveSalaryPaid,0,ShowEndOfServicePaid,0,LeaveType,string',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Payslips',
params: {
'request' => 'string(varchar255)',
'params' => '[PayslipParams](#schemapayslipparams)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Payslips', params={
'request': '', 'params': {
"PayslipStartMonth": "string",
"PayslipStartYear": "string",
"PayslipEndMonth": "string",
"PayslipEndYear": "string",
"Company": "string",
"Division": "string",
"Station": "string",
"DepartmentName": "string",
"ShowLeaveSalary": 0,
"ShowEndOfServiceBenefitAllowance": 0,
"ShowLeaveSalaryPaid": 0,
"ShowEndOfServicePaid": 0,
"LeaveType": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Payslips', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Payslips?request=&params=PayslipStartMonth,string,PayslipStartYear,string,PayslipEndMonth,string,PayslipEndYear,string,Company,string,Division,string,Station,string,DepartmentName,string,ShowLeaveSalary,0,ShowEndOfServiceBenefitAllowance,0,ShowLeaveSalaryPaid,0,ShowEndOfServicePaid,0,LeaveType,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Payslips", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Payslips

Lists all Payslips in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PayslipParams true JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Example:params={“ShowLeaveSalary”:“1”,“ShowEndOfServiceBenefitAllowance”:“1”,“ShowLeaveSalaryPaid”:“0”,“ShowEndOfServicePaid”:“0”,“LeaveType”:“Annual Leaves (Leave Type is mandatory if leaves salary is required.)”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"UserName": "string",
"AccessCode": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"Nationality": "string",
"PositionCode": "string",
"TotalSalary": "string",
"PayslipItems": null,
"AdditionalItems": null,
"SalaryDate": null,
"SalaryPeriod_StartDate": null,
"SalaryPeriod_EndDate": null,
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Payslips

SalaryList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Salary?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Salary?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Salary?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Salary',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Salary', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Salary', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Salary?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Salary", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Salary

Lists all Salaries in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query SalaryListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Salary by UserName, AllowCustomFields, AllowSalaryAllocation, Page and Search Example:params={“UserName”:“john.doe”,“AllowCustomFields”:1,“AllowSalaryAllocation”:1,“Page”:1,“Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"PayrollSetup": "string",
"SalaryType": "string",
"Currency": "string",
"AnnualGrossSalary": null,
"MonthlyGrossSalary": null,
"HourlySalary": null,
"OvertimeHourlySalary": null,
"HoursPerWeek": null,
"PayrollItems": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Salary

AdvanceSalaryList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=AdvanceSalary?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=AdvanceSalary?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=AdvanceSalary?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=AdvanceSalary',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=AdvanceSalary', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=AdvanceSalary', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=AdvanceSalary?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=AdvanceSalary", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=AdvanceSalary

Lists all Advance Salaries in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query AdvanceSalaryParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AdvanceSalaryDate": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK AdvanceSalary

EarningsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Earnings?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Earnings?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Earnings?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Earnings',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Earnings', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Earnings', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Earnings?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Earnings", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Earnings

Lists all Earnings in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PayrollListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Earnings by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“allowance”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"EarningDate": null,
"EarningType": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Earnings

BonusesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Bonuses?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Bonuses?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Bonuses?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Bonuses',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Bonuses', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Bonuses', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Bonuses?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Bonuses", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Bonuses

Lists all Bonuses in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PayrollListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Bonuses by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“annual”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"BonusDate": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Bonuses

CommissionsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Commissions?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Commissions?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Commissions?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Commissions',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Commissions', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Commissions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Commissions?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Commissions", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Commissions

Lists all Commissions in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PayrollListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Commissions by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“sales”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"CommissionDate": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Commissions

DeductionsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Deductions

Lists all Deductions in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PayrollListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Deductions by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“tax”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"DeductionDate": null,
"DeductionType": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Deductions

AddDeduction

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions?request=&data=UserName,string,DeductionType,string,DeductionTitle,string,Amount,string,Currency,string,DeductionDate,string,DeductionEndDate,string,DeductionHours,string,Description,string,Notes,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions?request=&data=UserName,string,DeductionType,string,DeductionTitle,string,Amount,string,Currency,string,DeductionDate,string,DeductionEndDate,string,DeductionHours,string,Description,string,Notes,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions?request=&data=UserName,string,DeductionType,string,DeductionTitle,string,Amount,string,Currency,string,DeductionDate,string,DeductionEndDate,string,DeductionHours,string,Description,string,Notes,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions',
params: {
'request' => 'string(varchar255)',
'data' => '[AddDeduction](#schemaadddeduction)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions', params={
'request': '', 'data': {
"UserName": "string",
"DeductionType": "string",
"DeductionTitle": "string",
"Amount": "string",
"Currency": "string",
"DeductionDate": "string",
"DeductionEndDate": "string",
"DeductionHours": "string",
"Description": "string",
"Notes": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions?request=&data=UserName,string,DeductionType,string,DeductionTitle,string,Amount,string,Currency,string,DeductionDate,string,DeductionEndDate,string,DeductionHours,string,Description,string,Notes,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Payroll&submodule=Deductions", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Payroll&submodule=Deductions

Add Deductions in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request to add Deductions
data query AddDeduction true JSON Array

Detailed descriptions

request: “Add” is required in request to add Deductions “Add” is required in request parameter to add Deductions

data: JSON Array “JSON Array” of deductions

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Deduction has been addedd Successfully… string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

RecurringDeductionsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringDeductions?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringDeductions?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringDeductions?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringDeductions',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringDeductions', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringDeductions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringDeductions?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringDeductions", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=RecurringDeductions

Lists all RecurringDeductions in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query RecurringDeductionsListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Recurring Deductions by UserName, StartDate, EndDate, ApprovalStatus, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“Page”:1,“Search”:“loan”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"Title": "string",
"Amount": "string",
"RecurringDeductionEndDate": null,
"DeductionType": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK RecurringDeductions

AdjustmentsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Adjustments?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Adjustments?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Adjustments?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Adjustments',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Adjustments', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Adjustments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Adjustments?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Adjustments", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Adjustments

Lists all Adjustments in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PayrollListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Adjustments by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“correction”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AdjustmentDate": null,
"AdjustmentType": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Adjustments

RecurringAdjustmentsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringAdjustments?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringAdjustments?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringAdjustments?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringAdjustments',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringAdjustments', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringAdjustments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringAdjustments?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=RecurringAdjustments", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=RecurringAdjustments

Lists all Recurring Adjustments in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query RecurringAdjustmentsListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Recurring Adjustments by UserName, StartDate, EndDate, ApprovalStatus, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“Page”:1,“Search”:“fuel”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"Title": "string",
"Amount": "string",
"StartDate": null,
"EndDate": null,
"AdjustmentType": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK RecurringAdjustments

HourlyWagesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=HourlyWages?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=HourlyWages?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=HourlyWages?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=HourlyWages',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=HourlyWages', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=HourlyWages', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=HourlyWages?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=HourlyWages", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=HourlyWages

Lists all Hourly Wages in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PayrollListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Hourly Wages by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“hourly”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"HourlyWageDate": null,
"RegularHours": "string",
"OvertimeHours": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK HourlyWages

InsuranceList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Insurance?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Insurance?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Insurance?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Insurance',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Insurance', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Insurance', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Insurance?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Insurance", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Insurance

Lists all Insurances in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query InsuranceListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Insurance by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“medical”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"InsuranceType": "string",
"EmployeeShareAmount": null,
"OrganizationShareAmount": null,
"ExpiryDate": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Insurance

ReimbursementsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Reimbursements?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Reimbursements?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Reimbursements?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Reimbursements',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Reimbursements', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Reimbursements', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Reimbursements?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Reimbursements", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Reimbursements

Lists all Reimbursements in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query ReimbursementsListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Reimbursements by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“Approved”,“AllowCustomFields”:1,“Page”:1,“Search”:“fuel”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReimbursementDate": null,
"ApprovalStatus": "string",
"ReimbursementItems": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Reimbursements

CostToCompanyList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=CostToCompany?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=CostToCompany?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=CostToCompany?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=CostToCompany',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=CostToCompany', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=CostToCompany', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=CostToCompany?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=CostToCompany", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=CostToCompany

Lists all Cost To Company in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PayrollListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Cost To Company by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“allowance”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"CostToCompanyDate": null,
"CostToCompanyItems": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK CostToCompany

OvertimesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Overtimes?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Overtimes?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Overtimes?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Overtimes',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Overtimes', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Overtimes', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Overtimes?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Overtimes", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Overtimes

Lists all Overtimes in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PayrollListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Overtimes by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“night shift”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"OvertimeDate": null,
"OvertimeTimeIn": null,
"OvertimeTimeOut": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Overtimes

ProvidentFundList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=ProvidentFund?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=ProvidentFund?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=ProvidentFund?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=ProvidentFund',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=ProvidentFund', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=ProvidentFund', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=ProvidentFund?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=ProvidentFund", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=ProvidentFund

Lists all Provident Funds in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query ProvidentFundListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Provident Fund by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“provident”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"ProvidentFundType": "string",
"ProvidentFundMethod": "string",
"EmployeeShare": "string",
"OrganizationShare": "string",
"ProvidentFundStartDate": null,
"ProvidentFundEndDate": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK ProvidentFund

FinalSettlementsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=FinalSettlements?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=FinalSettlements?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=FinalSettlements?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=FinalSettlements',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=FinalSettlements', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=FinalSettlements', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=FinalSettlements?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=FinalSettlements", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=FinalSettlements

Lists all Final Settlements in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PayrollListParams false JSON Array of parameters to get filtered data

Detailed descriptions

params: JSON Array of parameters to get filtered data Flow: filters Final Settlements by UserName, StartDate, EndDate, ApprovalStatus, AllowCustomFields, Page and Search Example:params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:“1”,“AllowCustomFields”:1,“Page”:1,“Search”:“settlement”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"FinalSettlementsDate": "string",
"FinalSettlementsItems": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK FinalSettlements

LeavesEncashmentList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=LeavesEncashment?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=LeavesEncashment?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=LeavesEncashment?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=LeavesEncashment',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=LeavesEncashment', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=LeavesEncashment', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=LeavesEncashment?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=LeavesEncashment", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=LeavesEncashment

Lists all Leaves Encashment records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query LeavesEncashmentParams false JSON Object of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"LeaveEncashmentDate": null,
"LeaveEncashmentType": "string",
"LeaveType": "string",
"LeaveDays": "string",
"Amount": "string",
"ApprovalStatus": "string",
"ReferenceNumber": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK LeavesEncashment

AllowanceList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Allowance?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Allowance?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Allowance?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Allowance',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Allowance', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Allowance', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Allowance?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Allowance", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Allowance

Lists all Allowances in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query AllowanceParams false JSON Object of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AllowanceStartDate": null,
"AllowanceEndDate": null,
"AllowanceType": "string",
"ApprovalStatus": "string",
"ReferenceNumber": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Allowance

GarnishmentsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Garnishments?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Garnishments?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Garnishments?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Garnishments',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Garnishments', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Garnishments', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Garnishments?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Garnishments", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Garnishments

Lists all Garnishments in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query GarnishmentsParams false JSON Object of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReferenceNumber": "string",
"GarnishmentType": "string",
"Amount": "string",
"RemainingAmount": "string",
"PaymentAmount": "string",
"StartDate": null,
"EndDate": null,
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Garnishments

TaxCreditsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=TaxCredits?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=TaxCredits?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=TaxCredits?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=TaxCredits',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=TaxCredits', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=TaxCredits', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=TaxCredits?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=TaxCredits", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=TaxCredits

Lists all Tax Credits in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query TaxCreditsParams false JSON Object of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"TaxCreditsType": "string",
"Title": "string",
"Amount": "string",
"TaxCreditDate": null,
"TaxCreditEndDate": null,
"ReferenceNumber": "string",
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK TaxCredits

PensionsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Pensions?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Pensions?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Pensions?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Pensions',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Pensions', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Pensions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Pensions?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Pensions", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Pensions

Lists all Pensions in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PensionsParams false JSON Object of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"PensionType": "string",
"PensionMethod": "string",
"StartDate": null,
"EndDate": null,
"EmployeeShare": "string",
"OrganizationShare": "string",
"PensionStartDate": null,
"PensionEndDate": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Pensions

SalaryChangesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=SalaryChanges?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=SalaryChanges?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=SalaryChanges?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=SalaryChanges',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=SalaryChanges', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=SalaryChanges', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=SalaryChanges?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=SalaryChanges", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=SalaryChanges

Lists all Salary Changes in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query SalaryChangesParams false JSON Object of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReferenceNumber": "string",
"SalaryChangeType": "string",
"SalaryChangeCategory": "string",
"SalaryChangeDate": null,
"Amount": "string",
"SalaryChangeItems": null,
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK SalaryChanges

StocksList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Payroll&submodule=Stocks?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Payroll&submodule=Stocks?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Payroll&submodule=Stocks?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Payroll&submodule=Stocks',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Payroll&submodule=Stocks', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Payroll&submodule=Stocks', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Payroll&submodule=Stocks?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Payroll&submodule=Stocks", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Payroll&submodule=Stocks

Lists all Stocks in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query StocksParams false JSON Object of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"NumberOfShares": "string",
"PricePerShare": "string",
"StockGrantDate": null,
"ReferenceNumber": "string",
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Stocks

HRBudget

OpenPositionsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=HRBudget&submodule=OpenPositions?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=HRBudget&submodule=OpenPositions?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=HRBudget&submodule=OpenPositions?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=HRBudget&submodule=OpenPositions',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=HRBudget&submodule=OpenPositions', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=HRBudget&submodule=OpenPositions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=HRBudget&submodule=OpenPositions?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=HRBudget&submodule=OpenPositions", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=HRBudget&submodule=OpenPositions

Lists all OpenPositions in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query OpenPositionsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:1,“AllowCustomFields”:1,“Page”:1,“RecordsPerPage”:10,“Search”:“manager”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"OpenPositionCode": 0,
"OpenPositionTitle": "string",
"Status": "string",
"EstimatedSalary": "string",
"CompanyName": "string",
"DivisionName": "string",
"StationName": "string",
"DepartmentName": "string",
"ApprovalStatus": "string",
"CustomFields": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK OpenPositions

PlanningList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=HRBudget&submodule=Planning?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=HRBudget&submodule=Planning?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=HRBudget&submodule=Planning?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=HRBudget&submodule=Planning',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=HRBudget&submodule=Planning', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=HRBudget&submodule=Planning', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=HRBudget&submodule=Planning?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=HRBudget&submodule=Planning", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=HRBudget&submodule=Planning

Lists all Planning records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PlanningParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“Title”:“Headcount Plan”,“ApprovalStatus”:1,“Page”:1,“RecordsPerPage”:10,“Search”:“headcount”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PlanningTitle": "string",
"PlanningStartDate": "string",
"PlanningEndDate": "string",
"PlanningAmount": "string",
"Currency": "string",
"Description": "string",
"PlanningItems": [
{
"Company": "string",
"Division": "string",
"Station": "string",
"Department": "string",
"EmployeeDesignationName": "string",
"NoOfEmployees": "string"
}
],
"ApprovalStatus": "string",
"AddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Planning

BudgetList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=HRBudget&submodule=Budget?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=HRBudget&submodule=Budget?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=HRBudget&submodule=Budget?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=HRBudget&submodule=Budget',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=HRBudget&submodule=Budget', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=HRBudget&submodule=Budget', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=HRBudget&submodule=Budget?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=HRBudget&submodule=Budget", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=HRBudget&submodule=Budget

Lists all Budget records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query BudgetParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“Title”:“Hiring Budget”,“ApprovalStatus”:1,“Page”:1,“RecordsPerPage”:10,“Search”:“HB-1001”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PlanningTitle": "string",
"BudgetTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Budget

TravelBudgetList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=HRBudget&submodule=TravelBudget?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=HRBudget&submodule=TravelBudget?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=HRBudget&submodule=TravelBudget?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=HRBudget&submodule=TravelBudget',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=HRBudget&submodule=TravelBudget', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=HRBudget&submodule=TravelBudget', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=HRBudget&submodule=TravelBudget?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=HRBudget&submodule=TravelBudget", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=HRBudget&submodule=TravelBudget

Lists all Travel Budget records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query TravelBudgetParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“Title”:“Annual Travel Budget”,“ApprovalStatus”:1,“Page”:1,“RecordsPerPage”:10,“Search”:“flight”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"HRBudgetTravelTypeTitle": "string",
"TravelTypeTitle": "string",
"BudgetTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK TravelBudget

EventBudgetList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=HRBudget&submodule=EventBudget?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=HRBudget&submodule=EventBudget?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=HRBudget&submodule=EventBudget?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=HRBudget&submodule=EventBudget',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=HRBudget&submodule=EventBudget', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=HRBudget&submodule=EventBudget', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=HRBudget&submodule=EventBudget?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=HRBudget&submodule=EventBudget", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=HRBudget&submodule=EventBudget

Lists all Event Budget records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query EventBudgetParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“Title”:“Annual Event Budget”,“ApprovalStatus”:1,“Page”:1,“RecordsPerPage”:10,“Search”:“conference”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"EventBudgetTitle": "string",
"BudgetType": "string",
"EventTypeTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK EventBudget

Forms

EmployeesFormsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Forms&submodule=EmployeesForms

Lists Employees Forms in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query EmployeesFormsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“UserName”:“test”, “FormType”:“Test Form”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"FormSubmissionStatus": "string",
"SubmittedOn": null,
"Deadline": null,
"ReferenceId": "string",
"FormTitle": "string",
"FormData": [
{
"FieldType": 0,
"FieldName": "string",
"FieldValues": "string",
"MandatoryField": 0,
"HiddenField": 0,
"FieldCategory": "string",
"FieldOrder": 0,
"Result": {},
"FieldId": "string"
}
]
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK EmployeesFormsList

EmployeesFormsSubmit

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms?request=&params=
POST https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms?request=&params= HTTP/1.1
Host: api1.webhr.co

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms?request=&params=',
{
method: 'POST'

})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.post 'https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms',
params: {
'request' => 'string(varchar255)',
'params' => 'string(varchar255)',
'Data' => 'Array'
}

p JSON.parse(result)
import requests

r = requests.post('https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms', params={
'request': '', 'params': '', 'Data': null
})

print(r.json())
<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms?request=&params=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Forms&submodule=EmployeesForms

Submit Employees Forms in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to insert data to WebHR.
params query string(varchar255) true JSON Object of parameters containing FieldId returned in list API.
Data query Array true JSON Array of Data.

Detailed descriptions

params: JSON Object of parameters containing FieldId returned in list API. Example:params={“FieldId”:“WyI2OTQiLCJDdG1IcUoiXQ==”}

Data: JSON Array of Data. [{“Result”:“1st Field Result”,“FieldId”:“cf_1”}, {“Result”:“1st Field Result”,“FieldId”:“cf_2”}]

Responses

Status Meaning Description Schema
200 OK OK None

FormTypesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Forms&submodule=FormTypes?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Forms&submodule=FormTypes?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=FormTypes?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Forms&submodule=FormTypes',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Forms&submodule=FormTypes', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Forms&submodule=FormTypes', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=FormTypes?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Forms&submodule=FormTypes", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Forms&submodule=FormTypes

Lists Employees Form Types in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query EmployeesFormTypesParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“FormType”:“Test Form”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"FormTitle": "string",
"AllowSelfFill": "string",
"FormData": [
{
"FieldType": 0,
"FieldName": "string",
"FieldValues": "string",
"MandatoryField": 0,
"HiddenField": 0,
"FieldCategory": "string",
"FieldOrder": 0,
"Result": {},
"FieldId": "string"
}
]
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK EmployeesFormTypesList

ExternalFormsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Forms&submodule=ExternalForms&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Forms&submodule=ExternalForms&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=ExternalForms&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Forms&submodule=ExternalForms&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Forms&submodule=ExternalForms&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Forms&submodule=ExternalForms&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=ExternalForms&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Forms&submodule=ExternalForms&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Forms&submodule=ExternalForms&request=List

Lists External Forms in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query ExternalFormsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-17”,“FormTitle”:“Vendor Onboarding”,“Page”:1,“Search”:“vendor”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Recipient": "string",
"FormTitle": "string",
"ReferenceNumber": "string",
"Deadline": "string",
"SubmittedOn": "string",
"SubmissionStatus": "string",
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK ExternalForms

ExitFormsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Forms&submodule=ExitForms&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Forms&submodule=ExitForms&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=ExitForms&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Forms&submodule=ExitForms&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Forms&submodule=ExitForms&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Forms&submodule=ExitForms&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=ExitForms&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Forms&submodule=ExitForms&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Forms&submodule=ExitForms&request=List

Lists Exit Forms in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query ExitFormsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-17”,“UserName”:“john.doe”,“ApprovalStatus”:1,“Page”:1,“Search”:“clearance”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"SubmittedBy": "string",
"ExitEmployee": "string",
"ExitEmployeeUserName": "string",
"ExitDate": "string",
"FormTitle": "string",
"ReferenceNumber": "string",
"Deadline": "string",
"SubmittedOn": "string",
"ApprovedOn": "string",
"SubmissionStatus": "string",
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK ExitForms

PerformanceFormsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Forms&submodule=PerformanceForms&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Forms&submodule=PerformanceForms&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=PerformanceForms&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Forms&submodule=PerformanceForms&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Forms&submodule=PerformanceForms&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Forms&submodule=PerformanceForms&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=PerformanceForms&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Forms&submodule=PerformanceForms&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Forms&submodule=PerformanceForms&request=List

Lists Performance Forms in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PerformanceFormsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-17”,“UserName”:“john.doe”,“ApprovalStatus”:1,“Page”:1,“Search”:“review”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"SubmittedBy": "string",
"SubmittedByUserName": "string",
"ReviewFor": "string",
"ReviewForUserName": "string",
"FormTitle": "string",
"ReferenceNumber": "string",
"Deadline": "string",
"SubmittedOn": "string",
"ApprovedOn": "string",
"SubmissionStatus": "string",
"ApprovalStatus": "string",
"FormStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK PerformanceForms

TrainingFormsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Forms&submodule=TrainingForms&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Forms&submodule=TrainingForms&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=TrainingForms&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Forms&submodule=TrainingForms&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Forms&submodule=TrainingForms&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Forms&submodule=TrainingForms&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=TrainingForms&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Forms&submodule=TrainingForms&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Forms&submodule=TrainingForms&request=List

Lists Training Forms in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query TrainingFormsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-17”,“UserName”:“john.doe”,“ApprovalStatus”:1,“Page”:1,“Search”:“training”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"SubmittedBy": "string",
"UserName": "string",
"FormTitle": "string",
"ReferenceNumber": "string",
"Deadline": "string",
"SubmittedOn": "string",
"ApprovedOn": "string",
"SubmissionStatus": "string",
"ApprovalStatus": "string",
"FormStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK TrainingForms

DisciplinaryFormsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Forms&submodule=DisciplinaryForms&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Forms&submodule=DisciplinaryForms&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=DisciplinaryForms&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Forms&submodule=DisciplinaryForms&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Forms&submodule=DisciplinaryForms&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Forms&submodule=DisciplinaryForms&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=DisciplinaryForms&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Forms&submodule=DisciplinaryForms&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Forms&submodule=DisciplinaryForms&request=List

Lists Disciplinary Forms in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query DisciplinaryFormsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-17”,“UserName”:“john.doe”,“ApprovalStatus”:1,“Page”:1,“Search”:“warning”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"SubmittedBy": "string",
"FormTitle": "string",
"ReferenceNumber": "string",
"Deadline": "string",
"SubmittedOn": "string",
"ApprovedOn": "string",
"SubmissionStatus": "string",
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK DisciplinaryForms

EmployeesSelfFormsSubmit

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms&request=SelfFormSubmit?request=&params=
POST https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms&request=SelfFormSubmit?request=&params= HTTP/1.1
Host: api1.webhr.co

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms&request=SelfFormSubmit?request=&params=',
{
method: 'POST'

})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.post 'https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms&request=SelfFormSubmit',
params: {
'request' => 'string(varchar255)',
'params' => 'string(varchar255)',
'Data' => 'Array'
}

p JSON.parse(result)
import requests

r = requests.post('https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms&request=SelfFormSubmit', params={
'request': '', 'params': '', 'Data': null
})

print(r.json())
<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms&request=SelfFormSubmit', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms&request=SelfFormSubmit?request=&params=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Forms&submodule=EmployeesForms&request=SelfFormSubmit", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Forms&submodule=EmployeesForms&request=SelfFormSubmit

Submit Employees Forms in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “SelfFormSubmit” is required in request parameter to insert data to WebHR.
params query string(varchar255) true JSON Object of parameters containing FieldId returned in Form Types list API.
Data query Array true JSON Array of Data.

Detailed descriptions

params: JSON Object of parameters containing FieldId returned in Form Types list API. Example:params={“FieldId”:“WyI2OTQiLCJDdG1IcUoiXQ==”, “UserName”:“admin”}

Data: JSON Array of Data. [{“Result”:“1st Field Result”,“FieldId”:“cf_1”}, {“Result”:“1st Field Result”,“FieldId”:“cf_2”}]

Responses

Status Meaning Description Schema
200 OK OK None

FormDesignerList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Forms&submodule=FormDesigner

Lists Form Designer records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query FormDesignerParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: filters Form Designer records by StartDate, EndDate, FormTitle, Page and Search. Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-23”,“FormTitle”:“IT Checklist”,“Page”:1,“Search”:“device”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"FormType": "string",
"FormTitle": "string",
"FormCategory": "string",
"AllowSelfFill": "string",
"Status": "string",
"FormQuestions": [
{
"Question": "string",
"QuestionType": "string",
"FieldOptions": "string",
"MandatoryField": 0,
"FieldCategory": "string",
"FieldOrder": 0,
"HiddenField": 0
}
]
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK FormDesigner

AddFormDesigner

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner&request=Add?request=&Data=FormTitle,string,FormFields,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner&request=Add?request=&Data=FormTitle,string,FormFields,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner&request=Add?request=&Data=FormTitle,string,FormFields,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner&request=Add',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddFormDesigner](#schemaaddformdesigner)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner&request=Add', params={
'request': '', 'Data': {
"FormTitle": "string",
"FormFields": [
{
"FieldName": "string",
"FieldType": "string",
"FieldOptions": [
"string"
],
"FieldCategory": "string",
"MandatoryField": 0,
"FieldOrder": 0,
"HiddenField": 0
}
]
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner&request=Add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner&request=Add?request=&Data=FormTitle,string,FormFields,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Forms&submodule=FormDesigner&request=Add", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Forms&submodule=FormDesigner&request=Add

Add Form Designer in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Form Designer in WebHR.
Data query AddFormDesigner true JSON Object of form designer data.

Detailed descriptions

Data: JSON Object of form designer data. Example:Data={“FormTitle”:“IT Checklist”,“FormFields”:[{“FieldName”:“Device Serial”,“FieldType”:“Text”,“FieldOptions”:[],“FieldCategory”:“General”,“MandatoryField”:1,“FieldOrder”:1,“HiddenField”:0},{“FieldName”:“Condition”,“FieldType”:“Radio”,“FieldOptions”:[“Good”,“Average”,“Poor”],“FieldCategory”:“General”,“MandatoryField”:1,“FieldOrder”:2,“HiddenField”:0}]}

Example responses

200 Response

{
"Status": 0,
"Message": "string",
"Error": "string",
"FieldId": "string"
}

Responses

Status Meaning Description Schema
200 OK OK AddFormDesignerResponse

FormCategoriesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Forms&submodule=FormCategories?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Forms&submodule=FormCategories?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=FormCategories?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Forms&submodule=FormCategories',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Forms&submodule=FormCategories', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Forms&submodule=FormCategories', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=FormCategories?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Forms&submodule=FormCategories", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Forms&submodule=FormCategories

Lists Form Categories in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query FormCategoriesParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: filters Form Categories by FormType, Page and Search. Example:params={“FormType”:“General”,“Page”:1,“Search”:“general”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"FormType": "string",
"AddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK FormCategories

JobCandidateFormsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Forms&submodule=JobCandidateForms?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Forms&submodule=JobCandidateForms?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Forms&submodule=JobCandidateForms?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Forms&submodule=JobCandidateForms',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Forms&submodule=JobCandidateForms', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Forms&submodule=JobCandidateForms', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Forms&submodule=JobCandidateForms?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Forms&submodule=JobCandidateForms", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Forms&submodule=JobCandidateForms

Lists Job Candidate Forms in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query JobCandidateFormsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“JobCandidateEmailAddress":"[email protected]”}

Example responses

Responses

Status Meaning Description Schema
200 OK OK None

Response Schema

Expense

ExpensesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Expense&submodule=Expenses?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Expense&submodule=Expenses?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Expense&submodule=Expenses?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Expense&submodule=Expenses',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Expense&submodule=Expenses', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Expense&submodule=Expenses', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Expense&submodule=Expenses?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Expense&submodule=Expenses", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Expense&submodule=Expenses

Lists all Expenses in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"ExpenseDate": "string",
"TotalAmount": "string",
"ExpenseItems": null
}

Responses

Status Meaning Description Schema
200 OK OK Expenses

Assets

AssetsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Assets&submodule=Assets?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Assets&submodule=Assets?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Assets&submodule=Assets?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Assets&submodule=Assets',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Assets&submodule=Assets', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Assets&submodule=Assets', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Assets&submodule=Assets?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Assets&submodule=Assets", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Assets&submodule=Assets

Lists all Assets in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"AssetName": "string",
"AssetCode": "string",
"AssetTag": "string",
"Quantity": "string",
"AssetCost": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Assets

CheckOutList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Assets&submodule=CheckOut?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Assets&submodule=CheckOut?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Assets&submodule=CheckOut?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Assets&submodule=CheckOut',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Assets&submodule=CheckOut', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Assets&submodule=CheckOut', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Assets&submodule=CheckOut?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Assets&submodule=CheckOut", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Assets&submodule=CheckOut

Lists all CheckOuts in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"AssetName": "string",
"AssetCode": "string",
"Employee": "string",
"UserName": "string",
"ReferenceNumber": 0,
"CheckoutDateTime": null,
"CheckinDateTime": null,
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK CheckOuts

AssetsVendorsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Assets&submodule=Vendors&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Assets&submodule=Vendors&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Assets&submodule=Vendors&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Assets&submodule=Vendors&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Assets&submodule=Vendors&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Assets&submodule=Vendors&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Assets&submodule=Vendors&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Assets&submodule=Vendors&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Assets&submodule=Vendors&request=List

Lists all Asset Vendors in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query AssetsVendorsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“Page”:1,“Search”:“vendor”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"VendorName": "string",
"PrimaryContact": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"MobileNumber": "string",
"Address": "string",
"City": "string",
"ZipCode": "string",
"State": "string",
"Country": "string",
"CustomFields": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK AssetsVendors

AssetsPurchaseOrderRequestList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderRequest&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderRequest&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderRequest&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderRequest&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderRequest&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderRequest&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderRequest&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderRequest&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Assets&submodule=PurchaseOrderRequest&request=List

Lists all Asset Purchase Order Requests in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query AssetsPurchaseOrderRequestParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:1,“AllowCustomFields”:1,“Page”:1,“Search”:“printer vendor”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PurchaseOrderRequestNumber": "string",
"Subject": "string",
"RequestDate": null,
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"ApprovalStatus": "string",
"PurchaseOrderRequestItems": [
{}
],
"CustomFieldsData": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK AssetsPurchaseOrderRequests

AssetsPurchaseOrderList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrder&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrder&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrder&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrder&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrder&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrder&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrder&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrder&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Assets&submodule=PurchaseOrder&request=List

Lists all Asset Purchase Orders in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query AssetsPurchaseOrderParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:1,“AllowCustomFields”:1,“Page”:1,“Search”:“PO-1001”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PurchaseOrderNumber": "string",
"Subject": "string",
"PurchaseOrderDate": null,
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"PurchaseOrderRequestNumber": "string",
"ApprovalStatus": "string",
"PurchaseOrderItems": [
{}
],
"CustomFieldsData": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK AssetsPurchaseOrders

AssetsPurchaseOrderInvoicesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderInvoices&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderInvoices&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderInvoices&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderInvoices&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderInvoices&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderInvoices&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderInvoices&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Assets&submodule=PurchaseOrderInvoices&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Assets&submodule=PurchaseOrderInvoices&request=List

Lists all Asset Purchase Order Invoices in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query AssetsPurchaseOrderInvoicesParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“ApprovalStatus”:1,“AllowCustomFields”:1,“Page”:1,“Search”:“invoice”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PurchaseOrderInvoiceNumber": "string",
"Subject": "string",
"PurchaseOrderInvoiceDate": null,
"Amount": "string",
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"PurchaseOrderId": 0,
"PurchaseOrderNumber": "string",
"ApprovalStatus": "string",
"CustomFieldsData": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK AssetsPurchaseOrderInvoices

AssetsLostAndFoundList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Assets&submodule=LostAndFound&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Assets&submodule=LostAndFound&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Assets&submodule=LostAndFound&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Assets&submodule=LostAndFound&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Assets&submodule=LostAndFound&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Assets&submodule=LostAndFound&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Assets&submodule=LostAndFound&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Assets&submodule=LostAndFound&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Assets&submodule=LostAndFound&request=List

Lists all Lost And Found records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query AssetsLostAndFoundParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”,“Page”:1,“Search”:“wallet”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Item": "string",
"ReferenceNumber": "string",
"Stage": "string",
"LostBy": "string",
"FoundBy": "string",
"ItemLostDate": null,
"ItemLostTime": "string",
"ItemLostLocation": "string",
"ItemLostStation": "string",
"ItemFoundDate": null,
"ItemFoundTime": "string",
"ItemFoundLocation": "string",
"ItemFoundStation": "string",
"Notes": "string",
"Description": "string",
"Photo": "string",
"PhotoURL": "string",
"AdditionalInfo": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK AssetsLostAndFound

Trainings

EmployeeTrainingsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Trainings&submodule=EmployeeTrainings?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Trainings&submodule=EmployeeTrainings?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Trainings&submodule=EmployeeTrainings?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Trainings&submodule=EmployeeTrainings',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Trainings&submodule=EmployeeTrainings', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Trainings&submodule=EmployeeTrainings', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Trainings&submodule=EmployeeTrainings?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Trainings&submodule=EmployeeTrainings", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Trainings&submodule=EmployeeTrainings

Lists all Employee Trainings in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"TrainingType": "string",
"TrainingSubject": "string",
"TrainingTitle": "string",
"DateFrom": null,
"DateTo": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK EmployeeTrainings

PendingCoursesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Trainings&submodule=PendingCourses?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Trainings&submodule=PendingCourses?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Trainings&submodule=PendingCourses?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Trainings&submodule=PendingCourses',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Trainings&submodule=PendingCourses', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Trainings&submodule=PendingCourses', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Trainings&submodule=PendingCourses?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Trainings&submodule=PendingCourses", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Trainings&submodule=PendingCourses

Lists all Pending Courses in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"CourseName": "string",
"Employee": "string",
"CourseDeadline": null,
"TimeSpent": null,
"Progress": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK PendingCourses

CompletedCoursesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Trainings&submodule=CompletedCourses?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Trainings&submodule=CompletedCourses?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Trainings&submodule=CompletedCourses?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Trainings&submodule=CompletedCourses',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Trainings&submodule=CompletedCourses', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Trainings&submodule=CompletedCourses', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Trainings&submodule=CompletedCourses?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Trainings&submodule=CompletedCourses", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Trainings&submodule=CompletedCourses

Lists all Completed Courses in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"CourseName": "string",
"Employee": "string",
"CompletedOn": null,
"ExpectedTime": null,
"TimeSpent": null,
"TrainingStatus": "string",
"TestStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK CompletedCourses

TrainingCoursesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Trainings&submodule=TrainingCourses

Lists all Training Courses in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query TrainingCoursesParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"CourseId": 0,
"CourseName": "string",
"CourseCategory": "string",
"TrainingLocation": "string",
"ExpectedTime": "string",
"AllowSelfTraining": "string",
"TakeTest": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK TrainingCourses

AddTrainingCourse

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses?request=&Data=CourseName,string,CourseContent,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses?request=&Data=CourseName,string,CourseContent,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses?request=&Data=CourseName,string,CourseContent,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddTrainingCourse](#schemaaddtrainingcourse)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses', params={
'request': '', 'Data': {
"CourseName": "string",
"CourseContent": [
{
"Type": 0,
"ContentTitle": "string",
"Details": "string",
"ContentOrder": 0
}
]
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses?request=&Data=CourseName,string,CourseContent,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingCourses", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Trainings&submodule=TrainingCourses

Adds Training Course in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add training course
Data query AddTrainingCourse true JSON Array of training course data

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Course Added Successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

TrainingNeedsAssessmentList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingNeedsAssessment?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingNeedsAssessment?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingNeedsAssessment?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingNeedsAssessment',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingNeedsAssessment', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingNeedsAssessment', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingNeedsAssessment?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingNeedsAssessment", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Trainings&submodule=TrainingNeedsAssessment

Lists all Training Needs Assessments in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query TrainingNeedsAssessmentParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"TrainingNeedsAssessmentId": 0,
"Station": "string",
"Department": "string",
"TrainingCategory": "string",
"TrainingEmployees": "string",
"TrainingNeedsAssessmentType": "string",
"TrainingSubject": "string",
"TrainingTitle": "string",
"ApprovalStatus": "string",
"CustomFields": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK TrainingNeedsAssessment

TrainingEventsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingEvents?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingEvents?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingEvents?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingEvents',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingEvents', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingEvents', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingEvents?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingEvents", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Trainings&submodule=TrainingEvents

Lists all Training Events in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query TrainingEventsParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"TrainingEventId": 0,
"TrainingCategory": "string",
"TrainingEventType": "string",
"TrainingSubject": "string",
"Title": "string",
"Trainers": "string",
"Trainees": "string",
"TrainingStartDate": "string",
"TrainingEndDate": "string",
"Status": "string",
"CustomFields": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK TrainingEvents

TrainersList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Trainings&submodule=Trainers?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Trainings&submodule=Trainers?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Trainings&submodule=Trainers?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Trainings&submodule=Trainers',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Trainings&submodule=Trainers', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Trainings&submodule=Trainers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Trainings&submodule=Trainers?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Trainings&submodule=Trainers", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Trainings&submodule=Trainers

Lists all Trainers in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query TrainersParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"TrainerId": 0,
"TrainerType": "string",
"TrainerName": "string",
"Designation": "string",
"Organization": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Trainers

TrainingRequestList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingRequest?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingRequest?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingRequest?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingRequest',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingRequest', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingRequest', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingRequest?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Trainings&submodule=TrainingRequest", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Trainings&submodule=TrainingRequest

Lists all Training Requests in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query TrainingRequestParams false JSON Array of parameters to get filtered data

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"TrainingRequestId": 0,
"RequestedBy": "string",
"Title": "string",
"TrainingRequestReason": "string",
"Training Course": "string",
"TrainingStartDate": "string",
"TrainingEndDate": "string",
"RequestType": "string",
"ApprovalStatus": "string",
"CustomFields": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK TrainingRequest

Goals

Goals

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Goals&submodule=Goals&request=List

Lists all Goals in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"Title": "string",
"GoalCategoryName": "string",
"StartDate": null,
"EndDate": null,
"TargetMetric": "string",
"TargetMetricUnit": "string",
"Percentage": "string",
"ProgressCurrentTotal": null,
"ProgressTotal": null,
"ProgressRemaining": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Goals

GoalsAddProgress

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=AddProgress?request=&params=FieldId,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=AddProgress?request=&params=FieldId,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=AddProgress?request=&params=FieldId,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=AddProgress',
params: {
'request' => 'string(varchar255)',
'params' => '[GoalsAddProgress](#schemagoalsaddprogress)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=AddProgress', params={
'request': '', 'params': {
"FieldId": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=AddProgress', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=AddProgress?request=&params=FieldId,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Goals&submodule=Goals&request=AddProgress", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Goals&submodule=Goals&request=AddProgress

Add Goal Progress in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “AddProgress” is required in request to add Progress
params query GoalsAddProgress true “JSON Object” of params
Data query AddProgressData false “JSON Object” of GoalsParams.

Detailed descriptions

Data: “JSON Object” of GoalsParams. Example For Data Param: Data = {“ProgressDate”: “2025-04-28”,“Value”:“5”,“Comments”:“Through API”}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Goal Progress Added Successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

Scheduler

Scheduler

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Scheduler&submodule=Scheduler&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Scheduler&submodule=Scheduler&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Scheduler&submodule=Scheduler&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Scheduler&submodule=Scheduler&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Scheduler&submodule=Scheduler&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Scheduler&submodule=Scheduler&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Scheduler&submodule=Scheduler&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Scheduler&submodule=Scheduler&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Scheduler&submodule=Scheduler&request=List

Lists all Scheduler in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query SchedulerParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“UserName”:“test”, “StartDate”:“2025-04-28”, “EndDate”:“2025-04-28”, “SkipSpecificDayOff”:“1”, “SkipSchedulerDayOff”:“1”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"SchedulerDate": null,
"TimeFrom": "string",
"TimeTo": "string",
"Title": "string",
"Station": "string",
"Designation": "string",
"Project": "string",
"Workshift": "string",
"SchedulerTemplate": "string",
"Description": "string",
"ApprovalStatus": "string",
"SchedulerAddedBy": "string",
"SchedulerAddedOn": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Scheduler

SchedulerPlanner

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerPlanner&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerPlanner&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerPlanner&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerPlanner&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerPlanner&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerPlanner&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerPlanner&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerPlanner&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Scheduler&submodule=SchedulerPlanner&request=List

Lists all Scheduler Planner records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query SchedulerPlannerParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“UserName”:“test”, “StartDate”:“2025-04-01”, “EndDate”:“2025-04-30”, “Search”:“note”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"PlannedSchedules": [
{
"Date": null,
"Notes": "string"
}
]
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK SchedulerPlanner

SchedulerTemplate

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerTemplate&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerTemplate&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerTemplate&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerTemplate&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerTemplate&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerTemplate&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerTemplate&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerTemplate&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Scheduler&submodule=SchedulerTemplate&request=List

Lists all Scheduler Templates in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query SchedulerTemplateParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“Title”:“Morning Shift”, “Search”:“Karachi”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Title": "string",
"StationName": "string",
"WorkDays": [
"string"
],
"WorkHours": {
"property1": "string",
"property2": "string"
},
"RegularWorkHours": {
"property1": "string",
"property2": "string"
},
"AdditionalInfo": {},
"Notes": "string",
"ScheduleTemplateAddedOn": null,
"ScheduleTemplateAddedBy": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK SchedulerTemplate

SchedulerDaysOff

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerDaysOff&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerDaysOff&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerDaysOff&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerDaysOff&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerDaysOff&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerDaysOff&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerDaysOff&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Scheduler&submodule=SchedulerDaysOff&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Scheduler&submodule=SchedulerDaysOff&request=List

Lists all Scheduler Days Off in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query SchedulerDaysOffParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“UserName”:“test”, “StartDate”:“2025-04-01”, “EndDate”:“2025-04-30”, “Search”:“weekly off”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"Date": null,
"Notes": "string",
"ApprovalStatus": "string",
"SchedulerDaysOffAddedOn": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK SchedulerDaysOff

TargetHours

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Scheduler&submodule=TargetHours&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Scheduler&submodule=TargetHours&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Scheduler&submodule=TargetHours&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Scheduler&submodule=TargetHours&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Scheduler&submodule=TargetHours&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Scheduler&submodule=TargetHours&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Scheduler&submodule=TargetHours&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Scheduler&submodule=TargetHours&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Scheduler&submodule=TargetHours&request=List

Lists all TargetHours in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"TargetHours": 0,
"StartDate": null,
"EndDate": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK TargetHours

Workplace

WorkplaceRooms

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Workplace&submodule=Rooms&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Workplace&submodule=Rooms&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Workplace&submodule=Rooms&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Workplace&submodule=Rooms&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Workplace&submodule=Rooms&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Workplace&submodule=Rooms&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Workplace&submodule=Rooms&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Workplace&submodule=Rooms&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Workplace&submodule=Rooms&request=List

Lists all Rooms in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query WorkplaceRoomsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“Title”:“Room A”, “Level”:“First Floor”, “Status”:“1”, “Search”:“Room”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"SubCategory": "string",
"Level": "string",
"Room": "string",
"RoomEmailAddress": "string",
"Space": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK WorkplaceRooms

WorkplaceRoomsCheckIn

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Workplace&submodule=RoomsCheckIn&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Workplace&submodule=RoomsCheckIn&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Workplace&submodule=RoomsCheckIn&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Workplace&submodule=RoomsCheckIn&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Workplace&submodule=RoomsCheckIn&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Workplace&submodule=RoomsCheckIn&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Workplace&submodule=RoomsCheckIn&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Workplace&submodule=RoomsCheckIn&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Workplace&submodule=RoomsCheckIn&request=List

Lists all Rooms Check In records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query WorkplaceRoomsCheckInParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“UserName”:“test”, “StartDate”:“2026-07-01”, “EndDate”:“2026-07-20”, “Search”:“meeting”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"RoomTitle": "string",
"ReferenceNumber": "string",
"CheckInDateTime": null,
"CheckOutDateTime": null,
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK WorkplaceRoomsCheckIn

WorkplaceBooking

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Workplace&submodule=Booking&request=List

Lists all Bookings in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query WorkplaceBookingParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“UserName”:“test”, “StartDate”:“2026-07-01”, “EndDate”:“2026-07-20”, “Search”:“board”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Title": "string",
"BookingType": "string",
"Level": "string",
"UserName": "string",
"Room": "string",
"BookingDate": null,
"StartTime": "string",
"EndTime": "string",
"Status": "string",
"AdditionalInfo": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK WorkplaceBooking

AddWorkplaceBooking

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=Add?request=&Data=StartTime,string,EndTime,string,Title,string,RoomId,0,EmployeeId,0,Participants,string,AddedBy,0,OutlookMeetingId,string,ExternalParticipants,string,Status,0 \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=Add?request=&Data=StartTime,string,EndTime,string,Title,string,RoomId,0,EmployeeId,0,Participants,string,AddedBy,0,OutlookMeetingId,string,ExternalParticipants,string,Status,0 HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=Add?request=&Data=StartTime,string,EndTime,string,Title,string,RoomId,0,EmployeeId,0,Participants,string,AddedBy,0,OutlookMeetingId,string,ExternalParticipants,string,Status,0',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=Add',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddWorkplaceBooking](#schemaaddworkplacebooking)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=Add', params={
'request': '', 'Data': {
"BookingDate": null,
"StartTime": "string",
"EndTime": "string",
"Title": "string",
"RoomId": 0,
"EmployeeId": 0,
"Participants": "string",
"AddedBy": 0,
"OutlookMeetingId": "string",
"ExternalParticipants": "string",
"Status": 0
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=Add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=Add?request=&Data=StartTime,string,EndTime,string,Title,string,RoomId,0,EmployeeId,0,Participants,string,AddedBy,0,OutlookMeetingId,string,ExternalParticipants,string,Status,0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Workplace&submodule=Booking&request=Add", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Workplace&submodule=Booking&request=Add

Add Booking in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Booking
Data query AddWorkplaceBooking true “JSON” of Booking Data.

Detailed descriptions

Data: “JSON” of Booking Data. Example:Data={“BookingDate”:“2026-07-20”,“StartTime”:“09:00”,“EndTime”:“10:00”,“Title”:“Project Sync",“RoomId”:“12”,“EmployeeId”:“55”,“Participants”:“55,77”,“AddedBy”:“55”,“OutlookMeetingId”:“”,“ExternalParticipants”:"[email protected]”,“Status”:“0”}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Booking has been added successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

Recognition

RecognitionRewardType

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Recognition&submodule=RewardType&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Recognition&submodule=RewardType&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recognition&submodule=RewardType&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Recognition&submodule=RewardType&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Recognition&submodule=RewardType&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Recognition&submodule=RewardType&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recognition&submodule=RewardType&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Recognition&submodule=RewardType&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Recognition&submodule=RewardType&request=List

Lists all Recognition Reward Types in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query RecognitionRewardTypeParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“Search”:“badge”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Title": "string",
"Category": "string",
"Description": "string",
"RecordAddedBy": "string",
"RecordAddedOn": null
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK RecognitionRewardType

RecognitionBalance

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Recognition&submodule=Balance&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Recognition&submodule=Balance&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recognition&submodule=Balance&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Recognition&submodule=Balance&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Recognition&submodule=Balance&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Recognition&submodule=Balance&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recognition&submodule=Balance&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Recognition&submodule=Balance&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Recognition&submodule=Balance&request=List

Lists all Recognition Balance records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query RecognitionBalanceParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“UserName”:“test”, “StartDate”:“2026-07-01”, “EndDate”:“2026-07-20”, “Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"EmployeeName": "string",
"UserName": "string",
"Value": "string",
"BalanceDate": null,
"ValueFromName": "string",
"Comments": "string",
"ApprovalStatus": "string",
"BalanceAddedBy": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK RecognitionBalance

RecognitionRedeem

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Recognition&submodule=Redeem&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Recognition&submodule=Redeem&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Recognition&submodule=Redeem&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Recognition&submodule=Redeem&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Recognition&submodule=Redeem&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Recognition&submodule=Redeem&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Recognition&submodule=Redeem&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Recognition&submodule=Redeem&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Recognition&submodule=Redeem&request=List

Lists all Recognition Redeem records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query RecognitionRedeemParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“UserName”:“test”, “StartDate”:“2026-07-01”, “EndDate”:“2026-07-20”, “Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"EmployeeName": "string",
"UserName": "string",
"RedeemType": "string",
"RedeemTypeName": "string",
"RedeemAmount": "string",
"RedeemDate": null,
"MultiApprovalStatus": "string",
"RedeemAddedBy": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK RecognitionRedeem

HelpDesk

Tickets

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=HelpDesk&submodule=Tickets&request=List

Lists all Tickets in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"TicketId": 0,
"Urgency Level": "string",
"Ticket Number": "string",
"Assign To": null,
"Priority": "string",
"Status": "string",
"Subject": "string",
"Deadline": "string",
"Ticket Updated On": "string",
"Ticket Created On": "string",
"Category Name": "string",
"Created By": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Tickets

AddTicket

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=Add?request=&Data=TicketCategoryId,string,Priority,string,Subject,string,Message,string,Deadline,string,CreatedBy,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=Add?request=&Data=TicketCategoryId,string,Priority,string,Subject,string,Message,string,Deadline,string,CreatedBy,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=Add?request=&Data=TicketCategoryId,string,Priority,string,Subject,string,Message,string,Deadline,string,CreatedBy,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=Add',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddTickets](#schemaaddtickets)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=Add', params={
'request': '', 'Data': {
"TicketCategoryId": "string",
"Priority": "string",
"Subject": "string",
"Message": "string",
"Deadline": "string",
"CreatedBy": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=Add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=Add?request=&Data=TicketCategoryId,string,Priority,string,Subject,string,Message,string,Deadline,string,CreatedBy,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=HelpDesk&submodule=Tickets&request=Add", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=HelpDesk&submodule=Tickets&request=Add

Add Ticket in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true none
Data query AddTickets true “JSON” of Ticket Data.

Detailed descriptions

Data: “JSON” of Ticket Data. Example:Data={“TicketCategoryId”:“WyIxNyIsIjIwMjUtMT===”,“Priority”:“High”,“Subject”:“Sample Installation Request”,“Message”:“Request to install a licensed software package for testing purposes.”,“Deadline”:“2025-01-15”,“CreatedBy”:“testuser”}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Ticket has been added successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

TicketsCategories

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=HelpDesk&submodule=TicketsCategories&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=HelpDesk&submodule=TicketsCategories&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=HelpDesk&submodule=TicketsCategories&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=HelpDesk&submodule=TicketsCategories&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=HelpDesk&submodule=TicketsCategories&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=HelpDesk&submodule=TicketsCategories&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=HelpDesk&submodule=TicketsCategories&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=HelpDesk&submodule=TicketsCategories&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=HelpDesk&submodule=TicketsCategories&request=List

Lists all Tickets Categories in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"CategoryName": "string",
"ParentCategoryName": "string",
"TicketCategoryAddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK TicketsCategories

Performance

Reviews

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Performance&submodule=Reviews&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Performance&submodule=Reviews&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Performance&submodule=Reviews&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Performance&submodule=Reviews&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Performance&submodule=Reviews&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Performance&submodule=Reviews&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Performance&submodule=Reviews&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Performance&submodule=Reviews&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Performance&submodule=Reviews&request=List

Lists all Reviews in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Performance Title": "string",
"Review Category": "string",
"Review For": "string",
"Review Start Date": "string",
"Total Reviews": 0,
"Pending Reviews": 0,
"Completed Reviews": 0,
"Status": "string",
"ReviewsDataItems": [
{
"Review By": "string",
"Review Type": "string",
"Review Date": "string",
"Due Date": "string",
"Status": "string",
"Review Score": "string"
}
]
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Reviews

EmployeeKPIsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Performance&submodule=EmployeeKPIs&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Performance&submodule=EmployeeKPIs&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Performance&submodule=EmployeeKPIs&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Performance&submodule=EmployeeKPIs&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Performance&submodule=EmployeeKPIs&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Performance&submodule=EmployeeKPIs&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Performance&submodule=EmployeeKPIs&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Performance&submodule=EmployeeKPIs&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Performance&submodule=EmployeeKPIs&request=List

Lists all Employee KPIs in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query EmployeeKPIsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-15”,“UserName”:“john.doe”,“Page”:1,“Search”:“sales”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PerformanceTitle": "string",
"Employee": "string",
"EmployeeUserName": "string",
"CreatedOn": "string",
"EmployeeStatus": "string",
"EmployeeSubmittedOn": "string",
"EmployeeSubmittedBy": "string",
"LineManager": "string",
"LineManagerUserName": "string",
"LineManagerStatus": "string",
"LineManagerSubmittedOn": "string",
"LineManagerSubmittedBy": "string",
"Objectives": [
{
"PerformanceObjectiveCategory": "string",
"Objective": "string",
"ObjectiveTypeTitle": "string",
"ObjectiveWeightage": 0,
"ObjectiveDetails": "string",
"ObjectiveParams": {},
"KPIs": [
{
"KPI": "string",
"KPIDetails": "string",
"Target": "string",
"KPITypeTitle": "string",
"Weightage": 0,
"TextKPIScoreLimit": 0,
"Choices": {},
"ChoiceScores": {}
}
]
}
]
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK EmployeeKPIs

PendingReviewsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Performance&submodule=PendingReviews&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Performance&submodule=PendingReviews&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Performance&submodule=PendingReviews&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Performance&submodule=PendingReviews&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Performance&submodule=PendingReviews&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Performance&submodule=PendingReviews&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Performance&submodule=PendingReviews&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Performance&submodule=PendingReviews&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Performance&submodule=PendingReviews&request=List

Lists all Pending Reviews in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PendingReviewsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-15”,“UserName”:“john.doe”,“Page”:1,“Search”:“manager”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PerformanceTitle": "string",
"ReviewFor": "string",
"ReviewForUserName": "string",
"ReviewBy": "string",
"ReviewByUserName": "string",
"ReviewCompleteBy": "string",
"ReviewType": "string",
"ApprovalStatus": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK PendingReviews

PerformanceDesignerList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Performance&submodule=PerformanceDesigner&request=List

Lists all Performance Designer records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PerformanceDesignerParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“Title”:“Annual Review”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-17”,“Page”:1,“Search”:“annual”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PerformanceTitle": "string",
"Employee": "string",
"EmployeeUserName": "string",
"DesignerCategory": "string",
"CreatedOn": "string",
"Status": "string",
"Objectives": [
{
"PerformanceObjectiveCategory": "string",
"Objective": "string",
"ObjectiveTypeTitle": "string",
"ObjectiveWeightage": 0,
"ObjectiveDetails": "string",
"ObjectiveOrder": 0,
"KPIChoices": [
{
"PerformanceKPIId": 0,
"KPI": "string",
"KPIDetails": "string",
"Target": "string",
"KPIType": 0,
"KPITypeTitle": "string",
"KPIWeightage": 0,
"TextKPIScoreLimit": 0,
"Mandatory": 0,
"AllowComments": 0,
"MandatoryComments": 0,
"AllowAchievements": 0,
"KPIOrder": 0,
"KPIChoices": {}
}
]
}
]
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK PerformanceDesigner

AddPerformanceDesigner

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=Add?request=&Data=PerformanceTitle,string,ObjectiveKPIs,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=Add?request=&Data=PerformanceTitle,string,ObjectiveKPIs,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=Add?request=&Data=PerformanceTitle,string,ObjectiveKPIs,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=Add',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddPerformanceDesigner](#schemaaddperformancedesigner)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=Add', params={
'request': '', 'Data': {
"PerformanceTitle": "string",
"ObjectiveKPIs": [
{
"ObjectiveTitle": "string",
"ObjectiveType": "string",
"Weightage": 0,
"ObjectiveWeightage": 0,
"ObjectiveOrder": 0,
"PerformanceObjectiveCategoryId": 0,
"KPIs": [
{
"KPITitle": "string",
"Weightage": 0,
"KPIType": "string",
"KPIChoices": {}
}
]
}
]
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=Add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=Add?request=&Data=PerformanceTitle,string,ObjectiveKPIs,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Performance&submodule=PerformanceDesigner&request=Add", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Performance&submodule=PerformanceDesigner&request=Add

Add Performance Designer in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Performance Designer in WebHR
Data query AddPerformanceDesigner true JSON Object of Performance Designer data.

Detailed descriptions

Data: JSON Object of Performance Designer data. Example:Data={“PerformanceTitle”:“Annual Review 2026”,“ObjectiveKPIs”:[{“ObjectiveTitle”:“Revenue Growth”,“ObjectiveType”:“Financial Objective”,“Weightage”:50,“ObjectiveOrder”:1,“PerformanceObjectiveCategoryId”:0,“KPIs”:[{“KPITitle”:“Quarterly Revenue”,“Weightage”:60,“KPIType”:“Radio”,“KPIChoices”:{“1”:{“Title”:“Below Target”,“Score”:1},“2”:{“Title”:“Met Target”,“Score”:3},“3”:{“Title”:“Exceeded Target”,“Score”:5}}},{“KPITitle”:“Forecast Accuracy”,“Weightage”:40,“KPIType”:“Text”,“KPIChoices”:{}}]}]}

Example responses

Success Response

{}

Responses

Status Meaning Description Schema
Success Unknown Message -> Performance added successfully. Inline
Fail Unknown Message -> Something went wrong, Please contact your administrator… Inline

Response Schema

Visitors

VisitorsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Visitors&submodule=Visitors&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Visitors&submodule=Visitors&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Visitors&submodule=Visitors&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Visitors&submodule=Visitors&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Visitors&submodule=Visitors&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Visitors&submodule=Visitors&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Visitors&submodule=Visitors&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Visitors&submodule=Visitors&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Visitors&submodule=Visitors&request=List

Lists all Visitors in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query VisitorsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-08”,“FirstName”:“John”,“LastName”:“Doe”,“Page”:1,“Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"VisitorId": 0,
"FirstName": "string",
"LastName": "string",
"Code": "string",
"CompanyName": "string",
"EmailAddress": "string",
"Status": "string",
"FlagStatus": "string",
"Description": "string",
"VisitorAddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Visitors

VisitsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Visitors&submodule=Visits&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Visitors&submodule=Visits&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Visitors&submodule=Visits&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Visitors&submodule=Visits&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Visitors&submodule=Visits&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Visitors&submodule=Visits&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Visitors&submodule=Visits&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Visitors&submodule=Visits&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Visitors&submodule=Visits&request=List

Lists all Visits in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query VisitsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-08”,“FirstName”:“John”,“LastName”:“Doe”,“Page”:1,“Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"VisitorsVisitId": 0,
"Visitor": "string",
"VisitType": "string",
"Host": "string",
"Date": "string",
"CheckIn": "string",
"CheckOut": "string",
"VisitorContact": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Visits

VisitorsContactsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Visitors&submodule=VisitorsContacts&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Visitors&submodule=VisitorsContacts&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Visitors&submodule=VisitorsContacts&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Visitors&submodule=VisitorsContacts&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Visitors&submodule=VisitorsContacts&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Visitors&submodule=VisitorsContacts&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Visitors&submodule=VisitorsContacts&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Visitors&submodule=VisitorsContacts&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Visitors&submodule=VisitorsContacts&request=List

Lists all Visitor Contacts in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query VisitorsContactsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-08”,“ContactName”:“John Doe”,“Status”:1,“AllowCustomFields”:1,“Page”:1,“Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"VisitorContactId": 0,
"ContactName": "string",
"Company": "string",
"Department": "string",
"PhoneNumber": "string",
"Email": "string",
"Room": "string",
"AddedOn": "string",
"Status": "string",
"CustomFields": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK VisitorsContacts

Wellness

ContactTracingList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Wellness&submodule=ContactTracing&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Wellness&submodule=ContactTracing&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Wellness&submodule=ContactTracing&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Wellness&submodule=ContactTracing&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Wellness&submodule=ContactTracing&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Wellness&submodule=ContactTracing&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Wellness&submodule=ContactTracing&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Wellness&submodule=ContactTracing&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Wellness&submodule=ContactTracing&request=List

Lists all Contact Tracing records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query WellnessContactTracingParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-10”,“UserName”:“john.doe”,“TestStatus”:“Positive”,“Page”:1,“RecordsPerPage”:10,“Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"TestStatusId": 0,
"TestStatus": "string",
"TestDate": "string",
"SymptomsStartDate": "string",
"SymptomsEndDate": "string",
"ContactTracingInfo": {},
"AddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK WellnessContactTracing

QuarantineList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Wellness&submodule=Quarantine&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Wellness&submodule=Quarantine&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Wellness&submodule=Quarantine&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Wellness&submodule=Quarantine&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Wellness&submodule=Quarantine&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Wellness&submodule=Quarantine&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Wellness&submodule=Quarantine&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Wellness&submodule=Quarantine&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Wellness&submodule=Quarantine&request=List

Lists all Quarantine records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query WellnessQuarantineParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-10”,“UserName”:“john.doe”,“Status”:“Quarantined”,“Page”:1,“RecordsPerPage”:10,“Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"StartDate": "string",
"EndDate": "string",
"QuarantineFacility": "string",
"QuarantineSponsor": "string",
"PurposeOfQuarantine": "string",
"Status": "string",
"AddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK WellnessQuarantine

ScreeningList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Wellness&submodule=Screening&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Wellness&submodule=Screening&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Wellness&submodule=Screening&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Wellness&submodule=Screening&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Wellness&submodule=Screening&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Wellness&submodule=Screening&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Wellness&submodule=Screening&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Wellness&submodule=Screening&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Wellness&submodule=Screening&request=List

Lists all Screening records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query WellnessScreeningParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-10”,“UserName”:“john.doe”,“SubmissionStatus”:“Submitted”,“Page”:1,“RecordsPerPage”:10,“Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"SubmissionStatusId": 0,
"SubmissionStatus": "string",
"SubmittedDate": "string",
"SentDate": "string",
"SymptomsScreening": {}
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK WellnessScreening

VaccineList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Wellness&submodule=Vaccine&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Wellness&submodule=Vaccine&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Wellness&submodule=Vaccine&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Wellness&submodule=Vaccine&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Wellness&submodule=Vaccine&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Wellness&submodule=Vaccine&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Wellness&submodule=Vaccine&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Wellness&submodule=Vaccine&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Wellness&submodule=Vaccine&request=List

Lists all Vaccine records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query WellnessVaccineParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-10”,“UserName”:“john.doe”,“VaccineStatus”:“Fully Vaccinated”,“VaccineProvider”:“Pfizer-BioNTech”,“Page”:1,“RecordsPerPage”:10,“Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"EmployeeId": 0,
"Employee": "string",
"UserName": "string",
"VaccineProvider": "string",
"VaccineStatus": "string",
"ShotDate1": "string",
"ShotDate2": "string",
"BoosterShots": [],
"ApprovalStatus": "string",
"ApprovalStatusId": 0,
"AddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK WellnessVaccine

Surveys

EmployeeSurveysList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Surveys&submodule=EmployeeSurveys&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Surveys&submodule=EmployeeSurveys&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Surveys&submodule=EmployeeSurveys&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Surveys&submodule=EmployeeSurveys&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Surveys&submodule=EmployeeSurveys&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Surveys&submodule=EmployeeSurveys&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Surveys&submodule=EmployeeSurveys&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Surveys&submodule=EmployeeSurveys&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Surveys&submodule=EmployeeSurveys&request=List

Lists all Employee Surveys in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query EmployeeSurveysParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: maps to GetEmployeeSurveys and filters date range on SurveyAddedOn Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-08”,“UserName”:“john.doe”,“Title”:“Engagement Survey”,“Page”:1,“RecordsPerPage”:10,“Search”:“engagement”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Title": "string",
"Employees": "string",
"ReferenceNumber": "string",
"SurveyDeadline": "string",
"SurveyAddedOn": "string",
"Status": "string",
"ProgressBar": 0,
"Progress": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK EmployeeSurveys

JobCandidateSurveysList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Surveys&submodule=JobCandidateSurveys&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Surveys&submodule=JobCandidateSurveys&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Surveys&submodule=JobCandidateSurveys&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Surveys&submodule=JobCandidateSurveys&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Surveys&submodule=JobCandidateSurveys&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Surveys&submodule=JobCandidateSurveys&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Surveys&submodule=JobCandidateSurveys&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Surveys&submodule=JobCandidateSurveys&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Surveys&submodule=JobCandidateSurveys&request=List

Lists all Job Candidate Surveys in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query JobCandidateSurveysParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: maps to GetJobCandidateSurveys and filters date range on SurveyAddedOn Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-08”,“Title”:“Pre Screening Survey”,“Page”:1,“RecordsPerPage”:10,“Search”:“screening”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"SurveyName": "string",
"ReferenceNumber": "string",
"SurveyAddedOn": "string",
"SurveyDeadline": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK JobCandidateSurveys

PendingSurveyResponsesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Surveys&submodule=PendingSurveyResponses&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Surveys&submodule=PendingSurveyResponses&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Surveys&submodule=PendingSurveyResponses&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Surveys&submodule=PendingSurveyResponses&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Surveys&submodule=PendingSurveyResponses&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Surveys&submodule=PendingSurveyResponses&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Surveys&submodule=PendingSurveyResponses&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Surveys&submodule=PendingSurveyResponses&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Surveys&submodule=PendingSurveyResponses&request=List

Lists all Pending Survey Responses in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query PendingSurveyResponsesParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: maps to GetPendingSurveyResponses and filters date range on SurveyDeadline Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-08”,“UserName”:“john.doe”,“Title”:“Engagement Survey”,“SurveyName”:“Engagement Survey”,“EmployeeName”:“John Doe”,“Page”:1,“RecordsPerPage”:10,“Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"SurveyName": "string",
"EmployeeName": "string",
"Employees": "string",
"SurveyAddedOn": "string",
"SurveyDeadline": "string",
"Token": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK PendingSurveyResponses

CompletedSurveyResponsesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Surveys&submodule=CompletedSurveyResponses&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Surveys&submodule=CompletedSurveyResponses&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Surveys&submodule=CompletedSurveyResponses&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Surveys&submodule=CompletedSurveyResponses&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Surveys&submodule=CompletedSurveyResponses&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Surveys&submodule=CompletedSurveyResponses&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Surveys&submodule=CompletedSurveyResponses&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Surveys&submodule=CompletedSurveyResponses&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Surveys&submodule=CompletedSurveyResponses&request=List

Lists all Completed Survey Responses in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query CompletedSurveyResponsesParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: maps to GetCompletedSurveyResponses and filters date range on SurveyResponseCompletedOn Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-08”,“UserName”:“john.doe”,“Title”:“Engagement Survey”,“Page”:1,“RecordsPerPage”:10,“Search”:“john”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"SurveyName": "string",
"EmployeeName": "string",
"Employees": "string",
"SurveyAddedOn": "string",
"SurveyDeadline": "string",
"SurveyResponseCompletedOn": "string",
"Token": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK CompletedSurveyResponses

SurveysDesignerList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Surveys&submodule=SurveysDesigner

Lists all Surveys Designer records in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query SurveysDesignerParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: filters Surveys Designer by SurveyTemplateAddedOn, Title, SurveyCategory, Page and Search Example:params={“StartDate”:“2026-07-01”,“EndDate”:“2026-07-08”,“Title”:“Engagement Survey”,“SurveyCategory”:“Employee Feedback”,“Page”:1,“Search”:“engagement”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"SurveyTitle": "string",
"SurveyType": "string",
"SurveyCategory": "string",
"ShowProgress": "string",
"ShowResult": "string",
"AllowAnonymousFill": "string",
"Status": "string",
"Questions": [
{
"QuestionType": "string",
"QuestionCategory": "string",
"Question": "string",
"QuestionOptions": "string",
"Mandatory": "string",
"QuestionContentURL": "string",
"QuestionOrder": 0,
"QuestionDetails": "string"
}
]
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK SurveysDesigner

AddSurveysDesigner

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner?request=&Data=SurveyTitle,string,SurveyType,string,SurveyQuestions,%5Bobject%20Object%5D \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner?request=&Data=SurveyTitle,string,SurveyType,string,SurveyQuestions,%5Bobject%20Object%5D HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner?request=&Data=SurveyTitle,string,SurveyType,string,SurveyQuestions,%5Bobject%20Object%5D',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner',
params: {
'request' => 'string(varchar255)',
'Data' => '[AddSurveysDesigner](#schemaaddsurveysdesigner)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner', params={
'request': '', 'Data': {
"SurveyTitle": "string",
"SurveyType": "string",
"SurveyQuestions": [
{
"QuestionType": "string",
"QuestionCategory": "string",
"Question": "string",
"QuestionOptions": [
"string"
],
"Mandatory": 0,
"ContentURL": "string",
"Description": "string",
"QuestionOrder": 0
}
]
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner?request=&Data=SurveyTitle,string,SurveyType,string,SurveyQuestions,%5Bobject%20Object%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysDesigner", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=Surveys&submodule=SurveysDesigner

Add Survey Designer in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to add Survey Designer
Data query AddSurveysDesigner true JSON Object of Survey Designer Data.

Detailed descriptions

Data: JSON Object of Survey Designer Data. Example:Data={“SurveyTitle”:“Engagement Survey”,“SurveyType”:“0”,“SurveyQuestions”:[{“QuestionType”:“Text”,“QuestionCategory”:“General”,“Question”:“How do you rate your team?”,“QuestionOptions”:[],“Mandatory”:1,“ContentURL”:“”,“Description”:“”,“QuestionOrder”:1}]}

Example responses

Success Response

"string"

Responses

Status Meaning Description Schema
Success Unknown Message -> Survey Template created successfully. string
Fail Unknown Message -> Something went wrong, Please contact your administrator… string

SurveysCategoriesList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysCategories?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysCategories?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysCategories?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysCategories',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysCategories', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysCategories', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysCategories?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Surveys&submodule=SurveysCategories", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Surveys&submodule=SurveysCategories

Lists all Survey Categories in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query SurveysCategoriesParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: filters Survey Categories by Page and Search Example:params={“Page”:1,“Search”:“feedback”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"CategoryName": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK SurveysCategories

Expiration

ExpirationList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=Expiration&submodule=Expiration&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=Expiration&submodule=Expiration&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=Expiration&submodule=Expiration&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=Expiration&submodule=Expiration&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=Expiration&submodule=Expiration&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=Expiration&submodule=Expiration&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=Expiration&submodule=Expiration&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=Expiration&submodule=Expiration&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=Expiration&submodule=Expiration&request=List

Lists all Expirations in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query ExpirationParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: maps to Expiration -> List and filters by Search, UserName and ExpirationDate range Example: params={“Page”:1,“Search”:“passport”,“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"ExpirationTitle": "string",
"ExpirationTypeTitle": "string",
"ExpirationFor": "string",
"EmployeeName": "string",
"UserName": "string",
"Description": "string",
"ExpirationDate": "string",
"DueDate": "string",
"CriticalDate": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK Expiration

eSignature

eSignatureDocumentsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=eSignature&submodule=Documents&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=eSignature&submodule=Documents&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=eSignature&submodule=Documents&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=eSignature&submodule=Documents&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=eSignature&submodule=Documents&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=eSignature&submodule=Documents&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=eSignature&submodule=Documents&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=eSignature&submodule=Documents&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=eSignature&submodule=Documents&request=List

Lists all eSignature documents in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch data from WebHR
params query eSignatureDocumentsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: maps to Documents -> GetDocuments and filters by Search, UserName and eSignatureDocumentAddedOn date range Example: params={“Page”:1,“Search”:“offer letter”,“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"DocumentTitle": "string",
"eSignatureType": "string",
"DocumentType": "string",
"Status": "string",
"NotifyWhenSent": "string",
"NotifyWhenSigned": "string",
"Category": "string",
"AddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK eSignatureDocuments

eSignatureNewList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=eSignature&submodule=NewESignature&request=List

Lists active eSignature documents available to send

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch available eSignature documents from WebHR
params query eSignatureDocumentsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: maps to NewESignature -> GetDocuments and returns active documents available for sending Example: params={“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"eSignatureDocumentId": 0,
"DocumentTitle": "string",
"eSignatureType": 0,
"DocumentType": 0,
"Status": 0,
"NotifyWhenSent": "string",
"NotifyWhenSigned": "string",
"Category": "string",
"AddedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK eSignatureNewList

eSignatureNewAdd

Code samples

# You can also use wget
curl -X POST https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=Add?request=&params=eSignatureDocumentId,0,DocumentId,0,Employees,string,EmployeeIds,0,SignBy,string,Message,string \
-H 'Accept: application/json'
POST https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=Add?request=&params=eSignatureDocumentId,0,DocumentId,0,Employees,string,EmployeeIds,0,SignBy,string,Message,string HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=Add?request=&params=eSignatureDocumentId,0,DocumentId,0,Employees,string,EmployeeIds,0,SignBy,string,Message,string',
{
method: 'POST',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.post 'https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=Add',
params: {
'request' => 'string(varchar255)',
'params' => '[eSignatureAddParams](#schemaesignatureaddparams)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.post('https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=Add', params={
'request': '', 'params': {
"eSignatureDocumentId": 0,
"DocumentId": 0,
"Employees": "string",
"EmployeeIds": [
0
],
"SignBy": "string",
"Message": "string"
}
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('POST','https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=Add', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=Add?request=&params=eSignatureDocumentId,0,DocumentId,0,Employees,string,EmployeeIds,0,SignBy,string,Message,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api1.webhr.co/v3/?module=eSignature&submodule=NewESignature&request=Add", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

POST ?module=eSignature&submodule=NewESignature&request=Add

Sends a document for eSignature

Parameters

Name In Type Required Description
request query string(varchar255) true “Add” is required in request parameter to send a document for eSignature
params query eSignatureAddParams true JSON Object of parameters to send a new eSignature request

Detailed descriptions

params: JSON Object of parameters to send a new eSignature request Flow: maps to AddNeweSignature and requires eSignatureDocumentId, Employees and SignBy Example: params={“eSignatureDocumentId”:12,“Employees”:“44,52”,“SignBy”:“2026-07-31”,“Message”:“Please sign before deadline”}

Example responses

200 Response

{
"Status": 1,
"Data": {
"Message": "string"
}
}

Responses

Status Meaning Description Schema
200 OK OK eSignatureAddResponse

eSignaturePendingDocsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=eSignature&submodule=PendingDocs&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=eSignature&submodule=PendingDocs&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=eSignature&submodule=PendingDocs&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=eSignature&submodule=PendingDocs&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=eSignature&submodule=PendingDocs&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=eSignature&submodule=PendingDocs&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=eSignature&submodule=PendingDocs&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=eSignature&submodule=PendingDocs&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=eSignature&submodule=PendingDocs&request=List

Lists all pending eSignature documents in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch pending eSignature documents from WebHR
params query eSignaturePendingDocsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: maps to GetPendingDocs and filters by Search, EmployeeId, UserName and eSignatureSentOn date range Example: params={“Page”:1,“Search”:“offer”,“EmployeeId”:44,“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"EmployeeName": "string",
"DocumentTitle": "string",
"eSignatureSentOn": "string",
"Status": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK eSignaturePendingDocs

eSignatureSignedDocsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=eSignature&submodule=SignedDocs&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=eSignature&submodule=SignedDocs&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=eSignature&submodule=SignedDocs&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=eSignature&submodule=SignedDocs&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=eSignature&submodule=SignedDocs&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=eSignature&submodule=SignedDocs&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=eSignature&submodule=SignedDocs&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=eSignature&submodule=SignedDocs&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=eSignature&submodule=SignedDocs&request=List

Lists all signed eSignature documents in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch signed eSignature documents from WebHR
params query eSignaturePendingDocsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: maps to GetSignedDocs and filters by Search, EmployeeId, UserName and eSignatureSentOn date range Example: params={“Page”:1,“Search”:“offer”,“EmployeeId”:44,“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"EmployeeName": "string",
"DocumentTitle": "string",
"eSignatureSentOn": "string",
"eSignatureSignedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK eSignatureSignedDocs

eSignatureModulePendingDocsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=eSignature&submodule=ModulePendingDocs&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=eSignature&submodule=ModulePendingDocs&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=eSignature&submodule=ModulePendingDocs&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=eSignature&submodule=ModulePendingDocs&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=eSignature&submodule=ModulePendingDocs&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=eSignature&submodule=ModulePendingDocs&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=eSignature&submodule=ModulePendingDocs&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=eSignature&submodule=ModulePendingDocs&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=eSignature&submodule=ModulePendingDocs&request=List

Lists all pending module eSignature documents in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch pending module eSignature documents from WebHR
params query eSignatureModulePendingDocsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: maps to GetModulePendingDocs and filters by Search, UserName and eSignatureSentOn date range Example: params={“Page”:1,“Search”:“deduction”,“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"EmployeeName": "string",
"Module": "string",
"Submodule": "string",
"eSignatureTitle": "string",
"eSignatureSentOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK eSignatureModulePendingDocs

eSignatureModuleSignedDocsList

Code samples

# You can also use wget
curl -X GET https://api1.webhr.co/v3/?module=eSignature&submodule=ModuleSignedDocs&request=List?request= \
-H 'Accept: application/json'
GET https://api1.webhr.co/v3/?module=eSignature&submodule=ModuleSignedDocs&request=List?request= HTTP/1.1
Host: api1.webhr.co
Accept: application/json

const headers = {
'Accept':'application/json'
};

fetch('https://api1.webhr.co/v3/?module=eSignature&submodule=ModuleSignedDocs&request=List?request=',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get 'https://api1.webhr.co/v3/?module=eSignature&submodule=ModuleSignedDocs&request=List',
params: {
'request' => 'string(varchar255)'
}, headers: headers

p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('https://api1.webhr.co/v3/?module=eSignature&submodule=ModuleSignedDocs&request=List', params={
'request': ''
}, headers = headers)

print(r.json())
<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','https://api1.webhr.co/v3/?module=eSignature&submodule=ModuleSignedDocs&request=List', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api1.webhr.co/v3/?module=eSignature&submodule=ModuleSignedDocs&request=List?request=");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api1.webhr.co/v3/?module=eSignature&submodule=ModuleSignedDocs&request=List", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET ?module=eSignature&submodule=ModuleSignedDocs&request=List

Lists all signed module eSignature documents in your WebHR account

Parameters

Name In Type Required Description
request query string(varchar255) true “List” is required in request parameter to fetch signed module eSignature documents from WebHR
params query eSignatureModuleSignedDocsParams false JSON Object of parameters to get filtered data

Detailed descriptions

params: JSON Object of parameters to get filtered data Flow: maps to GetModuleSignedDocs and filters by Search, ComponentName, EmployeeId, UserName and eSignatureSentOn date range Example: params={“Page”:1,“Search”:“deduction”,“ComponentName”:“Deductions”,“EmployeeId”:44,“UserName”:“john.doe”,“StartDate”:“2026-07-01”,“EndDate”:“2026-07-31”}

Example responses

200 Response

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"EmployeeName": "string",
"Module": "string",
"Submodule": "string",
"eSignatureTitle": "string",
"eSignatureSentOn": "string",
"eSignatureSignedOn": "string"
}
}
]
}

Responses

Status Meaning Description Schema
200 OK OK eSignatureModuleSignedDocs

Schemas

Companies

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Company": "string",
"CompanyCode": "string",
"LegalName": "string",
"ContactNumber": "string",
"FaxNumber": "string",
"EmailAddress": "string",
"Website": "string",
"BankName": "string",
"AccountTitle": "string",
"AccountNumber": "string",
"RoutingNumber": "string",
"AccountType": "string",
"Status": "string"
}
}
]
}

Companies

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [CompaniesData] false none JSON Array of Data Fields

CompaniesData

{
"FieldId": "string",
"DataFields": {
"Company": "string",
"CompanyCode": "string",
"LegalName": "string",
"ContactNumber": "string",
"FaxNumber": "string",
"EmailAddress": "string",
"Website": "string",
"BankName": "string",
"AccountTitle": "string",
"AccountNumber": "string",
"RoutingNumber": "string",
"AccountType": "string",
"Status": "string"
}
}

Companies Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields CompaniesDataFields false none JSON Object of Data Fields

CompaniesDataFields

{
"Company": "string",
"CompanyCode": "string",
"LegalName": "string",
"ContactNumber": "string",
"FaxNumber": "string",
"EmailAddress": "string",
"Website": "string",
"BankName": "string",
"AccountTitle": "string",
"AccountNumber": "string",
"RoutingNumber": "string",
"AccountType": "string",
"Status": "string"
}

Companies Data Fields

Properties

Name Type Required Restrictions Description
Company string false none none
CompanyCode string false none none
LegalName string false none none
ContactNumber string false none none
FaxNumber string false none none
EmailAddress string false none none
Website string false none none
BankName string false none none
AccountTitle string false none none
AccountNumber string false none none
RoutingNumber string false none none
AccountType string false none none
Status string false none none

AddCompanies

{
"CompanyName": "string",
"CompanyCode": "string",
"CompanyType": "string",
"LegalName": "string",
"LegalTradingName": "string",
"RegistrationNumber": "string",
"CompanyRegistrationNumber": "string",
"ContactPerson": "string",
"ContactPersonDesignation": "string",
"Designation": "string",
"ContactNumber": "string",
"PhoneNumber": "string",
"FaxNumber": "string",
"EmailAddress": "string",
"Email": "string",
"Website": "string",
"Status": "string",
"CompanyStatus": "string",
"CustomFields": [],
"AdditionalInfo": {}
}

Add Companies

Properties

Name Type Required Restrictions Description
CompanyName string false none none
CompanyCode string false none none
CompanyType string false none Accepts company type label or numeric type id.
LegalName string false none none
LegalTradingName string false none none
RegistrationNumber string false none none
CompanyRegistrationNumber string false none none
ContactPerson string false none none
ContactPersonDesignation string false none none
Designation string false none none
ContactNumber string false none none
PhoneNumber string false none none
FaxNumber string false none none
EmailAddress string false none none
Email string false none none
Website string false none none
Status string false none Accepts Active/Inactive or 1/0.
CompanyStatus string false none none
CustomFields array false none none
AdditionalInfo object false none none

Divisions

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Company": "string",
"DivisionType": "string",
"DivisionName": "string",
"DivisionCode": "string",
"DivisionHead": "string",
"Status": "string"
}
}
]
}

Divisions

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [DivisionsData] false none JSON Array of Data Fields

DivisionsData

{
"FieldId": "string",
"DataFields": {
"Company": "string",
"DivisionType": "string",
"DivisionName": "string",
"DivisionCode": "string",
"DivisionHead": "string",
"Status": "string"
}
}

Divisions Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields DivisionsDataFields false none JSON Object of Data Fields

DivisionsDataFields

{
"Company": "string",
"DivisionType": "string",
"DivisionName": "string",
"DivisionCode": "string",
"DivisionHead": "string",
"Status": "string"
}

Divisions Data Fields

Properties

Name Type Required Restrictions Description
Company string false none none
DivisionType string false none none
DivisionName string false none none
DivisionCode string false none none
DivisionHead string false none none
Status string false none none

AddDivisions

{
"CompanyName": "string",
"DivisionType": "string",
"DivisionName": "string",
"DivisionCode": "string",
"DivisionHeadUserName": "string",
"Notes": "string",
"Status": "string",
"DivisionStatus": "string",
"CustomFields": [],
"AdditionalInfo": {}
}

Add Divisions

Properties

Name Type Required Restrictions Description
CompanyName string false none none
DivisionType string false none none
DivisionName string false none none
DivisionCode string false none none
DivisionHeadUserName string false none none
Notes string false none none
Status string false none Accepts Active/Inactive or 1/0.
DivisionStatus string false none none
CustomFields array false none none
AdditionalInfo object false none none

DivisionsTypes

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"DivisionType": "string"
}
}
]
}

Divisions Types

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [DivisionsTypesData] false none JSON Array of Data Fields

DivisionsTypesData

{
"FieldId": "string",
"DataFields": {
"DivisionType": "string"
}
}

Divisions Types Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields DivisionsTypesDataFields false none JSON Object of Data Fields

DivisionsTypesDataFields

{
"DivisionType": "string"
}

Divisions Types Data Fields

Properties

Name Type Required Restrictions Description
DivisionType string false none none

StationsTypes

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"StationType": "string"
}
}
]
}

Stations Types

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [StationsTypesData] false none JSON Array of Data Fields

StationsTypesData

{
"FieldId": "string",
"DataFields": {
"StationType": "string"
}
}

Stations Types Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields StationsTypesDataFields false none JSON Object of Data Fields

StationsTypesDataFields

{
"StationType": "string"
}

Stations Types Data Fields

Properties

Name Type Required Restrictions Description
StationType string false none none

Stations

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"StationName": "string",
"StationCode": "string",
"Address": "string",
"City": "string",
"State": "string",
"ZipCode": "string",
"Country": "string",
"PhoneNumber": "string",
"FaxNumber": "string",
"EmailAddress": "string",
"Website": "string",
"Latitude": "string",
"Longitude": "string",
"StationHead": "string",
"StationGeneralManager": "string",
"StationCurrency": "string",
"Status": "string"
}
}
]
}

Stations

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [StationsData] false none JSON Array of Data Fields

StationsData

{
"FieldId": "string",
"DataFields": {
"StationName": "string",
"StationCode": "string",
"Address": "string",
"City": "string",
"State": "string",
"ZipCode": "string",
"Country": "string",
"PhoneNumber": "string",
"FaxNumber": "string",
"EmailAddress": "string",
"Website": "string",
"Latitude": "string",
"Longitude": "string",
"StationHead": "string",
"StationGeneralManager": "string",
"StationCurrency": "string",
"Status": "string"
}
}

Stations Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields StationsDataFields false none JSON Object of Data Fields

StationsDataFields

{
"StationName": "string",
"StationCode": "string",
"Address": "string",
"City": "string",
"State": "string",
"ZipCode": "string",
"Country": "string",
"PhoneNumber": "string",
"FaxNumber": "string",
"EmailAddress": "string",
"Website": "string",
"Latitude": "string",
"Longitude": "string",
"StationHead": "string",
"StationGeneralManager": "string",
"StationCurrency": "string",
"Status": "string"
}

Stations Data Fields

Properties

Name Type Required Restrictions Description
StationName string false none none
StationCode string false none none
Address string false none none
City string false none none
State string false none none
ZipCode string false none none
Country string false none none
PhoneNumber string false none none
FaxNumber string false none none
EmailAddress string false none none
Website string false none none
Latitude string false none none
Longitude string false none none
StationHead string false none none
StationGeneralManager string false none none
StationCurrency string false none none
Status string false none none

AddStations

{
"CompanyName": "string",
"DivisionName": "string",
"StationType": "string",
"StationName": "string",
"StationCode": "string",
"ParentStationName": "string",
"Status": "string",
"StationStatus": "string",
"CustomFields": [],
"AdditionalInfo": {}
}

Add Stations

Properties

Name Type Required Restrictions Description
CompanyName string false none none
DivisionName string false none none
StationType string false none none
StationName string false none none
StationCode string false none none
ParentStationName string false none none
Status string false none Accepts Active/Inactive or 1/0.
StationStatus string false none none
CustomFields array false none none
AdditionalInfo object false none none

Departments

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Company": null,
"Division": "string",
"Station": "string",
"DepartmentName": "string",
"DepartmentCode": "string",
"DepartmentHead": "string",
"ParentDepartment": "string",
"Status": "string"
}
}
]
}

Departments

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [DepartmentsData] false none JSON Array of Data Fields

DepartmentsData

{
"FieldId": "string",
"DataFields": {
"Company": null,
"Division": "string",
"Station": "string",
"DepartmentName": "string",
"DepartmentCode": "string",
"DepartmentHead": "string",
"ParentDepartment": "string",
"Status": "string"
}
}

Departments Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields DepartmentsDataFields false none JSON Object of Data Fields

DepartmentsDataFields

{
"Company": null,
"Division": "string",
"Station": "string",
"DepartmentName": "string",
"DepartmentCode": "string",
"DepartmentHead": "string",
"ParentDepartment": "string",
"Status": "string"
}

Departments Data Fields

Properties

Name Type Required Restrictions Description
Company Sting false none none
Division string false none none
Station string false none none
DepartmentName string false none none
DepartmentCode string false none none
DepartmentHead string false none none
ParentDepartment string false none none
Status string false none none

AddDepartments

{
"CompanyName": "string",
"DivisionName": "string",
"StationName": "string",
"DepartmentName": "string",
"DepartmentCode": "string",
"ParentDepartmentName": "string",
"DepartmentHeadUserName": "string",
"AssistantDepartmentHeadUserName": "string",
"Status": "string",
"DepartmentStatus": "string",
"CustomFields": [],
"AdditionalInfo": {}
}

Add Departments

Properties

Name Type Required Restrictions Description
CompanyName string false none none
DivisionName string false none none
StationName string false none none
DepartmentName string false none none
DepartmentCode string false none none
ParentDepartmentName string false none none
DepartmentHeadUserName string false none none
AssistantDepartmentHeadUserName string false none none
Status string false none Accepts Active/Inactive or 1/0.
DepartmentStatus string false none none
CustomFields array false none none
AdditionalInfo object false none none

CustomFieldsList

{
"RecordId": "string",
"ComponentName": "string",
"CustomFieldName": "string",
"CustomFieldCategory": "string",
"MandatoryField": "string",
"CustomFieldType": "string",
"CustomFieldOrder": "string",
"CustomFieldPosition": "string",
"CustomFieldTypeValues": null,
"Instructions": "string"
}

Custom Fields List

Properties

Name Type Required Restrictions Description
RecordId string false none none
ComponentName string false none none
CustomFieldName string false none none
CustomFieldCategory string false none none
MandatoryField string false none none
CustomFieldType string false none none
CustomFieldOrder string false none none
CustomFieldPosition string false none none
CustomFieldTypeValues Array false none none
Instructions string false none none

UpdateCustomField

{
"RecordId": "string",
"CustomFieldName": "string",
"CustomFieldCategory": "string",
"MandatoryField": "string",
"CustomFieldType": "string",
"CustomFieldOrder": "string",
"CustomFieldPosition": "string",
"CustomFieldTypeValues": null
}

Update Custom Field

Properties

Name Type Required Restrictions Description
RecordId string false none none
CustomFieldName string false none none
CustomFieldCategory string false none none
MandatoryField string false none none
CustomFieldType string false none none
CustomFieldOrder string false none none
CustomFieldPosition string false none none
CustomFieldTypeValues Array false none none

CostCenters

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"CostCenterName": "string",
"CostCenterCode": "string",
"CostCenterHead": "string",
"Notes": "string"
}
}
]
}

Cost Centers

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [CostCentersData] false none JSON Array of Data Fields

CostCentersData

{
"FieldId": "string",
"DataFields": {
"CostCenterName": "string",
"CostCenterCode": "string",
"CostCenterHead": "string",
"Notes": "string"
}
}

Cost Centers Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields CostCentersDataFields false none JSON Object of Data Fields

CostCentersDataFields

{
"CostCenterName": "string",
"CostCenterCode": "string",
"CostCenterHead": "string",
"Notes": "string"
}

Cost Centers Data Fields

Properties

Name Type Required Restrictions Description
CostCenterName string false none none
CostCenterCode string false none none
CostCenterHead string false none none
Notes string false none none

AddCostCenters

{
"CostCenterName": "string",
"CostCenterCode": "string",
"CostCenterHeadUserName": "string",
"CustomFields": [],
"AdditionalInfo": {}
}

Add Cost Centers

Properties

Name Type Required Restrictions Description
CostCenterName string false none none
CostCenterCode string false none none
CostCenterHeadUserName string false none none
CustomFields array false none none
AdditionalInfo object false none none

ParentDepartments

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"ParentDepartmentName": "string",
"ParentDepartmentHead": "string",
"ParentDepartmentAddedOn": "string"
}
}
]
}

Parent Departments

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [ParentDepartmentsData] false none JSON Array of Data Fields

ParentDepartmentsData

{
"FieldId": "string",
"DataFields": {
"ParentDepartmentName": "string",
"ParentDepartmentHead": "string",
"ParentDepartmentAddedOn": "string"
}
}

Parent Departments Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields ParentDepartmentsDataFields false none JSON Object of Data Fields

ParentDepartmentsDataFields

{
"ParentDepartmentName": "string",
"ParentDepartmentHead": "string",
"ParentDepartmentAddedOn": "string"
}

Parent Departments Data Fields

Properties

Name Type Required Restrictions Description
ParentDepartmentName string false none none
ParentDepartmentHead string false none none
ParentDepartmentAddedOn string false none none

AddParentDepartments

{
"ParentDepartmentName": "string",
"ParentDepartmentHeadUserName": "string",
"AdditionalInfo": {}
}

Add Parent Departments

Properties

Name Type Required Restrictions Description
ParentDepartmentName string false none none
ParentDepartmentHeadUserName string false none none
AdditionalInfo object false none none

Teams

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"TeamTitle": "string",
"TeamLeader": "string",
"TeamCoordinators": "string",
"TeamEmployees": "string",
"Description": "string",
"Notes": "string",
"TeamAddedOn": "string",
"Status": "string"
}
}
]
}

Teams

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [TeamsData] false none JSON Array of Data Fields

TeamsData

{
"FieldId": "string",
"DataFields": {
"TeamTitle": "string",
"TeamLeader": "string",
"TeamCoordinators": "string",
"TeamEmployees": "string",
"Description": "string",
"Notes": "string",
"TeamAddedOn": "string",
"Status": "string"
}
}

Teams Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields TeamsDataFields false none JSON Object of Data Fields

TeamsDataFields

{
"TeamTitle": "string",
"TeamLeader": "string",
"TeamCoordinators": "string",
"TeamEmployees": "string",
"Description": "string",
"Notes": "string",
"TeamAddedOn": "string",
"Status": "string"
}

Teams Data Fields

Properties

Name Type Required Restrictions Description
TeamTitle string false none none
TeamLeader string false none none
TeamCoordinators string false none none
TeamEmployees string false none none
Description string false none none
Notes string false none none
TeamAddedOn string false none none
Status string false none none

Policies

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PolicyTitle": "string",
"PolicyType": "string",
"Description": "string",
"Notes": "string",
"PolicyAddedOn": "string",
"Status": "string",
"CustomFields": {}
}
}
]
}

Policies

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [PoliciesData] false none JSON Array of Data Fields

PoliciesData

{
"FieldId": "string",
"DataFields": {
"PolicyTitle": "string",
"PolicyType": "string",
"Description": "string",
"Notes": "string",
"PolicyAddedOn": "string",
"Status": "string",
"CustomFields": {}
}
}

Policies Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields PoliciesDataFields false none JSON Object of Data Fields

PoliciesDataFields

{
"PolicyTitle": "string",
"PolicyType": "string",
"Description": "string",
"Notes": "string",
"PolicyAddedOn": "string",
"Status": "string",
"CustomFields": {}
}

Policies Data Fields

Properties

Name Type Required Restrictions Description
PolicyTitle string false none none
PolicyType string false none none
Description string false none none
Notes string false none none
PolicyAddedOn string false none none
Status string false none none
CustomFields object false none none

Announcements

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"AnnouncementTitle": "string",
"AnnouncementStartDate": "string",
"AnnouncementEndDate": "string",
"Message": "string",
"AnnouncementByEmail": "string",
"Notes": "string"
}
}
]
}

Announcements

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AnnouncementsData] false none JSON Array of Data Fields

AnnouncementsData

{
"FieldId": "string",
"DataFields": {
"AnnouncementTitle": "string",
"AnnouncementStartDate": "string",
"AnnouncementEndDate": "string",
"Message": "string",
"AnnouncementByEmail": "string",
"Notes": "string"
}
}

Announcements Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AnnouncementsDataFields false none JSON Object of Data Fields

AnnouncementsDataFields

{
"AnnouncementTitle": "string",
"AnnouncementStartDate": "string",
"AnnouncementEndDate": "string",
"Message": "string",
"AnnouncementByEmail": "string",
"Notes": "string"
}

Announcements Data Fields

Properties

Name Type Required Restrictions Description
AnnouncementTitle string false none none
AnnouncementStartDate string false none none
AnnouncementEndDate string false none none
Message string false none none
AnnouncementByEmail string false none none
Notes string false none none

Notifications

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"NotificationType": "string",
"SendTo(Employee)": "string",
"SendToSelf": "string",
"ExemptEmployees": "string",
"DaysToSendNotification": "string",
"NotificationAddedOn": "string"
}
}
]
}

Notifications

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [NotificationsData] false none JSON Array of Data Fields

NotificationsData

{
"FieldId": "string",
"DataFields": {
"NotificationType": "string",
"SendTo(Employee)": "string",
"SendToSelf": "string",
"ExemptEmployees": "string",
"DaysToSendNotification": "string",
"NotificationAddedOn": "string"
}
}

Notifications Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields NotificationsDataFields false none JSON Object of Data Fields

NotificationsDataFields

{
"NotificationType": "string",
"SendTo(Employee)": "string",
"SendToSelf": "string",
"ExemptEmployees": "string",
"DaysToSendNotification": "string",
"NotificationAddedOn": "string"
}

Notifications Data Fields

Properties

Name Type Required Restrictions Description
NotificationType string false none none
SendTo(Employee) string false none none
SendToSelf string false none none
ExemptEmployees string false none none
DaysToSendNotification string false none none
NotificationAddedOn string false none none

Reminders

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"ReminderTitle": "string",
"ReminderType": "string",
"ReminderDate": "string",
"SendReminderTo(Employee)": "string",
"ReminderEmployees": "string",
"Message": "string",
"Status": "string"
}
}
]
}

Reminders

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [RemindersData] false none JSON Array of Data Fields

RemindersData

{
"FieldId": "string",
"DataFields": {
"ReminderTitle": "string",
"ReminderType": "string",
"ReminderDate": "string",
"SendReminderTo(Employee)": "string",
"ReminderEmployees": "string",
"Message": "string",
"Status": "string"
}
}

Reminders Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields RemindersDataFields false none JSON Object of Data Fields

RemindersDataFields

{
"ReminderTitle": "string",
"ReminderType": "string",
"ReminderDate": "string",
"SendReminderTo(Employee)": "string",
"ReminderEmployees": "string",
"Message": "string",
"Status": "string"
}

Reminders Data Fields

Properties

Name Type Required Restrictions Description
ReminderTitle string false none none
ReminderType string false none none
ReminderDate string false none none
SendReminderTo(Employee) string false none none
ReminderEmployees string false none none
Message string false none none
Status string false none none

CostCentersParams

{
"Page": 0,
"CostCenterName": "string",
"CostCenterCode": "string"
}

Cost Centers Params

Properties

Name Type Required Restrictions Description
Page integer false none none
CostCenterName string false none none
CostCenterCode string false none none

DivisionsTypesParams

{
"Page": 0,
"Search": "string",
"RecordsPerPage": 0
}

Divisions Types Params

Properties

Name Type Required Restrictions Description
Page integer false none none
Search string false none none
RecordsPerPage integer false none none

StationsTypesParams

{
"Page": 0,
"Search": "string",
"RecordsPerPage": 0
}

Stations Types Params

Properties

Name Type Required Restrictions Description
Page integer false none none
Search string false none none
RecordsPerPage integer false none none

ParentDepartmentsParams

{
"Page": 0,
"ParentDepartmentName": "string"
}

Parent Departments Params

Properties

Name Type Required Restrictions Description
Page integer false none none
ParentDepartmentName string false none none

TeamsParams

{
"Page": 0
}

Teams Params

Properties

Name Type Required Restrictions Description
Page integer false none none

PoliciesParams

{
"Page": 0,
"PolicyTitle": "string",
"PolicyType": "string",
"StartDate": "string",
"EndDate": "string",
"AllowCustomFields": 0
}

Policies Params

Properties

Name Type Required Restrictions Description
Page integer false none none
PolicyTitle string false none none
PolicyType string false none none
StartDate string false none none
EndDate string false none none
AllowCustomFields integer false none none

AnnouncementsParams

{
"Page": 0,
"AnnouncementTitle": "string",
"StartDate": "string",
"EndDate": "string"
}

Announcements Params

Properties

Name Type Required Restrictions Description
Page integer false none none
AnnouncementTitle string false none none
StartDate string false none none
EndDate string false none none

NotificationsParams

{
"Page": 0,
"Search": "string",
"StartDate": "string",
"EndDate": "string",
"NotificationType": "string",
"EmployeeId": "string"
}

Notifications Params

Properties

Name Type Required Restrictions Description
Page integer false none none
Search string false none none
StartDate string false none none
EndDate string false none none
NotificationType string false none none
EmployeeId string false none none

RemindersParams

{
"Page": 0,
"Search": "string",
"StartDate": "string",
"EndDate": "string",
"ReminderTitle": "string",
"ReminderType": "string",
"Status": "string"
}

Reminders Params

Properties

Name Type Required Restrictions Description
Page integer false none none
Search string false none none
StartDate string false none none
EndDate string false none none
ReminderTitle string false none none
ReminderType string false none none
Status string false none none

AddPolicy

{
"Title": "string",
"Description": "string",
"PolicyType": "string",
"Order": 0,
"CustomFields": {}
}

Add Policy

Properties

Name Type Required Restrictions Description
Title string false none none
Description string false none none
PolicyType string false none none
Order integer false none none
CustomFields object false none none

AddAnnouncement

{
"Title": "string",
"StartDate": "string",
"EndDate": "string",
"Message": "string",
"AnnouncementByEmail": 0,
"AnnouncementOrder": 0,
"Notes": "string"
}

Add Announcement

Properties

Name Type Required Restrictions Description
Title string false none none
StartDate string false none none
EndDate string false none none
Message string false none none
AnnouncementByEmail integer false none none
AnnouncementOrder integer false none none
Notes string false none none

CustomFieldDependencies

{
"RecordId": "string",
"Source": "string",
"Destination": "string",
"SourceOption": "string",
"DestinationOptions": null,
"SourceId": 0,
"DestinationId": 0
}

CustomField Dependencies List

Properties

Name Type Required Restrictions Description
RecordId string false none none
Source string false none none
Destination string false none none
SourceOption string false none none
DestinationOptions Array false none none
SourceId integer false none none
DestinationId integer false none none

Employees

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"AccessCode": "string",
"FirstName": "string",
"LastName": "string",
"MiddleName": "string",
"FullName": "string",
"EmailAddress": "string",
"Status": "string",
"Designation": "string",
"EmployeeGrade": "string",
"CompanyName": "string",
"DivisionName": "string",
"DepartmentName": "string",
"StationName": "string",
"EmployeeCategory": "string",
"EmployeeType": "string",
"NotActivelyWorking": "string",
"NotActivelyWorkingReason": "string",
"JoiningDate": "string",
"GovernmentId": "string",
"DateOfBirth": "string",
"Gender": "string",
"MaritalStatus": "string",
"BloodGroup": "string",
"PresentContactNumber": "string",
"MobileNumber": "string",
"OfficePhoneNumber": "string",
"PositionCode": "string",
"ReportsTo": "string",
"PermanentAddress": "string",
"PermanentCity": "string",
"PermanentState": "string",
"PermanentCountry": "string",
"PresentAddress": "string",
"PresentCity": "string",
"PresentState": "string",
"PresentCountry": "string"
}
}
]
}

Employees

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [EmployeesData] false none JSON Array of Data Fields

EmployeesData

{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"AccessCode": "string",
"FirstName": "string",
"LastName": "string",
"MiddleName": "string",
"FullName": "string",
"EmailAddress": "string",
"Status": "string",
"Designation": "string",
"EmployeeGrade": "string",
"CompanyName": "string",
"DivisionName": "string",
"DepartmentName": "string",
"StationName": "string",
"EmployeeCategory": "string",
"EmployeeType": "string",
"NotActivelyWorking": "string",
"NotActivelyWorkingReason": "string",
"JoiningDate": "string",
"GovernmentId": "string",
"DateOfBirth": "string",
"Gender": "string",
"MaritalStatus": "string",
"BloodGroup": "string",
"PresentContactNumber": "string",
"MobileNumber": "string",
"OfficePhoneNumber": "string",
"PositionCode": "string",
"ReportsTo": "string",
"PermanentAddress": "string",
"PermanentCity": "string",
"PermanentState": "string",
"PermanentCountry": "string",
"PresentAddress": "string",
"PresentCity": "string",
"PresentState": "string",
"PresentCountry": "string"
}
}

Employees Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields EmployeeDataFields false none JSON Object of Data Fields

EmployeeDataFields

{
"UserName": "string",
"AccessCode": "string",
"FirstName": "string",
"LastName": "string",
"MiddleName": "string",
"FullName": "string",
"EmailAddress": "string",
"Status": "string",
"Designation": "string",
"EmployeeGrade": "string",
"CompanyName": "string",
"DivisionName": "string",
"DepartmentName": "string",
"StationName": "string",
"EmployeeCategory": "string",
"EmployeeType": "string",
"NotActivelyWorking": "string",
"NotActivelyWorkingReason": "string",
"JoiningDate": "string",
"GovernmentId": "string",
"DateOfBirth": "string",
"Gender": "string",
"MaritalStatus": "string",
"BloodGroup": "string",
"PresentContactNumber": "string",
"MobileNumber": "string",
"OfficePhoneNumber": "string",
"PositionCode": "string",
"ReportsTo": "string",
"PermanentAddress": "string",
"PermanentCity": "string",
"PermanentState": "string",
"PermanentCountry": "string",
"PresentAddress": "string",
"PresentCity": "string",
"PresentState": "string",
"PresentCountry": "string"
}

Employees

Properties

Name Type Required Restrictions Description
UserName string false none none
AccessCode string false none none
FirstName string false none none
LastName string false none none
MiddleName string false none none
FullName string false none none
EmailAddress string false none none
Status string false none none
Designation string false none none
EmployeeGrade string false none none
CompanyName string false none none
DivisionName string false none none
DepartmentName string false none none
StationName string false none none
EmployeeCategory string false none none
EmployeeType string false none none
NotActivelyWorking string false none none
NotActivelyWorkingReason string false none none
JoiningDate string false none none
GovernmentId string false none none
DateOfBirth string false none none
Gender string false none none
MaritalStatus string false none none
BloodGroup string false none none
PresentContactNumber string false none none
MobileNumber string false none none
OfficePhoneNumber string false none none
PositionCode string false none none
ReportsTo string false none none
PermanentAddress string false none none
PermanentCity string false none none
PermanentState string false none none
PermanentCountry string false none none
PresentAddress string false none none
PresentCity string false none none
PresentState string false none none
PresentCountry string false none none

AddEmployees

{
"CompanyName": "string",
"DivisionName": "string",
"StationName": "string",
"DepartmentName": "string",
"Designation": "string",
"Grade": "string",
"WorkShift": "string",
"EmployeeCategory": "string",
"EmployeeType": "string",
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"Password": "string",
"AllowLogin": "string",
"EmailAddress": "string",
"ShowInOrganogram": "string",
"AccessCode": "string",
"ReportsTo": "string",
"Supervisor": "string",
"Salutation": "string",
"Nickname": "string",
"DateofBirth": "string",
"Gender": "string",
"BloodGroup": "string",
"Nationality": "string",
"Religion": "string",
"MaritalStatus": "string",
"JoiningDate": "string",
"GovernmentId": "string",
"EmployeeTaxNumber": "string",
"PresentAddress": "string",
"PresentCity": "string",
"PresentState": "string",
"PresentZipCode": "string",
"PresentCountry": "string",
"PresentContactNumber": "string",
"PermanentAddress": "string",
"PermanentCity": "string",
"PermanentState": "string",
"PermanentZipCode": "string",
"PermanentCountry": "string",
"PermanentContactNumber": "string",
"HomePhoneNumber": "string",
"OfficePhoneNumber": "string",
"MobileNumber": "string",
"PassportNumber": "string",
"PassportExpiration": "string"
}

Add Employees

Properties

Name Type Required Restrictions Description
CompanyName string false none none
DivisionName string false none none
StationName string false none none
DepartmentName string false none none
Designation string false none none
Grade string false none none
WorkShift string false none none
EmployeeCategory string false none none
EmployeeType string false none none
UserName string false none none
FirstName string false none none
LastName string false none none
Password string false none none
AllowLogin string false none none
EmailAddress string false none none
ShowInOrganogram string false none none
AccessCode string false none none
ReportsTo string false none none
Supervisor string false none none
Salutation string false none none
Nickname string false none none
DateofBirth string false none none
Gender string false none none
BloodGroup string false none none
Nationality string false none none
Religion string false none none
MaritalStatus string false none none
JoiningDate string false none none
GovernmentId string false none none
EmployeeTaxNumber string false none none
PresentAddress string false none none
PresentCity string false none none
PresentState string false none none
PresentZipCode string false none none
PresentCountry string false none none
PresentContactNumber string false none none
PermanentAddress string false none none
PermanentCity string false none none
PermanentState string false none none
PermanentZipCode string false none none
PermanentCountry string false none none
PermanentContactNumber string false none none
HomePhoneNumber string false none none
OfficePhoneNumber string false none none
MobileNumber string false none none
PassportNumber string false none none
PassportExpiration string false none none

Rehire

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"ExitDate": null,
"PreviousCompanyName": "string",
"PreviousStationName": "string",
"PreviousDivisionName": "string",
"PreviousDepartmentName": "string",
"PreviousDesignation": "string",
"PreviousEmployeeGrade": "string",
"PreviousEmployeeWorkShift": "string",
"PreviousEmployeeReportsTo": "string",
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"DepartmentName": "string",
"Designation": "string",
"EmployeeGrade": "string",
"EmployeeWorkShift": "string",
"EmployeeReportsTo": "string",
"JoiningDate": null,
"NewJoiningDate": null,
"Reason": "string",
"RehireAddedOn": null
}
}
]
}

Rehire

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [RehireData] false none JSON Array of Data Fields

RehireData

{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"ExitDate": null,
"PreviousCompanyName": "string",
"PreviousStationName": "string",
"PreviousDivisionName": "string",
"PreviousDepartmentName": "string",
"PreviousDesignation": "string",
"PreviousEmployeeGrade": "string",
"PreviousEmployeeWorkShift": "string",
"PreviousEmployeeReportsTo": "string",
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"DepartmentName": "string",
"Designation": "string",
"EmployeeGrade": "string",
"EmployeeWorkShift": "string",
"EmployeeReportsTo": "string",
"JoiningDate": null,
"NewJoiningDate": null,
"Reason": "string",
"RehireAddedOn": null
}
}

Rehire Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields RehireDataFields false none JSON Object of Data Fields

RehireDataFields

{
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"ExitDate": null,
"PreviousCompanyName": "string",
"PreviousStationName": "string",
"PreviousDivisionName": "string",
"PreviousDepartmentName": "string",
"PreviousDesignation": "string",
"PreviousEmployeeGrade": "string",
"PreviousEmployeeWorkShift": "string",
"PreviousEmployeeReportsTo": "string",
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"DepartmentName": "string",
"Designation": "string",
"EmployeeGrade": "string",
"EmployeeWorkShift": "string",
"EmployeeReportsTo": "string",
"JoiningDate": null,
"NewJoiningDate": null,
"Reason": "string",
"RehireAddedOn": null
}

Employees_Rehires

Properties

Name Type Required Restrictions Description
Username string false none none
FirstName string false none none
LastName string false none none
FullName string false none none
ExitDate date false none none
PreviousCompanyName string false none none
PreviousStationName string false none none
PreviousDivisionName string false none none
PreviousDepartmentName string false none none
PreviousDesignation string false none none
PreviousEmployeeGrade string false none none
PreviousEmployeeWorkShift string false none none
PreviousEmployeeReportsTo string false none none
CompanyName string false none none
StationName string false none none
DivisionName string false none none
DepartmentName string false none none
Designation string false none none
EmployeeGrade string false none none
EmployeeWorkShift string false none none
EmployeeReportsTo string false none none
JoiningDate date false none none
NewJoiningDate date false none none
Reason string false none none
RehireAddedOn date false none none

Transfers

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"TransferType": "string",
"TransferDate": null,
"TransferFromStation": "string",
"TransferToStation": "string",
"TransferFromDepartment": "string",
"TransferToDepartment": "string",
"TransferFromCompany": "string",
"TransferToCompany": "string",
"TransferFromDivision": "string",
"TransferToDivision": "string",
"TransferFromEmployeeType": "string",
"TransferToEmployeeType": "string",
"TransferFromEmployeeCategory": "string",
"TransferToEmployeeCategory": "string",
"TransferFromEmployeeDesignation": "string",
"TransferToEmployeeDesignation": "string",
"TransferFromEmployeeReportsTo": "string",
"TransferToEmployeeReportsTo": "string",
"TransferFromEmployeeGrade": "string",
"TransferToEmployeeGrade": "string",
"TransferFromWorkShift": "string",
"TransferToWorkShift": "string",
"TransferFrom_HRBudgetOpenPosition": "string",
"TransferTo_HRBudgetOpenPosition": "string",
"OpenPositionCode": null,
"ApprovalStatus": "string"
}
}
]
}

Transfers

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [TransfersData] false none JSON Array of Data Fields

TransfersData

{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"TransferType": "string",
"TransferDate": null,
"TransferFromStation": "string",
"TransferToStation": "string",
"TransferFromDepartment": "string",
"TransferToDepartment": "string",
"TransferFromCompany": "string",
"TransferToCompany": "string",
"TransferFromDivision": "string",
"TransferToDivision": "string",
"TransferFromEmployeeType": "string",
"TransferToEmployeeType": "string",
"TransferFromEmployeeCategory": "string",
"TransferToEmployeeCategory": "string",
"TransferFromEmployeeDesignation": "string",
"TransferToEmployeeDesignation": "string",
"TransferFromEmployeeReportsTo": "string",
"TransferToEmployeeReportsTo": "string",
"TransferFromEmployeeGrade": "string",
"TransferToEmployeeGrade": "string",
"TransferFromWorkShift": "string",
"TransferToWorkShift": "string",
"TransferFrom_HRBudgetOpenPosition": "string",
"TransferTo_HRBudgetOpenPosition": "string",
"OpenPositionCode": null,
"ApprovalStatus": "string"
}
}

Transfers Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields TransfersDataFields false none JSON Object of Data Fields

TransfersDataFields

{
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"TransferType": "string",
"TransferDate": null,
"TransferFromStation": "string",
"TransferToStation": "string",
"TransferFromDepartment": "string",
"TransferToDepartment": "string",
"TransferFromCompany": "string",
"TransferToCompany": "string",
"TransferFromDivision": "string",
"TransferToDivision": "string",
"TransferFromEmployeeType": "string",
"TransferToEmployeeType": "string",
"TransferFromEmployeeCategory": "string",
"TransferToEmployeeCategory": "string",
"TransferFromEmployeeDesignation": "string",
"TransferToEmployeeDesignation": "string",
"TransferFromEmployeeReportsTo": "string",
"TransferToEmployeeReportsTo": "string",
"TransferFromEmployeeGrade": "string",
"TransferToEmployeeGrade": "string",
"TransferFromWorkShift": "string",
"TransferToWorkShift": "string",
"TransferFrom_HRBudgetOpenPosition": "string",
"TransferTo_HRBudgetOpenPosition": "string",
"OpenPositionCode": null,
"ApprovalStatus": "string"
}

Employees_Transfers

Properties

Name Type Required Restrictions Description
Username string false none none
FirstName string false none none
LastName string false none none
FullName string false none none
TransferType string false none none
TransferDate date false none none
TransferFromStation string false none none
TransferToStation string false none none
TransferFromDepartment string false none none
TransferToDepartment string false none none
TransferFromCompany string false none none
TransferToCompany string false none none
TransferFromDivision string false none none
TransferToDivision string false none none
TransferFromEmployeeType string false none none
TransferToEmployeeType string false none none
TransferFromEmployeeCategory string false none none
TransferToEmployeeCategory string false none none
TransferFromEmployeeDesignation string false none none
TransferToEmployeeDesignation string false none none
TransferFromEmployeeReportsTo string false none none
TransferToEmployeeReportsTo string false none none
TransferFromEmployeeGrade string false none none
TransferToEmployeeGrade string false none none
TransferFromWorkShift string false none none
TransferToWorkShift string false none none
TransferFrom_HRBudgetOpenPosition string false none none
TransferTo_HRBudgetOpenPosition string false none none
OpenPositionCode Integer false none none
ApprovalStatus string false none none

Exit

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"ExitDate": null,
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"ExitType": "string",
"ExitInterviewConducted": "string"
}
}
]
}

Exit

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [ExitData] false none JSON Array of Data Fields

ExitData

{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"ExitDate": null,
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"ExitType": "string",
"ExitInterviewConducted": "string"
}
}

Exit Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields ExitDataFields false none JSON Object of Data Fields

ExitDataFields

{
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"ExitDate": null,
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"ExitType": "string",
"ExitInterviewConducted": "string"
}

Employees_Exits

Properties

Name Type Required Restrictions Description
Username string false none none
FirstName string false none none
LastName string false none none
FullName string false none none
ExitDate date false none none
CompanyName string false none none
StationName string false none none
DivisionName string false none none
ExitType string false none none
ExitInterviewConducted string false none none

Resignations

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"ResignationDate": null,
"NoticeDate": null
}
}
]
}

Resignations

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [ResignationsData] false none JSON Array of Data Fields

ResignationsData

{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"ResignationDate": null,
"NoticeDate": null
}
}

Resignations Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields ResignationsDataFields false none JSON Object of Data Fields

ResignationsDataFields

{
"Username": "string",
"Empoyee": "string",
"ResignationDate": null,
"NoticeDate": null
}

Resignations

Properties

Name Type Required Restrictions Description
Username string false none none
Empoyee string false none none
ResignationDate date false none none
NoticeDate date false none none

Promotions

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"Title": "string",
"PromotionDate": null,
"PromotionTypeTitle": "string",
"EmployeeDesignation_From": "string",
"EmployeeDesignation_To": "string",
"EmployeeGrade_From": "string",
"EmployeeGrade_To": "string"
}
}
]
}

Promotions

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [PromotionsData] false none JSON Array of Data Fields

PromotionsData

{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"Title": "string",
"PromotionDate": null,
"PromotionTypeTitle": "string",
"EmployeeDesignation_From": "string",
"EmployeeDesignation_To": "string",
"EmployeeGrade_From": "string",
"EmployeeGrade_To": "string"
}
}

Promotions Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields PromotionsDataFields false none JSON Object of Data Fields

PromotionsDataFields

{
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"Title": "string",
"PromotionDate": null,
"PromotionTypeTitle": "string",
"EmployeeDesignation_From": "string",
"EmployeeDesignation_To": "string",
"EmployeeGrade_From": "string",
"EmployeeGrade_To": "string"
}

Promotions

Properties

Name Type Required Restrictions Description
UserName string false none none
FirstName string false none none
LastName string false none none
Title string false none none
PromotionDate date false none none
PromotionTypeTitle string false none none
EmployeeDesignation_From string false none none
EmployeeDesignation_To string false none none
EmployeeGrade_From string false none none
EmployeeGrade_To string false none none

PromotionsParams

{
"AllowCustomFields": "string",
"Page": 0,
"Search": "string",
"StartDate": null,
"EndDate": null
}

Promotions Params

Properties

Name Type Required Restrictions Description
AllowCustomFields string false none none
Page integer false none none
Search string false none none
StartDate date false none none
EndDate date false none none

Terminations

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"TerminationType": "string",
"TerminationDate": null,
"NoticeDate": null
}
}
]
}

Terminations

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [TerminationsData] false none JSON Array of Data Fields

TerminationsData

{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"TerminationType": "string",
"TerminationDate": null,
"NoticeDate": null
}
}

Terminations Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields TerminationsDataFields false none JSON Object of Data Fields

TerminationsDataFields

{
"Username": "string",
"Empoyee": "string",
"TerminationType": "string",
"TerminationDate": null,
"NoticeDate": null
}

Terminations

Properties

Name Type Required Restrictions Description
Username string false none none
Empoyee string false none none
TerminationType string false none none
TerminationDate date false none none
NoticeDate date false none none

Achievements

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"AchievementTitle": "string",
"AchievementDate": null
}
}
]
}

Achievements

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AchievementsData] false none JSON Array of Data Fields

AchievementsData

{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"AchievementTitle": "string",
"AchievementDate": null
}
}

Achievements Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AchievementsDataFields false none JSON Object of Data Fields

AchievementsDataFields

{
"Username": "string",
"Empoyee": "string",
"AchievementTitle": "string",
"AchievementDate": null
}

Achievements

Properties

Name Type Required Restrictions Description
Username string false none none
Empoyee string false none none
AchievementTitle string false none none
AchievementDate date false none none

Complaints

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"Title": "string",
"ComplaintDate": null,
"ComplaintAgainst": null
}
}
]
}

Complaints

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [ComplaintsData] false none JSON Array of Data Fields

ComplaintsData

{
"FieldId": "string",
"DataFields": {
"Username": "string",
"Empoyee": "string",
"Title": "string",
"ComplaintDate": null,
"ComplaintAgainst": null
}
}

Complaints Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields ComplaintsDataFields false none JSON Object of Data Fields

ComplaintsDataFields

{
"Username": "string",
"Empoyee": "string",
"Title": "string",
"ComplaintDate": null,
"ComplaintAgainst": null
}

Complaints

Properties

Name Type Required Restrictions Description
Username string false none none
Empoyee string false none none
Title string false none none
ComplaintDate date false none none
ComplaintAgainst Array false none none

Warnings

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"WarningByEmployee": "string",
"WarningToEmployee": "string",
"WarningDate": null,
"TypeOfWarning": "string",
"Subject": "string"
}
}
]
}

Warnings

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [WarningsData] false none JSON Array of Data Fields

WarningsData

{
"FieldId": "string",
"DataFields": {
"WarningByEmployee": "string",
"WarningToEmployee": "string",
"WarningDate": null,
"TypeOfWarning": "string",
"Subject": "string"
}
}

Warnings Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields WarningsDataFields false none JSON Object of Data Fields

WarningsDataFields

{
"WarningByEmployee": "string",
"WarningToEmployee": "string",
"WarningDate": null,
"TypeOfWarning": "string",
"Subject": "string"
}

Warnings

Properties

Name Type Required Restrictions Description
WarningByEmployee string false none none
WarningToEmployee string false none none
WarningDate date false none none
TypeOfWarning string false none none
Subject string false none none

Memos

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"MemoDate": null,
"Subject": "string",
"MemoTo": null
}
}
]
}

Memos

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [MemosData] false none JSON Array of Data Fields

MemosData

{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"MemoDate": null,
"Subject": "string",
"MemoTo": null
}
}

Memos Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields MemosDataFields false none JSON Object of Data Fields

MemosDataFields

{
"UserName": "string",
"Employee": "string",
"MemoDate": null,
"Subject": "string",
"MemoTo": null
}

Memos

Properties

Name Type Required Restrictions Description
UserName string false none none
Employee string false none none
MemoDate date false none none
Subject string false none none
MemoTo Array false none none

Suggestions

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"Title": "string"
}
}
]
}

Suggestions

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [SuggestionsData] false none JSON Array of Data Fields

SuggestionsData

{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"Title": "string"
}
}

Suggestions Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields SuggestionsDataFields false none JSON Object of Data Fields

SuggestionsDataFields

{
"UserName": "string",
"Employee": "string",
"Title": "string"
}

Suggestions Data Fields

Properties

Name Type Required Restrictions Description
UserName string false none none
Employee string false none none
Title string false none none

Incidents

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"CategoryType": null,
"IncidentType": "string",
"Title": "string",
"IncidentDate": null,
"IncidenttTime": null,
"ApprovalStatus": "string"
}
}
]
}

Incidents

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [IncidentsData] false none JSON Array of Data Fields

IncidentsData

{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"CategoryType": null,
"IncidentType": "string",
"Title": "string",
"IncidentDate": null,
"IncidenttTime": null,
"ApprovalStatus": "string"
}
}

Incidents Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields IncidentsDataFields false none JSON Object of Data Fields

IncidentsDataFields

{
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"CategoryType": null,
"IncidentType": "string",
"Title": "string",
"IncidentDate": null,
"IncidenttTime": null,
"ApprovalStatus": "string"
}

Incidents Data Fields

Properties

Name Type Required Restrictions Description
UserName string false none none
FirstName string false none none
LastName string false none none
CategoryType int false none none
IncidentType string false none none
Title string false none none
IncidentDate datetime false none none
IncidenttTime time false none none
ApprovalStatus string false none none

Polls

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"Question": "string",
"Answer1": "string",
"Answer2": "string",
"Answer3": "string",
"Answer4": "string",
"Answer5": "string",
"Answer6": "string",
"PollStartDate": null,
"PollEndDate": null,
"PollAddedOn": null,
"Status": "string",
"CustomFieldsData": {}
}
}
]
}

Polls

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [PollsData] false none JSON Array of Data Fields

PollsData

{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"Question": "string",
"Answer1": "string",
"Answer2": "string",
"Answer3": "string",
"Answer4": "string",
"Answer5": "string",
"Answer6": "string",
"PollStartDate": null,
"PollEndDate": null,
"PollAddedOn": null,
"Status": "string",
"CustomFieldsData": {}
}
}

Polls Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields PollsDataFields false none JSON Object of Data Fields

PollsDataFields

{
"UserName": "string",
"FirstName": "string",
"LastName": "string",
"Question": "string",
"Answer1": "string",
"Answer2": "string",
"Answer3": "string",
"Answer4": "string",
"Answer5": "string",
"Answer6": "string",
"PollStartDate": null,
"PollEndDate": null,
"PollAddedOn": null,
"Status": "string",
"CustomFieldsData": {}
}

Polls Data Fields

Properties

Name Type Required Restrictions Description
UserName string false none none
FirstName string false none none
LastName string false none none
Question string false none none
Answer1 string false none none
Answer2 string false none none
Answer3 string false none none
Answer4 string false none none
Answer5 string false none none
Answer6 string false none none
PollStartDate datetime false none none
PollEndDate datetime false none none
PollAddedOn datetime false none none
Status string false none none
CustomFieldsData object false none none

Attendance

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"AttendanceDate": null,
"SignInTime": null,
"SignOutTime": null,
"LunchBreakOutTime": null,
"LunchBreakInTime": null,
"AdditionalBreakOutTime": null,
"AdditionalBreakInTime": null,
"ExtraBreakOutTime": null,
"ExtraBreakInTime": null,
"BreakOutTime": null,
"TotalTime": null,
"ApprovalStatus": "string",
"Approver": "string"
}
}
]
}

Attendance

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AttendanceData] false none JSON Array of Data Fields

AttendanceData

{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"AttendanceDate": null,
"SignInTime": null,
"SignOutTime": null,
"LunchBreakOutTime": null,
"LunchBreakInTime": null,
"AdditionalBreakOutTime": null,
"AdditionalBreakInTime": null,
"ExtraBreakOutTime": null,
"ExtraBreakInTime": null,
"BreakOutTime": null,
"TotalTime": null,
"ApprovalStatus": "string",
"Approver": "string"
}
}

Attendance Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AttendanceDataFields false none JSON Object of Data Fields

AttendanceDataFields

{
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"AttendanceDate": null,
"SignInTime": null,
"SignOutTime": null,
"LunchBreakOutTime": null,
"LunchBreakInTime": null,
"AdditionalBreakOutTime": null,
"AdditionalBreakInTime": null,
"ExtraBreakOutTime": null,
"ExtraBreakInTime": null,
"BreakOutTime": null,
"TotalTime": null,
"ApprovalStatus": "string",
"Approver": "string"
}

Attendance Data Fields

Properties

Name Type Required Restrictions Description
Username string false none none
FirstName string false none none
LastName string false none none
FullName string false none none
AttendanceDate date false none none
SignInTime datetime false none none
SignOutTime datetime false none none
LunchBreakOutTime datetime false none none
LunchBreakInTime datetime false none none
AdditionalBreakOutTime datetime false none none
AdditionalBreakInTime datetime false none none
ExtraBreakOutTime datetime false none none
ExtraBreakInTime datetime false none none
BreakOutTime datetime false none none
TotalTime datetime false none none
ApprovalStatus string false none none
Approver string false none none

AddAttendance

{
"AccessCode": "string",
"Date": null,
"Time": null,
"Type": "string",
"WorkShift": "string",
"SchedulerId": null
}

Add Attendance

Properties

Name Type Required Restrictions Description
AccessCode string false none none
Date date false none none
Time datetime false none none
Type string false none none
WorkShift string false none none
SchedulerId int false none none

AddEmployeeHours

{
"UserName": "string",
"EmployeeId": 0,
"Project": "string",
"ProjectId": 0,
"ProjectTaskId": 0,
"EmployeeHoursDate": "string",
"RegularHours": "string",
"OvertimeHours": "string",
"Description": "string",
"JiraWorklogId": "string"
}

Add Employee Hours

Properties

Name Type Required Restrictions Description
UserName string false none none
EmployeeId integer false none none
Project string false none none
ProjectId integer false none none
ProjectTaskId integer false none none
EmployeeHoursDate string false none none
RegularHours string false none none
OvertimeHours string false none none
Description string false none none
JiraWorklogId string false none none

AddPoll

{
"Question": "string",
"Answer1": "string",
"Answer2": "string",
"Answer3": "string",
"Answer4": "string",
"Answer5": "string",
"Answer6": "string",
"PollStartDate": null,
"PollEndDate": null,
"Notes": "string",
"AdditionalInfo": {},
"CustomFields": {}
}

Add Poll

Properties

Name Type Required Restrictions Description
Question string false none none
Answer1 string false none none
Answer2 string false none none
Answer3 string false none none
Answer4 string false none none
Answer5 string false none none
Answer6 string false none none
PollStartDate date false none none
PollEndDate date false none none
Notes string false none none
AdditionalInfo object false none none
CustomFields object false none none

Leaves

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"Reason": "string",
"ReferenceNumber": "string",
"LeaveType": "string",
"LunchBreakOutTime": null,
"LeaveFrom": null,
"LeaveTo": null,
"LeaveHours": "string",
"ApprovalStatus": "string"
}
}
]
}

Leaves

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [LeavesData] false none JSON Array of Data Fields

LeavesData

{
"FieldId": "string",
"DataFields": {
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"Reason": "string",
"ReferenceNumber": "string",
"LeaveType": "string",
"LunchBreakOutTime": null,
"LeaveFrom": null,
"LeaveTo": null,
"LeaveHours": "string",
"ApprovalStatus": "string"
}
}

Leaves Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields LeavesDataFields false none JSON Object of Data Fields

LeavesDataFields

{
"Username": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"Reason": "string",
"ReferenceNumber": "string",
"LeaveType": "string",
"LunchBreakOutTime": null,
"LeaveFrom": null,
"LeaveTo": null,
"LeaveHours": "string",
"ApprovalStatus": "string"
}

Leaves Data Fields

Properties

Name Type Required Restrictions Description
Username string false none none
FirstName string false none none
LastName string false none none
FullName string false none none
Reason string false none none
ReferenceNumber string false none none
LeaveType string false none none
LunchBreakOutTime datetime false none none
LeaveFrom date false none none
LeaveTo date false none none
LeaveHours string false none none
ApprovalStatus string false none none

AddLeave

{
"UserName": "string",
"LeaveFrom": null,
"LeaveTo": null,
"LeaveType": "string",
"LeaveDuration": "string",
"HalfDayLeavePeriod": "string"
}

Add Leave

Properties

Name Type Required Restrictions Description
UserName string false none none
LeaveFrom date false none none
LeaveTo date false none none
LeaveType string false none none
LeaveDuration string false none none
HalfDayLeavePeriod string false none none

LeavesQuota

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Year": "string",
"Employee": "string",
"UserName": "string",
"AccessCode": "string",
"EmployeeType": "string",
"EmployeeCategory": null,
"LeaveType": null,
"Entitled": null,
"Accrued": "string",
"CarriedOver": "string",
"Additional": null,
"Adjusted": null,
"Taken": null,
"Pending": "string",
"Balance": "string"
}
}
]
}

Leaves Quota

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [LeavesQuotaData] false none JSON Array of Data Fields

LeavesQuotaData

{
"FieldId": "string",
"DataFields": {
"Year": "string",
"Employee": "string",
"UserName": "string",
"AccessCode": "string",
"EmployeeType": "string",
"EmployeeCategory": null,
"LeaveType": null,
"Entitled": null,
"Accrued": "string",
"CarriedOver": "string",
"Additional": null,
"Adjusted": null,
"Taken": null,
"Pending": "string",
"Balance": "string"
}
}

Leaves Quota Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields LeavesQuotaDataFields false none JSON Object of Data Fields

LeavesQuotaDataFields

{
"Year": "string",
"Employee": "string",
"UserName": "string",
"AccessCode": "string",
"EmployeeType": "string",
"EmployeeCategory": null,
"LeaveType": null,
"Entitled": null,
"Accrued": "string",
"CarriedOver": "string",
"Additional": null,
"Adjusted": null,
"Taken": null,
"Pending": "string",
"Balance": "string"
}

Leaves Quota Data Fields

Properties

Name Type Required Restrictions Description
Year string false none none
Employee string false none none
UserName string false none none
AccessCode string false none none
EmployeeType string false none none
EmployeeCategory datetime false none none
LeaveType date false none none
Entitled date false none none
Accrued string false none none
CarriedOver string false none none
Additional datetime false none none
Adjusted date false none none
Taken date false none none
Pending string false none none
Balance string false none none

EmployeeHours

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"UserName": "string",
"Employee": "string",
"Project": "string",
"EmployeeHoursDate": null,
"RegularHours": 0,
"OvertimeHours": 0
}
}
]
}

Employee Hours

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [EmployeeHoursData] false none JSON Array of Data Fields

EmployeeHoursData

{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"UserName": "string",
"Employee": "string",
"Project": "string",
"EmployeeHoursDate": null,
"RegularHours": 0,
"OvertimeHours": 0
}
}

Employee Hours Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields EmployeeHoursDataFields false none JSON Object of Data Fields

EmployeeHoursDataFields

{
"RecordId": "string",
"UserName": "string",
"Employee": "string",
"Project": "string",
"EmployeeHoursDate": null,
"RegularHours": 0,
"OvertimeHours": 0
}

Employee Hours Data Fields

Properties

Name Type Required Restrictions Description
RecordId string false none none
UserName string false none none
Employee string false none none
Project string false none none
EmployeeHoursDate date false none none
RegularHours integer false none none
OvertimeHours integer false none none

Worksheet

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"WorksheetTitle": "string",
"ProjectTitle": "string",
"WorksheetDate": null,
"WorksheetStartTime": "string",
"WorksheetEndTime": "string",
"WorkFromHome": "string",
"ApprovalStatus": "string",
"RecordAddedOn": "string",
"RecordAddedBy": "string"
}
}
]
}

Worksheet

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [WorksheetData] false none JSON Array of Data Fields

WorksheetData

{
"FieldId": "string",
"DataFields": {
"UserName": "string",
"Employee": "string",
"WorksheetTitle": "string",
"ProjectTitle": "string",
"WorksheetDate": null,
"WorksheetStartTime": "string",
"WorksheetEndTime": "string",
"WorkFromHome": "string",
"ApprovalStatus": "string",
"RecordAddedOn": "string",
"RecordAddedBy": "string"
}
}

Worksheet Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields WorksheetDataFields false none JSON Object of Data Fields

WorksheetDataFields

{
"UserName": "string",
"Employee": "string",
"WorksheetTitle": "string",
"ProjectTitle": "string",
"WorksheetDate": null,
"WorksheetStartTime": "string",
"WorksheetEndTime": "string",
"WorkFromHome": "string",
"ApprovalStatus": "string",
"RecordAddedOn": "string",
"RecordAddedBy": "string"
}

Worksheet Data Fields

Properties

Name Type Required Restrictions Description
UserName string false none none
Employee string false none none
WorksheetTitle string false none none
ProjectTitle string false none none
WorksheetDate date false none none
WorksheetStartTime string false none none
WorksheetEndTime string false none none
WorkFromHome string false none none
ApprovalStatus string false none none
RecordAddedOn string false none none
RecordAddedBy string false none none

FlexHours

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Date": "string",
"Hours": "string",
"Notes": "string",
"ApprovalStatus": "string",
"RecordAddedOn": "string",
"CustomFields": {}
}
}
]
}

Flex Hours

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [FlexHoursData] false none JSON Array of Data Fields

FlexHoursData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Date": "string",
"Hours": "string",
"Notes": "string",
"ApprovalStatus": "string",
"RecordAddedOn": "string",
"CustomFields": {}
}
}

Flex Hours Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields FlexHoursDataFields false none JSON Object of Data Fields

FlexHoursDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"Date": "string",
"Hours": "string",
"Notes": "string",
"ApprovalStatus": "string",
"RecordAddedOn": "string",
"CustomFields": {}
}

Flex Hours Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
Date string false none none
Hours string false none none
Notes string false none none
ApprovalStatus string false none none
RecordAddedOn string false none none
CustomFields object false none none

WorkShifts

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Title": "string",
"Status": "string",
"NightShift": 0,
"SchedulerShift": 0,
"Notes": "string",
"WorkDays": [
"string"
],
"WorkHours": [
"string"
],
"RegularWorkHours": [
"string"
],
"WorkShiftAddedOn": "string",
"CustomFields": {}
}
}
]
}

Work Shifts

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [WorkShiftsData] false none JSON Array of Data Fields

WorkShiftsData

{
"FieldId": "string",
"DataFields": {
"Title": "string",
"Status": "string",
"NightShift": 0,
"SchedulerShift": 0,
"Notes": "string",
"WorkDays": [
"string"
],
"WorkHours": [
"string"
],
"RegularWorkHours": [
"string"
],
"WorkShiftAddedOn": "string",
"CustomFields": {}
}
}

Work Shifts Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields WorkShiftsDataFields false none JSON Object of Data Fields

WorkShiftsDataFields

{
"Title": "string",
"Status": "string",
"NightShift": 0,
"SchedulerShift": 0,
"Notes": "string",
"WorkDays": [
"string"
],
"WorkHours": [
"string"
],
"RegularWorkHours": [
"string"
],
"WorkShiftAddedOn": "string",
"CustomFields": {}
}

Work Shifts Data Fields

Properties

Name Type Required Restrictions Description
Title string false none none
Status string false none none
NightShift integer false none none
SchedulerShift integer false none none
Notes string false none none
WorkDays [string] false none none
WorkHours [string] false none none
RegularWorkHours [string] false none none
WorkShiftAddedOn string false none none
CustomFields object false none none

Holidays

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"Title": "string",
"HolidayDuration": "string",
"HolidayStartDate": null,
"HolidayEndDate": null,
"PaidHoliday": "string",
"Status": "string",
"Company": "string",
"Station": "string",
"Department": "string",
"RecordAddedOn": null,
"RecordAddedBy": "string"
}
}
]
}

Holidays

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [HolidaysData] false none JSON Array of Data Fields

HolidaysData

{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"Title": "string",
"HolidayDuration": "string",
"HolidayStartDate": null,
"HolidayEndDate": null,
"PaidHoliday": "string",
"Status": "string",
"Company": "string",
"Station": "string",
"Department": "string",
"RecordAddedOn": null,
"RecordAddedBy": "string"
}
}

Holidays Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields HolidaysDataFields false none JSON Object of Data Fields

HolidaysDataFields

{
"RecordId": "string",
"Title": "string",
"HolidayDuration": "string",
"HolidayStartDate": null,
"HolidayEndDate": null,
"PaidHoliday": "string",
"Status": "string",
"Company": "string",
"Station": "string",
"Department": "string",
"RecordAddedOn": null,
"RecordAddedBy": "string"
}

Holidays Data Fields

Properties

Name Type Required Restrictions Description
RecordId string false none none
Title string false none none
HolidayDuration string false none none
HolidayStartDate date false none none
HolidayEndDate date false none none
PaidHoliday string false none none
Status string false none none
Company string false none none
Station string false none none
Department string false none none
RecordAddedOn date false none none
RecordAddedBy string false none none

WorkFromHome

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"UserName": "string",
"Employee": "string",
"WorkFromHomeType": "string",
"WorkFromHomeStartDate": null,
"WorkFromHomeEndDate": null,
"ApprovalStatus": "string",
"RecordAddedOn": null,
"RecordAddedBy": "string"
}
}
]
}

WorkFromHome

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [WorkFromHomeData] false none JSON Array of Data Fields

WorkFromHomeData

{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"UserName": "string",
"Employee": "string",
"WorkFromHomeType": "string",
"WorkFromHomeStartDate": null,
"WorkFromHomeEndDate": null,
"ApprovalStatus": "string",
"RecordAddedOn": null,
"RecordAddedBy": "string"
}
}

WorkFromHome Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields WorkFromHomeDataFields false none JSON Object of Data Fields

WorkFromHomeDataFields

{
"RecordId": "string",
"UserName": "string",
"Employee": "string",
"WorkFromHomeType": "string",
"WorkFromHomeStartDate": null,
"WorkFromHomeEndDate": null,
"ApprovalStatus": "string",
"RecordAddedOn": null,
"RecordAddedBy": "string"
}

WorkFromHome Data Fields

Properties

Name Type Required Restrictions Description
RecordId string false none none
UserName string false none none
Employee string false none none
WorkFromHomeType string false none none
WorkFromHomeStartDate date false none none
WorkFromHomeEndDate date false none none
ApprovalStatus string false none none
RecordAddedOn datetime false none none
RecordAddedBy string false none none

SpecificDaysOff

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"UserName": "string",
"FullName": "string",
"Notes": "string",
"DayOffDate": null
}
}
]
}

Specific Days Off

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [SpecificDaysOffData] false none JSON Array of Data Fields

SpecificDaysOffData

{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"UserName": "string",
"FullName": "string",
"Notes": "string",
"DayOffDate": null
}
}

Specific Days Off Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields SpecificDaysOffDataFields false none JSON Object of Data Fields

SpecificDaysOffDataFields

{
"RecordId": "string",
"UserName": "string",
"FullName": "string",
"Notes": "string",
"DayOffDate": null
}

Specific Days Off Data Fields

Properties

Name Type Required Restrictions Description
RecordId string false none none
UserName string false none none
FullName string false none none
Notes string false none none
DayOffDate date false none none

Projects

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"ProjectTitle": "string",
"ProjectCode": "string",
"ClientName": "string",
"ProjectCategoryName": null,
"ProjectStartDate": null,
"ProjectEndDate": null,
"ProjectManager": "string",
"ProjectCoordinator": "string",
"ProjectEmployees": "string",
"ProjectStatus": "string"
}
}
]
}

Projects

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [ProjectsData] false none JSON Array of Data Fields

ProjectsData

{
"FieldId": "string",
"DataFields": {
"RecordId": "string",
"ProjectTitle": "string",
"ProjectCode": "string",
"ClientName": "string",
"ProjectCategoryName": null,
"ProjectStartDate": null,
"ProjectEndDate": null,
"ProjectManager": "string",
"ProjectCoordinator": "string",
"ProjectEmployees": "string",
"ProjectStatus": "string"
}
}

Projects Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields ProjectsDataFields false none JSON Object of Data Fields

ProjectsDataFields

{
"RecordId": "string",
"ProjectTitle": "string",
"ProjectCode": "string",
"ClientName": "string",
"ProjectCategoryName": null,
"ProjectStartDate": null,
"ProjectEndDate": null,
"ProjectManager": "string",
"ProjectCoordinator": "string",
"ProjectEmployees": "string",
"ProjectStatus": "string"
}

Projects Data Fields

Properties

Name Type Required Restrictions Description
RecordId string false none none
ProjectTitle string false none none
ProjectCode string false none none
ClientName string false none none
ProjectCategoryName date false none none
ProjectStartDate date false none none
ProjectEndDate date false none none
ProjectManager string false none none
ProjectCoordinator string false none none
ProjectEmployees string false none none
ProjectStatus string false none none

ProjectsTasks

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Task": "string",
"TaskType": "string",
"ProjectTitle": "string",
"ClientName": "string",
"TaskStartDate": null,
"TaskEndDate": null,
"Deadline": null,
"AssignedTo": []
}
}
]
}

Projects Tasks

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [ProjectsTasksData] false none JSON Array of Data Fields

ProjectsTasksData

{
"FieldId": "string",
"DataFields": {
"Task": "string",
"TaskType": "string",
"ProjectTitle": "string",
"ClientName": "string",
"TaskStartDate": null,
"TaskEndDate": null,
"Deadline": null,
"AssignedTo": []
}
}

Projects Tasks Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields ProjectsTasksDataFields false none JSON Object of Data Fields

ProjectsTasksDataFields

{
"Task": "string",
"TaskType": "string",
"ProjectTitle": "string",
"ClientName": "string",
"TaskStartDate": null,
"TaskEndDate": null,
"Deadline": null,
"AssignedTo": []
}

Projects Tasks Data Fields

Properties

Name Type Required Restrictions Description
Task string false none none
TaskType string false none none
ProjectTitle string false none none
ClientName string false none none
TaskStartDate date false none none
TaskEndDate date false none none
Deadline date false none none
AssignedTo array false none none

ProjectsTasksParams

{
"Task": "string",
"TaskType": "string",
"ProjectTitle": "string",
"Deadline": null,
"AssignedTo": [],
"TaskStartDate": null,
"TaskEndDate": null,
"TaskStartTime": "string",
"TaskEndTime": "string",
"MaxHoursBy": "string",
"MaxHours": "string",
"TaskRateRegular": "string",
"TaskRateOvertime": "string",
"TaskBillRateRegular": "string",
"TaskBillRateOvertime": "string",
"Description": "string"
}

Projects Tasks Params

Properties

Name Type Required Restrictions Description
Task string false none none
TaskType string false none none
ProjectTitle string false none none
Deadline date false none none
AssignedTo array false none none
TaskStartDate date false none none
TaskEndDate date false none none
TaskStartTime string false none none
TaskEndTime string false none none
MaxHoursBy string false none none
MaxHours string false none none
TaskRateRegular string false none none
TaskRateOvertime string false none none
TaskBillRateRegular string false none none
TaskBillRateOvertime string false none none
Description string false none none

ProjectsClients

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"ClientName": "string",
"FirstName": "string",
"LastName": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"Address": "string",
"City": "string",
"State": "string",
"Country": "string",
"ZipCode": "string"
}
}
]
}

Projects Clients

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [ProjectsClientsData] false none JSON Array of Data Fields

ProjectsClientsData

{
"FieldId": "string",
"DataFields": {
"ClientName": "string",
"FirstName": "string",
"LastName": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"Address": "string",
"City": "string",
"State": "string",
"Country": "string",
"ZipCode": "string"
}
}

Projects Clients Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields ProjectsClientsDataFields false none JSON Object of Data Fields

ProjectsClientsDataFields

{
"ClientName": "string",
"FirstName": "string",
"LastName": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"Address": "string",
"City": "string",
"State": "string",
"Country": "string",
"ZipCode": "string"
}

Projects Clients Data Fields

Properties

Name Type Required Restrictions Description
ClientName string false none none
FirstName string false none none
LastName string false none none
EmailAddress string false none none
PhoneNumber string false none none
Address string false none none
City string false none none
State string false none none
Country string false none none
ZipCode string false none none

JobPosts

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"JobTitle": "string",
"ReferenceNumber": null,
"JobType": "string",
"NumberOfPositions": 0,
"CandidateAgeRangeStart": 0,
"CandidateAgeRangeEnd": 0,
"CandidateExperience": "string",
"CandidateQualification": "string",
"Description": "string",
"SalaryStartRange": "string",
"SalaryEndRange": "string",
"JobPostCompany": "string",
"JobPostDepartment": "string",
"JobPostStation": "string"
}
}
]
}

Job Posts

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [JobPostsData] false none JSON Array of Data Fields

JobPostsData

{
"FieldId": "string",
"DataFields": {
"JobTitle": "string",
"ReferenceNumber": null,
"JobType": "string",
"NumberOfPositions": 0,
"CandidateAgeRangeStart": 0,
"CandidateAgeRangeEnd": 0,
"CandidateExperience": "string",
"CandidateQualification": "string",
"Description": "string",
"SalaryStartRange": "string",
"SalaryEndRange": "string",
"JobPostCompany": "string",
"JobPostDepartment": "string",
"JobPostStation": "string"
}
}

Job Posts Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields JobPostsDataFields false none JSON Object of Data Fields

JobPostsDataFields

{
"JobTitle": "string",
"ReferenceNumber": null,
"JobType": "string",
"NumberOfPositions": 0,
"CandidateAgeRangeStart": 0,
"CandidateAgeRangeEnd": 0,
"CandidateExperience": "string",
"CandidateQualification": "string",
"Description": "string",
"SalaryStartRange": "string",
"SalaryEndRange": "string",
"JobPostCompany": "string",
"JobPostDepartment": "string",
"JobPostStation": "string"
}

Job Posts Data Fields

Properties

Name Type Required Restrictions Description
JobTitle string false none none
ReferenceNumber integet false none none
JobType string false none none
NumberOfPositions integer false none none
CandidateAgeRangeStart integer false none none
CandidateAgeRangeEnd integer false none none
CandidateExperience string false none none
CandidateQualification string false none none
Description string false none none
SalaryStartRange string false none none
SalaryEndRange string false none none
JobPostCompany string false none none
JobPostDepartment string false none none
JobPostStation string false none none

JobRequests

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"JobTitle": "string",
"ReferenceNumber": 0,
"JobType": "string",
"NumberOfPositions": 0,
"CandidateAgeRangeStart": 0,
"CandidateAgeRangeEnd": 0,
"CandidateExperience": "string",
"CandidateQualification": "string",
"Description": "string",
"SalaryStartRange": "string",
"SalaryEndRange": "string"
}
}
]
}

Job Requests

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [JobRequestsData] false none JSON Array of Data Fields

JobRequestsData

{
"FieldId": "string",
"DataFields": {
"JobTitle": "string",
"ReferenceNumber": 0,
"JobType": "string",
"NumberOfPositions": 0,
"CandidateAgeRangeStart": 0,
"CandidateAgeRangeEnd": 0,
"CandidateExperience": "string",
"CandidateQualification": "string",
"Description": "string",
"SalaryStartRange": "string",
"SalaryEndRange": "string"
}
}

Job Requests Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields JobRequestsFields false none JSON Object of Data Fields

JobRequestsFields

{
"JobTitle": "string",
"ReferenceNumber": 0,
"JobType": "string",
"NumberOfPositions": 0,
"CandidateAgeRangeStart": 0,
"CandidateAgeRangeEnd": 0,
"CandidateExperience": "string",
"CandidateQualification": "string",
"Description": "string",
"SalaryStartRange": "string",
"SalaryEndRange": "string"
}

Job Requests Fields

Properties

Name Type Required Restrictions Description
JobTitle string false none none
ReferenceNumber integer false none none
JobType string false none none
NumberOfPositions integer false none none
CandidateAgeRangeStart integer false none none
CandidateAgeRangeEnd integer false none none
CandidateExperience string false none none
CandidateQualification string false none none
Description string false none none
SalaryStartRange string false none none
SalaryEndRange string false none none

JobCandidatesList

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"FirstName": "string",
"LastName": 0,
"DateOfBirth": "string",
"Gender": 0,
"Nationality": 0,
"Address": 0,
"City": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"MobileNumber": "string",
"JobField": "string",
"AppliedOn": null,
"Qualifications": null,
"Experience": null,
"Membership": null,
"Trainings": null,
"Languages": null,
"Skills": null,
"References": null,
"CustomFields": null
}
}
]
}

Job Candidates List

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [JobCandidatesListData] false none JSON Array of Data Fields

JobCandidatesListData

{
"FieldId": "string",
"DataFields": {
"FirstName": "string",
"LastName": 0,
"DateOfBirth": "string",
"Gender": 0,
"Nationality": 0,
"Address": 0,
"City": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"MobileNumber": "string",
"JobField": "string",
"AppliedOn": null,
"Qualifications": null,
"Experience": null,
"Membership": null,
"Trainings": null,
"Languages": null,
"Skills": null,
"References": null,
"CustomFields": null
}
}

Job Candidates List Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields JobCandidatesListDataFields false none JSON Object of Data Fields

JobCandidatesListDataFields

{
"FirstName": "string",
"LastName": 0,
"DateOfBirth": "string",
"Gender": 0,
"Nationality": 0,
"Address": 0,
"City": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"MobileNumber": "string",
"JobField": "string",
"AppliedOn": null,
"Qualifications": null,
"Experience": null,
"Membership": null,
"Trainings": null,
"Languages": null,
"Skills": null,
"References": null,
"CustomFields": null
}

Job Candidates List Data Fields

Properties

Name Type Required Restrictions Description
FirstName string false none none
LastName integer false none none
DateOfBirth string false none none
Gender integer false none none
Nationality integer false none none
Address integer false none none
City string false none none
EmailAddress string false none none
PhoneNumber string false none none
MobileNumber string false none none
JobField string false none none
AppliedOn date false none none
Qualifications Array false none none
Experience Array false none none
Membership Array false none none
Trainings Array false none none
Languages Array false none none
Skills Array false none none
References Array false none none
CustomFields Array false none none

AddCandidate

{
"JobField": "string",
"FirstName": "string",
"LastName": "string",
"DateOfBirth": "string",
"Gender": "string",
"Address": "string",
"City": "string",
"ZipCode": "string",
"Country": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"Interests": null,
"Achievements": null,
"ResourceSource": "string",
"ResourceSourceDetails": "string"
}

Add Candidate

Properties

Name Type Required Restrictions Description
JobField string false none none
FirstName string false none none
LastName string false none none
DateOfBirth string false none none
Gender string false none none
Address string false none none
City string false none none
ZipCode string false none none
Country string false none none
EmailAddress string false none none
PhoneNumber string false none none
Interests Array false none none
Achievements Array false none none
ResourceSource string false none none
ResourceSourceDetails string false none none

ScreeningInterviews

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"InterviewType": "string",
"InterviewDate": null,
"InterviewTime": null,
"PlaceOfInterview": "string",
"CandidateName": "string",
"CandidateEmailAddress": "string",
"CandidateReferenceNumber": 0
}
}
]
}

Screening Interviews

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [ScreeningInterviewsData] false none JSON Array of Data Fields

ScreeningInterviewsData

{
"FieldId": "string",
"DataFields": {
"InterviewType": "string",
"InterviewDate": null,
"InterviewTime": null,
"PlaceOfInterview": "string",
"CandidateName": "string",
"CandidateEmailAddress": "string",
"CandidateReferenceNumber": 0
}
}

Screening Interviews Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields ScreeningInterviewsDataFields false none JSON Object of Data Fields

ScreeningInterviewsDataFields

{
"InterviewType": "string",
"InterviewDate": null,
"InterviewTime": null,
"PlaceOfInterview": "string",
"CandidateName": "string",
"CandidateEmailAddress": "string",
"CandidateReferenceNumber": 0
}

Screening Interviews Data Fields

Properties

Name Type Required Restrictions Description
InterviewType string false none none
InterviewDate Date false none none
InterviewTime datetime false none none
PlaceOfInterview string false none none
CandidateName string false none none
CandidateEmailAddress string false none none
CandidateReferenceNumber integer false none none

JobTests

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Title": "string",
"Description": "string",
"TestTime": "string",
"SubmitOnTimesUp": 0,
"Notes": "string",
"JobTestAddedOn": "string",
"Questions": [
{}
],
"CustomFields": {}
}
}
]
}

Job Tests

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [JobTestsData] false none JSON Array of Data Fields

JobTestsData

{
"FieldId": "string",
"DataFields": {
"Title": "string",
"Description": "string",
"TestTime": "string",
"SubmitOnTimesUp": 0,
"Notes": "string",
"JobTestAddedOn": "string",
"Questions": [
{}
],
"CustomFields": {}
}
}

Job Tests Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields JobTestsDataFields false none JSON Object of Data Fields

JobTestsDataFields

{
"Title": "string",
"Description": "string",
"TestTime": "string",
"SubmitOnTimesUp": 0,
"Notes": "string",
"JobTestAddedOn": "string",
"Questions": [
{}
],
"CustomFields": {}
}

Job Tests Data Fields

Properties

Name Type Required Restrictions Description
Title string false none none
Description string false none none
TestTime string false none none
SubmitOnTimesUp integer false none none
Notes string false none none
JobTestAddedOn string false none none
Questions [object] false none none
CustomFields object false none none

JobEvaluation

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Title": "string",
"Description": "string",
"Instructions": "string",
"Notes": "string",
"JobEvaluationAddedOn": "string",
"Questions": [
{}
]
}
}
]
}

Job Evaluation

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [JobEvaluationData] false none JSON Array of Data Fields

JobEvaluationData

{
"FieldId": "string",
"DataFields": {
"Title": "string",
"Description": "string",
"Instructions": "string",
"Notes": "string",
"JobEvaluationAddedOn": "string",
"Questions": [
{}
]
}
}

Job Evaluation Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields JobEvaluationDataFields false none JSON Object of Data Fields

JobEvaluationDataFields

{
"Title": "string",
"Description": "string",
"Instructions": "string",
"Notes": "string",
"JobEvaluationAddedOn": "string",
"Questions": [
{}
]
}

Job Evaluation Data Fields

Properties

Name Type Required Restrictions Description
Title string false none none
Description string false none none
Instructions string false none none
Notes string false none none
JobEvaluationAddedOn string false none none
Questions [object] false none none

AddJobTest

{
"Title": "string",
"Description": "string",
"TestTime": "string",
"SubmitOnTimesUp": 0,
"Notes": "string",
"Questions": [
{}
]
}

Add Job Test

Properties

Name Type Required Restrictions Description
Title string false none none
Description string false none none
TestTime string false none none
SubmitOnTimesUp integer false none none
Notes string false none none
Questions [object] false none none

AddJobEvaluation

{
"Title": "string",
"Description": "string",
"Instructions": "string",
"Notes": "string",
"Questions": [
{}
]
}

Add Job Evaluation

Properties

Name Type Required Restrictions Description
Title string false none none
Description string false none none
Instructions string false none none
Notes string false none none
Questions [object] false none none

GenericAddResponse

{
"Status": 0,
"Message": "string",
"Error": "string"
}

Generic Add Response

Properties

Name Type Required Restrictions Description
Status integer false none none
Message string false none none
Error string false none none

JobEvaluationAddResponse

{
"Status": 0,
"Message": "string",
"Error": "string",
"Data": {
"JobEvaluationId": 0
}
}

Job Evaluation Add Response

Properties

Name Type Required Restrictions Description
Status integer false none none
Message string false none none
Error string false none none
Data object false none none
» JobEvaluationId integer false none none

Loans

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"LoanAmount": "string",
"RemainingAmount": "string",
"MonthlyRepaymentAmount": "string",
"RepaymentsType": "string",
"RepaymentsMonths": "string",
"LoanDate": null,
"RepaymentStartDate": null,
"Interest": "string",
"InterestType": "string",
"TotalLoanPaid": "string"
}
}
]
}

Loans

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [LoansData] false none JSON Array of Data Fields

LoansData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"LoanAmount": "string",
"RemainingAmount": "string",
"MonthlyRepaymentAmount": "string",
"RepaymentsType": "string",
"RepaymentsMonths": "string",
"LoanDate": null,
"RepaymentStartDate": null,
"Interest": "string",
"InterestType": "string",
"TotalLoanPaid": "string"
}
}

Loans Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields LoansDataFields false none JSON Object of Data Fields

LoansDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"LoanAmount": "string",
"RemainingAmount": "string",
"MonthlyRepaymentAmount": "string",
"RepaymentsType": "string",
"RepaymentsMonths": "string",
"LoanDate": null,
"RepaymentStartDate": null,
"Interest": "string",
"InterestType": "string",
"TotalLoanPaid": "string"
}

Loans Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
LoanAmount string false none none
RemainingAmount string false none none
MonthlyRepaymentAmount string false none none
RepaymentsType string false none none
RepaymentsMonths string false none none
LoanDate date false none none
RepaymentStartDate date false none none
Interest string false none none
InterestType string false none none
TotalLoanPaid string false none none

Payslips

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"UserName": "string",
"AccessCode": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"Nationality": "string",
"PositionCode": "string",
"TotalSalary": "string",
"PayslipItems": null,
"AdditionalItems": null,
"SalaryDate": null,
"SalaryPeriod_StartDate": null,
"SalaryPeriod_EndDate": null,
"ApprovalStatus": "string"
}
}
]
}

Payslips

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [PayslipsData] false none JSON Array of Data Fields

PayslipsData

{
"FieldId": "string",
"DataFields": {
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"UserName": "string",
"AccessCode": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"Nationality": "string",
"PositionCode": "string",
"TotalSalary": "string",
"PayslipItems": null,
"AdditionalItems": null,
"SalaryDate": null,
"SalaryPeriod_StartDate": null,
"SalaryPeriod_EndDate": null,
"ApprovalStatus": "string"
}
}

Payslips Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields PayslipsDataFields false none JSON Object of Data Fields

PayslipsDataFields

{
"CompanyName": "string",
"StationName": "string",
"DivisionName": "string",
"UserName": "string",
"AccessCode": "string",
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"Nationality": "string",
"PositionCode": "string",
"TotalSalary": "string",
"PayslipItems": null,
"AdditionalItems": null,
"SalaryDate": null,
"SalaryPeriod_StartDate": null,
"SalaryPeriod_EndDate": null,
"ApprovalStatus": "string"
}

Payslips Data Fields

Properties

Name Type Required Restrictions Description
CompanyName string false none none
StationName string false none none
DivisionName string false none none
UserName string false none none
AccessCode string false none none
FirstName string false none none
LastName string false none none
FullName string false none none
Nationality string false none none
PositionCode string false none none
TotalSalary string false none none
PayslipItems Array false none none
AdditionalItems Array false none none
SalaryDate date false none none
SalaryPeriod_StartDate date false none none
SalaryPeriod_EndDate date false none none
ApprovalStatus string false none none

Salary

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"PayrollSetup": "string",
"SalaryType": "string",
"Currency": "string",
"AnnualGrossSalary": null,
"MonthlyGrossSalary": null,
"HourlySalary": null,
"OvertimeHourlySalary": null,
"HoursPerWeek": null,
"PayrollItems": null
}
}
]
}

Salary

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [SalaryData] false none JSON Array of Data Fields

SalaryData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"PayrollSetup": "string",
"SalaryType": "string",
"Currency": "string",
"AnnualGrossSalary": null,
"MonthlyGrossSalary": null,
"HourlySalary": null,
"OvertimeHourlySalary": null,
"HoursPerWeek": null,
"PayrollItems": null
}
}

Salary Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields SalaryDataFields false none JSON Object of Data Fields

SalaryDataFields

{
"Employee": "string",
"UserName": "string",
"PayrollSetup": "string",
"SalaryType": "string",
"Currency": "string",
"AnnualGrossSalary": null,
"MonthlyGrossSalary": null,
"HourlySalary": null,
"OvertimeHourlySalary": null,
"HoursPerWeek": null,
"PayrollItems": null
}

Salary Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
PayrollSetup string false none none
SalaryType string false none none
Currency string false none none
AnnualGrossSalary decimal false none none
MonthlyGrossSalary decimal false none none
HourlySalary decimal false none none
OvertimeHourlySalary decimal false none none
HoursPerWeek decimal false none none
PayrollItems Array false none none

AdvanceSalary

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AdvanceSalaryDate": null
}
}
]
}

AdvanceSalary

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AdvanceSalaryData] false none JSON Array of Data Fields

AdvanceSalaryData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AdvanceSalaryDate": null
}
}

AdvanceSalary Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AdvanceSalaryDataFields false none JSON Object of Data Fields

AdvanceSalaryDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AdvanceSalaryDate": null
}

AdvanceSalary Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
Amount string false none none
AdvanceSalaryDate date false none none

Earnings

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"EarningDate": null,
"EarningType": "string"
}
}
]
}

Earnings

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [EarningsData] false none JSON Array of Data Fields

EarningsData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"EarningDate": null,
"EarningType": "string"
}
}

Earnings Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields EarningsDataFields false none JSON Object of Data Fields

EarningsDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"EarningDate": null,
"EarningType": "string"
}

Earnings Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
Amount string false none none
EarningDate date false none none
EarningType string false none none

Bonuses

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"BonusDate": null
}
}
]
}

Bonuses

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [BonusesData] false none JSON Array of Data Fields

BonusesData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"BonusDate": null
}
}

Bonuses Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields BonusesDataFields false none JSON Object of Data Fields

BonusesDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"BonusDate": null
}

Bonuses Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
Amount string false none none
BonusDate date false none none

Commissions

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"CommissionDate": null
}
}
]
}

Commissions

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [CommissionsData] false none JSON Array of Data Fields

CommissionsData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"CommissionDate": null
}
}

Commissions Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields CommissionsDataFields false none JSON Object of Data Fields

CommissionsDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"CommissionDate": null
}

Commissions Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
Amount string false none none
CommissionDate date false none none

Deductions

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"DeductionDate": null,
"DeductionType": "string"
}
}
]
}

Deductions

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [DeductionsData] false none JSON Array of Data Fields

DeductionsData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"DeductionDate": null,
"DeductionType": "string"
}
}

Deductions Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields DeductionsDataFields false none JSON Object of Data Fields

DeductionsDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"DeductionDate": null,
"DeductionType": "string"
}

Deductions Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
Amount string false none none
DeductionDate date false none none
DeductionType string false none none

AddDeduction

{
"UserName": "string",
"DeductionType": "string",
"DeductionTitle": "string",
"Amount": "string",
"Currency": "string",
"DeductionDate": "string",
"DeductionEndDate": "string",
"DeductionHours": "string",
"Description": "string",
"Notes": "string"
}

Add Deduction

Properties

Name Type Required Restrictions Description
UserName string false none none
DeductionType string false none none
DeductionTitle string false none none
Amount string false none none
Currency string false none none
DeductionDate string false none none
DeductionEndDate string false none none
DeductionHours string false none none
Description string false none none
Notes string false none none

RecurringDeductions

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"Title": "string",
"Amount": "string",
"RecurringDeductionEndDate": null,
"DeductionType": "string"
}
}
]
}

Recurring Deductions

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [RecurringDeductionsData] false none JSON Array of Data Fields

RecurringDeductionsData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"Title": "string",
"Amount": "string",
"RecurringDeductionEndDate": null,
"DeductionType": "string"
}
}

Recurring Deductions Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields RecurringDeductionsDataFields false none JSON Object of Data Fields

RecurringDeductionsDataFields

{
"Employee": "string",
"Title": "string",
"Amount": "string",
"RecurringDeductionEndDate": null,
"DeductionType": "string"
}

Recurring Deductions Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
Title string false none none
Amount string false none none
RecurringDeductionEndDate date false none none
DeductionType string false none none

Adjustments

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AdjustmentDate": null,
"AdjustmentType": "string"
}
}
]
}

Adjustments

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AdjustmentsData] false none JSON Array of Data Fields

AdjustmentsData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AdjustmentDate": null,
"AdjustmentType": "string"
}
}

Adjustments Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AdjustmentsDataFields false none JSON Object of Data Fields

AdjustmentsDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AdjustmentDate": null,
"AdjustmentType": "string"
}

Adjustments Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
Amount string false none none
AdjustmentDate date false none none
AdjustmentType string false none none

RecurringAdjustments

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"Title": "string",
"Amount": "string",
"StartDate": null,
"EndDate": null,
"AdjustmentType": "string"
}
}
]
}

Recurring Adjustments

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [RecurringAdjustmentsData] false none JSON Array of Data Fields

RecurringAdjustmentsData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"Title": "string",
"Amount": "string",
"StartDate": null,
"EndDate": null,
"AdjustmentType": "string"
}
}

Recurring Adjustments Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields RecurringAdjustmentsDataFields false none JSON Object of Data Fields

RecurringAdjustmentsDataFields

{
"Employee": "string",
"Title": "string",
"Amount": "string",
"StartDate": null,
"EndDate": null,
"AdjustmentType": "string"
}

Recurring Adjustments Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
Title string false none none
Amount string false none none
StartDate date false none none
EndDate date false none none
AdjustmentType string false none none

HourlyWages

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"HourlyWageDate": null,
"RegularHours": "string",
"OvertimeHours": "string"
}
}
]
}

HourlyWages

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [HourlyWagesData] false none JSON Array of Data Fields

HourlyWagesData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"HourlyWageDate": null,
"RegularHours": "string",
"OvertimeHours": "string"
}
}

Hourly Wages Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields HourlyWagesDataFields false none JSON Object of Data Fields

HourlyWagesDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"HourlyWageDate": null,
"RegularHours": "string",
"OvertimeHours": "string"
}

Hourly Wages Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
HourlyWageDate date false none none
RegularHours string false none none
OvertimeHours string false none none

Insurance

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"InsuranceType": "string",
"EmployeeShareAmount": null,
"OrganizationShareAmount": null,
"ExpiryDate": null
}
}
]
}

Insurance

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [InsuranceData] false none JSON Array of Data Fields

InsuranceData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"InsuranceType": "string",
"EmployeeShareAmount": null,
"OrganizationShareAmount": null,
"ExpiryDate": null
}
}

Insurance Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields InsuranceDataFields false none JSON Object of Data Fields

InsuranceDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"InsuranceType": "string",
"EmployeeShareAmount": null,
"OrganizationShareAmount": null,
"ExpiryDate": null
}

Insurance Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
InsuranceType string false none none
EmployeeShareAmount decimal false none none
OrganizationShareAmount decimal false none none
ExpiryDate date false none none

Reimbursements

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReimbursementDate": null,
"ApprovalStatus": "string",
"ReimbursementItems": null
}
}
]
}

Reimbursements

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [ReimbursementsData] false none JSON Array of Data Fields

ReimbursementsData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReimbursementDate": null,
"ApprovalStatus": "string",
"ReimbursementItems": null
}
}

Reimbursements Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields ReimbursementsDataFields false none JSON Object of Data Fields

ReimbursementsDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReimbursementDate": null,
"ApprovalStatus": "string",
"ReimbursementItems": null
}

Reimbursements Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
ReimbursementDate date false none none
ApprovalStatus string false none none
ReimbursementItems Array false none none

CostToCompany

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"CostToCompanyDate": null,
"CostToCompanyItems": null
}
}
]
}

Cost To Company

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [CostToCompanyData] false none JSON Array of Data Fields

CostToCompanyData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"CostToCompanyDate": null,
"CostToCompanyItems": null
}
}

Cost To Company Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields CostToCompanyDataFields false none JSON Object of Data Fields

CostToCompanyDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"CostToCompanyDate": null,
"CostToCompanyItems": null
}

Cost To Company Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
CostToCompanyDate date false none none
CostToCompanyItems Array false none none

Overtimes

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"OvertimeDate": null,
"OvertimeTimeIn": null,
"OvertimeTimeOut": null
}
}
]
}

Overtimes

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [OvertimesData] false none JSON Array of Data Fields

OvertimesData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"OvertimeDate": null,
"OvertimeTimeIn": null,
"OvertimeTimeOut": null
}
}

Overtimes Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields OvertimesDataFields false none JSON Object of Data Fields

OvertimesDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"OvertimeDate": null,
"OvertimeTimeIn": null,
"OvertimeTimeOut": null
}

Overtimes Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
Amount string false none none
OvertimeDate date false none none
OvertimeTimeIn date false none none
OvertimeTimeOut date false none none

ProvidentFund

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"ProvidentFundType": "string",
"ProvidentFundMethod": "string",
"EmployeeShare": "string",
"OrganizationShare": "string",
"ProvidentFundStartDate": null,
"ProvidentFundEndDate": null
}
}
]
}

Provident Fund

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [ProvidentFundData] false none JSON Array of Data Fields

ProvidentFundData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"ProvidentFundType": "string",
"ProvidentFundMethod": "string",
"EmployeeShare": "string",
"OrganizationShare": "string",
"ProvidentFundStartDate": null,
"ProvidentFundEndDate": null
}
}

Provident Fund Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields ProvidentFundDataFields false none JSON Object of Data Fields

ProvidentFundDataFields

{
"Employee": "string",
"UserName": "string",
"ProvidentFundType": "string",
"ProvidentFundMethod": "string",
"EmployeeShare": "string",
"OrganizationShare": "string",
"ProvidentFundStartDate": null,
"ProvidentFundEndDate": null
}

Provident Fund Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
ProvidentFundType string false none none
ProvidentFundMethod string false none none
EmployeeShare string false none none
OrganizationShare string false none none
ProvidentFundStartDate date false none none
ProvidentFundEndDate date false none none

FinalSettlements

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"FinalSettlementsDate": "string",
"FinalSettlementsItems": null
}
}
]
}

Final Settlements

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [FinalSettlementsData] false none JSON Array of Data Fields

FinalSettlementsData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"FinalSettlementsDate": "string",
"FinalSettlementsItems": null
}
}

Final Settlements Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields FinalSettlementsDataFields false none JSON Object of Data Fields

FinalSettlementsDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"FinalSettlementsDate": "string",
"FinalSettlementsItems": null
}

Final Settlements Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
FinalSettlementsDate string false none none
FinalSettlementsItems Array false none none

LeavesEncashment

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"LeaveEncashmentDate": null,
"LeaveEncashmentType": "string",
"LeaveType": "string",
"LeaveDays": "string",
"Amount": "string",
"ApprovalStatus": "string",
"ReferenceNumber": "string"
}
}
]
}

Leaves Encashment

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [LeavesEncashmentData] false none JSON Array of Data Fields

LeavesEncashmentData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"LeaveEncashmentDate": null,
"LeaveEncashmentType": "string",
"LeaveType": "string",
"LeaveDays": "string",
"Amount": "string",
"ApprovalStatus": "string",
"ReferenceNumber": "string"
}
}

Leaves Encashment Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields LeavesEncashmentDataFields false none JSON Object of Data Fields

LeavesEncashmentDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"LeaveEncashmentDate": null,
"LeaveEncashmentType": "string",
"LeaveType": "string",
"LeaveDays": "string",
"Amount": "string",
"ApprovalStatus": "string",
"ReferenceNumber": "string"
}

Leaves Encashment Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
LeaveEncashmentDate date false none none
LeaveEncashmentType string false none none
LeaveType string false none none
LeaveDays string false none none
Amount string false none none
ApprovalStatus string false none none
ReferenceNumber string false none none

Allowance

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AllowanceStartDate": null,
"AllowanceEndDate": null,
"AllowanceType": "string",
"ApprovalStatus": "string",
"ReferenceNumber": "string"
}
}
]
}

Allowance

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AllowanceData] false none JSON Array of Data Fields

AllowanceData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AllowanceStartDate": null,
"AllowanceEndDate": null,
"AllowanceType": "string",
"ApprovalStatus": "string",
"ReferenceNumber": "string"
}
}

Allowance Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AllowanceDataFields false none JSON Object of Data Fields

AllowanceDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"AllowanceStartDate": null,
"AllowanceEndDate": null,
"AllowanceType": "string",
"ApprovalStatus": "string",
"ReferenceNumber": "string"
}

Allowance Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
Amount string false none none
AllowanceStartDate date false none none
AllowanceEndDate date false none none
AllowanceType string false none none
ApprovalStatus string false none none
ReferenceNumber string false none none

Garnishments

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReferenceNumber": "string",
"GarnishmentType": "string",
"Amount": "string",
"RemainingAmount": "string",
"PaymentAmount": "string",
"StartDate": null,
"EndDate": null,
"ApprovalStatus": "string"
}
}
]
}

Garnishments

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [GarnishmentsData] false none JSON Array of Data Fields

GarnishmentsData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReferenceNumber": "string",
"GarnishmentType": "string",
"Amount": "string",
"RemainingAmount": "string",
"PaymentAmount": "string",
"StartDate": null,
"EndDate": null,
"ApprovalStatus": "string"
}
}

Garnishments Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields GarnishmentsDataFields false none JSON Object of Data Fields

GarnishmentsDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReferenceNumber": "string",
"GarnishmentType": "string",
"Amount": "string",
"RemainingAmount": "string",
"PaymentAmount": "string",
"StartDate": null,
"EndDate": null,
"ApprovalStatus": "string"
}

Garnishments Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
ReferenceNumber string false none none
GarnishmentType string false none none
Amount string false none none
RemainingAmount string false none none
PaymentAmount string false none none
StartDate date false none none
EndDate date false none none
ApprovalStatus string false none none

TaxCredits

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"TaxCreditsType": "string",
"Title": "string",
"Amount": "string",
"TaxCreditDate": null,
"TaxCreditEndDate": null,
"ReferenceNumber": "string",
"ApprovalStatus": "string"
}
}
]
}

Tax Credits

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [TaxCreditsData] false none JSON Array of Data Fields

TaxCreditsData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"TaxCreditsType": "string",
"Title": "string",
"Amount": "string",
"TaxCreditDate": null,
"TaxCreditEndDate": null,
"ReferenceNumber": "string",
"ApprovalStatus": "string"
}
}

Tax Credits Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields TaxCreditsDataFields false none JSON Object of Data Fields

TaxCreditsDataFields

{
"Employee": "string",
"UserName": "string",
"TaxCreditsType": "string",
"Title": "string",
"Amount": "string",
"TaxCreditDate": null,
"TaxCreditEndDate": null,
"ReferenceNumber": "string",
"ApprovalStatus": "string"
}

Tax Credits Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
TaxCreditsType string false none none
Title string false none none
Amount string false none none
TaxCreditDate date false none none
TaxCreditEndDate date false none none
ReferenceNumber string false none none
ApprovalStatus string false none none

Pensions

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"PensionType": "string",
"PensionMethod": "string",
"StartDate": null,
"EndDate": null,
"EmployeeShare": "string",
"OrganizationShare": "string",
"PensionStartDate": null,
"PensionEndDate": null
}
}
]
}

Pensions

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [PensionsData] false none JSON Array of Data Fields

PensionsData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"PensionType": "string",
"PensionMethod": "string",
"StartDate": null,
"EndDate": null,
"EmployeeShare": "string",
"OrganizationShare": "string",
"PensionStartDate": null,
"PensionEndDate": null
}
}

Pensions Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields PensionsDataFields false none JSON Object of Data Fields

PensionsDataFields

{
"Employee": "string",
"UserName": "string",
"PensionType": "string",
"PensionMethod": "string",
"StartDate": null,
"EndDate": null,
"EmployeeShare": "string",
"OrganizationShare": "string",
"PensionStartDate": null,
"PensionEndDate": null
}

Pensions Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
PensionType string false none none
PensionMethod string false none none
StartDate date false none none
EndDate date false none none
EmployeeShare string false none none
OrganizationShare string false none none
PensionStartDate date false none none
PensionEndDate date false none none

SalaryChanges

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReferenceNumber": "string",
"SalaryChangeType": "string",
"SalaryChangeCategory": "string",
"SalaryChangeDate": null,
"Amount": "string",
"SalaryChangeItems": null,
"ApprovalStatus": "string"
}
}
]
}

Salary Changes

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [SalaryChangesData] false none JSON Array of Data Fields

SalaryChangesData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReferenceNumber": "string",
"SalaryChangeType": "string",
"SalaryChangeCategory": "string",
"SalaryChangeDate": null,
"Amount": "string",
"SalaryChangeItems": null,
"ApprovalStatus": "string"
}
}

Salary Changes Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields SalaryChangesDataFields false none JSON Object of Data Fields

SalaryChangesDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"ReferenceNumber": "string",
"SalaryChangeType": "string",
"SalaryChangeCategory": "string",
"SalaryChangeDate": null,
"Amount": "string",
"SalaryChangeItems": null,
"ApprovalStatus": "string"
}

Salary Changes Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
ReferenceNumber string false none none
SalaryChangeType string false none none
SalaryChangeCategory string false none none
SalaryChangeDate date false none none
Amount string false none none
SalaryChangeItems Array false none none
ApprovalStatus string false none none

Stocks

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"NumberOfShares": "string",
"PricePerShare": "string",
"StockGrantDate": null,
"ReferenceNumber": "string",
"ApprovalStatus": "string"
}
}
]
}

Stocks

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [StocksData] false none JSON Array of Data Fields

StocksData

{
"FieldId": "string",
"DataFields": {
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"NumberOfShares": "string",
"PricePerShare": "string",
"StockGrantDate": null,
"ReferenceNumber": "string",
"ApprovalStatus": "string"
}
}

Stocks Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields StocksDataFields false none JSON Object of Data Fields

StocksDataFields

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"Amount": "string",
"NumberOfShares": "string",
"PricePerShare": "string",
"StockGrantDate": null,
"ReferenceNumber": "string",
"ApprovalStatus": "string"
}

Stocks Data Fields

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
Amount string false none none
NumberOfShares string false none none
PricePerShare string false none none
StockGrantDate date false none none
ReferenceNumber string false none none
ApprovalStatus string false none none

OpenPositions

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"OpenPositionCode": 0,
"OpenPositionTitle": "string",
"Status": "string",
"EstimatedSalary": "string",
"CompanyName": "string",
"DivisionName": "string",
"StationName": "string",
"DepartmentName": "string",
"ApprovalStatus": "string",
"CustomFields": {}
}
}
]
}

Open Positions

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [OpenPositionsData] false none JSON Array of Data Fields

OpenPositionsData

{
"FieldId": "string",
"DataFields": {
"OpenPositionCode": 0,
"OpenPositionTitle": "string",
"Status": "string",
"EstimatedSalary": "string",
"CompanyName": "string",
"DivisionName": "string",
"StationName": "string",
"DepartmentName": "string",
"ApprovalStatus": "string",
"CustomFields": {}
}
}

Open Positions Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields OpenPositionsDataFields false none JSON Object of Data Fields

OpenPositionsDataFields

{
"OpenPositionCode": 0,
"OpenPositionTitle": "string",
"Status": "string",
"EstimatedSalary": "string",
"CompanyName": "string",
"DivisionName": "string",
"StationName": "string",
"DepartmentName": "string",
"ApprovalStatus": "string",
"CustomFields": {}
}

Open Positions Data Fields

Properties

Name Type Required Restrictions Description
OpenPositionCode integer false none none
OpenPositionTitle string false none none
Status string false none none
EstimatedSalary string false none none
CompanyName string false none none
DivisionName string false none none
StationName string false none none
DepartmentName string false none none
ApprovalStatus string false none none
CustomFields object false none none

OpenPositionsParams

{
"StartDate": "string",
"EndDate": "string",
"ApprovalStatus": 0,
"AllowCustomFields": 0,
"Page": 0,
"RecordsPerPage": 0,
"Search": "string"
}

Open Positions Params

Properties

Name Type Required Restrictions Description
StartDate string false none none
EndDate string false none none
ApprovalStatus integer false none none
AllowCustomFields integer false none none
Page integer false none none
RecordsPerPage integer false none none
Search string false none none

Planning

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PlanningTitle": "string",
"PlanningStartDate": "string",
"PlanningEndDate": "string",
"PlanningAmount": "string",
"Currency": "string",
"Description": "string",
"PlanningItems": [
{
"Company": "string",
"Division": "string",
"Station": "string",
"Department": "string",
"EmployeeDesignationName": "string",
"NoOfEmployees": "string"
}
],
"ApprovalStatus": "string",
"AddedOn": "string"
}
}
]
}

Planning

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [PlanningData] false none JSON Array of Data Fields

PlanningData

{
"FieldId": "string",
"DataFields": {
"PlanningTitle": "string",
"PlanningStartDate": "string",
"PlanningEndDate": "string",
"PlanningAmount": "string",
"Currency": "string",
"Description": "string",
"PlanningItems": [
{
"Company": "string",
"Division": "string",
"Station": "string",
"Department": "string",
"EmployeeDesignationName": "string",
"NoOfEmployees": "string"
}
],
"ApprovalStatus": "string",
"AddedOn": "string"
}
}

Planning Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields PlanningDataFields false none JSON Object of Data Fields

PlanningDataFields

{
"PlanningTitle": "string",
"PlanningStartDate": "string",
"PlanningEndDate": "string",
"PlanningAmount": "string",
"Currency": "string",
"Description": "string",
"PlanningItems": [
{
"Company": "string",
"Division": "string",
"Station": "string",
"Department": "string",
"EmployeeDesignationName": "string",
"NoOfEmployees": "string"
}
],
"ApprovalStatus": "string",
"AddedOn": "string"
}

Planning Data Fields

Properties

Name Type Required Restrictions Description
PlanningTitle string false none none
PlanningStartDate string false none none
PlanningEndDate string false none none
PlanningAmount string false none none
Currency string false none none
Description string false none none
PlanningItems [PlanningItem] false none none
ApprovalStatus string false none none
AddedOn string false none none

PlanningItem

{
"Company": "string",
"Division": "string",
"Station": "string",
"Department": "string",
"EmployeeDesignationName": "string",
"NoOfEmployees": "string"
}

Planning Item

Properties

Name Type Required Restrictions Description
Company string false none none
Division string false none none
Station string false none none
Department string false none none
EmployeeDesignationName string false none none
NoOfEmployees string false none none

PlanningParams

{
"StartDate": "string",
"EndDate": "string",
"Title": "string",
"ApprovalStatus": 0,
"Page": 0,
"RecordsPerPage": 0,
"Search": "string"
}

Planning Params

Properties

Name Type Required Restrictions Description
StartDate string false none none
EndDate string false none none
Title string false none none
ApprovalStatus integer false none none
Page integer false none none
RecordsPerPage integer false none none
Search string false none none

Budget

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PlanningTitle": "string",
"BudgetTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}
}
]
}

Budget

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [BudgetData] false none JSON Array of Data Fields

BudgetData

{
"FieldId": "string",
"DataFields": {
"PlanningTitle": "string",
"BudgetTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}
}

Budget Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields BudgetDataFields false none JSON Object of Data Fields

BudgetDataFields

{
"PlanningTitle": "string",
"BudgetTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}

Budget Data Fields

Properties

Name Type Required Restrictions Description
PlanningTitle string false none none
BudgetTitle string false none none
BudgetStartDate string false none none
BudgetEndDate string false none none
BudgetAmount string false none none
ReferenceNumber string false none none
Currency string false none none
Description string false none none
ApprovalStatus string false none none
AddedOn string false none none

BudgetParams

{
"StartDate": "string",
"EndDate": "string",
"Title": "string",
"ApprovalStatus": 0,
"Page": 0,
"RecordsPerPage": 0,
"Search": "string"
}

Budget Params

Properties

Name Type Required Restrictions Description
StartDate string false none none
EndDate string false none none
Title string false none none
ApprovalStatus integer false none none
Page integer false none none
RecordsPerPage integer false none none
Search string false none none

TravelBudget

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"HRBudgetTravelTypeTitle": "string",
"TravelTypeTitle": "string",
"BudgetTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}
}
]
}

Travel Budget

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [TravelBudgetData] false none JSON Array of Data Fields

TravelBudgetData

{
"FieldId": "string",
"DataFields": {
"HRBudgetTravelTypeTitle": "string",
"TravelTypeTitle": "string",
"BudgetTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}
}

Travel Budget Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields TravelBudgetDataFields false none JSON Object of Data Fields

TravelBudgetDataFields

{
"HRBudgetTravelTypeTitle": "string",
"TravelTypeTitle": "string",
"BudgetTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}

Travel Budget Data Fields

Properties

Name Type Required Restrictions Description
HRBudgetTravelTypeTitle string false none none
TravelTypeTitle string false none none
BudgetTitle string false none none
BudgetStartDate string false none none
BudgetEndDate string false none none
BudgetAmount string false none none
ReferenceNumber string false none none
Currency string false none none
Description string false none none
ApprovalStatus string false none none
AddedOn string false none none

TravelBudgetParams

{
"StartDate": "string",
"EndDate": "string",
"Title": "string",
"ApprovalStatus": 0,
"Page": 0,
"RecordsPerPage": 0,
"Search": "string"
}

Travel Budget Params

Properties

Name Type Required Restrictions Description
StartDate string false none none
EndDate string false none none
Title string false none none
ApprovalStatus integer false none none
Page integer false none none
RecordsPerPage integer false none none
Search string false none none

EventBudget

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"EventBudgetTitle": "string",
"BudgetType": "string",
"EventTypeTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}
}
]
}

Event Budget

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [EventBudgetData] false none JSON Array of Data Fields

EventBudgetData

{
"FieldId": "string",
"DataFields": {
"EventBudgetTitle": "string",
"BudgetType": "string",
"EventTypeTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}
}

Event Budget Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields EventBudgetDataFields false none JSON Object of Data Fields

EventBudgetDataFields

{
"EventBudgetTitle": "string",
"BudgetType": "string",
"EventTypeTitle": "string",
"BudgetStartDate": "string",
"BudgetEndDate": "string",
"BudgetAmount": "string",
"ReferenceNumber": "string",
"Currency": "string",
"Description": "string",
"ApprovalStatus": "string",
"AddedOn": "string"
}

Event Budget Data Fields

Properties

Name Type Required Restrictions Description
EventBudgetTitle string false none none
BudgetType string false none none
EventTypeTitle string false none none
BudgetStartDate string false none none
BudgetEndDate string false none none
BudgetAmount string false none none
ReferenceNumber string false none none
Currency string false none none
Description string false none none
ApprovalStatus string false none none
AddedOn string false none none

EventBudgetParams

{
"StartDate": "string",
"EndDate": "string",
"Title": "string",
"ApprovalStatus": 0,
"Page": 0,
"RecordsPerPage": 0,
"Search": "string"
}

Event Budget Params

Properties

Name Type Required Restrictions Description
StartDate string false none none
EndDate string false none none
Title string false none none
ApprovalStatus integer false none none
Page integer false none none
RecordsPerPage integer false none none
Search string false none none

JobCandidateForms

{
"Candidate": "string",
"SubmittedOn": "string",
"Deadline": null,
"FormTitle": "string",
"FormData": null
}

Job Candidate Forms

Properties

Name Type Required Restrictions Description
Candidate string false none none
SubmittedOn string false none none
Deadline date false none none
FormTitle string false none none
FormData Array false none none

Expenses

{
"Employee": "string",
"UserName": "string",
"Title": "string",
"ExpenseDate": "string",
"TotalAmount": "string",
"ExpenseItems": null
}

Expenses

Properties

Name Type Required Restrictions Description
Employee string false none none
UserName string false none none
Title string false none none
ExpenseDate string false none none
TotalAmount string false none none
ExpenseItems Array false none none

Assets

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"AssetName": "string",
"AssetCode": "string",
"AssetTag": "string",
"Quantity": "string",
"AssetCost": "string"
}
}
]
}

Assets

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AssetsData] false none JSON Array of Data Fields

AssetsData

{
"FieldId": "string",
"DataFields": {
"AssetName": "string",
"AssetCode": "string",
"AssetTag": "string",
"Quantity": "string",
"AssetCost": "string"
}
}

Assets Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AssetsDataFields false none JSON Object of Data Fields

AssetsDataFields

{
"AssetName": "string",
"AssetCode": "string",
"AssetTag": "string",
"Quantity": "string",
"AssetCost": "string"
}

Assets Data Fields

Properties

Name Type Required Restrictions Description
AssetName string false none none
AssetCode string false none none
AssetTag string false none none
Quantity string false none none
AssetCost string false none none

CheckOuts

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"AssetName": "string",
"AssetCode": "string",
"Employee": "string",
"UserName": "string",
"ReferenceNumber": 0,
"CheckoutDateTime": null,
"CheckinDateTime": null,
"Status": "string"
}
}
]
}

Check Outs

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [CheckOutsData] false none JSON Array of Data Fields

CheckOutsData

{
"FieldId": "string",
"DataFields": {
"AssetName": "string",
"AssetCode": "string",
"Employee": "string",
"UserName": "string",
"ReferenceNumber": 0,
"CheckoutDateTime": null,
"CheckinDateTime": null,
"Status": "string"
}
}

Check Out Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields CheckOutsDataFields false none JSON Object of Data Fields

CheckOutsDataFields

{
"AssetName": "string",
"AssetCode": "string",
"Employee": "string",
"UserName": "string",
"ReferenceNumber": 0,
"CheckoutDateTime": null,
"CheckinDateTime": null,
"Status": "string"
}

Check Out Data Fields

Properties

Name Type Required Restrictions Description
AssetName string false none none
AssetCode string false none none
Employee string false none none
UserName string false none none
ReferenceNumber integer false none none
CheckoutDateTime datetime false none none
CheckinDateTime datetime false none none
Status string false none none

AssetsVendors

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"VendorName": "string",
"PrimaryContact": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"MobileNumber": "string",
"Address": "string",
"City": "string",
"ZipCode": "string",
"State": "string",
"Country": "string",
"CustomFields": {}
}
}
]
}

Assets Vendors

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AssetsVendorsData] false none JSON Array of Data Fields

AssetsVendorsData

{
"FieldId": "string",
"DataFields": {
"VendorName": "string",
"PrimaryContact": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"MobileNumber": "string",
"Address": "string",
"City": "string",
"ZipCode": "string",
"State": "string",
"Country": "string",
"CustomFields": {}
}
}

Assets Vendors Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AssetsVendorsDataFields false none JSON Object of Data Fields

AssetsVendorsDataFields

{
"VendorName": "string",
"PrimaryContact": "string",
"EmailAddress": "string",
"PhoneNumber": "string",
"MobileNumber": "string",
"Address": "string",
"City": "string",
"ZipCode": "string",
"State": "string",
"Country": "string",
"CustomFields": {}
}

Assets Vendors Data Fields

Properties

Name Type Required Restrictions Description
VendorName string false none none
PrimaryContact string false none none
EmailAddress string false none none
PhoneNumber string false none none
MobileNumber string false none none
Address string false none none
City string false none none
ZipCode string false none none
State string false none none
Country string false none none
CustomFields object false none none

AssetsPurchaseOrderRequests

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PurchaseOrderRequestNumber": "string",
"Subject": "string",
"RequestDate": null,
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"ApprovalStatus": "string",
"PurchaseOrderRequestItems": [
{}
],
"CustomFieldsData": {}
}
}
]
}

Assets Purchase Order Requests

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AssetsPurchaseOrderRequestsData] false none JSON Array of Data Fields

AssetsPurchaseOrderRequestsData

{
"FieldId": "string",
"DataFields": {
"PurchaseOrderRequestNumber": "string",
"Subject": "string",
"RequestDate": null,
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"ApprovalStatus": "string",
"PurchaseOrderRequestItems": [
{}
],
"CustomFieldsData": {}
}
}

Assets Purchase Order Requests Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AssetsPurchaseOrderRequestsDataFields false none JSON Object of Data Fields

AssetsPurchaseOrderRequestsDataFields

{
"PurchaseOrderRequestNumber": "string",
"Subject": "string",
"RequestDate": null,
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"ApprovalStatus": "string",
"PurchaseOrderRequestItems": [
{}
],
"CustomFieldsData": {}
}

Assets Purchase Order Requests Data Fields

Properties

Name Type Required Restrictions Description
PurchaseOrderRequestNumber string false none none
Subject string false none none
RequestDate date false none none
TotalAmount string false none none
VendorId integer false none none
VendorName string false none none
ApprovalStatus string false none none
PurchaseOrderRequestItems [object] false none none
CustomFieldsData object false none none

AssetsPurchaseOrders

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PurchaseOrderNumber": "string",
"Subject": "string",
"PurchaseOrderDate": null,
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"PurchaseOrderRequestNumber": "string",
"ApprovalStatus": "string",
"PurchaseOrderItems": [
{}
],
"CustomFieldsData": {}
}
}
]
}

Assets Purchase Orders

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AssetsPurchaseOrdersData] false none JSON Array of Data Fields

AssetsPurchaseOrdersData

{
"FieldId": "string",
"DataFields": {
"PurchaseOrderNumber": "string",
"Subject": "string",
"PurchaseOrderDate": null,
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"PurchaseOrderRequestNumber": "string",
"ApprovalStatus": "string",
"PurchaseOrderItems": [
{}
],
"CustomFieldsData": {}
}
}

Assets Purchase Orders Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AssetsPurchaseOrdersDataFields false none JSON Object of Data Fields

AssetsPurchaseOrdersDataFields

{
"PurchaseOrderNumber": "string",
"Subject": "string",
"PurchaseOrderDate": null,
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"PurchaseOrderRequestNumber": "string",
"ApprovalStatus": "string",
"PurchaseOrderItems": [
{}
],
"CustomFieldsData": {}
}

Assets Purchase Orders Data Fields

Properties

Name Type Required Restrictions Description
PurchaseOrderNumber string false none none
Subject string false none none
PurchaseOrderDate date false none none
TotalAmount string false none none
VendorId integer false none none
VendorName string false none none
PurchaseOrderRequestNumber string false none none
ApprovalStatus string false none none
PurchaseOrderItems [object] false none none
CustomFieldsData object false none none

AssetsPurchaseOrderInvoices

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"PurchaseOrderInvoiceNumber": "string",
"Subject": "string",
"PurchaseOrderInvoiceDate": null,
"Amount": "string",
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"PurchaseOrderId": 0,
"PurchaseOrderNumber": "string",
"ApprovalStatus": "string",
"CustomFieldsData": {}
}
}
]
}

Assets Purchase Order Invoices

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AssetsPurchaseOrderInvoicesData] false none JSON Array of Data Fields

AssetsPurchaseOrderInvoicesData

{
"FieldId": "string",
"DataFields": {
"PurchaseOrderInvoiceNumber": "string",
"Subject": "string",
"PurchaseOrderInvoiceDate": null,
"Amount": "string",
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"PurchaseOrderId": 0,
"PurchaseOrderNumber": "string",
"ApprovalStatus": "string",
"CustomFieldsData": {}
}
}

Assets Purchase Order Invoices Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AssetsPurchaseOrderInvoicesDataFields false none JSON Object of Data Fields

AssetsPurchaseOrderInvoicesDataFields

{
"PurchaseOrderInvoiceNumber": "string",
"Subject": "string",
"PurchaseOrderInvoiceDate": null,
"Amount": "string",
"TotalAmount": "string",
"VendorId": 0,
"VendorName": "string",
"PurchaseOrderId": 0,
"PurchaseOrderNumber": "string",
"ApprovalStatus": "string",
"CustomFieldsData": {}
}

Assets Purchase Order Invoices Data Fields

Properties

Name Type Required Restrictions Description
PurchaseOrderInvoiceNumber string false none none
Subject string false none none
PurchaseOrderInvoiceDate date false none none
Amount string false none none
TotalAmount string false none none
VendorId integer false none none
VendorName string false none none
PurchaseOrderId integer false none none
PurchaseOrderNumber string false none none
ApprovalStatus string false none none
CustomFieldsData object false none none

AssetsLostAndFound

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"Item": "string",
"ReferenceNumber": "string",
"Stage": "string",
"LostBy": "string",
"FoundBy": "string",
"ItemLostDate": null,
"ItemLostTime": "string",
"ItemLostLocation": "string",
"ItemLostStation": "string",
"ItemFoundDate": null,
"ItemFoundTime": "string",
"ItemFoundLocation": "string",
"ItemFoundStation": "string",
"Notes": "string",
"Description": "string",
"Photo": "string",
"PhotoURL": "string",
"AdditionalInfo": {}
}
}
]
}

Assets Lost And Found

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [AssetsLostAndFoundData] false none JSON Array of Data Fields

AssetsLostAndFoundData

{
"FieldId": "string",
"DataFields": {
"Item": "string",
"ReferenceNumber": "string",
"Stage": "string",
"LostBy": "string",
"FoundBy": "string",
"ItemLostDate": null,
"ItemLostTime": "string",
"ItemLostLocation": "string",
"ItemLostStation": "string",
"ItemFoundDate": null,
"ItemFoundTime": "string",
"ItemFoundLocation": "string",
"ItemFoundStation": "string",
"Notes": "string",
"Description": "string",
"Photo": "string",
"PhotoURL": "string",
"AdditionalInfo": {}
}
}

Assets Lost And Found Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields AssetsLostAndFoundDataFields false none JSON Object of Data Fields

AssetsLostAndFoundDataFields

{
"Item": "string",
"ReferenceNumber": "string",
"Stage": "string",
"LostBy": "string",
"FoundBy": "string",
"ItemLostDate": null,
"ItemLostTime": "string",
"ItemLostLocation": "string",
"ItemLostStation": "string",
"ItemFoundDate": null,
"ItemFoundTime": "string",
"ItemFoundLocation": "string",
"ItemFoundStation": "string",
"Notes": "string",
"Description": "string",
"Photo": "string",
"PhotoURL": "string",
"AdditionalInfo": {}
}

Assets Lost And Found Data Fields

Properties

Name Type Required Restrictions Description
Item string false none none
ReferenceNumber string false none none
Stage string false none none
LostBy string false none none
FoundBy string false none none
ItemLostDate date false none none
ItemLostTime string false none none
ItemLostLocation string false none none
ItemLostStation string false none none
ItemFoundDate date false none none
ItemFoundTime string false none none
ItemFoundLocation string false none none
ItemFoundStation string false none none
Notes string false none none
Description string false none none
Photo string false none none
PhotoURL string false none none
AdditionalInfo object false none none

EmployeeTrainings

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"TrainingType": "string",
"TrainingSubject": "string",
"TrainingTitle": "string",
"DateFrom": null,
"DateTo": null
}
}
]
}

Employee Trainings

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [EmployeeTrainingsData] false none JSON Array of Data Fields

EmployeeTrainingsData

{
"FieldId": "string",
"DataFields": {
"TrainingType": "string",
"TrainingSubject": "string",
"TrainingTitle": "string",
"DateFrom": null,
"DateTo": null
}
}

Employee Trainings Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields EmployeeTrainingsDataFields false none JSON Object of Data Fields

EmployeeTrainingsDataFields

{
"TrainingType": "string",
"TrainingSubject": "string",
"TrainingTitle": "string",
"DateFrom": null,
"DateTo": null
}

Employee Trainings DataFields

Properties

Name Type Required Restrictions Description
TrainingType string false none none
TrainingSubject string false none none
TrainingTitle string false none none
DateFrom datetime false none none
DateTo datetime false none none

PendingCourses

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string",
"NextPageURL": "string"
},
"Data": [
{
"FieldId": "string",
"DataFields": {
"CourseName": "string",
"Employee": "string",
"CourseDeadline": null,
"TimeSpent": null,
"Progress": "string"
}
}
]
}

Pending Courses

Properties

Name Type Required Restrictions Description
Status integer false none 0 -> Fail
1 -> Success
Summary Summary false none JSON Object of Summary
Data [PendingCoursesData] false none JSON Array of Data Fields

PendingCoursesData

{
"FieldId": "string",
"DataFields": {
"CourseName": "string",
"Employee": "string",
"CourseDeadline": null,
"TimeSpent": null,
"Progress": "string"
}
}

Pending Courses Data

Properties

Name Type Required Restrictions Description
FieldId string false none none
DataFields PendingCoursesDataFields false none JSON Object of Data Fields

PendingCoursesDataFields

{
"CourseName": "string",
"Employee": "string",
"CourseDeadline": null,
"TimeSpent": null,
"Progress": "string"
}

Pending Courses DataFields

Properties

Name Type Required Restrictions Description
CourseName string false none none
Employee string false none none
CourseDeadline datetime false none none
TimeSpent time false none none
Progress string false none none

CompletedCourses

{
"Status": 1,
"Summary": {
"Page": 1,
"RecordsPerPage": 10,
"TotalRecords": 0,
"Offset": 0,
"NumberOfPages": 0,
"Search": "string"