Infy Me leave, timesheet and payroll data APIs
Infy Me is the employee super-app from Infosys IT Mobile Apps, the internal mobility team at Infosys — the Bengaluru-headquartered IT services company. After an Infosys employee signs in with a corporate Microsoft account (Company Portal plus Authenticator on the Infosys Azure AD tenant, with a second factor), the home wall opens onto Apply Leave (including maternity, paternity, bereavement and advance-leave cards), work-from-home and on-duty requests, weekly timesheet fill-copy-submit, compensation and payslip cards, bank-account and national-ID profile editors, a people directory with office seat booking, iCount goals, and employee loan eligibility. The Play listing is a free Business app rated 4.7 from about 82,400 reviews with 500,000-plus downloads, last updated 7 Oct 2026; it is published for Infosys staff in India delivery centers and other Infosys locations, occupying the same employee-self-service slot as Darwinbox, greytHR or Workday but only for Infosys's own workforce rather than third-party employers.
GLS leave cards stamp leaveBalance against leaveTypeModel on the aggregated apply payload, with approverMailId and flgApproverRequired gating who must sign off. Comp-off credits sit beside that as compOffTotalBalance keyed by compOffDate, and the location calendar shades non-working days with holidayDate plus holidayDescription. Weekly time rows key on intTimesheetID and txtProjectCode, while compensation reads netPayable next to the salary-account accNum / bankName pair. Directory hits return empNo, mailId_New and projectCode; KYC screens add AadharNumber, PermanentAccountNumber and PassportNo. Campus swipes land as inTime / outTime with attendanceStatus; WFH windows add shortfallExcessHours and additionalWFHhours, and on-duty rows carry fltOnDutyHrs beside fltOnDutyTravelHrs. Allocation cards pair allocationPercentage with buCurrentCycleBillableUtilization; iCount cycles key GoalID / SubGoalID, and loan tiles expose loanType with eligibleAmount.
Workforce-analytics teams can reconcile approved leaveDays against billed hours per project, payroll ops can match net pay to the nominated bank account and flag changeSalAcc drift, and facilities tools can join seat-booking cubicleId searches to the same employee number. openData Studio turns those records into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Official employee profile
GET
/v1/people/me/profileosintReads the signed-in employee's official HR card — name, joining dates, role, personal level, PU/DU codes and base versus current location — that personalizes the profile screen.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- first_name
- last_name
- known_as
- date_ofjoining
- groupdate_ofjoining
- confirmed
- role
- role_designation
- stream
- sub_stream
- personal_level
- sbu_code
- base_location
- current_location
- pu_code
- pu_head
- du_code
- du_head
- title
- secondment
- pb_code
- psb_code
GET /v1/people/me/profile HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "first_name": "Priya", "last_name": "Sharma", "known_as": "Priya S", "date_ofjoining": "12-Jun-2018", "groupdate_ofjoining": "12-Jun-2018", "confirmed": "Y", "role": "Technology Analyst", "role_designation": "Technology Analyst", "stream": "Digital", "sub_stream": "Java", "personal_level": "3.1", "sbu_code": "FS", "base_location": "Bengaluru", "current_location": "Pune", "pu_code": "IVS", "pu_head": "[email protected]", "du_code": "IVS-BFSI", "du_head": "[email protected]", "title": "Ms", "secondment": "N", "pb_code": "PB12", "psb_code": "PSB04" }Apply-leave aggregated details
GET
/v1/leave/apply/summaryopendataLoads the Apply Leave screen's aggregated GLS payload: per-type leaveBalance, leaveType dropdown, approver mail and whether a second-level approver is required.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- approverMailId
- flgApproverRequired
- hrNote
- leaveCalendarPreference
- leaveBalanceModel
- leaveTypeModel
- leaveBalance
- dpTemplateID
GET /v1/leave/apply/summary HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "approverMailId": "[email protected]", "flgApproverRequired": "Y", "hrNote": "Apply 2 days in advance for planned leave", "leaveCalendarPreference": "India", "leaveBalanceModel": { "id": "EL", "name": "Earned Leave", "rowList": [{"rowId": 1, "transactionID": "LB-10432", "rowItem": [{"header": "leaveBalance", "data": "12.5"}]}] }, "leaveTypeModel": { "id": "EL", "name": "Earned Leave" }, "dpTemplateID": "DP-LEAVE-01" }Employee leave history
GET
/v1/leave/historyopendataPages the employee's past leave applications with type, from date, duration and approver — the history list under Apply Leave.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- leaveType
- fromDate
- leaveDays
- approverMailId
- status
GET /v1/leave/history HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "history": [ { "leaveType": "Earned Leave", "fromDate": "03-Oct-2026", "leaveDays": "2.0", "approverMailId": "[email protected]", "status": "Approved" } ] }Apply leave (SAP)
POST
/v1/leave/requestsopendataSubmits a new leave request into SAP with employee number, leave type, from date, duration and approver — the Apply Leave action.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- strEmpNo
- leaveType
- fromDate
- leaveDays
- approverMailId
- status
POST /v1/leave/requests HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json Content-Type: application/json { "strEmpNo": "1043212", "leaveType": "Earned Leave", "fromDate": "20-Oct-2026", "leaveDays": "1.0", "approverMailId": "[email protected]" }{ "status": "Submitted", "strEmpNo": "1043212", "leaveType": "Earned Leave", "fromDate": "20-Oct-2026", "leaveDays": "1.0", "approverMailId": "[email protected]" }Holiday calendar list
GET
/v1/leave/holidaysopendataReturns the location holiday calendar — holidayDate plus holidayDescription — that the leave screen uses to shade non-working days.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- holidayDate
- holidayDescription
- holidayDesc
GET /v1/leave/holidays HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "holidays": [ {"holidayDate": "02-Oct-2026", "holidayDescription": "Gandhi Jayanti", "holidayDesc": "Gandhi Jayanti"}, {"holidayDate": "24-Oct-2026", "holidayDescription": "Dussehra", "holidayDesc": "Dussehra"} ] }Comp-off balances
GET
/v1/leave/comp-offopendataReads compensatory-off credits — total balance, credit date and status — shown on the Comp Off card.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- compOffTotalBalance
- compOffDate
- compOffstatus
- leaveDays
GET /v1/leave/comp-off HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "compOffTotalBalance": "2.0", "rows": [ {"compOffDate": "13-Sep-2026", "compOffstatus": "Available", "leaveDays": "1.0"} ] }Work-from-home information
GET
/v1/attendance/wfhopendataReturns the employee's WFH quota window — working days, hours worked, shortfall and additional WFH hours — behind the WFH balance card.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- id
- startDate
- endDate
- average_Hours
- numberOfworkingdays
- totalWorkingHours
- numberofDaysworked
- totalHoursworked
- shortfallExcessHours
- additionalWFHhours
- exceptional_Hours
GET /v1/attendance/wfh HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "id": "WFH-2026-Q3", "startDate": "01-Jul-2026", "endDate": "30-Sep-2026", "average_Hours": "8.2", "numberOfworkingdays": "64", "totalWorkingHours": "512", "numberofDaysworked": "58", "totalHoursworked": "476", "shortfallExcessHours": "-36", "additionalWFHhours": "12", "exceptional_Hours": "0" }On-duty information
GET
/v1/attendance/on-dutyopendataReads on-duty (client-location) attendance windows with duty hours and travel hours for the On Duty screen.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- strOnDutyFromDate
- strOnDutyToDate
- fltOnDutyHrs
- fltOnDutyTravelHrs
- status
GET /v1/attendance/on-duty HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "strOnDutyFromDate": "14-Oct-2026", "strOnDutyToDate": "14-Oct-2026", "fltOnDutyHrs": "8.0", "fltOnDutyTravelHrs": "2.0", "status": "Approved" }Attendance swipe records
GET
/v1/attendance/swipesopendataReturns campus access-card swipe rows — inTime, outTime, totalHours and attendanceStatus — that fill the Swipe Records screen and feed monthly/yearly average-hours cards.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- date
- day
- status
- attendanceStatus
- inTime
- outTime
- totalHours
- swipeInTime
- swipeOutTime
- swipeDate
GET /v1/attendance/swipes HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "records": [ { "date": "12-Oct-2026", "day": "Monday", "status": "Present", "attendanceStatus": "Regular", "inTime": "09:12", "outTime": "18:41", "totalHours": "9.48", "swipeInTime": "09:12", "swipeOutTime": "18:41", "swipeDate": "12-Oct-2026" } ] }Timesheet details
GET
/v1/time/sheetsopendataLoads the weekly timesheet keyed by timesheetID / intTimesheetID, with hours rolled up per txtProjectCode for the fill-timesheet screen.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- timesheetID
- intTimesheetID
- timesheetDetails
- timesheetsPerProject
- txtProjectCode
- intTimeStatus
- txtWeekFrom
- txtWeekTo
- txtAuthorizerMailId
- fltTotalHours
GET /v1/time/sheets HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "timesheetID": "TS-202641", "intTimesheetID": 202641, "txtWeekFrom": "05-Oct-2026", "txtWeekTo": "11-Oct-2026", "timesheetDetails": [ { "txtProjectCode": "P12345", "timesheetsPerProject": "40.0", "intTimeStatus": 1, "txtAuthorizerMailId": "[email protected]", "fltTotalHours": 40.0 } ] }Submit timesheet
POST
/v1/time/sheets/submitopendataPosts the filled weekly timesheet for manager review — the Submit timesheet action.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- timesheetID
- intTimesheetID
- txtProjectCode
- timesheetsPerProject
- fltTotalHours
- intTimeStatus
POST /v1/time/sheets/submit HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json Content-Type: application/json { "timesheetID": "TS-202641", "intTimesheetID": 202641, "txtProjectCode": "P12345", "timesheetsPerProject": "40.0", "fltTotalHours": 40.0 }{ "timesheetID": "TS-202641", "intTimesheetID": 202641, "intTimeStatus": 2, "timesheetsPerProject": "40.0" }Salary from SAP
GET
/v1/pay/compensationopenfinanceReads the SAP compensation snapshot — net payable and salary option — shown on the compensation / payslip cards.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- netPayable
- netPayableAmount
- netPayableBBAmt
- salaryOption
- salaryOptionKey
GET /v1/pay/compensation HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "netPayable": "185432.00", "netPayableAmount": "185432.00", "netPayableBBAmt": "0.00", "salaryOption": "Monthly", "salaryOptionKey": "M", "currency": "INR" }Employee bank accounts
GET
/v1/pay/bank-accountsopenfinanceLists the employee's payroll bank accounts with masked and full account numbers, bank/branch codes and which account is the salary account.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- accNum
- unmaskedAccNum
- bankName
- bankCode
- branchName
- changeSalAcc
- serialNumber
- bankStatus
- closedAcc
GET /v1/pay/bank-accounts HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "accounts": [ { "accNum": "XXXXXX3218", "unmaskedAccNum": "5010003218", "bankName": "HDFC Bank", "bankCode": "HDFC0000123", "branchName": "Koramangala", "changeSalAcc": "Y", "serialNumber": "1", "bankStatus": "Active", "closedAcc": "N" } ] }Eligible employee loans
GET
/v1/pay/loans/eligibleopenfinanceLists internal loan products the employee is eligible for — salary, soft, personal, medical-emergency, car and LAP — with eligibleAmount used on the loan cards.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- eligibleLoans
- loanType
- eligibleAmount
- eligibleAmountWithoutSecurity
GET /v1/pay/loans/eligible HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "eligibleLoans": [ { "loanType": "Salary Loan", "eligibleAmount": "250000.00", "eligibleAmountWithoutSecurity": "150000.00" }, { "loanType": "Soft Loan", "eligibleAmount": "50000.00", "eligibleAmountWithoutSecurity": "50000.00" } ] }Aadhaar national ID
GET
/v1/identity/aadhaarosintReads the employee's Aadhaar national-ID card — number, registered name and availability flag — used on the profile KYC editors.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- aadharNumber
- AadharNumber
- aadharName
- AadharName
- IsAadharAvaiable
GET /v1/identity/aadhaar HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "aadharNumber": "XXXX-XXXX-4412", "AadharNumber": "XXXX-XXXX-4412", "aadharName": "Priya Sharma", "AadharName": "Priya Sharma", "IsAadharAvaiable": "Y" }PAN national ID
GET
/v1/identity/panosintReads the employee's Indian PAN (Permanent Account Number) used on the profile tax-ID card.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- panNumber
- PermanentAccountNumber
GET /v1/identity/pan HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "panNumber": "ABCDE1234F", "PermanentAccountNumber": "ABCDE1234F" }Passport details
GET
/v1/identity/passportosintReads the employee's passport record — number, issue and expiry dates, issuing office and emigration-check flag — on the profile travel-document card.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- PassportNo
- passportNumber
- FirstName
- LastName
- DateOfIssue
- ExpiryDate
- IssuingOffice
- IssuingCountry
- EmigrationCheckRequired
- ContactNo
GET /v1/identity/passport HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "PassportNo": "Z1234567", "passportNumber": "Z1234567", "FirstName": "Priya", "LastName": "Sharma", "DateOfIssue": "14-Mar-2019", "ExpiryDate": "13-Mar-2029", "IssuingOffice": "Bengaluru", "IssuingCountry": "India", "EmigrationCheckRequired": "N", "ContactNo": "+91-9000000000" }Emergency contact
GET
/v1/people/me/emergency-contactosintLoads the employee's emergency-contact card — name, relation, phone and city — used on the profile contact editors.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- ContactName
- Relation
- ContactPhone
- ContactCell
- City
- PinCode
- TypeOfAddress
GET /v1/people/me/emergency-contact HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "ContactName": "Ravi Sharma", "Relation": "Father", "ContactPhone": "080-40000000", "ContactCell": "+91-9886000000", "City": "Bengaluru", "PinCode": "560095", "TypeOfAddress": "Emergency" }Employee directory search
GET
/v1/directory/peopleosintSearches the Infosys people directory by name or employee number and returns mail, role, city, PU/DU and current project — the directory / seat-booking people picker.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- empNo
- empName
- mailId_New
- role
- baseCity
- jl
- pu
- du
- projectCode
GET /v1/directory/people?q=priya HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "results": [ { "empNo": "1043212", "empName": "Priya Sharma", "mailId_New": "[email protected]", "role": "Technology Analyst", "baseCity": "Bengaluru", "jl": "3.1", "pu": "IVS", "du": "IVS-BFSI", "projectCode": "P12345" } ] }Seat booking details
GET
/v1/campus/seatsopendataReturns the campus seat-booking card — seat and cubicle identifiers plus building and floor — used by the Book Seat tile.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- empNo
- seatId
- cubicleId
- buildingName
- floorName
- status
GET /v1/campus/seats HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "empNo": "1043212", "seatId": "BLR-EC-4F-C12", "cubicleId": "C12", "buildingName": "Electronic City", "floorName": "4F", "status": "Available" }Employee allocation details
GET
/v1/staffing/allocationopendataReads the employee's current project allocation — project code, percentage and allocation date — used on allocation and expiring-allocation cards.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- empNo
- projectCode
- allocationPercentage
- allocationDate
GET /v1/staffing/allocation HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "empNo": "1043212", "projectCode": "P12345", "allocationPercentage": "100", "allocationDate": "01-Apr-2026" }iCount goal details
GET
/v1/performance/goals/{empNo}opendataLoads the employee's iCount performance goals for a cycle — GoalID / SubGoalID pairs used on the iCount goals screen.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- EmpNo
- CycleNo
- intCycleNo
- GoalID
- intGoalID
- SubGoalID
- subGoalID
GET /v1/performance/goals/1043212 HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "EmpNo": "1043212", "CycleNo": "FY27-H1", "intCycleNo": 27, "goals": [ { "GoalID": "G-4412", "intGoalID": 4412, "SubGoalID": "SG-12", "subGoalID": "SG-12" } ] }Employee billable utilization
GET
/v1/staffing/utilizationopendataReads current- and previous-cycle billable utilization percentages cached on the profile utilization card.
Auth: Corporate Microsoft / Azure AD Bearer access token, sent as Authorization: Bearer.
- buCurrentCycleEmployeeNo
- buCurrentCycleYear
- buCurrentCycleMonth
- buCurrentCycleBillableUtilization
- buCurrentCycleFlgApp
- buPreviousCycleEmployeeNo
- buPreviousCycleYear
- buPreviousCycleMonth
- buPreviousCycleBillableUtilization
- buPreviousCycleFlgApp
GET /v1/staffing/utilization HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "buCurrentCycleEmployeeNo": "1043212", "buCurrentCycleYear": "2026", "buCurrentCycleMonth": "10", "buCurrentCycleBillableUtilization": "92.4", "buCurrentCycleFlgApp": 1, "buPreviousCycleEmployeeNo": "1043212", "buPreviousCycleYear": "2026", "buPreviousCycleMonth": "09", "buPreviousCycleBillableUtilization": "88.1", "buPreviousCycleFlgApp": 1 }
Data categories
- leave balances
- timesheets
- attendance swipes
- payroll
- bank accounts
- employee loans
- employee directory
- identity documents
- seat booking
- project allocation
- performance goals
- billable utilization
Where teams use this data
Leave-versus-timesheet reconciliation
A workforce bot can pull leaveBalance and leaveDays next to intTimesheetID hours per txtProjectCode so delivery managers see when billed time and approved leave overlap in the same week.
Payroll-to-bank matching
Payroll ops can join netPayable from the SAP compensation snapshot to the nominated salary accNum / bankName pair and flag accounts whose changeSalAcc or bankStatus no longer matches the pay run.
Internal people graph
Facilities and staffing tools can search empNo, mailId_New and projectCode from the directory, then overlay official first_name, role_designation and current_location for seat booking and org charts.
Swipe-to-timesheet exception desk
Attendance ops can line up swipe inTime / outTime and attendanceStatus against the same week's intTimesheetID hours so single-swipe and status-unknown days are flagged before payroll cutoff.
Frequently asked questions
What leave data does Infy Me expose?
The aggregated-leave call returns leaveBalance and leaveTypeModel plus approverMailId and flgApproverRequired. History lists fromDate and leaveDays; the Comp Off card adds compOffTotalBalance and compOffDate. Apply Leave posts those fields into SAP.
How does Infy Me authenticate employees?
Employees sign in with a corporate Microsoft account on the Infosys Azure AD tenant. Later HR, time and payroll calls send that access token as Authorization: Bearer. These are first-party employee endpoints, not a public developer API.
Can I read payroll and bank details?
Yes. The compensation snapshot returns netPayable and salaryOption; the bank-account call returns accNum, unmaskedAccNum, bankName, bankCode and which account is marked changeSalAcc for salary. Eligible internal loans add loanType and eligibleAmount. Profile KYC adds AadharNumber, PermanentAccountNumber and PassportNo.
Is there a people directory and seat map?
The directory search returns empNo, empName, mailId_New, role, baseCity and projectCode. Seat booking adds seatId, cubicleId, buildingName and floorName for the campus floor map. Allocation and utilization cards add allocationPercentage and buCurrentCycleBillableUtilization.
Apps similar to Infy Me
- Darwinbox — Darwinbox is an India-built employee HCM app where workers at Darwinbox tenants download payslips and tax forms, apply leave, raise travel and expense claims, and look up colleagues in a directory.
- greytHR — greytHR is Greytip Software's employee self-service app for companies on the greytHR platform, covering leave applications and balances, daily attendance and swipe review, and payslip plus IT-statement downloads.
- Workday — Workday is a US cloud human-capital-management suite whose mobile app lets employees of a Workday tenant submit timesheets, view payslips, request time off and check in or out of work.
- ADP Mobile Solutions — ADP Mobile Solutions is Automatic Data Processing's payroll and HR client, letting employees of ADP-powered companies view pay and W-2 statements, request time off, and punch in or out.
- Hamara HR — Hamara HR is Quess Corp's employee super-app, combining self-service payslips, leave and holidays, face-and-geo attendance, claims, and timesheet plus shift-roster tools.
- UKG Pro — UKG Pro is Ultimate Kronos Group's employee app on a platform that unifies HR, payroll and workforce management, so workers can clock in, manage time-off requests and view pay information.
- Keka HR — Keka is an India-built HR and payroll suite whose HRIS gives employees web and mobile self-service for payslips, leave and documents without waiting on HR.
- Zoho People — Zoho People is Zoho's cloud HR software that lets teams check in from the web or mobile app with IP, geofence or facial recognition, alongside leave, timesheets and core employee records.
Topics
- Infy Me API
- Infosys employee leaveBalance
- Infy Me timesheetID
- Infosys netPayable payroll
- Infy Me empNo directory
- Infosys employee HR data
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use