{"info":{"_postman_id":"802df7d9-cad2-4d9a-8159-4d14e9eb223f","name":"RazorpayX Payroll","description":"<html><head></head><body><h2 id=\"razorpayx-payroll-opfin-api-documentation\">RazorpayX Payroll (Opfin) API documentation</h2>\n<p>All API requests are JSON requests, with three section - <code>auth</code>, <code>request</code> and <code>data</code>.</p>\n<ol>\n<li><p><code>auth</code> - Requires two keys - <code>id</code> and <code>key</code>. Both of these can be obtained from Opfin under Settings &gt; API.</p>\n</li>\n<li><p><code>request</code> - This has two keys - <code>type</code> and <code>sub-type</code>. Please see the examples below.</p>\n</li>\n<li><p><code>data</code> - Depending on your request, you might need to supply certain data which should be included in this section.</p>\n</li>\n</ol>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"11662503","collectionId":"802df7d9-cad2-4d9a-8159-4d14e9eb223f","publishedId":"Tzm5HckE","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2023-12-19T10:12:12.000Z"},"item":[{"name":"People","item":[{"name":"Create","id":"40aeac0f-7586-47a0-a95a-62fc06732cd0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"people\",\n       \"sub-type\": \"create\"\n   },\n   \"data\": {\n           \"email\": \"test+20201214@mailinator.com\",\n           \"name\": \"API Test User\",\n           \"type\": \"employee\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/people","description":"<p>This API can be used to create a new employee or contractor in RazorpayX Payroll.</p>\n<p>Available types are:</p>\n<ul>\n<li>employee</li>\n<li>contractor</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","people"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"081aff6b-e7da-461d-9704-1106265a49bf","name":"Create an employee or contractor","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"people\",\n       \"sub-type\": \"create\"\n   },\n   \"data\": {\n           \"email\": \"test+20201214@mailinator.com\",\n           \"name\": \"API Test User\",\n           \"type\": \"contractor\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/people"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 14 Dec 2020 10:52:42 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"49"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=0e427b03423772f6af94d84ea07a2b43; expires=Mon, 21-Dec-2020 10:52:42 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"ok\",\n    \"people-id\": 36286,\n    \"employee-id\": 4\n}"}],"_postman_id":"40aeac0f-7586-47a0-a95a-62fc06732cd0"},{"name":"Edit","id":"4d9d39ab-c562-4224-b9ed-707645330594","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n  \"request\":{\n     \"type\":\"people\",\n     \"sub-type\":\"edit\"\n  },\n  \"data\":{\n     \"email\":\"varun.chawla@mailinator.com\",\n     \"manager-employee-id\":127,\n     \"manager-employee-type\": \"contractor\",\n     \"title\":\"Senior Recruiter\",\n     \"department\":\"Human Resources\",\n     \"bank-ifsc\":\"CORP0002106\",\n     \"bank-account-number\":\"1234567890\",\n     \"pan\":\"AGCPJ0387P\",\n     \"phone-number\":\"9810012345\",\n     \"employee-id\":3,\n     \"pt-enabled\":true,\n     \"hiring-date\":\"2020-01-01\",\n     \"state\":\"karnataka\",\n     \"pastSalary\":0,\n     \"pastExemption\":0,\n     \"pastTds\":0,\n     \"previousEmployerSalary\":0,\n     \"previousEmployerTds\":0\n  }\n}"},"url":"https://payroll.razorpay.com/api/people","description":"<p>Edit details of any employee or contractor. This does <em>not</em> include the salary of an employee.</p>\n<p>Please specify the email of the user to be edited in the <code>email</code> key. All other fields are optional.</p>\n","urlObject":{"protocol":"https","path":["api","people"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"7fd481cb-3362-4b58-9670-07c418366756","name":"Edit","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n  \"request\":{\n     \"type\":\"people\",\n     \"sub-type\":\"edit\"\n  },\n  \"data\":{\n     \"email\":\"varun.chawla@mailinator.com\",\n     \"manager-employee-id\":127,\n     \"title\":\"Senior Recruiter\",\n     \"department\":\"Human Resources\",\n     \"bank-ifsc\":\"CORP0002106\",\n     \"bank-account-number\":\"1234567890\",\n     \"pan\":\"AGCPJ0387P\",\n     \"phone-number\":\"9810012345\",\n     \"employee-id\":3,\n     \"pt-enabled\":true,\n     \"hiring-date\":\"2020-01-01\",\n     \"state\":\"karnataka\",\n     \"pastSalary\":0,\n     \"pastExemption\":0,\n     \"pastTds\":0,\n     \"previousEmployerSalary\":0,\n     \"previousEmployerTds\":0\n  }\n}"},"url":"https://payroll.razorpay.com/api/people"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 14 Dec 2020 11:01:00 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"15"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=b7b4cb2604fa0d5ac94033d3cb8e6996; expires=Mon, 21-Dec-2020 11:00:59 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"ok\"\n}"}],"_postman_id":"4d9d39ab-c562-4224-b9ed-707645330594"},{"name":"View","id":"99c4630c-ff72-4f66-a986-30f00d555cf7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"people\",\n       \"sub-type\": \"view\"\n   },\n   \"data\": {\n           \"employee-id\": 1,\n           \"employee-type\": \"employee\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/people","description":"<p>View an employee's details</p>\n","urlObject":{"protocol":"https","path":["api","people"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"bb588d20-098b-400e-8cd3-36122e4812e4","name":"View Profile","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"people\",\n       \"sub-type\": \"view\"\n   },\n   \"data\": {\n           \"employee-id\": 1\n   }\n}"},"url":"https://payroll.razorpay.com/api/people"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 14 Dec 2020 10:43:50 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"170"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=0d42ef5ae43bcca4f7cff445c6f7f8f7; expires=Mon, 21-Dec-2020 10:43:49 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"name\": \"Anuj Jain\",\n    \"email\": \"anuj.jain+api@razorpay.com\",\n    \"title\": null,\n    \"department\": null,\n    \"manager-employee-id\": null,\n    \"pan\": null,\n    \"bank-ifsc\": null,\n    \"bank-account-number\": null\n}"}],"_postman_id":"99c4630c-ff72-4f66-a986-30f00d555cf7"},{"name":"Set Salary","id":"efd64043-079c-4f5f-a51d-dd29443877d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"people\",\n       \"sub-type\": \"set-salary\"\n   },\n   \"data\": {\n           \"employee-id\": 3,\n           \"custom-salary-structure\": false,\n           \"annual-ctc\": 600000\n   }\n}"},"url":"https://payroll.razorpay.com/api/people","description":"<p>Set the salary of an employee. This is the annual salary of an employee. Even if an employee joins mid-year, please set the salary as their monthly_salary*12.</p>\n","urlObject":{"protocol":"https","path":["api","people"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"9cc02c23-f39e-4432-ae33-ce845d736878","name":"Set custom salary structure","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n  \"request\":{  \n     \"type\":\"people\",\n     \"sub-type\":\"set-salary\"\n  },\n  \"data\":{  \n     \"employee-id\":29,\n     \"custom-salary-structure\":true,\n     \"salary-structure\":{  \n        \"basic\":20000,\n        \"da\":0,\n        \"hra\":10000,\n        \"special-allowance\":10000,\n        \"lta\":0,\n        \"employer-pf\":0,\n        \"employer-esi\":0,\n        \"custom-allowances\":[  \n           {  \n              \"name\":\"Books & Periodicals\",\n              \"amount\":1000,\n              \"taxable\":\"no\"\n           },\n           {  \n              \"name\":\"Medical Insurance\",\n              \"amount\":2000,\n              \"taxable\":\"yes\"\n           },\n           {\n               \"name\": \"Internet Allowance\",\n               \"amount\": 1000,\n               \"taxable\": \"flexi\"\n           }\n        ],\n        \"deductions\":[  \n           {  \n              \"name\":\"Medical Insurance\",\n              \"amount\":2000,\n              \"taxable\":false\n           }\n        ]\n     }\n  }\n}"},"url":"https://payroll.razorpay.com/api/people"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 14 Dec 2020 11:15:14 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"15"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=91fad0d73c443e6b049dc49fe5836889; expires=Mon, 21-Dec-2020 11:15:13 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"ok\"\n}"},{"id":"802add2a-5e3e-43ea-b60c-8eb9949f29d4","name":"Set Salary","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"people\",\n       \"sub-type\": \"set-salary\"\n   },\n   \"data\": {\n           \"employee-id\": 3,\n           \"custom-salary-structure\": false,\n           \"annual-ctc\": 600000\n   }\n}"},"url":"https://payroll.razorpay.com/api/people"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 14 Dec 2020 11:15:14 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"15"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=91fad0d73c443e6b049dc49fe5836889; expires=Mon, 21-Dec-2020 11:15:13 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"ok\"\n}"}],"_postman_id":"efd64043-079c-4f5f-a51d-dd29443877d4"},{"name":"Dismiss","id":"2b449b71-901d-47cc-821d-4bbd1fb63ecb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n  \"request\":{\n     \"type\":\"people\",\n     \"sub-type\":\"dismiss\"\n  },\n  \"data\":{\n     \"email\":\"varun.chawla@mailinator.com\",\n     \"dateOfDismissal\":\"30/03/2021\"\n  }\n}"},"url":"https://payroll.razorpay.com/api/people","description":"<p>Dismiss any employee or contractor.</p>\n<p>Please specify the email of the user to be dismissed in the <code>email</code> key. Also <code>dateOfDismissal</code> is required and it should be in <code>dd/mm/yyyy</code> format.</p>\n","urlObject":{"protocol":"https","path":["api","people"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"70d7b5ab-cda8-4c52-9e96-ca7ffa2c73cc","name":"Dismiss","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n  \"request\":{\n     \"type\":\"people\",\n     \"sub-type\":\"dismiss\"\n  },\n  \"data\":{\n     \"email\":\"varun.chawla@mailinator.com\",\n     \"dateOfDismissal\":\"30/03/2021\"\n  }\n}"},"url":"https://payroll.razorpay.com/api/people"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"ok\"\n}"}],"_postman_id":"2b449b71-901d-47cc-821d-4bbd1fb63ecb"}],"id":"c159551c-67bd-4452-88f3-7e9ee43bc21e","description":"<p>All employee and contractor information related APIs.</p>\n","_postman_id":"c159551c-67bd-4452-88f3-7e9ee43bc21e"},{"name":"Payroll","item":[{"name":"View","id":"5d26c83d-eb11-49a3-a738-97ea1321910d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"payroll\",\n       \"sub-type\": \"view-payroll\"\n   },\n   \"data\": {\n        \"email\": \"sample_email@ymail.com\",\n        \"payroll-month\": \"2020-12\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/payroll","urlObject":{"protocol":"https","path":["api","payroll"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"73263eeb-051d-4c4c-a2a0-c5880d497ee9","name":"View","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"payroll\",\n       \"sub-type\": \"view-payroll\"\n   },\n   \"data\": {\n            \"email\": \"sample_email@ymail.com\",\n           \"payroll-month\": \"2020-12\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/payroll"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 15 Dec 2020 14:56:16 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"209"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=355ec6423d0eda588e50d997de3f8fab; expires=Tue, 22-Dec-2020 14:56:16 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"employee-id\": 3,\n    \"employee-name\": \"Varun Chawla\",\n    \"payroll-month\": \"2020-12\",\n    \"salary\": 50000,\n    \"additions\": {\n        \"Bonus\": {\n            \"name\": \"Bonus\",\n            \"amount\": \"10000\",\n            \"taxable\": true,\n            \"type\": 0\n        }\n    },\n    \"deduction-amount\": 0,\n    \"do-not-pay\": false\n}"}],"_postman_id":"5d26c83d-eb11-49a3-a738-97ea1321910d"},{"name":"Add Additions","id":"4cd69d42-6c77-44bd-b625-7e032e0f73a4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"payroll\",\n       \"sub-type\": \"add-additions\"\n   },\n   \"data\": {\n            \"email\": \"sample_email@ymail.com\",\n           \"payroll-month\": \"2020-12\",\n           \"additions\": [\n                   {\n                           \"label\": \"Joining Bonus\",\n                           \"amount\": 10000\n                   },\n                   {\n                           \"label\": \"Sales Incentive\",\n                           \"amount\": 5000\n                   }\n                ],\n            \"remarks\": \"your comments here\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/payroll","urlObject":{"protocol":"https","path":["api","payroll"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"a881edf0-6665-4ac7-9734-f9b82ba4f0e4","name":"Add Additions","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"payroll\",\n       \"sub-type\": \"add-additions\"\n   },\n   \"data\": {\n            \"email\": \"sample_email@ymail.com\",\n           \"payroll-month\": \"2020-12\",\n           \"additions\": [\n                   {\n                           \"label\": \"Joining Bonus\",\n                           \"amount\": 10000\n                   },\n                   {\n                           \"label\": \"Sales Incentive\",\n                           \"amount\": 5000\n                   }\n                ]\n   }\n}"},"url":"https://payroll.razorpay.com/api/payroll"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 15 Dec 2020 14:59:32 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"307"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=b502b22de7df79346e3049974085a7d7; expires=Tue, 22-Dec-2020 14:59:32 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"employee-id\": 2,\n    \"employee-name\": \"Aditya Malik\",\n    \"payroll-month\": \"2020-12\",\n    \"salary\": 116129,\n    \"additions\": {\n        \"Joining Bonus\": {\n            \"name\": \"Joining Bonus\",\n            \"amount\": 10000,\n            \"taxable\": true,\n            \"type\": 0\n        },\n        \"Sales Incentive\": {\n            \"name\": \"Sales Incentive\",\n            \"amount\": 5000,\n            \"taxable\": true,\n            \"type\": 0\n        }\n    },\n    \"deduction-amount\": 0,\n    \"do-not-pay\": false\n}"}],"_postman_id":"4cd69d42-6c77-44bd-b625-7e032e0f73a4"},{"name":"Add Deductions","id":"5ca90fcc-cd89-4032-994f-4d840f4315b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"payroll\",\n       \"sub-type\": \"add-deduction\"\n   },\n   \"data\": {\n            \"email\": \"sample_email@ymail.com\",\n           \"payroll-month\": \"2020-12\",\n           \"deduction-amount\": 1000,\n           \"remarks\": \"your comments here\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/payroll","description":"<p>Instead of the <code>deduction-amount</code> key, you can also specify a <code>deduction-days</code> key and enter the number of days of pay that has to be deducted as the value for that key. In that case, Opfin will automatically calculate the deduction amount using the formula</p>\n<p>Deduction amount = [Deduction days] * [Monthly salary] / [Number of days in the month]</p>\n","urlObject":{"protocol":"https","path":["api","payroll"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"10d03d4d-a8fe-405a-ab05-4cacf4933999","name":"Add Deductions","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"payroll\",\n       \"sub-type\": \"add-deduction\"\n   },\n   \"data\": {\n            \"email\": \"sample_email@ymail.com\",\n           \"payroll-month\": \"2020-12\",\n           \"deduction-amount\": 1000\n   }\n}"},"url":"https://payroll.razorpay.com/api/payroll"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 15 Dec 2020 15:01:18 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"310"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=8edf3c1b96bb4b0fe828eaca566eb286; expires=Tue, 22-Dec-2020 15:01:16 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"employee-id\": 2,\n    \"employee-name\": \"Aditya Malik\",\n    \"payroll-month\": \"2020-12\",\n    \"salary\": 116129,\n    \"additions\": {\n        \"Joining Bonus\": {\n            \"name\": \"Joining Bonus\",\n            \"amount\": 10000,\n            \"taxable\": true,\n            \"type\": 0\n        },\n        \"Sales Incentive\": {\n            \"name\": \"Sales Incentive\",\n            \"amount\": 5000,\n            \"taxable\": true,\n            \"type\": 0\n        }\n    },\n    \"deduction-amount\": 1000,\n    \"do-not-pay\": false\n}"}],"_postman_id":"5ca90fcc-cd89-4032-994f-4d840f4315b3"},{"name":"Reset","id":"4617bece-416d-4339-bdc6-d14b4d88e650","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"payroll\",\n       \"sub-type\": \"reset-modifications\"\n   },\n   \"data\": {\n            \"email\": \"sample_email@ymail.com\",\n           \"payroll-month\": \"2020-12\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/payroll","description":"<p>Use this if you want to remove all additions and deductions from an employee's payroll.</p>\n","urlObject":{"protocol":"https","path":["api","payroll"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"539ea522-dc3a-480d-a6e4-79974843983b","name":"Reset","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"payroll\",\n       \"sub-type\": \"reset-modifications\"\n   },\n   \"data\": {\n            \"email\": \"sample_email@ymail.com\",\n           \"payroll-month\": \"2020-12\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/payroll"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 15 Dec 2020 15:10:24 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"147"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=971c70ebd897b8a0b9264a445d736642; expires=Tue, 22-Dec-2020 15:10:24 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"employee-id\": 2,\n    \"employee-name\": \"Aditya Malik\",\n    \"payroll-month\": \"2020-12\",\n    \"salary\": 116129,\n    \"additions\": null,\n    \"deduction-amount\": 0,\n    \"do-not-pay\": false\n}"}],"_postman_id":"4617bece-416d-4339-bdc6-d14b4d88e650"},{"name":"Pause/Resume","id":"76f0e44e-8a94-4e0e-83e7-b8a18615c02f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"payroll\",\n       \"sub-type\": \"do-not-pay\"\n   },\n   \"data\": {\n            \"email\": \"sample_email@ymail.com\",\n           \"payroll-month\": \"2020-12\",\n           \"value\": true\n   }\n}"},"url":"https://payroll.razorpay.com/api/payroll","description":"<p>Opfin gives you the capability to pause an employee's payroll for a specific month, in case you do not want to process their salary with the rest. If paused, payroll can be resumed later and processed.</p>\n","urlObject":{"protocol":"https","path":["api","payroll"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"e0ffd26d-fc24-4689-a964-f3cd6cbd8269","name":"Pause/Resume","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"payroll\",\n       \"sub-type\": \"do-not-pay\"\n   },\n   \"data\": {\n            \"email\": \"sample_email@ymail.com\",\n           \"payroll-month\": \"2020-12\",\n           \"value\": true\n   }\n}"},"url":"https://payroll.razorpay.com/api/payroll"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 15 Dec 2020 15:19:39 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"146"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=a2a27396ef6c668c005474514046369b; expires=Tue, 22-Dec-2020 15:19:39 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"employee-id\": 2,\n    \"employee-name\": \"Aditya Malik\",\n    \"payroll-month\": \"2020-12\",\n    \"salary\": 116129,\n    \"additions\": null,\n    \"deduction-amount\": 0,\n    \"do-not-pay\": true\n}"}],"_postman_id":"76f0e44e-8a94-4e0e-83e7-b8a18615c02f"}],"id":"da24a945-1efd-4915-a2f3-c3fd2ba80f03","description":"<p>This API will let you take the following actions for any specific payroll month -</p>\n<ul>\n<li><p>View an employee's payroll information.</p>\n</li>\n<li><p>To add additions to an employee's payroll (like bonuses etc).</p>\n</li>\n<li><p>To add deductions to an employee's payroll (like loss of pay etc).</p>\n</li>\n<li><p>To reset an employee's payroll (remove all additions and deductions).</p>\n</li>\n<li><p>To pause/resume an employee's payroll.</p>\n</li>\n</ul>\n<p>Identifier options: You can either use the <code>employee-id</code> attribute or the <code>email</code> attribute within the data field as identifiers for the user. We would recommend using the email attribute as demonstrated in the example. If you need to use the <code>employee-id</code>attribute, in the data field you can replace the <code>email</code> attribute with <code>employee-id</code> and the value as an integer value like so,<br /><code>\"employee-id\" : 212</code></p>\n","_postman_id":"da24a945-1efd-4915-a2f3-c3fd2ba80f03"},{"name":"Contractor Payments","item":[{"name":"Create Payment","id":"e1840940-8a06-4f7b-b93f-17cb4a86f00d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"contractor-payment\",\n       \"sub-type\": \"create\"\n   },\n   \"data\": {\n           \"from\": 1,\n           \"from-employee-type\": \"employee\",\n           \"to\": 5,\n           \"executeOn\": \"2020-12-15\",\n           \"remarks\": \"Test Payment\",\n           \"purpose\": \"professional-services\",\n           \"amount\": 2000,\n           \"tax\": 360\n   }\n}"},"url":"https://payroll.razorpay.com/api/contractorPayment","description":"<p>Used to create a new payment to a contractor.</p>\n<p><strong>Request Structure</strong></p>\n<ul>\n<li><p><strong>request</strong>: Specifies the type of operation to be performed.</p>\n<ul>\n<li><code>type</code>: Always set to <code>\"contractor-payment\"</code> for contractor payment-related requests.</li>\n<li><code>sub-type</code>: The specific action to be taken, in this case, <code>\"create\"</code> to initiate a new payment.</li>\n</ul>\n</li>\n<li><p><strong>data</strong>: Contains the details of the payment to be processed.</p>\n<ul>\n<li><p><code>from</code>: Employee ID or email of the person initiating the payment.</p>\n</li>\n<li><p><code>from-employee-type (optional)</code>: Type of the person initiating the payment (<code>\"employee\"/\"contractor\"</code>).</p>\n</li>\n<li><p><code>to</code>: Employee ID or email of the contractor of the payment.</p>\n</li>\n<li><p><code>executeOn</code>: Date on which the payment should be executed, formatted as <code>\"YYYY-MM-DD\"</code>.</p>\n</li>\n<li><p><code>remarks (optional)</code>: Optional comments or notes regarding the payment.</p>\n</li>\n<li><p><code>amount</code>: Total amount of the payment.</p>\n</li>\n<li><p><code>tax</code>: GST, VAT, sales tax etc.</p>\n</li>\n<li><p><code>purpose</code>: Purpose of the contractor payment.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Purpose</th>\n<th>Description</th>\n<th>TDS</th>\n<th>Tax Code</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>professional-services</td>\n<td>Professional Services</td>\n<td>10%</td>\n<td>194J</td>\n</tr>\n<tr>\n<td>technical-services</td>\n<td>Technical Services</td>\n<td>2%</td>\n<td>194J</td>\n</tr>\n<tr>\n<td>commission</td>\n<td>Commission or Brokerage</td>\n<td>5%</td>\n<td>194H</td>\n</tr>\n<tr>\n<td>interest</td>\n<td>Interest</td>\n<td>10%</td>\n<td>194A</td>\n</tr>\n<tr>\n<td>contractor-ind</td>\n<td>Contractor - Resident Individual or HUF</td>\n<td>1%</td>\n<td>194C</td>\n</tr>\n<tr>\n<td>contractor-other</td>\n<td>Contractor - Others</td>\n<td>2%</td>\n<td>194C</td>\n</tr>\n<tr>\n<td>rent-land</td>\n<td>Rent of land/building/furniture/fitting</td>\n<td>10%</td>\n<td>194I</td>\n</tr>\n<tr>\n<td>rent-plan</td>\n<td>Rent of plant and machinery</td>\n<td>2%</td>\n<td>194I</td>\n</tr>\n<tr>\n<td>reimb-no-tds</td>\n<td>Reimbursement / No TDS</td>\n<td>0%</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div></li>\n</ul>\n</li>\n</ul>\n<p>You can also add attachments (invoices etc) to the payment by including an <code>attachments</code> array in the data section. Each attachment should have a <code>fileName</code> and <code>fileContent</code> key. <code>fileContent</code> should have the contents of the file, encoded in base64. Example -</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>\"attachments\": [\n           {\n               \"fileName\": \"invoice.pdf\",\n               \"fileContent\": \"AyNT4+CnN0YXJ0eHVPRgo=\"\n           }\n       ]\n\n</code></pre>","urlObject":{"protocol":"https","path":["api","contractorPayment"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"7e3a2938-4401-4785-a1e6-0ac917b5db62","name":"Create Payment","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"contractor-payment\",\n       \"sub-type\": \"create\"\n   },\n   \"data\": {\n           \"from\": 1,\n           \"to\": 5,\n           \"executeOn\": \"2020-12-15\",\n           \"remarks\": \"Test Payment\",\n           \"purpose\": \"professional-services\",\n           \"amount\": 2000,\n           \"tax\": 360\n   }\n}"},"url":"https://payroll.razorpay.com/api/contractorPayment"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 15 Dec 2020 11:17:11 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"34"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=31fc8b88cc17436227895692a29da26b; expires=Tue, 22-Dec-2020 11:17:11 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"ok\",\n    \"payment-id\": 13908\n}"}],"_postman_id":"e1840940-8a06-4f7b-b93f-17cb4a86f00d"},{"name":"Delete Payment","id":"aad87bc9-9a94-4764-887b-fc112b4b1344","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"contractor-payment\",\n       \"sub-type\": \"delete\"\n   },\n   \"data\": {\n           \"id\": 13908\n   }\n}"},"url":"https://payroll.razorpay.com/api/contractorPayment","description":"<p>To delete a payment, you need to specify the <code>id</code> that you had received while creating the payment.</p>\n<p><strong>Request Structure</strong></p>\n<ul>\n<li><p><strong>request</strong>: Specifies the type of operation to be performed.</p>\n<ul>\n<li><p><code>type</code>: Always set to <code>\"contractor-payment\"</code> for contractor payment-related requests.</p>\n</li>\n<li><p><code>sub-type</code>: The specific action to be taken, in this case, <code>\"delete\"</code> to remove an existing payment.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>data</strong>: Contains the details of the payment to be deleted.</p>\n<ul>\n<li><code>id</code>: Unique identifier of the contractor payment received while creating the payment.</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","contractorPayment"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"2699f106-6e30-4a1a-ae4a-58f1d6e96d49","name":"Delete Payment","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"contractor-payment\",\n       \"sub-type\": \"delete\"\n   },\n   \"data\": {\n           \"id\": 13909\n   }\n}"},"url":"https://payroll.razorpay.com/api/contractorPayment"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 15 Dec 2020 11:49:50 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"15"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=6c41efdd271aa7055b8b3d2e19fa5c7b; expires=Tue, 22-Dec-2020 11:49:50 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"ok\"\n}"}],"_postman_id":"aad87bc9-9a94-4764-887b-fc112b4b1344"},{"name":"View Pending Payments","id":"42c24595-c9e0-42e0-805b-abd3c24ec33d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"contractor-payment\",\n       \"sub-type\": \"list-pending\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/contractorPayment","description":"<p>View all payments to contractors which have been created, but have not been executed yet.</p>\n<h4 id=\"request-structure\"><strong>Request Structure</strong></h4>\n<ul>\n<li><p><strong>request</strong>: Specifies the type of operation to be performed.</p>\n<ul>\n<li><p><code>type</code>: Always set to <code>\"contractor-payment\"</code> for contractor payment-related requests.</p>\n</li>\n<li><p><code>sub-type</code>: The specific action to be taken, in this case, <code>\"list-pending\"</code> to retrieve all pending payments.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","contractorPayment"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"5dc80779-1040-4059-8400-fcc70ff9b79a","name":"View Pending Payments","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"contractor-payment\",\n       \"sub-type\": \"list-pending\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/contractorPayment"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 15 Dec 2020 11:27:58 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"425"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=839460809fc11df1a2b925258f3dc134; expires=Tue, 22-Dec-2020 11:27:57 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"payments\": [\n        {\n            \"id\": 13908,\n            \"from\": \"anuj.jain+api@razorpay.com\",\n            \"to\": \"rohit.contractor@mailinator.com\",\n            \"executeOn\": \"2020-12-15\",\n            \"remarks\": \"Test Payment\",\n            \"purpose\": \"professional-services\",\n            \"amount\": \"2000.00\",\n            \"tax\": \"360\"\n        },\n        {\n            \"id\": 13909,\n            \"from\": \"anuj.jain+api@razorpay.com\",\n            \"to\": \"rohit.contractor@mailinator.com\",\n            \"executeOn\": \"2020-12-15\",\n            \"remarks\": \"Test Payment\",\n            \"purpose\": \"professional-services\",\n            \"amount\": \"1.00\",\n            \"tax\": \"0\"\n        }\n    ],\n    \"count\": 2\n}"}],"_postman_id":"42c24595-c9e0-42e0-805b-abd3c24ec33d"},{"name":"Check Status","id":"6b3d4d9f-477a-45ab-875c-59f85e1601b2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"contractor-payment\",\n       \"sub-type\": \"get-status\"\n   },\n   \"data\": {\n           \"id\": 13908\n   }\n}"},"url":"https://payroll.razorpay.com/api/contractorPayment","description":"<p>Use this to check whether a payment to a contractor has been completed or not.</p>\n<h4 id=\"request-structure\"><strong>Request Structure</strong></h4>\n<ul>\n<li><p><strong>auth</strong>: Authentication credentials required to access the API.</p>\n<ul>\n<li><code>id</code>: Unique identifier for the user or application making the request.</li>\n<li><code>key</code>: API key associated with the user or application.</li>\n</ul>\n</li>\n<li><p><strong>request</strong>: Specifies the type of operation to be performed.</p>\n<ul>\n<li><code>type</code>: Always set to <code>\"contractor-payment\"</code> for contractor payment-related requests.</li>\n<li><code>sub-type</code>: The specific action to be taken, in this case, <code>\"get-status\"</code> to retrieve the status of a payment.</li>\n</ul>\n</li>\n<li><p><strong>data</strong>: Contains the details of the payment whose status is being queried.</p>\n<ul>\n<li><code>id</code>: Unique identifier of the contractor payment received while creating the payment.</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","contractorPayment"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"27a3fbe4-c7eb-45aa-b98c-1934829785be","name":"Check Status","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"contractor-payment\",\n       \"sub-type\": \"get-status\"\n   },\n   \"data\": {\n           \"id\": 13908\n   }\n}"},"url":"https://payroll.razorpay.com/api/contractorPayment"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 15 Dec 2020 14:44:32 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"169"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=e8e67123d02eea4f2f8f296d4fddab02; expires=Tue, 22-Dec-2020 14:44:31 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"amount\": \"2000.00\",\n    \"tax\": \"360\",\n    \"created_at\": \"15/12/2020 20:14:32\",\n    \"execute_at\": \"15/12/2020\",\n    \"remarks\": \"Test Payment\",\n    \"purpose\": \"professional-services\",\n    \"paid\": false\n}"}],"_postman_id":"6b3d4d9f-477a-45ab-875c-59f85e1601b2"}],"id":"e2c1071c-7478-40a1-b83f-2127fac6ab6d","_postman_id":"e2c1071c-7478-40a1-b83f-2127fac6ab6d","description":""},{"name":"Attendance","item":[{"name":"Modify/Add","id":"3227b2d7-2477-4a23-a7f0-1afb3b6ab6e2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"attendance\",\n       \"sub-type\": \"modify\"\n   },\n   \"data\": {\n        \"email\": \"sample_email@testmail.com\",\n        \"employee-type\": \"employee\",\n        \"date\": \"2020-12-15\",\n        \"status\": \"leave\",\n        \"leave-type\": 0,\n        \"checkin\": \"09:00\",\n        \"checkout\": \"17:00\",\n        \"remarks\": \"attendance api test\"\n   }\n}","options":{"raw":{"language":"json"}}},"url":"https://payroll.razorpay.com/api/att","description":"<p><code>status</code> options -</p>\n<ul>\n<li><p>present</p>\n</li>\n<li><p>leave</p>\n</li>\n<li><p>half-day</p>\n</li>\n<li><p>unpaid-leave</p>\n</li>\n<li><p>unpaid-half-day</p>\n</li>\n</ul>\n<p><code>checkin</code> and <code>checkout</code> are applicable for days marked as present or half day.</p>\n<p><code>leave-type</code> is applicable if you have set up different types of leaves in Opfin. Try value “-1” to see a list of possible values.</p>\n<p>Additional note - if your attendance configuration is set to not allow negative leaves, then any excessive leave requests will automatically be converted into unpaid leaves.</p>\n<p>Identifier options: You can either use the <code>employee-id</code> attribute or the <code>email</code> attribute within the data field as identifiers for the user. We would recommend using the email attribute as demonstrated in the example. If you need to use the <code>employee-id</code>attribute, in the data field you can replace the <code>email</code> attribute with <code>employee-id</code> and the value as an integer value like so,<br /><code>\"employee-id\" : 212</code></p>\n","urlObject":{"protocol":"https","path":["api","att"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"7097103d-5c83-48ba-b6b3-82909d7931d4","name":"Modify/Add Attendance","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"attendance\",\n       \"sub-type\": \"modify\"\n   },\n   \"data\": {\n           \"email\": \"sample_email@testmail.com\",\n           \"date\": \"2020-12-15\",\n           \"status\": \"leave\",\n           \"leave-type\": 0,\n           \"checkin\": \"09:00\",\n           \"checkout\": \"17:00\",\n           \"remarks\": \"attendance api test\"\n   }\n}"},"url":"https://payroll.razorpay.com/api/att"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 15 Dec 2020 15:27:53 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"15"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=28879c3086a037f6d67d26bdef599fba; expires=Tue, 22-Dec-2020 15:27:52 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"ok\"\n}"}],"_postman_id":"3227b2d7-2477-4a23-a7f0-1afb3b6ab6e2"},{"name":"Fetch","id":"2805cbe7-7c07-47a7-812f-895ad55e3976","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"auth\": {\n        \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n    },\n    \"request\": {\n        \"type\": \"attendance\",\n        \"sub-type\": \"fetch\"\n    },\n    \"data\": {\n        \"email\": \"sample_email@testmail.com\",\n        \"employee-type\": \"employee\",\n        \"date\": \"2020-12-15\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://payroll.razorpay.com/api/att","description":"<p>This API can be used to get the attendance records for a user on a given date</p>\n<p><strong>Note:</strong> In the fields returned, all the fields prefixed with 'requested' are fields that imply a request has been made, but is yet to be approved. Once approved, they will show up as the actual status/leave-type/time. If rejected, they will be set back to null.</p>\n","urlObject":{"protocol":"https","path":["api","att"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"ae38c6dd-0c2e-4fb4-9224-5a9b018234dc","name":"Fetch","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"attendance\",\n       \"sub-type\": \"modify\"\n   },\n   \"data\": {\n           \"email\": \"sample_email@testmail.com\",\n           \"date\": \"2020-12-15\",\n           \"status\": \"leave\",\n           \"leave-type\": 0,\n           \"checkin\": \"09:00\",\n           \"checkout\": \"17:00\",\n           \"remarks\": \"attendance api test\"\n   }\n}","options":{"raw":{"language":"json"}}},"url":"https://payroll.razorpay.com/api/att"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"employee-id\": 2,\n        \"employee-type\": \"employee\",\n        \"date\": \"2020-12-15\",\n        \"status\": {\n            \"code\": 20,\n            \"description\": \"leave\"\n        },\n        \"leave-type\": {\n            \"code\": 1,\n            \"description\": \"Medical Leave\"\n        },\n        \"check-in\": \"09:00:00\",\n        \"check-out\": \"11:00:00\",\n        \"remarks\": \"attendance api test24\",\n        \"requested-status\": {\n            \"code\": null,\n            \"description\": null\n        },\n        \"requested-leave-type\": {\n            \"code\": null,\n            \"description\": null\n        },\n        \"requested-check-in\": null,\n        \"requested-check-out\": null\n    }\n}"}],"_postman_id":"2805cbe7-7c07-47a7-812f-895ad55e3976"},{"name":"Edit","id":"2ad08322-e282-4618-af0f-bf4467624fbf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"attendance\",\n       \"sub-type\": \"modify\"\n   },\n   \"data\": {\n        \"email\": \"sample_email@testmail.com\",\n        \"employee-type\": \"employee\",\n        \"date\": \"2020-12-15\",\n        \"status\": \"leave\",\n        \"leave-type\": 0,\n        \"checkin\": \"09:00\",\n        \"checkout\": \"17:00\",\n        \"remarks\": \"attendance api test\"\n   }\n}","options":{"raw":{"language":"json"}}},"url":"https://payroll.razorpay.com/api/att","description":"<p>Use this API to edit an existing attendance record.</p>\n<p><code>status</code> options -</p>\n<ul>\n<li>present</li>\n<li>leave</li>\n<li>half-day</li>\n<li>unpaid-leave</li>\n<li>unpaid-half-day</li>\n</ul>\n<p><code>checkin</code> and <code>checkout</code> are applicable for days marked as present or half day.</p>\n<p><code>leave-type</code> is applicable if you have set up different types of leaves in Opfin. Try value “-1” to see a list of possible values.</p>\n<p>Additional note - if your attendance configuration is set to not allow negative leaves, then any excessive leave requests will automatically be converted into unpaid leaves.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Data Field</strong></th>\n<th><strong>Requirement</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>employee-id</code></td>\n<td><code>required</code></td>\n</tr>\n<tr>\n<td><code>employee-type</code></td>\n<td><code>required</code></td>\n</tr>\n<tr>\n<td><code>date</code></td>\n<td><code>required</code></td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td><code>optional</code></td>\n</tr>\n<tr>\n<td><code>leave-type</code></td>\n<td><code>optional</code></td>\n</tr>\n<tr>\n<td><code>checkin</code></td>\n<td><code>optional</code></td>\n</tr>\n<tr>\n<td><code>checkout</code></td>\n<td><code>optional</code></td>\n</tr>\n<tr>\n<td><code>remarks</code></td>\n<td><code>optional</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","att"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"6100c488-9e42-4ceb-885d-dd739969ce43","name":"Edit","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": 2631,\n       \"key\": \"tbge0t0od2s8od3chvsjf2g3x1b4g12w\"\n   },\n   \"request\": {\n       \"type\": \"attendance\",\n       \"sub-type\": \"modify\"\n   },\n   \"data\": {\n        \"email\": \"sample_email@testmail.com\",\n        \"employee-type\": \"employee\",\n        \"date\": \"2020-12-15\",\n        \"status\": \"leave\",\n        \"leave-type\": 0,\n        \"checkin\": \"09:00\",\n        \"checkout\": \"17:00\",\n        \"remarks\": \"attendance api test\"\n   }\n}","options":{"raw":{"language":"json"}}},"url":"https://payroll.razorpay.com/api/att"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"ok\"\n}"}],"_postman_id":"2ad08322-e282-4618-af0f-bf4467624fbf"}],"id":"dad30ecc-f9a9-45f8-bc74-cdb11f768c1b","description":"<p>Use this API to add/update your employees' check-in and check-out timings, or even to just update their leaves.</p>\n","_postman_id":"dad30ecc-f9a9-45f8-bc74-cdb11f768c1b"},{"name":"Advance Salary","item":[{"name":"Create Advance Salary","id":"c4125c71-95ae-4fd0-95fc-105d2d189bc7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": YOUR_API_ID,\n       \"key\": \"YOUR_API_KEY\"\n   },\n   \"request\": {\n       \"type\": \"advance-salary\",\n       \"sub-type\": \"create\"\n   },\n   \"data\": {\n        \"from\" : \"from_email@example.com\"\n        \"employee-id\": 1,\n        \"amount\": 2000,\n        \"emi-amount\": 360,\n        \"reason\" : \"This is a optional field\"\n   }\n}\n"},"url":"https://payroll.razorpay.com/api/advanceSalary","description":"<p>Use this API to create an advance salary request. The request will be auto approved. You will need to make the payments from the dashboard.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Data Field</strong></th>\n<th><strong>Requirement</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>from</code></td>\n<td><code>required</code></td>\n</tr>\n<tr>\n<td><code>employee-id</code></td>\n<td><code>required</code></td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td><code>required</code></td>\n</tr>\n<tr>\n<td><code>emi-amount</code></td>\n<td><code>required</code></td>\n</tr>\n<tr>\n<td><code>reason</code></td>\n<td><code>optional</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","advanceSalary"],"host":["payroll","razorpay","com"],"query":[],"variable":[]}},"response":[{"id":"ab758b65-9446-4802-8e7f-ebed27c09c65","name":"View","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"auth\": {\n       \"id\": YOUR_API_ID,\n       \"key\": \"YOUR_API_KEY\"\n   },\n   \"request\": {\n       \"type\": \"advance-salary\",\n       \"sub-type\": \"create\"\n   },\n   \"data\": {\n        \"from\" : \"from_email@example.com\"\n        \"employee-id\": 1,\n        \"amount\": 2000,\n        \"emi-amount\": 360,\n        \"reason\" : \"This is a optional field\"\n   }\n}\n"},"url":"https://payroll.razorpay.com/api/advanceSalary"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 15 Dec 2020 14:56:16 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"209"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"Server","value":"Apache"},{"key":"Set-Cookie","value":"opfinproduction=355ec6423d0eda588e50d997de3f8fab; expires=Tue, 22-Dec-2020 14:56:16 GMT; Max-Age=604800; path=/; domain=razorpay.com; secure; HttpOnly; SameSite=Lax"},{"key":"Strict-Transport-Security","value":"max-age=315360000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n   \"status\": \"ok\",\n   \"advance-salary-id\": 13908\n}\n"}],"_postman_id":"c4125c71-95ae-4fd0-95fc-105d2d189bc7"}],"id":"1558a5fc-3188-4106-841b-ce565e5331d4","_postman_id":"1558a5fc-3188-4106-841b-ce565e5331d4","description":""}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"c9f51f95-b01e-4fa3-9724-d51a4985e088"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"89a1d847-5396-431a-b819-8fe7acfbca62"}}]}