Developer docs menu

API reference / Payroll

Payroll API

144 endpoints. Scopes: Scalar360.payroll.READ, .CREATE, .UPDATE, .DELETE or .ALL. All calls need Authorization: Scalar360-oauthtoken <access_token> — see Authentication.

GET

Payroll access

/api/v1/payroll/access

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/access" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/appraisals

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
cycleGidquerystringNo
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/appraisals" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/appraisals

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
cycleGidstring
employeeGidstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/appraisals" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"cycleGid":"string","employeeGid":"string"}'
GET

Get

/api/v1/payroll/appraisals/{gid}

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/appraisals/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
PUT

Update

/api/v1/payroll/appraisals/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
overallRatinginteger
selfCommentsstring
reviewerCommentsstring
statusstring
ratingsarray of object
ratings[].competencystring
ratings[].ratinginteger
ratings[].commentstring
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/appraisals/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"overallRating":1,"selfComments":"string","reviewerComments":"string","status":"string","ratings":[{"competency":"string","rating":1,"comment":"string"}]}'
DELETE

Delete

/api/v1/payroll/appraisals/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/appraisals/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Complete

/api/v1/payroll/appraisals/{gid}/complete

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/appraisals/{gid}/complete" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List cycles

/api/v1/payroll/appraisals/cycles

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/appraisals/cycles" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create cycle

/api/v1/payroll/appraisals/cycles

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
namestring
periodFromstring (date)
periodTostring (date)
statusstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/appraisals/cycles" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","periodFrom":"2026-10-12","periodTo":"2026-10-12","status":"string"}'
PUT

Update cycle

/api/v1/payroll/appraisals/cycles/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
namestring
periodFromstring (date)
periodTostring (date)
statusstring
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/appraisals/cycles/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","periodFrom":"2026-10-12","periodTo":"2026-10-12","status":"string"}'
DELETE

Delete cycle

/api/v1/payroll/appraisals/cycles/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/appraisals/cycles/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/assets

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
statusquerystringNo
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/assets" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/assets

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
assetTagstring
namestringYesrequired
categorystring
serialNumberstring
purchaseDatestring (date)
purchaseCostnumber
vendorstring
statusstring
notesstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/assets" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string"}'
GET

Get

/api/v1/payroll/assets/{gid}

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/assets/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
PUT

Update

/api/v1/payroll/assets/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
assetTagstring
namestringYesrequired
categorystring
serialNumberstring
purchaseDatestring (date)
purchaseCostnumber
vendorstring
statusstring
notesstring
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/assets/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"assetTag":"string","name":"string","category":"string","serialNumber":"string","purchaseDate":"2026-10-12","purchaseCost":100}'
DELETE

Delete

/api/v1/payroll/assets/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/assets/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Assign

/api/v1/payroll/assets/{gid}/assign

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
employeeGidstring
conditionNotestring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/assets/{gid}/assign" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"employeeGid":"string","conditionNote":"string"}'
POST

Return asset

/api/v1/payroll/assets/{gid}/return

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
conditionNotestring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/assets/{gid}/return" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"conditionNote":"string"}'
GET

For date

/api/v1/payroll/attendance

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
datequerystring (date)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/attendance" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Mark

/api/v1/payroll/attendance

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
datequerystring (date)Yes
Body fieldTypeRequiredNotes
employeeGidstring
datestring (date)
statusstring
remarksstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/attendance" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '[{"employeeGid":"string","date":"2026-10-12","status":"string","remarks":"string"}]'
POST

Check in

/api/v1/payroll/attendance/check-in

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
employeeGidstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/attendance/check-in" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"employeeGid":"string"}'
POST

Check out

/api/v1/payroll/attendance/check-out

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
employeeGidstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/attendance/check-out" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"employeeGid":"string"}'
GET

Get config

/api/v1/payroll/attendance/config

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/attendance/config" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
PUT

Update config

/api/v1/payroll/attendance/config

Scope: Scalar360.payroll.UPDATE

Body fieldTypeRequiredNotes
fullDayHoursnumber
halfDayHoursnumber
shiftStartstring
shiftEndstring
graceMinutesinteger
workweekstring
autoStatusboolean
webCheckinboolean
ipWhiteliststring
timezonestring
officeLatnumber
officeLngnumber
geofenceRadiusMinteger
requireGeofenceboolean
requireSelfieboolean
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/attendance/config" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"fullDayHours":100,"halfDayHours":100,"shiftStart":"string","shiftEnd":"string","graceMinutes":1,"workweek":"string"}'
POST

Import file

/api/v1/payroll/attendance/import

Scope: Scalar360.payroll.CREATE

Request body: multipart/form-data with a file field.

Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/attendance/import" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -F "file=@/path/to/file"
POST

Import preview

/api/v1/payroll/attendance/import/preview

Scope: Scalar360.payroll.CREATE

Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/attendance/import/preview" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '"string"'
GET

List

/api/v1/payroll/attendance/regularizations

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
statusquerystringNo
pagequeryinteger (default 1)No
pageSizequeryinteger (default 20)No
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/attendance/regularizations" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Apply

/api/v1/payroll/attendance/regularizations

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
employeeGidstring
attDatestring (date)
checkInstring
checkOutstring
statusstring
reasonstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/attendance/regularizations" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"employeeGid":"string","attDate":"2026-10-12","checkIn":"string","checkOut":"string","status":"string","reason":"string"}'
POST

Approve

/api/v1/payroll/attendance/regularizations/{gid}/approve

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/attendance/regularizations/{gid}/approve" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Reject

/api/v1/payroll/attendance/regularizations/{gid}/reject

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/attendance/regularizations/{gid}/reject" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Summary

/api/v1/payroll/attendance/summary

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
monthquerystringYes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/attendance/summary" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Today

/api/v1/payroll/attendance/today

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/attendance/today" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/checklist-templates

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/checklist-templates" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/checklist-templates

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
namestring
kindstring
activeboolean
itemsarray of object
items[].titlestring
items[].descriptionstring
items[].sortOrderinteger
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/checklist-templates" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","kind":"string","active":true,"items":[{"title":"string","description":"string","sortOrder":1}]}'
PUT

Update

/api/v1/payroll/checklist-templates/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
namestring
kindstring
activeboolean
itemsarray of object
items[].titlestring
items[].descriptionstring
items[].sortOrderinteger
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/checklist-templates/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","kind":"string","active":true,"items":[{"title":"string","description":"string","sortOrder":1}]}'
DELETE

Delete

/api/v1/payroll/checklist-templates/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/checklist-templates/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/checklists

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
kindquerystringNo
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/checklists" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Start

/api/v1/payroll/checklists

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
employeeGidstring
templateGidstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/checklists" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"employeeGid":"string","templateGid":"string"}'
GET

Get

/api/v1/payroll/checklists/{gid}

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/checklists/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
DELETE

Delete

/api/v1/payroll/checklists/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/checklists/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
PATCH

Toggle task

/api/v1/payroll/checklists/{gid}/tasks/{taskGid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
taskGidpathstring (uuid)Yes
Example request
curl -X PATCH "https://api.scalar360.com/api/v1/payroll/checklists/{gid}/tasks/{taskGid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
GET

Get

/api/v1/payroll/dashboard

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/dashboard" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List departments

/api/v1/payroll/departments

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/departments" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create department

/api/v1/payroll/departments

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
gidstring
namestring
codestring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/departments" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","name":"string","code":"string"}'
PUT

Update department

/api/v1/payroll/departments/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
gidstring
namestring
codestring
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/departments/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","name":"string","code":"string"}'
DELETE

Delete department

/api/v1/payroll/departments/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/departments/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List designations

/api/v1/payroll/designations

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/designations" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create designation

/api/v1/payroll/designations

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
gidstring
titlestring
departmentGidstring
departmentNamestring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/designations" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","title":"string","departmentGid":"string","departmentName":"string"}'
PUT

Update designation

/api/v1/payroll/designations/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
gidstring
titlestring
departmentGidstring
departmentNamestring
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/designations/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","title":"string","departmentGid":"string","departmentName":"string"}'
DELETE

Delete designation

/api/v1/payroll/designations/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/designations/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/devices

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/devices" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/devices

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
namestring
serialNostring
locationstring
ipWhiteliststring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/devices" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","serialNo":"string","location":"string","ipWhitelist":"string"}'
PUT

Update

/api/v1/payroll/devices/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
namestring
serialNostring
locationstring
ipWhiteliststring
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/devices/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","serialNo":"string","location":"string","ipWhitelist":"string"}'
DELETE

Delete

/api/v1/payroll/devices/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/devices/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Set active

/api/v1/payroll/devices/{gid}/active

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
activequerybooleanYes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/devices/{gid}/active" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Regenerate

/api/v1/payroll/devices/{gid}/regenerate-token

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/devices/{gid}/regenerate-token" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Punches

/api/v1/payroll/devices/punches

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
pagequeryinteger (default 1)No
pageSizequeryinteger (default 50)No
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/devices/punches" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Unmapped

/api/v1/payroll/devices/unmapped-count

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/devices/unmapped-count" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/documents

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
employeeGidquerystringNo
expiringOnlyqueryboolean (default false)No
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/documents" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Upload

/api/v1/payroll/documents

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
employeeGidquerystringYes
namequerystringNo
docTypequerystringNo
docNumberquerystringNo
issueDatequerystring (date)No
expiryDatequerystring (date)No
notesquerystringNo

Request body: multipart/form-data with a file field.

Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/documents" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -F "file=@/path/to/file"
DELETE

Delete

/api/v1/payroll/documents/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/documents/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/employees

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
pagequeryinteger (default 1)No
pageSizequeryinteger (default 20)No
qquerystring (default )No
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/employees" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/employees

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
gidstring
employeeCodestring
fullNamestring
emailstring
phonestring
dobstring (date)
genderstring
addressstring
departmentGidstring
departmentNamestring
designationGidstring
designationTitlestring
dateOfJoiningstring (date)
employmentTypestring
statusstring
dateOfExitstring (date)
bankAccountNostring
ifscstring
bankNamestring
panstring
uanstring
pfNumberstring
esiNumberstring
biometricIdstring
shiftGidstring
shiftNamestring
loginEmailstring
rolestring
reportingManagerGidstring
reportingManagerNamestring
accountStatusstring
locationGidstring
locationNamestring
monthlyGrossnumber
salaryStructureobject
salaryStructure.effectiveFromstring (date)
salaryStructure.ctcAnnualnumber
salaryStructure.pfApplicableboolean
salaryStructure.esiApplicableboolean
salaryStructure.ptApplicableboolean
salaryStructure.componentsarray of object
workStatestring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/employees" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","employeeCode":"string","fullName":"string","email":"string","phone":"string","dob":"2026-10-12"}'
GET

Get

/api/v1/payroll/employees/{gid}

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/employees/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
PUT

Update

/api/v1/payroll/employees/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
gidstring
employeeCodestring
fullNamestring
emailstring
phonestring
dobstring (date)
genderstring
addressstring
departmentGidstring
departmentNamestring
designationGidstring
designationTitlestring
dateOfJoiningstring (date)
employmentTypestring
statusstring
dateOfExitstring (date)
bankAccountNostring
ifscstring
bankNamestring
panstring
uanstring
pfNumberstring
esiNumberstring
biometricIdstring
shiftGidstring
shiftNamestring
loginEmailstring
rolestring
reportingManagerGidstring
reportingManagerNamestring
accountStatusstring
locationGidstring
locationNamestring
monthlyGrossnumber
salaryStructureobject
salaryStructure.effectiveFromstring (date)
salaryStructure.ctcAnnualnumber
salaryStructure.pfApplicableboolean
salaryStructure.esiApplicableboolean
salaryStructure.ptApplicableboolean
salaryStructure.componentsarray of object
workStatestring
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/employees/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","employeeCode":"string","fullName":"string","email":"string","phone":"string","dob":"2026-10-12"}'
DELETE

Delete

/api/v1/payroll/employees/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/employees/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Disable account

/api/v1/payroll/employees/{gid}/account/disable

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/employees/{gid}/account/disable" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Gen pin

/api/v1/payroll/employees/{gid}/account/pin

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/employees/{gid}/account/pin" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
PUT

Set salary structure

/api/v1/payroll/employees/{gid}/salary-structure

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
effectiveFromstring (date)
ctcAnnualnumber
pfApplicableboolean
esiApplicableboolean
ptApplicableboolean
componentsarray of object
components[].namestring
components[].kindstring
components[].calcTypestring
components[].valuenumber
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/employees/{gid}/salary-structure" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"effectiveFrom":"2026-10-12","ctcAnnual":100,"pfApplicable":true,"esiApplicable":true,"ptApplicable":true,"components":[{"name":"string","kind":"string","calcType":"string","value":100}]}'
POST

Import employees

/api/v1/payroll/employees/import

Scope: Scalar360.payroll.CREATE

Request body: multipart/form-data with a file field.

Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/employees/import" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -F "file=@/path/to/file"
GET

Template csv

/api/v1/payroll/employees/import/template.csv

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/employees/import/template.csv" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Template xlsx

/api/v1/payroll/employees/import/template.xlsx

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/employees/import/template.xlsx" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Estimate

/api/v1/payroll/employees/professional-tax-estimate

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
grossquerynumberYes
workStatequerystringNo
genderquerystringNo
dobquerystring (date)No
monthquerystringNo
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/employees/professional-tax-estimate" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/holidays

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/holidays" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/holidays

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
idstring
namestring
datestring (date)
typestring
recurringboolean
descriptionstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/holidays" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id":"string","name":"string","date":"2026-10-12","type":"string","recurring":true,"description":"string"}'
PUT

Update

/api/v1/payroll/holidays/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
idstring
namestring
datestring (date)
typestring
recurringboolean
descriptionstring
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/holidays/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id":"string","name":"string","date":"2026-10-12","type":"string","recurring":true,"description":"string"}'
DELETE

Delete

/api/v1/payroll/holidays/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/holidays/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Balances

/api/v1/payroll/leave/balances

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
employeeGidquerystring (uuid)Yes
yearqueryintegerNo
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/leave/balances" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List requests

/api/v1/payroll/leave/requests

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
statusquerystringNo
pagequeryinteger (default 1)No
pageSizequeryinteger (default 20)No
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/leave/requests" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Apply

/api/v1/payroll/leave/requests

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
employeeGidstring
leaveTypeGidstring
fromDatestring (date)
toDatestring (date)
daysnumber
reasonstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/leave/requests" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"employeeGid":"string","leaveTypeGid":"string","fromDate":"2026-10-12","toDate":"2026-10-12","days":100,"reason":"string"}'
POST

Approve

/api/v1/payroll/leave/requests/{gid}/approve

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/leave/requests/{gid}/approve" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Reject

/api/v1/payroll/leave/requests/{gid}/reject

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/leave/requests/{gid}/reject" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List types

/api/v1/payroll/leave/types

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/leave/types" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create type

/api/v1/payroll/leave/types

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
gidstring
namestring
codestring
paidboolean
annualQuotanumber
carryForwardboolean
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/leave/types" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","name":"string","code":"string","paid":true,"annualQuota":100,"carryForward":true}'
PUT

Update type

/api/v1/payroll/leave/types/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
gidstring
namestring
codestring
paidboolean
annualQuotanumber
carryForwardboolean
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/leave/types/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","name":"string","code":"string","paid":true,"annualQuota":100,"carryForward":true}'
DELETE

Delete type

/api/v1/payroll/leave/types/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/leave/types/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/letter-templates

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
activeOnlyqueryboolean (default false)No
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/letter-templates" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/letter-templates

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
namestring
typestring
subjectstring
bodystring
activeboolean
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/letter-templates" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","type":"string","subject":"string","body":"string","active":true}'
PUT

Update

/api/v1/payroll/letter-templates/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
namestring
typestring
subjectstring
bodystring
activeboolean
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/letter-templates/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","type":"string","subject":"string","body":"string","active":true}'
DELETE

Delete

/api/v1/payroll/letter-templates/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/letter-templates/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/letters

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
typequerystringNo
pagequeryinteger (default 1)No
pageSizequeryinteger (default 20)No
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/letters" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Generate

/api/v1/payroll/letters

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
employeeGidstring
templateGidstring
issueDatestring (date)
subjectstring
bodystring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/letters" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"employeeGid":"string","templateGid":"string","issueDate":"2026-10-12","subject":"string","body":"string"}'
GET

Get

/api/v1/payroll/letters/{gid}

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/letters/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
DELETE

Delete

/api/v1/payroll/letters/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/letters/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Pdf

/api/v1/payroll/letters/{gid}/pdf

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/letters/{gid}/pdf" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/locations

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/locations" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/locations

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
gidstring
namestring
latnumber
lngnumber
radiusMinteger
activeboolean
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/locations" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","name":"string","lat":100,"lng":100,"radiusM":1,"active":true}'
PUT

Update

/api/v1/payroll/locations/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
gidstring
namestring
latnumber
lngnumber
radiusMinteger
activeboolean
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/locations/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","name":"string","lat":100,"lng":100,"radiusM":1,"active":true}'
DELETE

Delete

/api/v1/payroll/locations/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/locations/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Get

/api/v1/payroll/payslips/{gid}

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/payslips/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Pdf

/api/v1/payroll/payslips/{gid}/pdf

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/payslips/{gid}/pdf" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Preview pdf

/api/v1/payroll/payslips/preview-pdf

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
payslipTemplatestring
accentColorstring
logoUrlstring
payslipNotestring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/payslips/preview-pdf" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"payslipTemplate":"string","accentColor":"string","logoUrl":"string","payslipNote":"string"}'
GET

List

/api/v1/payroll/requests

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
typequerystringNo
statusquerystringNo
pagequeryinteger (default 1)No
pageSizequeryinteger (default 20)No
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/requests" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/requests

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
typestring
employeeGidstring
fromDatestring (date)
toDatestring (date)
daysnumber
reasonstring
destinationstring
purposestring
travelModestring
estimatedCostnumber
advanceRequestednumber
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/requests" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"type":"string","employeeGid":"string","fromDate":"2026-10-12","toDate":"2026-10-12","days":100,"reason":"string"}'
POST

Approve

/api/v1/payroll/requests/{gid}/approve

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
notestring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/requests/{gid}/approve" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"note":"string"}'
POST

Cancel

/api/v1/payroll/requests/{gid}/cancel

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/requests/{gid}/cancel" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Reject

/api/v1/payroll/requests/{gid}/reject

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
notestring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/requests/{gid}/reject" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"note":"string"}'
GET

List

/api/v1/payroll/runs

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
pagequeryinteger (default 1)No
pageSizequeryinteger (default 20)No
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/runs" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/runs

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
monthquerystringYes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/runs" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Get

/api/v1/payroll/runs/{gid}

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/runs/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
DELETE

Delete

/api/v1/payroll/runs/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/runs/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Approve

/api/v1/payroll/runs/{gid}/approve

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/runs/{gid}/approve" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Mark paid

/api/v1/payroll/runs/{gid}/mark-paid

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
paidDatestring (date)
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/runs/{gid}/mark-paid" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"paidDate":"2026-10-12"}'
GET

Preview

/api/v1/payroll/runs/preview

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
monthquerystringYes
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/runs/preview" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List

/api/v1/payroll/salary-revisions

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
statusquerystringNo
pagequeryinteger (default 1)No
pageSizequeryinteger (default 20)No
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/salary-revisions" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/salary-revisions

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
employeeGidstring
proposedCtcnumber
effectiveDatestring (date)
reasonstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/salary-revisions" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"employeeGid":"string","proposedCtc":100,"effectiveDate":"2026-10-12","reason":"string"}'
POST

Apply

/api/v1/payroll/salary-revisions/{gid}/apply

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/salary-revisions/{gid}/apply" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Approve

/api/v1/payroll/salary-revisions/{gid}/approve

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
notestring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/salary-revisions/{gid}/approve" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"note":"string"}'
POST

Cancel

/api/v1/payroll/salary-revisions/{gid}/cancel

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/salary-revisions/{gid}/cancel" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Reject

/api/v1/payroll/salary-revisions/{gid}/reject

Scope: Scalar360.payroll.CREATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
notestring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/salary-revisions/{gid}/reject" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"note":"string"}'
GET

List

/api/v1/payroll/shifts

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/shifts" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create

/api/v1/payroll/shifts

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
gidstring
namestring
startTimestring
endTimestring
fullDayHoursnumber
halfDayHoursnumber
graceMinutesinteger
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/shifts" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","name":"string","startTime":"string","endTime":"string","fullDayHours":100,"halfDayHours":100}'
PUT

Update

/api/v1/payroll/shifts/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
gidstring
namestring
startTimestring
endTimestring
fullDayHoursnumber
halfDayHoursnumber
graceMinutesinteger
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/shifts/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gid":"string","name":"string","startTime":"string","endTime":"string","fullDayHours":100,"halfDayHours":100}'
DELETE

Delete

/api/v1/payroll/shifts/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/shifts/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

Get

/api/v1/payroll/statutory-config

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/statutory-config" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
PUT

Update

/api/v1/payroll/statutory-config

Scope: Scalar360.payroll.UPDATE

Body fieldTypeRequiredNotes
pfEmployeePctnumber
pfEmployerPctnumber
pfWageCeilingnumber
esiEmployeePctnumber
esiEmployerPctnumber
esiWageCeilingnumber
ptMonthlynumber
tdsModestring
ptMethodstring
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/statutory-config" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"pfEmployeePct":100,"pfEmployerPct":100,"pfWageCeiling":100,"esiEmployeePct":100,"esiEmployerPct":100,"esiWageCeiling":100}'
GET

Settings

/api/v1/payroll/statutory-config/professional-tax

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/statutory-config/professional-tax" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
PUT

Save

/api/v1/payroll/statutory-config/professional-tax/states/{stateCode}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
stateCodepathstringYes
Body fieldTypeRequiredNotes
stateCodestring
stateNamestring
leviedboolean
basisstring
seniorExemptAgeinteger
slabsarray of object
slabs[].genderstring
slabs[].upTonumber
slabs[].amountnumber
slabs[].febAmountnumber
notestring
customisedboolean
hasBuiltInboolean
inUseboolean
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/statutory-config/professional-tax/states/{stateCode}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"stateCode":"string","stateName":"string","levied":true,"basis":"string","seniorExemptAge":1,"slabs":[{"gender":"string","upTo":100,"amount":100,"febAmount":100}]}'
DELETE

Reset

/api/v1/payroll/statutory-config/professional-tax/states/{stateCode}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
stateCodepathstringYes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/statutory-config/professional-tax/states/{stateCode}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List courses

/api/v1/payroll/training/courses

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/training/courses" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create course

/api/v1/payroll/training/courses

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
namestring
providerstring
categorystring
descriptionstring
durationHoursnumber
activeboolean
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/training/courses" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","provider":"string","category":"string","description":"string","durationHours":100,"active":true}'
PUT

Update course

/api/v1/payroll/training/courses/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
namestring
providerstring
categorystring
descriptionstring
durationHoursnumber
activeboolean
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/training/courses/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","provider":"string","category":"string","description":"string","durationHours":100,"active":true}'
DELETE

Delete course

/api/v1/payroll/training/courses/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/training/courses/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List enrollments

/api/v1/payroll/training/enrollments

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
statusquerystringNo
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/training/enrollments" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create enrollment

/api/v1/payroll/training/enrollments

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
employeeGidstring
courseGidstring
statusstring
enrolledDatestring (date)
completedDatestring (date)
scorenumber
certificateNostring
certificateExpirystring (date)
notesstring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/training/enrollments" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"employeeGid":"string","courseGid":"string","status":"string","enrolledDate":"2026-10-12","completedDate":"2026-10-12","score":100}'
PUT

Update enrollment

/api/v1/payroll/training/enrollments/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
employeeGidstring
courseGidstring
statusstring
enrolledDatestring (date)
completedDatestring (date)
scorenumber
certificateNostring
certificateExpirystring (date)
notesstring
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/training/enrollments/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"employeeGid":"string","courseGid":"string","status":"string","enrolledDate":"2026-10-12","completedDate":"2026-10-12","score":100}'
DELETE

Delete enrollment

/api/v1/payroll/training/enrollments/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/training/enrollments/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List matrix

/api/v1/payroll/training/skill-matrix

Scope: Scalar360.payroll.READ

ParameterInTypeRequired
employeeGidquerystringNo
Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/training/skill-matrix" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Upsert matrix

/api/v1/payroll/training/skill-matrix

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
employeeGidstring
skillGidstring
proficiencystring
ratinginteger
notestring
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/training/skill-matrix" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"employeeGid":"string","skillGid":"string","proficiency":"string","rating":1,"note":"string"}'
DELETE

Delete matrix

/api/v1/payroll/training/skill-matrix/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/training/skill-matrix/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
GET

List skills

/api/v1/payroll/training/skills

Scope: Scalar360.payroll.READ

Example request
curl -X GET "https://api.scalar360.com/api/v1/payroll/training/skills" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create skill

/api/v1/payroll/training/skills

Scope: Scalar360.payroll.CREATE

Body fieldTypeRequiredNotes
namestring
categorystring
descriptionstring
activeboolean
Example request
curl -X POST "https://api.scalar360.com/api/v1/payroll/training/skills" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","category":"string","description":"string","active":true}'
PUT

Update skill

/api/v1/payroll/training/skills/{gid}

Scope: Scalar360.payroll.UPDATE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Body fieldTypeRequiredNotes
namestring
categorystring
descriptionstring
activeboolean
Example request
curl -X PUT "https://api.scalar360.com/api/v1/payroll/training/skills/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","category":"string","description":"string","active":true}'
DELETE

Delete skill

/api/v1/payroll/training/skills/{gid}

Scope: Scalar360.payroll.DELETE

ParameterInTypeRequired
gidpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/payroll/training/skills/{gid}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"