{"info":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","description":"<html><head></head><body><p>The Payflow Public API is a comprehensive RESTful API that enables companies to integrate with Payflow's earned wage access (EWA) platform. The API provides functionality for employee management, payment processing, flexible wage advance calculations, and administrative operations.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"52263847","collectionId":"d205a55f-edf5-4d53-94f9-722bfffa8205","publishedId":"2sBXcBm26H","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-02-12T09:26:32.000Z"},"item":[{"name":"Auth & Health","item":[{"name":"Health Check","id":"09023090-17f6-4740-8288-65ec489dc892","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"https://api-public.payflow.es/health-check","description":"<p>Performs a health check on the system. There is no request body for this endpoint, and the response body is expected to be empty.</p>\n","urlObject":{"path":["health-check"],"host":["https://api-public.payflow.es"],"query":[],"variable":[]}},"response":[{"id":"4535f3e6-bc30-489f-b6c7-77a236a7dd59","name":"Service available","originalRequest":{"method":"GET","header":[],"url":"https://api-public.payflow.es/health-check"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"09023090-17f6-4740-8288-65ec489dc892"},{"name":"Test API Key","id":"bce351e3-e035-4101-9b3b-b902608727a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/test","description":"<p>Validates the current authentication credentials and returns the associated company name. The request body must be an empty JSON object (<code>{}</code>).</p>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon successful request, the response will have the following structure:</p>\n<ul>\n<li><p><strong>company</strong> <strong><code>[string]</code></strong>: The name of your company</p>\n</li>\n<li><p><strong>status</strong> <strong><code>[string]</code></strong>: Fixed value to confirm the key is valid</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["test"],"host":["https://api-public.payflow.es"],"query":[],"variable":[]}},"response":[{"id":"697b254a-4c41-4a57-b205-cf1f42b56c6d","name":"Valid key","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/test"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"company\": \"Payflow\",\n    \"status\": \"valid\"\n}"},{"id":"8e92abae-7f43-45f8-afe1-ecb47318214f","name":"Invalid key","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/test"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 401,\n    \"error\": \"Unauthorized\",\n    \"message\": \"invalid apiKey\",\n    \"attributes\": {\n        \"error\": \"invalid apiKey\"\n    }\n}"}],"_postman_id":"bce351e3-e035-4101-9b3b-b902608727a5"}],"id":"6dae0971-0bdc-4bf3-a029-ec3971362dfe","description":"<p>Essential endpoints for testing connectivity and authentication.</p>\n","_postman_id":"6dae0971-0bdc-4bf3-a029-ec3971362dfe","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}}},{"name":"Company","item":[{"name":"Read Company Details","id":"1149951f-cf18-42ad-86a4-a99234140d44","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/company","description":"<p>Retrieves company information including all subsidiaries and settings.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<ul>\n<li><p><strong>id</strong> <code>[number]</code>: Internal company ID</p>\n</li>\n<li><p><strong>createdAt</strong> <code>[string]</code>: Company creation date (ISO string)</p>\n</li>\n<li><p><strong>name</strong> <code>[string]</code>: Company display name</p>\n</li>\n<li><p><strong>legalName</strong> <code>[string]</code>: Company legal name</p>\n</li>\n<li><p><strong>taxId</strong> <code>[string]</code>: Company CIF</p>\n</li>\n<li><p><strong>billingAddress</strong> <code>[string]</code>: Company billing address</p>\n</li>\n<li><p><strong>settings</strong> <code>[object]</code>: Company configuration settings</p>\n<ul>\n<li><strong>cutoffDay</strong> <code>[array]</code>: Array of cutoff days for payment cycles</li>\n</ul>\n</li>\n<li><p><strong>subsidiaries</strong> <code>[array]</code>: List of company subsidiaries</p>\n<ul>\n<li><p><strong>id</strong> <code>[number]</code>: Subsidiary ID</p>\n</li>\n<li><p><strong>createdAt</strong> <code>[string]</code>: Subsidiary creation date (ISO string)</p>\n</li>\n<li><p><strong>name</strong> <code>[string]</code>: Subsidiary display name</p>\n</li>\n<li><p><strong>legalName</strong> <code>[string]</code>: Subsidiary legal name</p>\n</li>\n<li><p><strong>taxId</strong> <code>[string]</code>: Company CIF</p>\n</li>\n<li><p><strong>billingAddress</strong> <code>[string]</code>: Subsidiary billing address</p>\n</li>\n<li><p><strong>subsidiaryCode</strong> <code>[string]</code>: Internal subsidiary code</p>\n</li>\n</ul>\n</li>\n<li><p><strong>technicalIssuesEmails</strong> <code>[array, optional]</code>: Email addresses for technical notifications</p>\n</li>\n<li><p><strong>sendSFTPNotifications</strong> <code>[boolean]</code>: Whether SFTP notifications are enabled</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["company"],"host":["https://api-public.payflow.es"],"query":[],"variable":[]}},"response":[{"id":"ee07a95e-212a-4147-8876-02ec42f18621","name":"Success","originalRequest":{"method":"GET","header":[],"url":"https://api-public.payflow.es/company"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"id\": 1,\n        \"createdAt\": \"2025-04-30T09:00:00.000Z\",\n        \"name\": \"Payflow\",\n        \"legalName\": \"Payflow Digital Inc.\",\n        \"taxId\": \"B00000000\",\n        \"billingAddress\": \"Billing Address\",\n        \"subsidiaries\": [\n            {\n                \"id\": 1,\n                \"createdAt\": \"2025-04-30T09:00:00.000Z\",\n                \"name\": \"Payflow\",\n                \"legalName\": \"Payflow Digital Inc.\",\n                \"taxId\": \"ESA00000000\",\n                \"billingAddress\": \"Billing Address\",\n                \"subsidiaryCode\": \"1\"\n            }\n        ],\n        \"settings\": {\n            \"cutoffDay\": [\n                21\n            ]\n        },\n        \"technicalIssuesEmails\": [\n            \"technical.issues@payflow.es\"\n        ],\n        \"sendSFTPNotifications\": false\n    }\n}"}],"_postman_id":"1149951f-cf18-42ad-86a4-a99234140d44"}],"id":"3fc40174-f479-4a5f-a5d3-100734c245a4","description":"<p>Read-only access to company details and configuration.</p>\n<p>This collection retrieves information about the company associated with the API key, including its subsidiaries, settings, and technical contact details.</p>\n<p>Returned settings may include Payflow-specific configurations such as the cutoff date for salary periods, whether to send SFTP notifications, and the list of email addresses for technical contacts.</p>\n","_postman_id":"3fc40174-f479-4a5f-a5d3-100734c245a4","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}}},{"name":"Employee","item":[{"name":"Employee","id":"9a5a75c8-eb8a-48e8-ae03-705925df1853","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/employee?id=","description":"<p>Retrieves employee data by specified query param. Either <strong>personalId</strong>, <strong>payrollId</strong> or <strong>id</strong> must be provided.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon a successful request, the response will have the following structure:</p>\n<ul>\n<li><p><strong>id</strong> <code>[integer]</code>: Employee ID in Payflow</p>\n</li>\n<li><p><strong>payrollId</strong> <code>[string, null]</code>: Employee ID in your payroll software</p>\n</li>\n<li><p><strong>firstName</strong> <code>[string]</code>: Employee first name</p>\n</li>\n<li><p><strong>lastName</strong> <code>[string]</code>: Employee last name</p>\n</li>\n<li><p><strong>documentType</strong> <code>[string, null]</code>: Employee document type. Possible values: <code>DNI</code>, <code>NIE</code>, <code>CODICE_FISCALE</code>, <code>C_CIUDADANIA</code>, <code>C_EXTRANJERIA</code>, <code>PASSPORT</code>, <code>PEP</code></p>\n</li>\n<li><p><strong>personalId</strong> <code>[string]</code>: Employee document number</p>\n</li>\n<li><p><strong>bankAccountNumber</strong> <code>[string, null]</code>: Employee bank account number</p>\n</li>\n<li><p><strong>bankAccountType</strong> <code>[string, null]</code>: Employee bank account type. Possible values: <code>checking</code>, <code>savings</code>, <code>maestra</code></p>\n</li>\n<li><p><strong>iban</strong> <code>[string, null]</code>: (Europe only) Employee IBAN</p>\n</li>\n<li><p><strong>bic_swift</strong> <code>[string, null]</code>: Employee bank SWIFT code</p>\n</li>\n<li><p><strong>bankEntity</strong> <code>[string, null]</code>: Employee bank name</p>\n</li>\n<li><p><strong>grossSalary</strong> <code>[number, null]</code>: Employee salary before taxes</p>\n</li>\n<li><p><strong>netSalary</strong> <code>[number, null]</code>: Employee salary after taxes</p>\n</li>\n<li><p><strong>paymentFrequency</strong> <code>[string]</code>: Employee salary time unit. Possible values: <code>yearly</code>, <code>monthly</code>, <code>twiceAMonth</code></p>\n</li>\n<li><p><strong>availableAmount</strong> <code>[integer]</code>: Amount of salary available for withdrawal</p>\n</li>\n<li><p><strong>restrictedAmount</strong> <code>[integer]</code>: Amount of salary not available for withdrawal</p>\n</li>\n<li><p><strong>startDate</strong> <code>[string]</code>: Employee contract start date (YYYY-MM-DD)</p>\n</li>\n<li><p><strong>contractEnd</strong> <code>[string, null]</code>: Employee contract end date (YYYY-MM-DD)</p>\n</li>\n<li><p><strong>email</strong> <code>[string, null]</code>: Employee email address</p>\n</li>\n<li><p><strong>address</strong> <code>[string, null]</code>: Employee address</p>\n</li>\n<li><p><strong>phone</strong> <code>[string, null]</code>: Employee phone number</p>\n</li>\n<li><p><strong>status</strong> <code>[string]</code>: Employee status in Payflow. Possible values: <code>active</code>, <code>on_leave</code>, <code>inactive</code>, <code>incomplete</code>, <code>deleted</code>]</p>\n</li>\n<li><p><strong>subsidiary</strong> <code>[integer, null]</code>: Subsidiary ID where the employee belongs</p>\n</li>\n<li><p><strong>subsidiaryTaxId</strong> <code>[string, null]</code>: Subsidiary tax ID</p>\n</li>\n<li><p><strong>subsidiaryCode</strong> <code>[string, null]</code>: Subsidiary ID in your payroll software</p>\n</li>\n<li><p><strong>active</strong> <code>[boolean]</code>: Whether the employee has an active Payflow account</p>\n</li>\n<li><p><strong>counter</strong> <code>[integer]</code>: Employee failed login attempts</p>\n</li>\n<li><p><strong>agreedTyC</strong> <code>[boolean]</code>: Whether the employee has accepted Payflow's T&amp;C</p>\n</li>\n<li><p><strong>lastLearnflowUse</strong> <code>[string, null]</code>: Employee last Learnflow use (YYYY-MM-DD)</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employee"],"host":["https://api-public.payflow.es"],"query":[{"description":{"content":"<p>Employee ID in Payflow</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Employee ID in your payroll software</p>\n","type":"text/plain"},"key":"payrollId","value":""},{"disabled":true,"description":{"content":"<p>Employee document number</p>\n","type":"text/plain"},"key":"personalId","value":""}],"variable":[]}},"response":[{"id":"b0722ecf-b22e-4f42-b45b-2244ac0ae2f8","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/employee?id=1","protocol":"https","host":["api-public","payflow","es"],"path":["employee"],"query":[{"key":"id","value":"1","description":"Employee ID in Payflow"},{"key":"payrollId","value":null,"disabled":true},{"key":"personalId","value":null,"disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"id\": 1,\n        \"payrollId\": \"Emp01\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Doe\",\n        \"documentType\": null,\n        \"personalId\": \"12345678A\",\n        \"bankAccountNumber\": null,\n        \"bankAccountType\": null,\n        \"iban\": \"ES0000000000000000000000\",\n        \"bic_swift\": null,\n        \"bankEntity\": null,\n        \"grossSalary\": null,\n        \"netSalary\": 1500,\n        \"paymentFrequency\": \"monthly\",\n        \"availableAmount\": 0,\n        \"restrictedAmount\": 0,\n        \"startDate\": \"2020-06-30\",\n        \"contractEnd\": null,\n        \"email\": \"john.doe@payflow.es\",\n        \"address\": \"Employee Adress\",\n        \"phone\": null,\n        \"status\": \"active\",\n        \"subsidiary\": 1,\n        \"subsidiaryTaxId\": \"A00000000\",\n        \"subsidiaryCode\": \"01\",\n        \"active\": false,\n        \"counter\": 0,\n        \"agreedTyC\": true,\n        \"lastLearnflowUse\": null\n    }\n}"},{"id":"109cb9d3-21f4-4645-9d16-98ce9d30cfa6","name":"Not found","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/employee?id=10","protocol":"https","host":["api-public","payflow","es"],"path":["employee"],"query":[{"key":"id","value":"10","description":"Id of the employee in Payflow"},{"key":"payrollId","value":"","description":"Id of the employee in your payroll software","disabled":true},{"key":"personalId","value":"","description":"Document number of the employee","disabled":true}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 404,\n    \"error\": \"Not Found\",\n    \"message\": \"Employee not found with options: {\\\"id\\\":10}\"\n}"}],"_postman_id":"9a5a75c8-eb8a-48e8-ae03-705925df1853"},{"name":"All Employees","id":"8b5c1417-91e4-4726-859d-51e512b2d92e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/employees","description":"<p><strong>[DEPRECATED – Use v1.1 Instead]</strong> Retrieves data for all employees within the company.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employees"],"host":["https://api-public.payflow.es"],"query":[],"variable":[]}},"response":[{"id":"8e101cd0-0a61-4ce4-94f8-44ecf15cfdb4","name":"Success","originalRequest":{"method":"GET","header":[],"url":"https://api-public.payflow.es/employees"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": 1,\n            \"payrollId\": \"Emp01\",\n            \"firstName\": \"John\",\n            \"lastName\": \"Doe\",\n            \"documentType\": null,\n            \"personalId\": \"12345678A\",\n            \"bankAccountNumber\": null,\n            \"bankAccountType\": null,\n            \"iban\": \"ES0000000000000000000000\",\n            \"bic_swift\": null,\n            \"bankEntity\": null,\n            \"grossSalary\": null,\n            \"netSalary\": 1500,\n            \"paymentFrequency\": \"monthly\",\n            \"availableAmount\": 0,\n            \"restrictedAmount\": 0,\n            \"startDate\": \"2020-06-30\",\n            \"contractEnd\": null,\n            \"email\": \"john.doe@payflow.es\",\n            \"address\": \"Employee Adress\",\n            \"phone\": null,\n            \"status\": \"active\",\n            \"subsidiary\": 1,\n            \"subsidiaryTaxId\": \"A00000000\",\n            \"subsidiaryCode\": \"01\",\n            \"active\": false,\n            \"counter\": 0,\n            \"agreedTyC\": true,\n            \"lastLearnflowUse\": null\n        }\n    ],\n    \"total\": 1\n}"}],"_postman_id":"8b5c1417-91e4-4726-859d-51e512b2d92e"},{"name":"All Employees [V1.1]","id":"891dc121-e2f8-48a2-ba44-76c107779f2a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"api-version","value":"1.1","description":"<p>API version. Use 1.1 for pagination.</p>\n","type":"text"}],"url":"https://api-public.payflow.es/employees?offset=&limit=","description":"<p>Retrieves data for all employees within the company, <strong>with pagination support</strong>. Offset and limit query parameters are <strong>required</strong>.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon a successful request, the response will have the following structure:</p>\n<ul>\n<li><p><strong>data</strong> [array] <strong>:</strong> List of employee records</p>\n<ul>\n<li><p><strong>id</strong> <code>[number]</code> <strong>:</strong> Employee's internal ID</p>\n</li>\n<li><p><strong>payrollId</strong> <code>[string]</code> <strong>:</strong> Employee's payroll ID</p>\n</li>\n<li><p><strong>firstName</strong> <code>[string]</code> <strong>:</strong> Employee's first name</p>\n</li>\n<li><p><strong>lastName</strong> <code>[string]</code> <strong>:</strong> Employee's last name</p>\n</li>\n<li><p><strong>documentType</strong> <code>[string, null]</code> <strong>:</strong> Type of identification document</p>\n</li>\n<li><p><strong>personalId</strong> <code>[string]</code> <strong>:</strong> Employee's identification document number</p>\n</li>\n<li><p><strong>bankAccountNumber</strong> <code>[string, null]</code> <strong>:</strong> Bank account number</p>\n</li>\n<li><p><strong>bankAccountType</strong> <code>[string, null]</code> <strong>:</strong> Type of bank account</p>\n</li>\n<li><p><strong>iban</strong> <code>[string, null]</code> <strong>:</strong> (Europe only) Employee IBAN</p>\n</li>\n<li><p><strong>bic_swift</strong> <code>[string, null]</code>: Employee bank SWIFT code</p>\n</li>\n<li><p><strong>bankEntity</strong> <code>[string, null]</code>: Employee bank name</p>\n</li>\n<li><p><strong>grossSalary</strong> <code>[number, null]</code>: Employee salary before taxes</p>\n</li>\n<li><p><strong>netSalary</strong> <code>[number, null]</code>: Employee salary after taxes</p>\n</li>\n<li><p><strong>paymentFrequency</strong> <code>[string]</code>: Employee salary time unit. Possible values: <code>yearly</code>, <code>monthly</code>, <code>twiceAMonth</code></p>\n</li>\n<li><p><strong>availableAmount</strong> <code>[integer]</code>: Amount of salary available for withdrawal</p>\n</li>\n<li><p><strong>restrictedAmount</strong> <code>[integer]</code>: Amount of salary not available for withdrawal</p>\n</li>\n<li><p><strong>startDate</strong> <code>[string]</code>: Employee contract start date (YYYY-MM-DD)</p>\n</li>\n<li><p><strong>contractEnd</strong> <code>[string, null]</code>: Employee contract end date (YYYY-MM-DD)</p>\n</li>\n<li><p><strong>email</strong> <code>[string, null]</code>: Employee email address</p>\n</li>\n<li><p><strong>address</strong> <code>[string, null]</code>: Employee address</p>\n</li>\n<li><p><strong>phone</strong> <code>[string, null]</code>: Employee phone number</p>\n</li>\n<li><p><strong>status</strong> <code>[string]</code>: Employee status in Payflow. Possible values: <code>active</code>, <code>on_leave</code>, <code>inactive</code>, <code>incomplete</code>, <code>deleted</code>]</p>\n</li>\n<li><p><strong>subsidiary</strong> <code>[integer, null]</code>: Subsidiary ID where the employee belongs</p>\n</li>\n<li><p><strong>subsidiaryTaxId</strong> <code>[string, null]</code>: Subsidiary tax ID</p>\n</li>\n<li><p><strong>subsidiaryCode</strong> <code>[string, null]</code>: Subsidiary ID in your payroll software</p>\n</li>\n<li><p><strong>active</strong> <code>[boolean]</code>: Whether the employee has an active Payflow account</p>\n</li>\n<li><p><strong>counter</strong> <code>[integer]</code>: Employee failed login attempts</p>\n</li>\n<li><p><strong>agreedTyC</strong> <code>[boolean]</code>: Whether the employee has accepted Payflow's T&amp;C</p>\n</li>\n<li><p><strong>lastLearnflowUse</strong> <code>[string, null]</code>: Employee last Learnflow use (YYYY-MM-DD)</p>\n</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employees"],"host":["https://api-public.payflow.es"],"query":[{"description":{"content":"<p>Index of the first record to return</p>\n","type":"text/plain"},"key":"offset","value":""},{"description":{"content":"<p>Maximum number of records to return</p>\n","type":"text/plain"},"key":"limit","value":""}],"variable":[]}},"response":[{"id":"ea8eec74-0d58-4680-ade8-19e9ae35bb8d","name":"Success","originalRequest":{"method":"GET","header":[{"key":"api-version","value":"1.1","type":"text"}],"url":{"raw":"https://api-public.payflow.es/employees?offset=0&limit=50","protocol":"https","host":["api-public","payflow","es"],"path":["employees"],"query":[{"key":"offset","value":"0"},{"key":"limit","value":"50"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": 1,\n            \"payrollId\": \"Emp01\",\n            \"firstName\": \"John\",\n            \"lastName\": \"Doe\",\n            \"documentType\": null,\n            \"personalId\": \"12345678A\",\n            \"bankAccountNumber\": null,\n            \"bankAccountType\": null,\n            \"iban\": \"ES0000000000000000000000\",\n            \"bic_swift\": null,\n            \"bankEntity\": null,\n            \"grossSalary\": null,\n            \"netSalary\": 1500,\n            \"paymentFrequency\": \"monthly\",\n            \"availableAmount\": 0,\n            \"restrictedAmount\": 0,\n            \"startDate\": \"2020-06-30\",\n            \"contractEnd\": null,\n            \"email\": \"john.doe@payflow.es\",\n            \"address\": \"Employee Adress\",\n            \"phone\": null,\n            \"status\": \"active\",\n            \"subsidiary\": 1,\n            \"subsidiaryTaxId\": \"A00000000\",\n            \"subsidiaryCode\": \"01\",\n            \"active\": false,\n            \"counter\": 0,\n            \"agreedTyC\": true,\n            \"lastLearnflowUse\": null\n        }\n    ],\n    \"total\": 1\n}"}],"_postman_id":"891dc121-e2f8-48a2-ba44-76c107779f2a"},{"name":"Employee","id":"95f6f61d-16db-4863-a537-f15fa0322fac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"payrollId\": \"Emp02\",\n    \"firstName\": \"Jane\",\n    \"lastName\": \"Doe\",\n    \"documentType\": \"DNI\",\n    \"personalId\": \"12345678B\",\n    \"bankAccountType\": \"savings\",\n    \"iban\": \"ES0000000000000000000000\",\n    \"bic_swift\": \"swift code\",\n    \"bankEntity\": \"bank name\",\n    \"grossSalary\": 1500,\n    \"paymentFrequency\": \"monthly\",\n    \"restrictedAmount\": 0,\n    \"startDate\": \"2025-06-01\",\n    \"contractEnd\": \"2028-06-01\",\n    \"email\": \"jane.doe@payflow.es\",\n    \"address\": \"Employee address\",\n    \"phone\": \"+34 600 00 00 00\",\n    \"status\": \"active\",\n    \"subsidiary\": \"1\",\n    \"subsidiaryCode\": \"01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/employee","description":"<h4 id=\"adds-a-new-employee-to-the-company-associated-with-the-api-key\">Adds a new employee to the company associated with the API key.</h4>\n<blockquote>\n<h2 id=\"⚠️-best-practice\">⚠️ BEST PRACTICE</h2>\n<ul>\n<li>Use <a href=\"https://docs.payflow.es/#cb5fc9a3-f7cd-4e9f-b899-92a76cdc70c5\"><strong>POST /employees</strong></a> for bulk employee creation/updates.  </li>\n<li>It is more efficient, consistent, and reduces validation errors.  </li>\n<li>Use this endpoint only for <strong>specific</strong> cases.</li>\n</ul>\n</blockquote>\n<ul>\n<li><p>It is mandatory to specify which subsidiary the employee belongs to. This can be done by providing either the <strong>subsidiary</strong> (CIF) or the <strong>subsidiaryId</strong> (the company's internal code).</p>\n</li>\n<li><p>You must specify <strong>grossSalary</strong> or <strong>netSalary</strong>, but not both. If only <strong>grossSalary</strong> is provided, <strong>netSalary</strong> will be calculated. If <strong>netSalary</strong> is provided, <strong>grossSalary</strong> will be ignored.</p>\n</li>\n<li><p>It is important that if <strong>grossSalary</strong> is provided, <strong>netSalary</strong> should not be sent (do not send it as 0€).</p>\n</li>\n<li><p>The frequency of all salaries must be monthly.</p>\n</li>\n<li><p>If you are integrating the flexible compensation benefit, you must send the gross salary.</p>\n</li>\n<li><p>If you don’t want to use/update a field, simply omit it from the payload.</p>\n<ul>\n<li>Do <strong>not</strong> send “empty” values such as <code>null</code>, <code>\"\"</code>, or <code>0</code> to “disable” a field — this often causes unexpected validation errors.</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<p>Mandatory fields*</p>\n<ul>\n<li><p><strong>personalId</strong>* <code>[string]</code>: Valid identification document number (will be validated)</p>\n</li>\n<li><p><strong>firstName</strong>* <code>[string, null]</code>: Employee complete first name (maximum 100 characters)</p>\n</li>\n<li><p><strong>lastName</strong>* <code>[string, null]</code>: Employee complete last name (maximum 100 characters)</p>\n</li>\n<li><p><strong>payrollId</strong> <code>[string, null]</code>: Employee ID in your payroll software</p>\n</li>\n<li><p><strong>email</strong>* <code>[string, null]</code> <strong>[required if no phone]</strong>: Valid employee email address (maximum 100 characters, cannot be generic, must be unique). Invalid emails will be nullified</p>\n</li>\n<li><p><strong>phone</strong>* <code>[string, null]</code> <strong>[required if no email]</strong>: Valid employee phone number (cannot be generic, must be unique). Invalid phones will be nullified</p>\n</li>\n<li><p><strong>iban</strong>* <code>[string, null]</code>: Valid employee IBAN for salary payments (will be validated). Invalid IBANs will be nullified</p>\n</li>\n<li><p><strong>grossSalary</strong>* <code>[number, null]</code>: Employee salary before taxes (must be positive number, 0 allowed, defaults to null). <strong>Important</strong>: If grossSalary is lower than €1,400, the employee will not be able to use the card and it will be frozen</p>\n</li>\n<li><p><strong>netSalary</strong>* <code>[number, null]</code>: Employee net salary (must be a positive number).</p>\n<ul>\n<li>If <code>grossSalary</code> is provided, omit <code>netSalary</code> from the payload — do not send it as 0€.</li>\n</ul>\n</li>\n<li><p><strong>status</strong>* <code>[string]</code>: Employee status (defaults to 'active'). Possible values: <code>active</code>, <code>inactive</code>, <code>on_leave</code>, <code>deleted</code></p>\n</li>\n<li><p><strong>subsidiary</strong>*<code>[number|string, null]</code>: Subsidiary CIF/tax code</p>\n</li>\n<li><p><strong>bankAccountNumber</strong> <code>[string, null]</code>: Employee bank account number. Invalid values will be nullified</p>\n</li>\n<li><p><strong>bic_swift</strong> <code>[string, null]</code>: Bank BIC/SWIFT code (maximum 100 characters)</p>\n</li>\n<li><p><strong>bankEntity</strong> <code>[string, null]</code>: Bank name (maximum 100 characters)</p>\n</li>\n<li><p><strong>bankAccountType</strong> <code>[string, null]</code>: Employee bank account type. Possible values: <code>checking</code>, <code>savings</code>, <code>maestra</code></p>\n</li>\n<li><p><strong>documentType</strong> <code>[string, null]</code>: Type of identification document. Possible values: <code>DNI</code>, <code>NIE</code></p>\n</li>\n<li><p><strong>address</strong> <code>[string, null]</code>: Employee home address</p>\n</li>\n<li><p><strong>restrictedAmount</strong> <code>[number, null]</code>: Restricted amount (must be positive number, 0 allowed, defaults to null)</p>\n</li>\n<li><p><strong>availableAmount</strong> <code>[number, null]</code>: Available amount (must be positive number, 0 allowed, defaults to null)</p>\n</li>\n<li><p><strong>paymentFrequency</strong> <code>[string]</code>: Employee salary time unit (defaults to 'monthly'). Possible values: <code>yearly</code>, <code>monthly</code>, <code>twiceAMonth</code></p>\n</li>\n<li><p><strong>startDate</strong> <code>[string, null]</code>: Employee contract start date in YYYY-MM-DD format</p>\n</li>\n<li><p><strong>contractEnd</strong> <code>[string, null]</code>: Contract end date in YYYY-MM-DD format (can be empty string, defaults to null)</p>\n</li>\n<li><p><strong>leaveEnd</strong> <code>[string, null]</code>: Leave end date in YYYY-MM-DD format (defaults to null)</p>\n</li>\n<li><p><strong>subsidiaryCode</strong> <code>[string|number, null]</code>: Subsidiary internal code (defaults to null)</p>\n</li>\n</ul>\n<p><strong>Important Validation Notes:</strong></p>\n<ul>\n<li><p>Invalid email, phone, IBAN, or bankAccountNumber values will be automatically nullified</p>\n</li>\n<li><p>At least one contact method (email OR phone) must be valid and provided</p>\n</li>\n<li><p>Dates must be in YYYY-MM-DD format</p>\n</li>\n<li><p>Duplicate employee data will result in a 409 Conflict error</p>\n</li>\n</ul>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon a successful request, the response will have the following structure:</p>\n<ul>\n<li><strong>id</strong> <code>[number]</code> <strong>:</strong> The ID of the newly created employee in Payflow</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employee"],"host":["https://api-public.payflow.es"],"query":[],"variable":[]}},"response":[{"id":"e9c41190-4527-438f-8bab-9d2966d48c8e","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"payrollId\": \"Emp02\",\n    \"firstName\": \"Jane\",\n    \"lastName\": \"Doe\",\n    \"documentType\": \"DNI\",\n    \"personalId\": \"12345678Z\",\n    \"bankAccountType\": \"savings\",\n    \"iban\": \"ES0000000000000000000000\",\n    \"grossSalary\": 1500,\n    \"paymentFrequency\": \"monthly\",\n    \"startDate\": \"2025-06-01\",\n    \"email\": \"jane.doe@payflow.es\",\n    \"address\": \"Employee address\",\n    \"phone\": \"+34 600 00 00 00\",\n    \"status\": \"active\",\n    \"subsidiary\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/employee"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"id\": 2\n}"}],"_postman_id":"95f6f61d-16db-4863-a537-f15fa0322fac"},{"name":"Employees","id":"26131762-3081-4285-859a-d2c5157acddc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"api-version","value":"1.1","description":"<p>API version. Use 1.1 for better performance.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"[\n    {\n        \"payrollId\": \"Emp02\",\n        \"firstName\": \"Jane\",\n        \"lastName\": \"Doe\",\n        \"documentType\": \"DNI\",\n        \"personalId\": \"12345678Z\",\n        \"bankAccountType\": \"savings\",\n        \"iban\": \"ES0000000000000000000000\",\n        \"bic_swift\": \"swift code\",\n        \"bankEntity\": \"bank name\",\n        \"grossSalary\": 1500,\n        \"paymentFrequency\": \"monthly\",\n        \"restrictedAmount\": 0,\n        \"startDate\": \"2025-06-01\",\n        \"contractEnd\": \"2028-06-01\",\n        \"email\": \"jane.doe@payflow.es\",\n        \"address\": \"Employee address\",\n        \"phone\": \"+34 600 00 00 00\",\n        \"status\": \"active\",\n        \"subsidiary\": \"1\",\n        \"subsidiaryCode\": \"01\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/employees","description":"<p>Creates or updates employees in bulk.</p>\n<p>All validations from <code>POST /employee</code> apply to each employee in the payload — for example, you must specify either <strong>grossSalary</strong> or <strong>netSalary</strong>, but not both.</p>\n<p>Invalid records will not trigger a <code>4xx</code> error — instead, an <code>error</code> element will be included in the response. An empty array means all employees were processed successfully.</p>\n<h3 id=\"best-practices\"><strong>Best Practices</strong></h3>\n<ul>\n<li><p>Set the <code>api-version</code> header to <code>v1.1</code> for improved performance and stability</p>\n</li>\n<li><p>Use this endpoint for all batch employee creations and updates</p>\n</li>\n<li><p>Send employees in batches of up to <strong>50</strong> for optimal performance</p>\n</li>\n<li><p>The maximum batch size is <strong>500</strong> employees. To sync more, make multiple sequential calls</p>\n</li>\n<li><p>If you don’t want to use/update a field, simply omit it from the payload.</p>\n<ul>\n<li>Do not send “empty” values such as null, \"\", or 0 to “disable” a field — this often causes unexpected validation errors.</li>\n</ul>\n</li>\n<li><p><strong>Implement a retry mechanism to ensure the integration succeeds if there is a failure during processing</strong></p>\n</li>\n</ul>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<p>Mandatory fields*</p>\n<p>Array of employee objects with the following structure (max 500, recommended 50 per batch):</p>\n<ul>\n<li><p><strong>personalId</strong>* <code>[string, null]</code>: Valid identification document number (maximum 100 characters, will be validated)</p>\n</li>\n<li><p><strong>firstName</strong>* <code>[string, null]</code>: Employee complete first name (maximum 100 characters)</p>\n</li>\n<li><p><strong>lastName</strong>* <code>[string, null]</code>: Employee complete last name (maximum 100 characters)</p>\n</li>\n<li><p><strong>payrollId</strong> <code>[string, null]</code>: Employee ID in your payroll software</p>\n</li>\n<li><p><strong>documentType</strong> <code>[string, null]</code>: Type of identification document</p>\n</li>\n<li><p><strong>grossSalary</strong>* <code>[number|string, null]</code>: Employee salary before taxes (must be positive number, defaults to null). If grossSalary is lower than €1,400, the employee will not be able to use the card and it will be frozen</p>\n</li>\n<li><p><strong>netSalary</strong>* <code>[number|string, null]</code>: Employee net salary (must be positive number).</p>\n<ul>\n<li>If <strong>grossSalary</strong> is provided, <strong>do not send</strong> netSalary as 0€</li>\n</ul>\n</li>\n<li><p><strong>email</strong>* <code>[string, null]</code> <strong>[required if no phone]</strong>: Valid employee email address (cannot be generic, must be unique). Invalid emails will be nullified</p>\n</li>\n<li><p><strong>phone</strong>* <code>[string, null]</code> <strong>[required if no email]</strong>: Valid employee phone number (cannot be generic, must be unique). Invalid phones will be nullified</p>\n</li>\n<li><p><strong>iban</strong>* <code>[string, null]</code>: Valid employee IBAN for salary payments. Invalid IBANs will be nullified</p>\n</li>\n<li><p><strong>subsidiary</strong>* <code>[number|string, null]</code>: Subsidiary ID or code</p>\n</li>\n<li><p><strong>subsidiaryCode</strong>* <code>[string, null]</code>: Subsidiary code</p>\n</li>\n<li><p><strong>restrictedAmount</strong> <code>[number, null]</code>: Restricted amount (must be positive number, 0 allowed, defaults to null)</p>\n</li>\n<li><p><strong>availableAmount</strong> <code>[number|string, null]</code>: Available amount for withdrawal</p>\n</li>\n<li><p><strong>paymentFrequency</strong> <code>[string, null]</code>: Employee salary time unit. Possible values: <code>yearly</code>, <code>monthly</code>, <code>twiceAMonth</code></p>\n</li>\n<li><p><strong>bankAccountNumber</strong> <code>[string, null]</code>: Employee bank account number. Invalid values will be nullified</p>\n</li>\n<li><p><strong>bankAccountType</strong> <code>[string, null]</code>: Employee bank account type. Possible values: <code>checking</code>, <code>savings</code>, <code>maestra</code></p>\n</li>\n<li><p><strong>bic_swift</strong> <code>[string, null]</code>: Bank BIC/SWIFT code</p>\n</li>\n<li><p><strong>bankEntity</strong> <code>[string, null]</code>: Bank name</p>\n</li>\n<li><p><strong>address</strong> <code>[string, null]</code>: Employee home address</p>\n</li>\n<li><p><strong>startDate</strong> <code>[string, null]</code>: Employee contract start date (YYYY-MM-DD)</p>\n</li>\n<li><p><strong>status</strong> <code>[string, null]</code>: Employee status. Possible values: <code>active</code><em>,</em> <code>inactive</code><em>,</em> <code>on_leave</code><em>,</em> <code>deleted</code></p>\n</li>\n<li><p><strong>contractEnd</strong> <code>[string, null]</code>: Contract end date (YYYY-MM-DD)</p>\n</li>\n<li><p><strong>leaveEnd</strong> <code>[string, null]</code>: Leave end date (YYYY-MM-DD)</p>\n</li>\n<li><p><strong>flexflowEnabled</strong> <code>[boolean, null]</code>: Whether flexflow is enabled for employee</p>\n</li>\n</ul>\n<h3 id=\"validation-rules\"><strong>Validation Rules:</strong></h3>\n<ul>\n<li><p>At least one contact method (<strong>email</strong> OR <strong>phone</strong>) must be provided and valid for each employee</p>\n</li>\n<li><p>All employee data must be unique (no duplicates within the request or with existing employees)</p>\n</li>\n<li><p><strong>personalId</strong> is required for each employee</p>\n</li>\n<li><p>Invalid <strong>email</strong>, <strong>phone</strong>, <strong>IBAN</strong>, or <strong>bankAccountNumber</strong> values will be automatically nullified</p>\n</li>\n</ul>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon successful processing, the response will have the following structure:</p>\n<ul>\n<li><p><strong>id</strong> <code>[number]</code> <strong>:</strong> Employee ID in Payflow</p>\n</li>\n<li><p><strong>personalId</strong> <code>[string]</code> <strong>:</strong> Employee's personal ID</p>\n</li>\n<li><p><strong>payrollId</strong> <code>[string]</code> <strong>:</strong> Employee ID in your payroll software</p>\n</li>\n<li><p><strong>action</strong> <code>[string]</code> <strong>:</strong> Action performed (\"created\" or \"updated\")</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employees"],"host":["https://api-public.payflow.es"],"query":[],"variable":[]}},"response":[{"id":"d00e7b91-e242-45ab-83d3-784ee8973cc6","name":"Success","originalRequest":{"method":"POST","header":[{"key":"api-version","value":"1.1","description":"API version. Use 1.1 for better performance.","type":"text"}],"body":{"mode":"raw","raw":"[\n    {\n        \"payrollId\": \"Emp04\",\n        \"firstName\": \"Julia\",\n        \"lastName\": \"Doe\",\n        \"documentType\": \"DNI\",\n        \"personalId\": \"12345678X\",\n        \"bankAccountType\": \"savings\",\n        \"iban\": \"ES2000000000000000000000\",\n        \"grossSalary\": 1700,\n        \"paymentFrequency\": \"monthly\",\n        \"startDate\": \"2025-06-01\",\n        \"email\": \"julia.doe@payflow.es\",\n        \"phone\": \"+34 620 00 00 00\",\n        \"status\": \"active\",\n        \"subsidiary\": \"1\"\n    },\n    {\n        \"payrollId\": \"Emp03\",\n        \"firstName\": \"Joe\",\n        \"lastName\": \"Doe\",\n        \"documentType\": \"DNI\",\n        \"personalId\": \"12345678K\",\n        \"bankAccountType\": \"savings\",\n        \"iban\": \"ES1000000000000000000000\",\n        \"grossSalary\": 1500,\n        \"paymentFrequency\": \"monthly\",\n        \"restrictedAmount\": 0,\n        \"startDate\": \"2025-06-01\",\n        \"email\": \"joe.doe@payflow.es\",\n        \"phone\": \"+34 610 00 00 00\",\n        \"status\": \"active\",\n        \"subsidiary\": \"1\"\n    },\n    {\n        \"payrollId\": \"Emp02\",\n        \"firstName\": \"Jane\",\n        \"lastName\": \"Doe\",\n        \"documentType\": \"DNI\",\n        \"personalId\": \"12345678Z\",\n        \"bankAccountType\": \"savings\",\n        \"iban\": \"ES0000000000000000000000\",\n        \"bic_swift\": \"swift code\",\n        \"bankEntity\": \"bank name\",\n        \"grossSalary\": 1500,\n        \"paymentFrequency\": \"monthly\",\n        \"restrictedAmount\": 0,\n        \"startDate\": \"2025-06-01\",\n        \"contractEnd\": \"2028-06-01\",\n        \"email\": \"jane.doe@payflow.es\",\n        \"address\": \"Employee address\",\n        \"phone\": \"+34 600 00 00 00\",\n        \"status\": \"active\",\n        \"subsidiary\": \"1\",\n        \"subsidiaryCode\": \"01\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/employees"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"created\": [\n        {\n            \"personalId\": \"12345678X\",\n            \"id\": 1\n        }\n    ],\n    \"updated\": [\n        {\n            \"personalId\": \"12345678K\",\n            \"id\": 2\n        }\n    ],\n    \"error\": [\n        {\n            \"personalId\": \"12345678Z\",\n            \"message\": \"Employee is on the blacklist\"\n        }\n    ]\n}"}],"_postman_id":"26131762-3081-4285-859a-d2c5157acddc"},{"name":"Employees by File","id":"dc5c1c89-dc98-4138-9c6d-f063ab3032dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","type":"text"}],"body":{"mode":"file","file":{"src":""}},"url":"https://api-public.payflow.es/employees/file/:type","description":"<p>Import a File from a payroll software into Payflow.</p>\n<p>Employees in the file are processed the same way as in <code>POST /employees</code>: existing records are updated, new ones are created, and all standard validation rules apply.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon a successful request, the response will have the following structure:</p>\n<ul>\n<li><p><strong>rowsProcessed</strong> <code>[number]</code> <strong>:</strong> Total number of employees successfully created or updated</p>\n</li>\n<li><p><strong>warningRows</strong> <code>[array]</code> <strong>:</strong> Rows that were processed but had non-critical issues</p>\n</li>\n<li><p><strong>rowNumber</strong> <code>[number]</code> <strong>:</strong> Row number in the original file</p>\n</li>\n<li><p><strong>message</strong> <code>[string]</code> <strong>:</strong> Warning description</p>\n</li>\n<li><p><strong>data</strong> <code>[object]</code> <strong>:</strong> Original row data that caused the warning</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employees","file",":type"],"host":["https://api-public.payflow.es"],"query":[],"variable":[{"id":"cf0e6059-6ffd-4f2a-b4aa-2556a731c37f","description":{"content":"<p>Payroll file format type</p>\n","type":"text/plain"},"type":"any","value":"","key":"type"}]}},"response":[{"id":"751d9ccd-378b-4322-978e-166a14f9affb","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","type":"text"}],"body":{"mode":"file","file":{"src":"/Users/haroldbravo/Downloads/payflow.csv"}},"url":{"raw":"https://api-public.payflow.es/employees/file/:type","protocol":"https","host":["api-public","payflow","es"],"path":["employees","file",":type"],"variable":[{"key":"type","value":"payflow","description":"Payroll file format type"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"rowsProcessed\": 2,\n    \"warningRows\": [],\n    \"invalidRows\": []\n}"},{"id":"e7abf4a8-7975-47f4-81c3-f652a803a550","name":"File with invalid rows","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","type":"text"}],"body":{"mode":"file","file":{"src":"/Users/haroldbravo/Downloads/payflow.csv"}},"url":{"raw":"https://api-public.payflow.es/employees/file/:type","protocol":"https","host":["api-public","payflow","es"],"path":["employees","file",":type"],"variable":[{"key":"type","value":"payflow","description":"Payroll file format type"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"rowsProcessed\": 0,\n    \"warningRows\": [],\n    \"invalidRows\": [\n        {\n            \"error\": {\n                \"_original\": {\n                    \"payrollId\": \"12345678B\",\n                    \"firstName\": \"Josh\",\n                    \"lastName\": \"Doe\",\n                    \"netSalary\": 950,\n                    \"paymentFrequency\": \"monthly\",\n                    \"status\": \"active\",\n                    \"personalId\": \"12345678B\",\n                    \"iban\": \"ES0000000000000000000000\",\n                    \"startDate\": \"2025-05-02\",\n                    \"rowNumber\": 1\n                },\n                \"details\": [\n                    {\n                        \"message\": \"Employee with personalId 12345678B already exists in another company\",\n                        \"path\": [\n                            \"personalId\"\n                        ],\n                        \"type\": \"identifier.already.in.use\",\n                        \"context\": {}\n                    }\n                ]\n            },\n            \"rowNumber\": 1\n        }\n    ]\n}"}],"_postman_id":"dc5c1c89-dc98-4138-9c6d-f063ab3032dd"},{"name":"Employee by Personal ID","id":"2fce75dc-f869-4d6f-bdfa-c73fd7bc807b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"payrollId\": \"E02\",\n    \"firstName\": \"Jane\",\n    \"lastName\": \"Doe\",\n    \"iban\": \"ES0000000000000000001111\",\n    \"grossSalary\": 1450,\n    \"contractEnd\": \"2030-06-01\",\n    \"status\": \"on_leave\",\n    \"leaveEnd\": \"2025-06-15\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/employee/:personalId","description":"<p>Updates the information of a specific employee by Personal ID (DNI/NIE). You can update any combination of the fields below - only the fields you include in the request will be modified.</p>\n<p>If you want to update the <strong>grossSalary</strong> or <strong>netSalary</strong>, remember that if <strong>netSalary</strong> is provided, <strong>grossSalary</strong> will be ignored. It is important that if <strong>grossSalary</strong> is provided, <strong>netSalary</strong> should not be sent (do not send it as 0€).</p>\n<p>For updating multiple employees at once, use <code>POST /employees</code></p>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<ul>\n<li><p><strong>firstName</strong> <code>[string, null]</code>: Employee complete first name (maximum 100 characters)</p>\n</li>\n<li><p><strong>lastName</strong> <code>[string, null]</code>: Employee complete last name (maximum 100 characters)</p>\n</li>\n<li><p><strong>payrollId</strong> <code>[string, null]</code>: Employee ID in your payroll software (maximum 100 characters)</p>\n</li>\n<li><p><strong>personalId</strong> <code>[string, null]</code>: Identification document number (maximum 100 characters)</p>\n</li>\n<li><p><strong>documentType</strong> <code>[string, null]</code>: Type of identification document. Possible values: <code>DNI</code>, <code>NIE</code>, <code>CODICE_FISCALE</code>, <code>C_CIUDADANIA</code>, <code>C_EXTRANJERIA</code>, <code>PASSPORT</code>, <code>PEP</code></p>\n</li>\n<li><p><strong>email</strong> <code>[string, null]</code>: Valid employee email address (maximum 100 characters). Invalid emails will be nullified</p>\n</li>\n<li><p><strong>phone</strong> <code>[string, null]</code>: Valid employee phone number (5-25 characters). Invalid phones will be nullified</p>\n</li>\n<li><p><strong>address</strong> <code>[string, null]</code>: Employee home address (maximum 256 characters)</p>\n</li>\n<li><p><strong>iban</strong> <code>[string, null]</code>: Valid employee IBAN for salary payments (will be validated and automatically normalized). Invalid IBANs will be nullified</p>\n</li>\n<li><p><strong>bankAccountNumber</strong> <code>[string, null]</code>: Employee bank account number (5-50 characters). Invalid values will be nullified</p>\n</li>\n<li><p><strong>bic_swift</strong> <code>[string, null]</code>: Bank BIC/SWIFT code (maximum 100 characters)</p>\n</li>\n<li><p><strong>bankEntity</strong> <code>[string, null]</code>: Bank name (maximum 100 characters)</p>\n</li>\n<li><p><strong>bankAccountType</strong> <code>[string, null]</code>: Employee bank account type. Possible values: <code>checking</code>, <code>savings</code>, <code>maestra</code></p>\n</li>\n<li><p><strong>netSalary</strong> <code>[number, null]</code>: Employee net salary (must be positive number, 0 allowed). If <strong>grossSalary</strong> is provided, <strong>do not send</strong> netSalary as 0€</p>\n</li>\n<li><p><strong>grossSalary</strong> <code>[number, null]</code>: Employee salary before taxes (must be positive number, 0 allowed). If grossSalary is lower than €1400, the employee will not be able to use the card and it will be frozen</p>\n</li>\n<li><p><strong>restrictedAmount</strong> <code>[number, null]</code>: Restricted amount (must be positive number)</p>\n</li>\n<li><p><strong>availableAmount</strong> <code>[number, null]</code>: Available amount for withdrawal (must be positive number)</p>\n</li>\n<li><p><strong>paymentFrequency</strong> <code>[string]</code>: Employee salary time unit (defaults to 'monthly'). Possible values: <code>yearly</code>, <code>monthly</code>, <code>twiceAMonth</code></p>\n</li>\n<li><p><strong>startDate</strong> <code>[string, null]</code>: Employee contract start date in YYYY-MM-DD format</p>\n</li>\n<li><p><strong>contractEnd</strong> <code>[string, null]</code>: Contract end date in YYYY-MM-DD format (can be empty string)</p>\n</li>\n<li><p><strong>leaveEnd</strong> <code>[string, null]</code>: Leave end date in YYYY-MM-DD format (can be empty string)</p>\n</li>\n<li><p><strong>status</strong> <code>[string, null]</code>: Employee status. Possible values: <code>active</code>, <code>inactive</code>, <code>on_leave</code>, <code>deleted</code></p>\n</li>\n<li><p><strong>flexflowEnabled</strong> <code>[boolean, null]</code>: Whether flexflow is enabled for employee</p>\n</li>\n<li><p><strong>subsidiary</strong> <code>[number|string, null]</code>: Subsidiary ID (positive number) or code</p>\n</li>\n<li><p><strong>subsidiaryCode</strong> <code>[string|number, null]</code>: Subsidiary internal code (maximum 30 characters or positive number)</p>\n</li>\n</ul>\n<p><strong>Important Notes:</strong></p>\n<ul>\n<li><p>All fields are optional - you only need to include the fields you want to update</p>\n</li>\n<li><p>Invalid email, phone, IBAN, or bankAccountNumber values will be automatically nullified instead of causing validation errors</p>\n</li>\n<li><p>If you specify a subsidiary that doesn't exist, returns 400 error with message about subsidiary not being associated</p>\n</li>\n</ul>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon a successful request, returns an empty response body.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employee",":personalId"],"host":["https://api-public.payflow.es"],"query":[],"variable":[{"id":"58bbcdd4-13ff-4b40-96c1-76d7e0ebcc8c","description":{"content":"<p>Employee document number</p>\n","type":"text/plain"},"type":"any","value":"","key":"personalId"}]}},"response":[{"id":"6b76199c-da0c-4cd2-9f47-5e6b3a4d8599","name":"Success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"payrollId\": \"E02\",\n    \"firstName\": \"Jane\",\n    \"lastName\": \"Doe\",\n    \"iban\": \"ES0000000000000000001111\",\n    \"grossSalary\": 1450,\n    \"contractEnd\": \"2030-06-01\",\n    \"status\": \"on_leave\",\n    \"leaveEnd\": \"2025-06-15\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api-public.payflow.es/employee/:personalId","host":["https://api-public.payflow.es"],"path":["employee",":personalId"],"variable":[{"key":"personalId","value":"12345678Z","description":"Employee document number"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"aeb18abc-2e8f-4d54-ab95-9b8658dcc6c6","name":"Employee not found","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"payrollId\": \"E02\",\n    \"firstName\": \"Jane\",\n    \"lastName\": \"Doe\",\n    \"iban\": \"ES0000000000000000001111\",\n    \"grossSalary\": 1450,\n    \"contractEnd\": \"2030-06-01\",\n    \"status\": \"on_leave\",\n    \"leaveEnd\": \"2025-06-15\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api-public.payflow.es/employee/:personalId","protocol":"https","host":["api-public","payflow","es"],"path":["employee",":personalId"],"variable":[{"key":"personalId","value":"12345678Y","description":"Employee document number"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"2fce75dc-f869-4d6f-bdfa-c73fd7bc807b"},{"name":"Employee by Payflow ID","id":"21b68501-0dc1-41d0-9a88-7c1ca6fbfa71","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"payrollId\": \"E02\",\n    \"firstName\": \"Jane\",\n    \"lastName\": \"Doe\",\n    \"iban\": \"ES0000000000000000001111\",\n    \"grossSalary\": 1450,\n    \"contractEnd\": \"2030-06-01\",\n    \"status\": \"on_leave\",\n    \"leaveEnd\": \"2025-06-15\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/employee/id/:payflowId","description":"<p>Updates the information of a specific employee by internal Payflow ID. You can update any combination of the fields below - only the fields you include in the request will be modified.</p>\n<p>If you want to update the <strong>grossSalary</strong> or <strong>netSalary</strong>, remember that if <strong>netSalary</strong> is provided, <strong>grossSalary</strong> will be ignored. It is important that if <strong>grossSalary</strong> is provided, <strong>netSalary</strong> should not be sent (do not send it as 0€).</p>\n<p>For updating multiple employees at once, use <code>POST /employees</code></p>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<ul>\n<li><p><strong>firstName</strong> <code>[string, null]</code>: Employee complete first name (maximum 100 characters)</p>\n</li>\n<li><p><strong>lastName</strong> <code>[string, null]</code>: Employee complete last name (maximum 100 characters)</p>\n</li>\n<li><p><strong>payrollId</strong> <code>[string, null]</code>: Employee ID in your payroll software (maximum 100 characters)</p>\n</li>\n<li><p><strong>personalId</strong> <code>[string, null]</code>: Identification document number (maximum 100 characters)</p>\n</li>\n<li><p><strong>documentType</strong> <code>[string, null]</code>: Type of identification document. Possible values: <code>DNI</code>, <code>NIE</code>, <code>CODICE_FISCALE</code>, <code>C_CIUDADANIA</code>, <code>C_EXTRANJERIA</code>, <code>PASSPORT</code>, <code>PEP</code></p>\n</li>\n<li><p><strong>email</strong> <code>[string, null]</code>: Valid employee email address (maximum 100 characters). Invalid emails will be nullified</p>\n</li>\n<li><p><strong>phone</strong> <code>[string, null]</code>: Valid employee phone number (5-25 characters). Invalid phones will be nullified</p>\n</li>\n<li><p><strong>address</strong> <code>[string, null]</code>: Employee home address (maximum 256 characters)</p>\n</li>\n<li><p><strong>iban</strong> <code>[string, null]</code>: Valid employee IBAN for salary payments (will be validated and automatically normalized). Invalid IBANs will be nullified</p>\n</li>\n<li><p><strong>bankAccountNumber</strong> <code>[string, null]</code>: Employee bank account number (5-50 characters). Invalid values will be nullified</p>\n</li>\n<li><p><strong>bic_swift</strong> <code>[string, null]</code>: Bank BIC/SWIFT code (maximum 100 characters)</p>\n</li>\n<li><p><strong>bankEntity</strong> <code>[string, null]</code>: Bank name (maximum 100 characters)</p>\n</li>\n<li><p><strong>bankAccountType</strong> <code>[string, null]</code>: Employee bank account type. Possible values: <code>checking</code>, <code>savings</code>, <code>maestra</code></p>\n</li>\n<li><p><strong>netSalary</strong> <code>[number, null]</code>: Employee net salary (must be positive number, 0 allowed). If <strong>grossSalary</strong> is provided, <strong>do not send</strong> netSalary as 0€</p>\n</li>\n<li><p><strong>grossSalary</strong> <code>[number, null]</code>: Employee salary before taxes (must be positive number, 0 allowed). If grossSalary is lower than €1400, the employee will not be able to use the card and it will be frozen</p>\n</li>\n<li><p><strong>restrictedAmount</strong> <code>[number, null]</code>: Restricted amount (must be positive number)</p>\n</li>\n<li><p><strong>availableAmount</strong> <code>[number, null]</code>: Available amount for withdrawal (must be positive number)</p>\n</li>\n<li><p><strong>paymentFrequency</strong> <code>[string]</code>: Employee salary time unit (defaults to 'monthly'). Possible values: <code>yearly</code>, <code>monthly</code>, <code>twiceAMonth</code></p>\n</li>\n<li><p><strong>startDate</strong> <code>[string, null]</code>: Employee contract start date in YYYY-MM-DD format</p>\n</li>\n<li><p><strong>contractEnd</strong> <code>[string, null]</code>: Contract end date in YYYY-MM-DD format (can be empty string)</p>\n</li>\n<li><p><strong>leaveEnd</strong> <code>[string, null]</code>: Leave end date in YYYY-MM-DD format (can be empty string)</p>\n</li>\n<li><p><strong>status</strong> <code>[string, null]</code>: Employee status. Possible values: <code>active</code>, <code>inactive</code>, <code>on_leave</code>, <code>deleted</code></p>\n</li>\n<li><p><strong>flexflowEnabled</strong> <code>[boolean, null]</code>: Whether flexflow is enabled for employee</p>\n</li>\n<li><p><strong>subsidiary</strong> <code>[number|string, null]</code>: Subsidiary ID (positive number) or code</p>\n</li>\n<li><p><strong>subsidiaryCode</strong> <code>[string|number, null]</code>: Subsidiary internal code (maximum 30 characters or positive number)</p>\n</li>\n</ul>\n<p><strong>Important Notes:</strong></p>\n<ul>\n<li><p>All fields are optional - you only need to include the fields you want to update</p>\n</li>\n<li><p>Invalid email, phone, IBAN, or bankAccountNumber values will be automatically nullified instead of causing validation errors</p>\n</li>\n<li><p>If you specify a subsidiary that doesn't exist, returns 400 error with message about subsidiary not being associated</p>\n</li>\n</ul>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon a successful request, returns an empty response body.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employee","id",":payflowId"],"host":["https://api-public.payflow.es"],"query":[],"variable":[{"id":"329244b5-f22b-4a69-ac31-75d146a6a6fa","description":{"content":"<p>Employee ID in Payflow</p>\n","type":"text/plain"},"type":"any","value":"","key":"payflowId"}]}},"response":[{"id":"7d141fa2-002b-4374-97b7-c3d4e8b8cf7b","name":"Success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"payrollId\": \"E02\",\n    \"firstName\": \"Jane\",\n    \"lastName\": \"Doe\",\n    \"iban\": \"ES0000000000000000001111\",\n    \"grossSalary\": 1450,\n    \"contractEnd\": \"2030-06-01\",\n    \"status\": \"on_leave\",\n    \"leaveEnd\": \"2025-06-15\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api-public.payflow.es/employee/id/:payflowId","protocol":"https","host":["api-public","payflow","es"],"path":["employee","id",":payflowId"],"variable":[{"key":"payflowId","value":"2","description":"Employee ID in Payflow"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"c230b4d3-63c2-48ac-b43d-3daa7cb67d8f","name":"Employee not found","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"payrollId\": \"E02\",\n    \"firstName\": \"Jane\",\n    \"lastName\": \"Doe\",\n    \"iban\": \"ES0000000000000000001111\",\n    \"grossSalary\": 1450,\n    \"contractEnd\": \"2030-06-01\",\n    \"status\": \"on_leave\",\n    \"leaveEnd\": \"2025-06-15\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api-public.payflow.es/employee/id/:payflowId","protocol":"https","host":["api-public","payflow","es"],"path":["employee","id",":payflowId"],"variable":[{"key":"payflowId","value":"10","description":"Employee ID in Payflow"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"21b68501-0dc1-41d0-9a88-7c1ca6fbfa71"},{"name":"Employee by Payroll ID","id":"4e1af59f-6998-4fdc-bba0-f438d0b42c2f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"payrollId\": \"E02\",\n    \"firstName\": \"Jane\",\n    \"lastName\": \"Doe\",\n    \"iban\": \"ES0000000000000000001111\",\n    \"grossSalary\": 1450,\n    \"contractEnd\": \"2030-06-01\",\n    \"status\": \"on_leave\",\n    \"leaveEnd\": \"2025-06-15\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/employee/payroll/:payrollId","description":"<p>Updates the information of a specific employee by Payroll ID. You can update any combination of the fields below - only the fields you include in the request will be modified.</p>\n<p>If you want to update the <strong>grossSalary</strong> or <strong>netSalary</strong>, remember that if <strong>netSalary</strong> is provided, <strong>grossSalary</strong> will be ignored. It is important that if <strong>grossSalary</strong> is provided, <strong>netSalary</strong> should not be sent (do not send it as 0€).</p>\n<p>For updating multiple employees at once, use <code>POST /employees</code></p>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<ul>\n<li><p><strong>firstName</strong> <code>[string, null]</code>: Employee complete first name (maximum 100 characters)</p>\n</li>\n<li><p><strong>lastName</strong> <code>[string, null]</code>: Employee complete last name (maximum 100 characters)</p>\n</li>\n<li><p><strong>payrollId</strong> <code>[string, null]</code>: Employee ID in your payroll software (maximum 100 characters)</p>\n</li>\n<li><p><strong>personalId</strong> <code>[string, null]</code>: Identification document number (maximum 100 characters)</p>\n</li>\n<li><p><strong>documentType</strong> <code>[string, null]</code>: Type of identification document. Possible values: <code>DNI</code>, <code>NIE</code>, <code>CODICE_FISCALE</code>, <code>C_CIUDADANIA</code>, <code>C_EXTRANJERIA</code>, <code>PASSPORT</code>, <code>PEP</code></p>\n</li>\n<li><p><strong>email</strong> <code>[string, null]</code>: Valid employee email address (maximum 100 characters). Invalid emails will be nullified</p>\n</li>\n<li><p><strong>phone</strong> <code>[string, null]</code>: Valid employee phone number (5-25 characters). Invalid phones will be nullified</p>\n</li>\n<li><p><strong>address</strong> <code>[string, null]</code>: Employee home address (maximum 256 characters)</p>\n</li>\n<li><p><strong>iban</strong> <code>[string, null]</code>: Valid employee IBAN for salary payments (will be validated and automatically normalized). Invalid IBANs will be nullified</p>\n</li>\n<li><p><strong>bankAccountNumber</strong> <code>[string, null]</code>: Employee bank account number (5-50 characters). Invalid values will be nullified</p>\n</li>\n<li><p><strong>bic_swift</strong> <code>[string, null]</code>: Bank BIC/SWIFT code (maximum 100 characters)</p>\n</li>\n<li><p><strong>bankEntity</strong> <code>[string, null]</code>: Bank name (maximum 100 characters)</p>\n</li>\n<li><p><strong>bankAccountType</strong> <code>[string, null]</code>: Employee bank account type. Possible values: <code>checking</code>, <code>savings</code>, <code>maestra</code></p>\n</li>\n<li><p><strong>netSalary</strong> <code>[number, null]</code>: Employee net salary (must be positive number, 0 allowed). If <strong>grossSalary</strong> is provided, <strong>do not send</strong> netSalary as 0€</p>\n</li>\n<li><p><strong>grossSalary</strong> <code>[number, null]</code>: Employee salary before taxes (must be positive number, 0 allowed). If grossSalary is lower than €1400, the employee will not be able to use the card and it will be frozen</p>\n</li>\n<li><p><strong>restrictedAmount</strong> <code>[number, null]</code>: Restricted amount (must be positive number)</p>\n</li>\n<li><p><strong>availableAmount</strong> <code>[number, null]</code>: Available amount for withdrawal (must be positive number)</p>\n</li>\n<li><p><strong>paymentFrequency</strong> <code>[string]</code>: Employee salary time unit (defaults to 'monthly'). Possible values: <code>yearly</code>, <code>monthly</code>, <code>twiceAMonth</code></p>\n</li>\n<li><p><strong>startDate</strong> <code>[string, null]</code>: Employee contract start date in YYYY-MM-DD format</p>\n</li>\n<li><p><strong>contractEnd</strong> <code>[string, null]</code>: Contract end date in YYYY-MM-DD format (can be empty string)</p>\n</li>\n<li><p><strong>leaveEnd</strong> <code>[string, null]</code>: Leave end date in YYYY-MM-DD format (can be empty string)</p>\n</li>\n<li><p><strong>status</strong> <code>[string, null]</code>: Employee status. Possible values: <code>active</code>, <code>inactive</code>, <code>on_leave</code>, <code>deleted</code></p>\n</li>\n<li><p><strong>flexflowEnabled</strong> <code>[boolean, null]</code>: Whether flexflow is enabled for employee</p>\n</li>\n<li><p><strong>subsidiary</strong> <code>[number|string, null]</code>: Subsidiary ID (positive number) or code</p>\n</li>\n<li><p><strong>subsidiaryCode</strong> <code>[string|number, null]</code>: Subsidiary internal code (maximum 30 characters or positive number)</p>\n</li>\n</ul>\n<p><strong>Important Notes:</strong></p>\n<ul>\n<li><p>All fields are optional - you only need to include the fields you want to update</p>\n</li>\n<li><p>Invalid email, phone, IBAN, or bankAccountNumber values will be automatically nullified instead of causing validation errors</p>\n</li>\n<li><p>If you specify a subsidiary that doesn't exist, returns 400 error with message about subsidiary not being associated</p>\n</li>\n</ul>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon a successful request, returns an empty response body.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employee","payroll",":payrollId"],"host":["https://api-public.payflow.es"],"query":[],"variable":[{"id":"5203d00e-5542-484e-bfec-dcf7aa871892","description":{"content":"<p>Employee ID in your payroll software</p>\n","type":"text/plain"},"type":"any","value":"","key":"payrollId"}]}},"response":[{"id":"2edd1d9a-796d-4bce-af64-04defa21f358","name":"Success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"payrollId\": \"E02\",\n    \"firstName\": \"Jane\",\n    \"lastName\": \"Doe\",\n    \"iban\": \"ES0000000000000000001111\",\n    \"grossSalary\": 1450,\n    \"contractEnd\": \"2030-06-01\",\n    \"status\": \"on_leave\",\n    \"leaveEnd\": \"2025-06-15\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api-public.payflow.es/employee/payroll/:payrollId","protocol":"https","host":["api-public","payflow","es"],"path":["employee","payroll",":payrollId"],"variable":[{"key":"payrollId","value":"2","description":"Employee ID in your payroll software"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"3c471c30-9051-4635-bdea-e266d845b188","name":"Employee not found","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"payrollId\": \"E02\",\n    \"firstName\": \"Jane\",\n    \"lastName\": \"Doe\",\n    \"iban\": \"ES0000000000000000001111\",\n    \"grossSalary\": 1450,\n    \"contractEnd\": \"2030-06-01\",\n    \"status\": \"on_leave\",\n    \"leaveEnd\": \"2025-06-15\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api-public.payflow.es/employee/payroll/:payrollId","protocol":"https","host":["api-public","payflow","es"],"path":["employee","payroll",":payrollId"],"variable":[{"key":"payrollId","value":"10","description":"Employee ID in your payroll software"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"4e1af59f-6998-4fdc-bba0-f438d0b42c2f"},{"name":"Employee by Personal ID","id":"4c44a556-b323-4ba7-9671-7caaaf43e553","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api-public.payflow.es/employee/:personalId","description":"<p>Soft delete from our system, aimed to remove employees that have been loaded into the system by mistake.</p>\n<p><strong>If the employee is no longer working at the company, please refer to status inactive and use the PUT method</strong> <a href=\"https://docs.payflow.es/#3a30e70e-995f-4363-a524-72ef2f3d71e0\"><b>here</b></a></p>\n<p><strong>If the employee is on temporary leave, please refer to the endpoint</strong> <a href=\"https://docs.payflow.es/#b901e603-d111-4395-ad5c-e51a3319f3db\"><b>here</b></a></p>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<p>No request body required.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon successful deletion, returns an empty response body.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employee",":personalId"],"host":["https://api-public.payflow.es"],"query":[],"variable":[{"id":"b53abf09-df21-47d5-bcd1-2868b289eaaa","description":{"content":"<p>Employee document number</p>\n","type":"text/plain"},"type":"any","value":"","key":"personalId"}]}},"response":[{"id":"9e553f48-8e9c-4888-b8f0-07e7f52ae887","name":"Success","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api-public.payflow.es/employee/:personalId","protocol":"https","host":["api-public","payflow","es"],"path":["employee",":personalId"],"variable":[{"key":"personalId","value":"12345678A","description":"Employee document number"}]}},"status":"No Content","code":204,"_postman_previewlanguage":"text","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":""},{"id":"693f2f27-8940-4312-9362-e6e328e4e492","name":"Not found","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api-public.payflow.es/employee/:personalId","protocol":"https","host":["api-public","payflow","es"],"path":["employee",":personalId"],"variable":[{"key":"personalId","value":"12345678Y","description":"Employee document number"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"4c44a556-b323-4ba7-9671-7caaaf43e553"},{"name":"Employee by Payflow ID","id":"95454cf7-0bcb-4f21-a198-7fd2e4903e31","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api-public.payflow.es/employee/id/:payflowId","description":"<p>Soft delete from our system, aimed to remove employees that have been loaded into the system by mistake.</p>\n<p><strong>If the employee is no longer working at the company, please refer to status inactive and use the PUT method</strong> <a href=\"https://docs.payflow.es/#3a30e70e-995f-4363-a524-72ef2f3d71e0\"><b>here</b></a></p>\n<p><strong>If the employee is on temporary leave, please refer to the endpoint</strong> <a href=\"https://docs.payflow.es/#b901e603-d111-4395-ad5c-e51a3319f3db\"><b>here</b></a></p>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<p>No request body required.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon successful deletion, returns an empty response body.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employee","id",":payflowId"],"host":["https://api-public.payflow.es"],"query":[],"variable":[{"id":"7ec1a12d-007f-44b0-8172-c32904b333c1","description":{"content":"<p>Employee ID in Payflow</p>\n","type":"text/plain"},"type":"any","value":"","key":"payflowId"}]}},"response":[{"id":"33168e21-a05d-43ab-9a1b-6c6d2a6e95a2","name":"Success","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api-public.payflow.es/employee/id/:payflowId","protocol":"https","host":["api-public","payflow","es"],"path":["employee","id",":payflowId"],"variable":[{"key":"payflowId","value":"1","description":"Employee ID in Payflow"}]}},"status":"No Content","code":204,"_postman_previewlanguage":"text","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":""},{"id":"51940069-a645-40aa-aea4-0dcf209e4d59","name":"Not found","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api-public.payflow.es/employee/id/:payflowId","protocol":"https","host":["api-public","payflow","es"],"path":["employee","id",":payflowId"],"variable":[{"key":"payflowId","value":"10","description":"Employee ID in Payflow"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"95454cf7-0bcb-4f21-a198-7fd2e4903e31"},{"name":"Employee by Payroll ID","id":"fabf4831-75c4-43b8-b105-f5b9fbce1b68","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api-public.payflow.es/employee/payroll/:payrollId","description":"<p>Soft delete from our system, aimed to remove employees that have been loaded into the system by mistake.</p>\n<p><strong>If the employee is no longer working at the company, please refer to status inactive and use the PUT method</strong> <a href=\"https://docs.payflow.es/#3a30e70e-995f-4363-a524-72ef2f3d71e0\"><b>here</b></a></p>\n<p><strong>If the employee is on temporary leave, please refer to the endpoint</strong> <a href=\"https://docs.payflow.es/#b901e603-d111-4395-ad5c-e51a3319f3db\"><b>here</b></a></p>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<p>No request body required.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon successful deletion, returns an empty response body.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employee","payroll",":payrollId"],"host":["https://api-public.payflow.es"],"query":[],"variable":[{"id":"54e8396a-961e-47aa-8f60-4a4493dfbed1","description":{"content":"<p>Employee ID in your payroll software</p>\n","type":"text/plain"},"type":"any","value":"","key":"payrollId"}]}},"response":[{"id":"a845d5e6-66a2-48a5-b8f2-0a87e677d449","name":"Success","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api-public.payflow.es/employee/payroll/:payrollId","protocol":"https","host":["api-public","payflow","es"],"path":["employee","payroll",":payrollId"],"variable":[{"key":"payrollId","value":"Emp01","description":"Employee ID in your payroll software"}]}},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":""},{"id":"73b9ce65-2443-4981-811e-a187444b7226","name":"Not found","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api-public.payflow.es/employee/payroll/:payrollId","protocol":"https","host":["api-public","payflow","es"],"path":["employee","payroll",":payrollId"],"variable":[{"key":"payrollId","value":"Emp10","description":"Employee ID in your payroll software"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fabf4831-75c4-43b8-b105-f5b9fbce1b68"}],"id":"74ee3e97-58d1-4d73-93be-56f985307b2e","description":"<p>Provides complete CRUD operations for employee management.</p>\n<p>An <strong>employee</strong> is the end user of the Payflow platform. Each employee must have a unique personal identifier (e.g., a document number) and basic income-related information.</p>\n<h3 id=\"statuses\"><strong>Statuses</strong></h3>\n<p>Employees can be in one of the following statuses, reflecting their current relationship with the company and their access to Payflow:</p>\n<ul>\n<li><p><strong><code>active</code></strong>: The employee is currently working at the company, has valid data, and is allowed to use Payflow.<br />  <em><strong>Note:</strong></em> <em>This does not necessarily mean they have registered or logged into the platform.</em></p>\n</li>\n<li><p><strong><code>inactive</code></strong>: The employee is no longer working at the company and is not allowed to use Payflow.</p>\n</li>\n<li><p><strong><code>on_leave</code></strong>: The employee is temporarily on leave. They still belong to the company but cannot use Payflow until they return.</p>\n</li>\n<li><p><strong><code>incomplete</code></strong>: The employee’s record is missing key information (e.g., salary, email, or phone) and cannot be processed until completed.</p>\n</li>\n<li><p><strong><code>deleted</code></strong>: The employee was created by mistake and has been removed from the system.<br />  <em>For employees who have left the company, use the</em> <code>inactive</code> <em>status instead.</em></p>\n</li>\n</ul>\n","_postman_id":"74ee3e97-58d1-4d73-93be-56f985307b2e","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}}},{"name":"Leaves","item":[{"name":"Employees on Leave","id":"14f65c4b-7200-4918-96de-17694e568e69","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/employees/leaves","description":"<p>Retrieves all employees currently in the <code>on_leave</code> status.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon a successful request, the response will have the following structure:</p>\n<ul>\n<li><p><strong>id</strong> <code>[number]</code>: Employee's internal ID</p>\n</li>\n<li><p><strong>personalId</strong> <code>[string]</code>: Employee's identification document number</p>\n</li>\n<li><p><strong>payrollId</strong> <code>[string]</code>: Employee's payroll ID</p>\n</li>\n<li><p><strong>iban</strong> <code>[string]</code>: International Bank Account Number</p>\n</li>\n<li><p><strong>bankAccountNumber</strong> <code>[string, null]</code>: Bank account number</p>\n</li>\n<li><p><strong>documentType</strong> <code>[string, null]</code>: Type of identification document</p>\n</li>\n<li><p><strong>bankAccountType</strong> <code>[string, null]</code>: Type of bank account</p>\n</li>\n<li><p><strong>bic_swift</strong> <code>[string, null]</code>: Bank name (derived from BIC/SWIFT code)</p>\n</li>\n<li><p><strong>bankEntity</strong> <code>[string, null]</code>: Bank entity name (derived from BIC/SWIFT code)</p>\n</li>\n<li><p><strong>firstName</strong> <code>[string]</code>: Employee's first name</p>\n</li>\n<li><p><strong>lastName</strong> <code>[string]</code>: Employee's last name</p>\n</li>\n<li><p><strong>paymentFrequency</strong> <code>[string]</code>: Payment frequency (e.g., \"monthly\")</p>\n</li>\n<li><p><strong>netSalary</strong> <code>[number]</code>: Employee's net salary</p>\n</li>\n<li><p><strong>grossSalary</strong> <code>[number]</code>: Employee's gross salary</p>\n</li>\n<li><p><strong>availableAmount</strong> <code>[number, null]</code>: Currently available amount for withdrawal</p>\n</li>\n<li><p><strong>restrictedAmount</strong> <code>[number, null]</code>: Restricted amount</p>\n</li>\n<li><p><strong>startDate</strong> <code>[string]</code>: Employee's start date (YYYY-MM-DD)</p>\n</li>\n<li><p><strong>contractEnd</strong> <code>[string, null]</code>: Contract end date (YYYY-MM-DD)</p>\n</li>\n<li><p><strong>email</strong> <code>[string, null]</code>: Employee's email address</p>\n</li>\n<li><p><strong>address</strong> <code>[string, null]</code>: Employee's address</p>\n</li>\n<li><p><strong>phone</strong> <code>[string, null]</code>: Employee's phone number</p>\n</li>\n<li><p><strong>status</strong> <code>[string]</code>: Employee status</p>\n</li>\n<li><p><strong>subsidiary</strong> <code>[number, null]</code>: Subsidiary ID</p>\n</li>\n<li><p><strong>subsidiaryTaxId</strong> <code>[string, null]</code>: Subsidiary tax identification</p>\n</li>\n<li><p><strong>subsidiaryCode</strong> <code>[string, null]</code>: Subsidiary code</p>\n</li>\n<li><p><strong>active</strong> <code>[boolean]</code>: Whether employee is active</p>\n</li>\n<li><p><strong>counter</strong> <code>[number]</code>: Internal counter</p>\n</li>\n<li><p><strong>agreedTyC</strong> <code>[boolean]</code>: Whether employee agreed to Terms &amp; Conditions</p>\n</li>\n<li><p><strong>lastLearnflowUse</strong> <code>[Date, null]</code>: Last time employee used Learnflow</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employees","leaves"],"host":["https://api-public.payflow.es"],"query":[],"variable":[]}},"response":[{"id":"7f6cef7f-d45f-4d4c-b6aa-43c9e89d1d72","name":"Success","originalRequest":{"method":"GET","header":[],"url":"https://api-public.payflow.es/employees/leaves"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": 1,\n            \"payrollId\": \"Emp01\",\n            \"firstName\": \"John\",\n            \"lastName\": \"Doe\",\n            \"documentType\": null,\n            \"personalId\": \"12345678A\",\n            \"bankAccountNumber\": null,\n            \"bankAccountType\": null,\n            \"iban\": \"ES0000000000000000000000\",\n            \"bic_swift\": null,\n            \"bankEntity\": null,\n            \"grossSalary\": null,\n            \"netSalary\": 1500,\n            \"paymentFrequency\": \"monthly\",\n            \"availableAmount\": 0,\n            \"restrictedAmount\": 0,\n            \"startDate\": \"2020-06-30\",\n            \"contractEnd\": null,\n            \"email\": \"john.doe@payflow.es\",\n            \"address\": \"Employee Adress\",\n            \"phone\": null,\n            \"status\": \"on_leave\",\n            \"subsidiary\": 1,\n            \"subsidiaryTaxId\": \"A00000000\",\n            \"subsidiaryCode\": \"01\",\n            \"active\": false,\n            \"counter\": 0,\n            \"agreedTyC\": true,\n            \"lastLearnflowUse\": null\n        }\n    ]\n}"}],"_postman_id":"14f65c4b-7200-4918-96de-17694e568e69"},{"name":"Employee Leave","id":"a6b7a873-1783-4067-98dd-f5b22f12512b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"id\": 1,\n    \"payrollId\": \"Emp01\",\n    \"personalId\": \"12345678A\",\n    \"endDate\": \"2025-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/employee/leave","description":"<p>Creates a temporary leave for a specific employee, starting immediately and lasting until the provided <code>endDate</code>.</p>\n<p>You must include <strong>one</strong> of the following identifiers in the <strong>request body</strong>: <code>personalId</code>, <code>payrollId</code>, or <code>id</code>(Payflow ID).</p>\n<p><strong>Only one identifier should be provided</strong> to avoid ambiguity.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<ul>\n<li><p><strong>endDate</strong> <code>[string]</code> <strong>[required]:</strong> End date of the leave (ISO format: YYYY-MM-DD)</p>\n</li>\n<li><p><strong>id</strong> <code>[number]</code> <strong>[optional]:</strong> Employee's Payflow internal ID</p>\n</li>\n<li><p><strong>payrollId</strong> <code>[string]</code> <strong>[optional]:</strong> Employee's ID in your payroll software</p>\n</li>\n<li><p><strong>personalId</strong> <code>[string]</code> <strong>[optional]:</strong> Employee's identification document number</p>\n</li>\n</ul>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon successful creation, returns an empty response body.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employee","leave"],"host":["https://api-public.payflow.es"],"query":[],"variable":[]}},"response":[{"id":"f6e10886-ce83-4179-ba9e-ee987bb8cf69","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"personalId\": \"12345678A\",\n    \"endDate\": \"2025-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/employee/leave"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{}"},{"id":"286b181f-5061-4cf3-9cb8-93ca7314b128","name":"Employee Not Found","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"id\": 10,\n    \"endDate\": \"2025-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/employee/leave"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{}"}],"_postman_id":"a6b7a873-1783-4067-98dd-f5b22f12512b"},{"name":"Employee Leave","id":"44949278-25aa-44b6-968b-17772a792785","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api-public.payflow.es/employee/:personalId/leave","description":"<p>Cancels the leave for the specified employee using their <code>personalId</code>.</p>\n<p>The employee will be reactivated immediately.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<p>No request body required.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon successful deletion, returns an empty response body.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["employee",":personalId","leave"],"host":["https://api-public.payflow.es"],"query":[],"variable":[{"id":"eb562949-1a80-4eee-b97f-7b6834bea654","description":{"content":"<p>Employee document number</p>\n","type":"text/plain"},"type":"any","value":"","key":"personalId"}]}},"response":[{"id":"8de93fe3-8bcf-4e5f-a1c0-30275b5905cc","name":"Success","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api-public.payflow.es/employee/:personalId/leave","protocol":"https","host":["api-public","payflow","es"],"path":["employee",":personalId","leave"],"variable":[{"key":"personalId","value":"12345678A","description":"Employee document number"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"9010ee03-7334-4b5e-9415-f5e257b57162","name":"Employee is not on leave","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api-public.payflow.es/employee/:personalId/leave","protocol":"https","host":["api-public","payflow","es"],"path":["employee",":personalId","leave"],"variable":[{"key":"personalId","value":"12345678B","description":"Employee document number"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"Employee was not on leave at the moment\"\n}"}],"_postman_id":"44949278-25aa-44b6-968b-17772a792785"}],"id":"49782228-debd-4381-ab42-39fdddef6223","description":"<p>Leave requests are used to manage employees that are temporarily away from work. While on leave, employees cannot access Payflow — <strong>they will not be able to make withdrawals</strong>.</p>\n<p>Leaves are a useful way to temporarily disable employee access without permanently inactivating their account.</p>\n<p>Note: Payflow <strong>does not support</strong> specifying full leave periods. You may only define a <strong>leave end date</strong>, which will automatically re-enable the employee once the leave ends.</p>\n","_postman_id":"49782228-debd-4381-ab42-39fdddef6223","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}}},{"name":"Payments","item":[{"name":"Company payments","id":"dc342b8c-7e97-4009-a0fc-592bc7c4b696","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/payments?start=&end=&cycle=&convoluted=&status","description":"<p>Retrieves all salary advance payments (withdrawals of earned salary) requested by employees during a specified period or cycle.</p>\n<p>By default, the endpoint will return <code>processing</code> and <code>processed</code> payments. For a specific status or statuses, leverage the <code>status</code> query param – for multiple values, the query should be send as <code>status=A&amp;status=B&amp;status=C</code></p>\n<p>If both <code>startDate</code>/<code>endDate</code> and <code>cycle</code> are provided, the <code>cycle</code> takes precedence.</p>\n<p>If the <code>convoluted</code> query parameter is set to <code>true</code>, the response format changes (see example).</p>\n<p>Convoluted payments group all payments per employee within the company and include:</p>\n<ul>\n<li><p>Total amount requested during the period</p>\n</li>\n<li><p>First payment made and its request timestamp</p>\n</li>\n<li><p>Last payment made and its request timestamp</p>\n</li>\n<li><p>All related payment IDs</p>\n</li>\n</ul>\n<p><strong>Note</strong>: The <code>informedToIntegration</code> field in the response can be ignored. As integrations are being migrated to microservices, this value is always <code>false</code> for newer systems.</p>\n<h3 id=\"response-body-standard-response\">Response Body (<strong>Standard Response)</strong></h3>\n<hr />\n<ul>\n<li><p><strong>id</strong> <code>[string]</code> <strong>:</strong> Payment identifier</p>\n</li>\n<li><p><strong>user</strong> <code>[string]</code> <strong>:</strong> Employee's personal ID</p>\n</li>\n<li><p><strong>userPayrollId</strong> <code>[string]</code> <strong>:</strong> Employee's payroll ID</p>\n</li>\n<li><p><strong>amount</strong> <code>[number]</code> <strong>:</strong> Payment amount</p>\n</li>\n<li><p><strong>fee</strong> <code>[number]</code> <strong>:</strong> Processing fee</p>\n</li>\n<li><p><strong>status</strong> <code>[string]</code> <strong>:</strong> Payment status (e.g., \"processed\")</p>\n</li>\n<li><p><strong>paid</strong> <code>[boolean]</code> <strong>:</strong> Whether payment has been processed</p>\n</li>\n<li><p><strong>requestedAt</strong> <code>[string]</code> <strong>:</strong> When payment was requested (ISO string)</p>\n</li>\n<li><p><strong>paidAt</strong> <code>[string]</code> <strong>:</strong> When payment was processed (ISO string)</p>\n</li>\n<li><p><strong>message</strong> <code>[string, null]</code> <strong>:</strong> Optional message</p>\n</li>\n<li><p><strong>informedToIntegration</strong> <code>[boolean]</code> <strong>:</strong> Whether payment was acknowledged via API</p>\n</li>\n</ul>\n<h3 id=\"response-body-convoluted-response\">Response Body (<strong>Convoluted Response)</strong></h3>\n<hr />\n<ul>\n<li><p><strong>data</strong> <code>[array]</code>: List of aggregated payment records per employee</p>\n<ul>\n<li><p><strong>id</strong> <code>[string]</code> <strong>:</strong> Payment identifier</p>\n</li>\n<li><p><strong>user</strong> <code>[string]</code> <strong>:</strong> Employee's personal ID</p>\n</li>\n<li><p><strong>userPayrollId</strong> <code>[string]</code> <strong>:</strong> Employee's payroll ID</p>\n</li>\n<li><p><strong>amount</strong> <code>[number]</code> <strong>:</strong> Total aggregated amount for all payments</p>\n</li>\n<li><p><strong>fee</strong> <code>[number]</code> <strong>:</strong> Total aggregated fees for all payments</p>\n</li>\n<li><p><strong>informedToIntegration</strong> <code>[boolean]</code> <strong>:</strong> Whether all payments were acknowledged via API</p>\n</li>\n<li><p><strong>paid</strong> <code>[boolean]</code> <strong>:</strong> Overall payment status</p>\n</li>\n<li><p><strong>firstTransactionRequestedAt</strong> <code>[string]</code> <strong>:</strong> Earliest request date among all payments</p>\n</li>\n<li><p><strong>lastTransactionRequestedAt</strong> <code>[string]</code> <strong>:</strong> Latest request date among all payments</p>\n</li>\n<li><p><strong>firstTransactionPaidAt</strong> <code>[string]</code> <strong>:</strong> Earliest payment date among all payments</p>\n</li>\n<li><p><strong>lastTransactionPaidAt</strong> <code>[string]</code> <strong>:</strong> Latest payment date among all payments</p>\n</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["payments"],"host":["https://api-public.payflow.es"],"query":[{"description":{"content":"<p>Start date for filtering payments (YYYY-MM-DD)</p>\n","type":"text/plain"},"key":"start","value":""},{"description":{"content":"<p>End date for filtering payments (YYYY-MM-DD)</p>\n","type":"text/plain"},"key":"end","value":""},{"description":{"content":"<p>Payment cycle to filter results by month (YYYY-MM)</p>\n","type":"text/plain"},"key":"cycle","value":""},{"description":{"content":"<p>If true, payments are returned in a convoluted format</p>\n","type":"text/plain"},"key":"convoluted","value":""},{"description":{"content":"<p>Payment status or statuses to include</p>\n","type":"text/plain"},"key":"status","value":null}],"variable":[]}},"response":[{"id":"1f4fdbfb-23fa-490d-998d-ef384fed1d91","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/payments?start=2025-06-01&end=2025-06-30","protocol":"https","host":["api-public","payflow","es"],"path":["payments"],"query":[{"key":"start","value":"2025-06-01","description":"Start date for filtering payments (YYYY-MM-DD)"},{"key":"end","value":"2025-06-30","description":"End date for filtering payments (YYYY-MM-DD)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": \"aAa0AaAaAa\",\n            \"user\": \"12345678A\",\n            \"userPayrollId\": \"Emp01\",\n            \"amount\": 50,\n            \"fee\": 0,\n            \"status\": \"processed\",\n            \"paid\": true,\n            \"requestedAt\": \"2025-06-01T09:00:00.000Z\",\n            \"paidAt\": \"2025-06-01T09:01:00.000Z\",\n            \"message\": null,\n            \"informedToIntegration\": false\n        },\n        {\n            \"id\": \"A01aaAaaAA\",\n            \"user\": \"12345678A\",\n            \"userPayrollId\": \"Emp01\",\n            \"amount\": 100,\n            \"fee\": 0,\n            \"status\": \"processed\",\n            \"paid\": true,\n            \"requestedAt\": \"2025-06-02T00:00:00.000Z\",\n            \"paidAt\": \"2025-06-02T00:01:00.000Z\",\n            \"message\": null,\n            \"informedToIntegration\": false\n        },\n        {\n            \"id\": \"aaA0aaaA0a\",\n            \"user\": \"12345678B\",\n            \"userPayrollId\": \"Emp02\",\n            \"amount\": 120,\n            \"fee\": 0,\n            \"status\": \"processed\",\n            \"paid\": true,\n            \"requestedAt\": \"2025-06-04T00:01:01.000Z\",\n            \"paidAt\": \"2025-06-04T00:02:00.000Z\",\n            \"message\": null,\n            \"informedToIntegration\": false\n        }\n    ]\n}"},{"id":"1fa1714e-352c-4740-91ad-631341d544bb","name":"Success (Convoluted)","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/payments?start=2025-06-01&end=2025-06-30&convoluted=true","protocol":"https","host":["api-public","payflow","es"],"path":["payments"],"query":[{"key":"start","value":"2025-06-01","description":"Start date for filtering payments (YYYY-MM-DD)"},{"key":"end","value":"2025-06-30","description":"End date for filtering payments (YYYY-MM-DD)"},{"key":"convoluted","value":"true","description":"If true, payments are returned in a convoluted format"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"ids\": [\n                \"aAa0AaAaAa\",\n                \"A01aaAaaAA\"\n            ],\n            \"user\": \"12345678A\",\n            \"userPayrollId\": \"Emp01\",\n            \"amount\": 150,\n            \"fee\": 0,\n            \"informedToIntegration\": false,\n            \"paid\": true,\n            \"firstTransactionRequestedAt\": \"2025-06-01T09:00:00.000Z\",\n            \"lastTransactionRequestedAt\": \"2025-06-02T00:00:00.000Z\",\n            \"firstTransactionPaidAt\": \"2025-06-01T09:01:00.000Z\",\n            \"lastTransactionPaidAt\": \"2025-06-02T00:01:00.000Z\"\n        },\n        {\n            \"ids\": [\n                \"aaA0aaaA0a\"\n            ],\n            \"user\": \"12345678B\",\n            \"userPayrollId\": \"Emp02\",\n            \"amount\": 120,\n            \"fee\": 0,\n            \"informedToIntegration\": false,\n            \"paid\": true,\n            \"firstTransactionRequestedAt\": \"2025-06-04T00:01:01.000Z\",\n            \"lastTransactionRequestedAt\": \"2025-06-04T00:01:01.000Z\",\n            \"firstTransactionPaidAt\": \"2025-06-04T00:02:00.000Z\",\n            \"lastTransactionPaidAt\": \"2025-06-04T00:02:00.000Z\"\n        }\n    ]\n}"}],"_postman_id":"dc342b8c-7e97-4009-a0fc-592bc7c4b696"},{"name":"Employee payments","id":"dcf9bb57-15fb-48d9-9550-6d84b96f059e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/payments/:personalId?start=&end=&cycle=","description":"<p>Retrieves all salary advance payments (withdrawals of earned salary) requested by a specific employee during a given period or cycle.</p>\n<p>If both <code>startDate</code>/<code>endDate</code> and <code>cycle</code> params are provided, the cycle takes precedence.</p>\n<blockquote>\n<p><strong>Note</strong>: The <code>informedToIntegration</code> field in the response can be ignored. As integrations are being migrated to microservices, this value will always be <code>false</code> for newer systems. </p>\n</blockquote>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<ul>\n<li><p><strong>id</strong> <code>[string]</code> <strong>:</strong> Payment identifier</p>\n</li>\n<li><p><strong>user</strong> <code>[string]</code> <strong>:</strong> Employee's personal ID</p>\n</li>\n<li><p><strong>userPayrollId</strong> <code>[string]</code> <strong>:</strong> Employee's payroll ID</p>\n</li>\n<li><p><strong>amount</strong> <code>[number]</code> <strong>:</strong> Payment amount</p>\n</li>\n<li><p><strong>fee</strong> <code>[number]</code> <strong>:</strong> Processing fee</p>\n</li>\n<li><p><strong>status</strong> <code>[string]</code> <strong>:</strong> Payment status (e.g., \"processed\")</p>\n</li>\n<li><p><strong>paid</strong> <code>[boolean]</code> <strong>:</strong> Whether payment has been processed</p>\n</li>\n<li><p><strong>requestedAt</strong> <code>[string]</code> <strong>:</strong> When payment was requested (ISO string)</p>\n</li>\n<li><p><strong>paidAt</strong> <code>[string]</code> <strong>:</strong> When payment was processed (ISO string)</p>\n</li>\n<li><p><strong>message</strong> <code>[string, null]</code> <strong>:</strong> Optional message</p>\n</li>\n<li><p><strong>informedToIntegration</strong> <code>[boolean]</code> <strong>:</strong> Whether payment was acknowledged via API</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["payments",":personalId"],"host":["https://api-public.payflow.es"],"query":[{"description":{"content":"<p>Start date for filtering payments (YYYY-MM-DD)</p>\n","type":"text/plain"},"key":"start","value":""},{"description":{"content":"<p>End date for filtering payments (YYYY-MM-DD)</p>\n","type":"text/plain"},"key":"end","value":""},{"description":{"content":"<p>Payment cycle to filter results by month (YYYY-MM)</p>\n","type":"text/plain"},"key":"cycle","value":""}],"variable":[{"id":"eb444ab1-13a2-4afe-a4d1-2a2f1a412d04","description":{"content":"<p>Employee document number</p>\n","type":"text/plain"},"type":"any","value":"","key":"personalId"}]}},"response":[{"id":"074fc7a4-52dc-4de3-a328-d338f57509f4","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/payments/:personalId?start=2025-05-05&end=2025-06-05&status=processed","protocol":"https","host":["api-public","payflow","es"],"path":["payments",":personalId"],"query":[{"key":"start","value":"2025-05-05","description":"Start date for filtering payments (YYYY-MM-DD)"},{"key":"end","value":"2025-06-05","description":"End date for filtering payments (YYYY-MM-DD)"},{"key":"status","value":"processed","description":"Payment status to filter results"}],"variable":[{"key":"personalId","value":"12345678Z","description":"Employee document number"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": \"AaAAAA01aa\",\n            \"user\": \"12345678Z\",\n            \"userPayrollId\": \"Emp01\",\n            \"amount\": 250,\n            \"fee\": 0,\n            \"status\": \"processed\",\n            \"paid\": true,\n            \"requestedAt\": \"2025-05-05T09:00:00.000Z\",\n            \"paidAt\": \"2025-05-05T09:01:00.000Z\",\n            \"message\": null,\n            \"informedToIntegration\": false\n        }\n    ]\n}"},{"id":"6a0ba2be-f538-4bbb-b20e-61a4fdf11c39","name":"Employee not found","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/payments/:personalId?start=2025-05-05&end=2025-06-05&status=processed","protocol":"https","host":["api-public","payflow","es"],"path":["payments",":personalId"],"query":[{"key":"start","value":"2025-05-05","description":"Start date for filtering payments (YYYY-MM-DD)"},{"key":"end","value":"2025-06-05","description":"End date for filtering payments (YYYY-MM-DD)"},{"key":"status","value":"processed","description":"Payment status to filter results"}],"variable":[{"key":"personalId","value":"12345678Y","description":"Employee document number"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"dcf9bb57-15fb-48d9-9550-6d84b96f059e"},{"name":"Payment by Id","id":"c7cc8468-3a1f-4b60-94c2-cb3a1919748c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/payment/:id","description":"<p>Retrieves a payment by specific identifier.</p>\n<blockquote>\n<p><strong>Note</strong>: The <code>informedToIntegration</code> field in the response can be ignored. As integrations are being migrated to microservices, this value will always be <code>false</code> for newer systems. </p>\n</blockquote>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<ul>\n<li><p><strong>id</strong> <code>[string]</code> <strong>:</strong> Payment identifier</p>\n</li>\n<li><p><strong>user</strong> <code>[string]</code> <strong>:</strong> Employee's personal ID</p>\n</li>\n<li><p><strong>userPayrollId</strong> <code>[string]</code> <strong>:</strong> Employee's payroll ID</p>\n</li>\n<li><p><strong>amount</strong> <code>[number]</code> <strong>:</strong> Payment amount</p>\n</li>\n<li><p><strong>fee</strong> <code>[number]</code> <strong>:</strong> Processing fee</p>\n</li>\n<li><p><strong>status</strong> <code>[string]</code> <strong>:</strong> Payment status (e.g., \"processed\")</p>\n</li>\n<li><p><strong>paid</strong> <code>[boolean]</code> <strong>:</strong> Whether payment has been processed</p>\n</li>\n<li><p><strong>requestedAt</strong> <code>[string]</code> <strong>:</strong> When payment was requested (ISO string)</p>\n</li>\n<li><p><strong>paidAt</strong> <code>[string]</code> <strong>:</strong> When payment was processed (ISO string)</p>\n</li>\n<li><p><strong>message</strong> <code>[string, null]</code> <strong>:</strong> Optional message</p>\n</li>\n<li><p><strong>informedToIntegration</strong> <code>[boolean]</code> <strong>:</strong> Whether payment was acknowledged via API</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["payment",":id"],"host":["https://api-public.payflow.es"],"query":[],"variable":[{"id":"24ce3016-67ba-4e1a-b2ae-cd16c92f8db5","description":{"content":"<p>Payment identifier</p>\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[{"id":"4523cc5b-de6f-46a5-b467-a1e3641ce92f","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/payment/:id","protocol":"https","host":["api-public","payflow","es"],"path":["payment",":id"],"variable":[{"key":"id","value":"AaAAAA01aa","description":"Payment identifier"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"id\": \"AaAAAA01aa\",\n        \"user\": \"12345678Z\",\n        \"userPayrollId\": \"Emp01\",\n        \"amount\": 250,\n        \"fee\": 0,\n        \"status\": \"processed\",\n        \"paid\": true,\n        \"requestedAt\": \"2025-05-05T09:00:00.000Z\",\n        \"paidAt\": \"2025-05-05T09:01:00.000Z\",\n        \"message\": null,\n        \"informedToIntegration\": false\n    }\n}"},{"id":"52abdb48-de00-4a76-9714-b15a5792dbb3","name":"Payment not found","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/payment/:id","protocol":"https","host":["api-public","payflow","es"],"path":["payment",":id"],"variable":[{"key":"id","value":"Bbb0BbBAb0","description":"Payment identifier"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"plain","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"c7cc8468-3a1f-4b60-94c2-cb3a1919748c"},{"name":"Payments File","id":"a75b175c-7be1-4b5c-80fe-f91535a09a68","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/payments/file/:paymentCycle?format=","description":"<p>Retrieves all payments requested by employees in the company during a specified period, formatted as a specific payroll file.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["payments","file",":paymentCycle"],"host":["https://api-public.payflow.es"],"query":[{"description":{"content":"<p>Payroll file format</p>\n","type":"text/plain"},"key":"format","value":""}],"variable":[{"id":"81972f78-9d4b-4a69-8d2e-14d2fcef123f","description":{"content":"<p>Payment cycle month (YYYY-MM)</p>\n","type":"text/plain"},"type":"any","value":"","key":"paymentCycle"}]}},"response":[{"id":"73f47dbd-4af7-4a2b-90c8-3ebe7d81c68e","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/payments/file/:paymentCycle?format=payflow","protocol":"https","host":["api-public","payflow","es"],"path":["payments","file",":paymentCycle"],"query":[{"key":"format","value":"payflow","description":"Payroll file format"}],"variable":[{"key":"paymentCycle","value":"2025-06","description":"Payment cycle month (YYYY-MM)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"xml","header":[{"key":"Content-Type","value":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},{"key":"Content-Length","value":"7588"},{"key":"content-disposition","value":"attachment;filename=\"Payflow Testing-payflow-liquidacion.xlsx\""},{"key":"accept-ranges","value":"bytes"}],"cookie":[],"responseTime":null,"body":"PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u0000\u0000\u0000xl/theme/theme1.xml�YM��6\u001a�� xOl�x&3B�\"���n2�`�I��k����H��gƷ\"=.�@�\u000f�R��\u001e\u0016�\u0006h�^��&�Y�f���\u0005IQ\u0016m9�|\u0014Ţ�CbI��~�/I��G\u0017\u0005CgD**x�{W�\u0018\u0011����,��&�+{\u0018)\r<\u0005&8��(�э?\\�H� �`\\E\u0010�\\�2�tT��\u0002�UQ\u0012~Q���\u0005huUȬ�J8�<+Xg����\u0014@9F\u001c\n\u0012�Of3�\u001041\"�\r䥏\u0018)\b���I�\n<1�I�q���g1j��L�3`1>�<\u0015�\u0013r�1b����\u0018w�\u001f��@�;\u0010y\u001aӛ�\r���y����[N�̦��޸���C=��\u0016�h4\u001a�z\u001e�!�$�{�����ޠ�܄��-\u001a�ݝn��`���n��`0���F5a�w�������\n)\u000e�(;����p�\u001bR\u001c�Qv�)�k���\u0015�����u�I�x�u,A3�n�3����^�3\u001a�\u000eDu\tZE3��Ɗ,ࡐc���2Д#�(�\f\u0012\u0012�!\u0014SI�j��@�Qu/Q���B�\u0012IK\u001d�?��q\u0003����^>�\u0019�|��٣'�\u001e����ϟ=���\u00160o\u0003Ϛ�\u0017?|���>C����\u0017_}�����������\rH�D>���<~��_��ׯ��7%L��\t-�B\u001f�st,\n�m��d*ߐ2Ɂ\u0006\u0014�E�\u001f�f��\u0000��\u0002X+p@�\u0018ޗ����[󇁽'��k��ٝ�\b��B����a�c�5�?��l�~9o\u0002�\u0001�Z�\u000f�\u0007Y\u001e�˜\u0014u�\u0006q\u001a�$0��\u0001א\u0011N42��)!m.>�4��!M�Pb��\u0003�\u0006@�\u00033�Ӡ���۴\u0000\u0006�V�'9\u0004\u0011:��\u0006���~@�B(�\fX�\u0003\u0013hނ���U�\u0004\n�\f�]�y��'\u000b�4�#�%��0�F)Q���\\\u0004&�\u0001F7T�![\u0014M�w@jz�*�.\bф\u001e��a\u000eE�\n>�\n    <o���N�`���n�\u001f��g̵`\u0014���ߧ$��%��=�\u0005V-��<�˶��\"\"(�\u0005�\u0001q�\u0003Q8�\u000b�_9�\u0019�J_\u0010\u001f&�_�nJ��Q��|#��t�\u001f��\u001f\u0011���݇!nF��!���1�7v��1�\u001bú\u0003��ĸ-���\u0017�7�3�؉^0rW�=�\u0012��cʘ;eأh}�+�!sKK\u0007�\u0010�I�4$�����$��ĸ�N����3�J�b�u\u000f�A��(��5��\u001dqw��\u001a,\n��H�����[Kr���\u001d���m#��*����ʞ3os\u001cW��Y\u0013͙\u001d��ͥ�&�>#\r7;\u0010-\u0003�(G`^k�v��\u0005H%�Hj�Q�\u0011�ɲ��ů��*\u0004�O9��e.��Hi��ԛ��q�UЛ�w\u0019F��%l�%S\u001f��l�l�k!>�.wk��xЊ���\u0018��l�`�@\u0019�\u0019\u0003�QR�i���e\u0002�x�\u0013-��~}��Zz����z���zх�_J�\u000f@�.���O �V�sdk����?O�R~;[��z��-\u001d�V\u0012Nf3��\u0006\u001a�l(ݵ\u001f�b��<��s4esy\fi��vX��*\u001dc;\u00000J�����\u0019j+m�b���\u0005V\u000f��9T�ּ4�U��*���]6��@��u�m|2#���\u0014����'��\u0010N�S��\u0004\n\"\u0001�֎��:\u0017��2��X\n�ݴ�B#\u0006�,则�ꦶș���M'ō\u0000����fH�,�:��\u001c�*���׫ֱJ*�D�ZkZ����)9#lb�箙�\u0018�1v��O\r�\\+���o�if6DA_�c�^\u001c\\��6�$����7�?,�T'É�\u001b��O��rg֯�'XR����x{K.��7�q7����ک�\\_��.1X�K�92��8�2aՇ\u001a�VO�1I4b16\u0012�\u0018�\u0018_13�\u0014~}s\u001a㞻Y՚\u0011�j���C�/V����0/կ��\u000evߝu�Vƅ\u001b�7��r�\u0016*\r��M�Ŀ�D\u0010~w�U��@������\u000fJ.\"��_�qNL\u001f�D\u001f�\u0019�Y��N�\u0007d�\u001a�<����\"]��L�\u0005�*LsԲhƏ�\f���>#աq\r�\u000e�[v��LS�5w��L�­\u0018��\u0016㚿u\u0019~�q�\u0005�5߾&l��tm�9�\u001e�(�\u000e�B`~ֱc���x)O6D�o�w�(VM��\f�U\u0014��k��cׁ��>Ʌ�0�\u001f��*]��-�\u001b�\u0003PK\u0007\bv�0�\f\u0007\u0000\u0000\u0019\u001f\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0000\u0000\u0000_rels/.rels���J�0\u0010\u0006�O\u0011�Mw\u0005\u0011�t/\"�M�>��L��$\u0013��ٷ\u0017\u0004�B]z\u001f���a������-\u0007\u0005��\u0005AA��aT��?��A����@\n.����\u001c_�a�\u001c�dc\u0016ջ�\u0015L��\u0007)���cn8R��\r�<��p\u001aeD=�H�жw2�̀n�)�FA:�=��\u0012iK6\u000f������S(++�r\u0002D�i���:��i~c���\u001d�u�a�����SA�\u0005��D��8R*��/ǰ~N\u001c���5��vв��q�\u0016\n��u\u0012��#��\u001f�\u0000PK\u0007\b�I��\u0000\u0000\u0000K\u0002\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018\u0000\u0000\u0000xl/worksheets/sheet1.xml��]o�0\u0014���u�\u001b\u0003\t�\u0012�Қ���IS�i׮c�U�\u0007��G��' �#DUw�8�y_����n�F��t^�e\u0010�\" �\n�(�e��y}3\u0007�\u0003�\u001b��J\u0006o��m�\u001dн�R�@�F[Ϡ\f�ZR�E)\r�#��=\u001a]�3<�\u0011�-���|ӈ��I\u0014M���B�t����PB�P쌴�5qR���RU��f�g�\fw���F��xP/J��֘\u00021b�uk��\u0017-\u0019\u001c�\t\u0017g�\u0018�\u001b%\u001cz,�H���F�g^�\u0005�\u0002��a���Ñ�,�N�'<\n        <J�-\u0003�8\u0005�������^�'\n            <0��kw���fC���Jz!m`��@�L��͕\u0018U�\u0016��G\u0006c \u0007�\t%�$\u0002\"v>���.�'Y+��\u0004�wA�� =\t�N\u0010�>\u0014LO�Y'H>~��$�w���3���M�+\u001ex�9<\u0010� \u0001�+^��r\u000ed�\\4JR�3Q�_j��-0�g�<��>Ϩ8\u0011wC\"�\u0013�!���!1�\u0013�!1�\u0013\u000fC\"�\u0013�Cb�\u0011��Kh�?\t�p\u0013j�Ьsm2�\u001b\u0012�>�\u001a\u0012�>q?$�F�� \u0017�x��\\���\n�ދ6%��7U����VYO�,\u0002�h4\u0003��?��\u000fX5�)�\u0017\f\u0001͹*%�HWWc \u0005b8\u00174�jߟ2�*�NI\u001b��ƠB\u0017\u001cW\u0001H�N�A\u001b�^U��$YL\u0016�Y�H�\u001e�A�+\u000f���$��\bH��3v�|[v���\u0001����_PK\u0007\b�݆�Z\u0002\u0000\u0000\"\u0006\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018\u0000\u0000\u0000xl/worksheets/sheet2.xml��mo�0\u0010ǿ�u�@AI*��>m��u�k�8�j�l��}�)\u000e��D�{\u0003����w��Kr�W%�\nc%�\u0014�Q\u0000Dh�+��)�z]~�\u0006b\u001d�+V�\u0016)|\b\u000b7Y�C�n\u000b!\u001c٫R�\u0014\n�9��\u0017B1;�J�*s4�9;B���2���H�4\n�\tULjh\u001c��3\u001e�璋\u0005�\u0012�5&F��IԶ��=�)�\u0019;������QU��7YJ��M�(>\\k4�\u0014)��1�Go\u001f���\u0006-�n�QѦ���gtF\u0019�,�}X���0d%r�)�\u000b�\u001e�\\\u0017.�0\u0006�\u001bWJ-���(_p�Bp~v��?�\u0005�W\u001f\u000ba��.�8\u0006�%\u001cK�_���l�(���;�rE\nQ\u0000�o�C��9\b\u000f�F\u0010\u001d\u0004c GA|Q\u0010\u001f\u0004q+�oq!�� ��\u0004Ӌ���\u000eA��.�\b�k�'�`\u0012���\u000ff�\u001c�\u0012�;bR��؊�?�p^���\u001d��\u0018����ך�Mv)XȒm\u0016�\u0013��\u0012�\u000f��\u0000\u0012�#�>\u0012�\u0013w}\"<'�}�Ꜹ�\u0013�R\u001f�D���>\u0011N��<\r �s�y\u0000�n\u0011jp�N�꿦Q�~��i�Z_?��>\u0012uz��#����ĩ|�f�'�N��\u0001�3Ӈ\u0001$:���\u0000ҙ�S\u001f�:���Hxri\u0006B���Tl-�3��ڒR�.�`4\u0005b�e�?;��i\f�\r�Cu�\n�V���\u0015�\u001c�\u001d\u0003�%��O�6\u0015A#�v~ӧP�q�I\u0007�@#��v�\\T2�q4\u001b�&�h\u0016C�Ts�\u000f|a9��z\u0018\u0004@r�^�]M���z\u001d��Q��\u0005PK\u0007\bn��j�\u0002\u0000\u0000-\u0007\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u0000\u0000\u0000[Content_Types].xmlŔ�N�0\f��\n                <E�+Z38 �����# \u0001\u000f\u0010\u0012���đmJ���\u001dC\b�M\u0013��$�8��e{��b(Z ��*uVNU\u0001ɢ������R\u0015,&9\u00130A���j1?�=�3p�Ő�R�H�Қm\u0003�p�\u0019R\u0017�\u0012)\u001a�\u0012���ؕ�A�O�\u0017�b\u0012H2�^C�g7�4oA��N m�\u0010\u0004V��&�gU��\u001c�5�1�6�\u001f��'�$\bC\f7>�i\u0017�ң���w�翇\u0016����ѐܛ\b��]��H�W�U�[d�%.�ނC�\u0016!Iə�8n\u0000$�r��h|����\u001f�Y\u000f�ّ���\r�\u0007�8�'\u001f�@\u0004=�/� �'q�u\u0000>r�\u001b�}��\u0010�'!��\u001b����12�������m\f7d�}���\u001c�q���0��Hpx�����=Ʉ\u0019H<|m��D����\u001fc\r�\"s�F�zX��\u000fPK\u0007\b�s�Zm\u0001\u0000\u0000x\u0005\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000docProps/app.xml��Mo�0\f���\u0015��C\"7+�!�U\f�\u001e6,X���t,T\u0016\u0005������v�\f\u0018�\u001b��|�H�����Y\u0007�\u001c�B��s�A�X��+�����ȈM���\u0000��Ľ~��\t#$v@پ��\n�0ǥ�d\u001bh\r�1Bط���\u001a�9��ĺv\u0016J�/-\u0004��<���g\b\u0015T�x4\u0014����5��\u000e|���#���C��Y�\u000e���lB��{\u000b^��*�n��$ǽΕ\n                    <?��5\u001eV\t���'P�$�\u00070Û��K�U��\u000e,c����B,D��\u0010\f8��Lr&��ʦ�\u0018�H��wL��\u00000)��r\u0012�������X�n�e�`0�h%/\u0011��=��zm\u0012��xd�x'���k�?����t0���\u001b�0�s�#�_\u001bJ`�=\\�s|:��\u001f�+l�\t�V�\u0018}v�\u001e�\u0016K�p\u0018˥�6�IP�h\u000f���\u001e�\b�\u000f&�Ƅ\u001dT���İDO�G�7w��]���sД<�\t�\u001bPK\u0007\b\u0016w�\n�\u0001\u0000\u0000X\u0003\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u0000\u0000\u0000docProps/core.xml���j�0\u0010E��\n��-�!�\bہ>�(\r\u0014��Н�&��^Hj��}��8)ɪ۹w��\u0019���Z%?����ByFP\u0002�[!ͮB��Ez��\u0010�\u0011LY\u0003\u0015:@@����r���[\u0007>J\bI��\t��\n�ct\u0014����YȬ\u0003�j��^�\u00182�w�1��v�\u000bBfXCd�E�;`�F\":\"\u0005\u001f��۫\u001e 8\u0006\u0005\u001aL\f8�r|�F�:�l�\u000b�����U�A\u001c�m���i����1\nBr�Y���USi�Sq@u)8�\u001eX��~n9��U�/j��\u0014\u000bqi��J\u0010\u000f���Z*\u0005��\u000fH\u0010I\u001b$\u001d�����z��\u0014Ӕ�R2]�9��(�~v���w�>��7�\u0004�K|�\u0012�/PK\u0007\bZ\u0014'�1\u0001\u0000\u0000^\u0002\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014\u0000\u0000\u0000xl/sharedStrings.xml}��N\u001b1\u0014��}\n�{bg�\u0014��A!\u00101U\u0015����.�Mb�?S�\u001b\u001a�}���\b}�>\t\u001a��:i��w|t}\\�m�\u0017\u000f�ɥ���HK��$�⪑_��\u0007'R\u0010C��S�F>\"ɳ�CM�b\u001b|�F���S�Ȭ1\u0000�R�q\u001b�2�\u0000L��W���`i����J�\n�\u0014&m\"7����D�m��w��ɵ5��n.0�\u0019\tj�m�\u0006�\u0005-R���/�Ya��G���{��D\u0012��\u0004/��:��{g\u0013��\u000b}ʌ�\u0013�\u0017 ,ڍqY��񳴞��U�\u001bx\\��]�!��+q�yTZ��:<:�|<�Z�O�W�R���y�X�=\u0013v\u0016#��3`S\u001e��\f��\u0018��W,S�h�;_�VGFv\u0019l���,\u0005GC���;\u0003�\u001e��ޢ����C��)�)\f��T����JW�;�\u0012\u0014\u0011�OPK\u0007\b!F�Dj\u0001\u0000\u0000\u0012\u0003\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000xl/styles.xml�Uю�8\u0014}�WX~g�$�I�\u0019M&�T�[U�Y��\u000e��굍lgJ��_�$@f�m;�`\u001f��9�^�䷝\u0004�̍\u0015ZQLn\u0012���t-Ԟ⿟�h��uL�\f��\u0014��ŷŻܺ\u0013��\u0003�\u000eu\u0012����\\��c[\u001d�d�F�\\u\u0012\u001am$s�F�}l[�Ym�\"\tq�$�X2�pϰ���Hf�\u001eۨҲeN�\u0004\bw\n\\\u0018�j�a��a;�\u0014wd�*ԑ�I/\n\u0001z%\"Ee�Ս����uӈ�����W1�F��I��D�8I�ċ���YT�r\u0014�0\n\u000e�_���J��b���\"�4h�܁K���\u001b&\u0005��3\u0003�S\u000f���\u001e�Bi\u0013��=@�\u001a��9����\u0019�Cb��Z��w\u0014��\"\t:#ɝ\u0011\f^Q؋�/���-�F\u0000L��\u0003E�2�Q�\u0000@��ө�\u0014+�x/*\u0000~\u0019�7�D���\u0017X\r��u�߇��Z̖��a�Iv?��]_�`-�l�ﴩ�\u0019rL�\u0005*r����܈����n��vN˸�k��Z1�]�I�W�p\u0012)v\u0007���@�\u0012t�}\t�\u0002/�\u001f��em�W\u001c��\u001f�/͐�ߟ]��Q��}�)N0��2\u0014\u0000�aﾟ�l�l=��v�&Z�5\u0003��L\u0011�|k|\\��h��a5bm\u000b'\u0000�A;�\u0004�8ۄv���ϔ�Q)�\u0003�+�P�/ʹ�W�\u001f��������oa���(�\t5�e,�-�\u001b\u001b������\u0019Z<�$\u0018ռaGpO�G���_�\u0016G�\u000eQ�ųv���q���n��\u001a�s\u001f�\u000bot4��\u001e6�Wۇ2���f\u0019�g<�V�f\u001be���v[��4��w�z�o�x\u0013��\u001fN�wd�� *n�ɞS|\u001c1�'�޾w\u001f����*]$w\u0019I�r��h�`�h��eQ��t��o\u001e�2�x���$1!��l�� ԥW�\u000eMQ�������O%t\"\u001e���PK\u0007\b�-nk\u0013\u0003\u0000\u0000\u0012\b\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a\u0000\u0000\u0000xl/_rels/workbook.xml.rels���J�@\u0010��>��w3I�Ad'{\u0011a�\u001a\u001f`H:�a�'L����\u0010���\u0012<\u0004/\r�\rU\u001fE���w�\u0003\u0013�\u0018\u0014\u0014Y\u000e\u0002C\u0013[\u001bz\u0005o���\u0003\bb\u001dZ�b@\u0005\u0013\u0012쫫�\u000b:�6\u00062v 1z\u0017H�a\u001e\u001e��Ơה�\u0001��]\u0017��LYL�\u001cts�=�2��eZz@u�)\u000e��th\u000b\u0010�4�_�c��\u0006�b��1��\bI\n                    <9$\u0010�N=��o��ށ�\u001c_n\u0019�\u0006=��g)�Y�1�l�@F'l_9��/�X��`n�����H\u0006�O���HΗ�f��\u0019��iF���\u0005PK\u0007\b�����\u0000\u0000\u0000F\u0003\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0000\u0000\u0000xl/workbook.xml��_k�0\u0010\u0000��~\nq�%��6�\u001a�\u0014F7�K\tk�wE:�\"'���������1\n�O���Iw��Γ8aL��\u00029/A`0l]8(���s�\rD�:XM\u001cP�\u0005\u0013\n                        <n��g��=�Qt�BRP�ܬ�\"�\u001a�Nsn0t�*�^�4�x(R\u0013Q�T#fOŢ,�\n�]�QXů\u0018\\U��\u0013��c�#\u0012�tv\u001cR�4i�|��:\u001e�ff�7:��#�/\u0003\n��\u00108�=��N.'���\u000f�w&r�*�\r�b\f��{eYH9>y��\u001c��ׅn�g��[\b\u0004�X��*X� >�\u0013�m��������\u0006��{&vQX�tK��F?�\n��m)%��QƸ���E���\u000e�H[1���_\u0013a�h�/\u0015�Y\\�\u0017}¡;\u0013�0��?�EF\u0005'�ܞ\u0010D\\9� n�����\\|j>a�D�>A�=ZL\u0011\u001bMf\u0017E�\f\u0011��rq?�*s�\u0006PK\u0007\bD���\u0001\u0000\u0000�\u0002\u0000\u0000PK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Zv�0�\f\u0007\u0000\u0000\u0019\u001f\u0000\u0000\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��\u0000\u0000\u0000\u0000xl/theme/theme1.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z�I��\u0000\u0000\u0000K\u0002\u0000\u0000\u000b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��M\u0007\u0000\u0000_rels/.relsPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z�݆�Z\u0002\u0000\u0000\"\u0006\u0000\u0000\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��q\b\u0000\u0000xl/worksheets/sheet1.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Zn��j�\u0002\u0000\u0000-\u0007\u0000\u0000\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��\u0011\u000b\u0000\u0000xl/worksheets/sheet2.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z�s�Zm\u0001\u0000\u0000x\u0005\u0000\u0000\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000���\r\u0000\u0000[Content_Types].xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z\u0016w�\n�\u0001\u0000\u0000X\u0003\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000���\u000f\u0000\u0000docProps/app.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�ZZ\u0014'�1\u0001\u0000\u0000^\u0002\u0000\u0000\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��h\u0011\u0000\u0000docProps/core.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z!F�Dj\u0001\u0000\u0000\u0012\u0003\u0000\u0000\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000���\u0012\u0000\u0000xl/sharedStrings.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z�-nk\u0013\u0003\u0000\u0000\u0012\b\u0000\u0000\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000���\u0014\u0000\u0000xl/styles.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z�����\u0000\u0000\u0000F\u0003\u0000\u0000\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000���\u0017\u0000\u0000xl/_rels/workbook.xml.relsPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�ZD���\u0001\u0000\u0000�\u0002\u0000\u0000\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��\f\u0019\u0000\u0000xl/workbook.xmlPK\u0005\u0006\u0000\u0000\u0000\u0000\u000b\u0000\u000b\u0000�\u0002\u0000\u0000�\u001a\u0000\u0000\u0000\u0000"}],"_postman_id":"a75b175c-7be1-4b5c-80fe-f91535a09a68"},{"name":"Payments File by Date Range","id":"340b71dd-1357-4fb8-b3e0-bc9ed54fcd94","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/payments/file?format=&start=&end=","description":"<p>Retrieves all payments requested by employees in the company during a specified period, formatted as a specific payroll file.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["payments","file"],"host":["https://api-public.payflow.es"],"query":[{"description":{"content":"<p>Payroll file format</p>\n","type":"text/plain"},"key":"format","value":""},{"description":{"content":"<p>Start date for filtering payments (YYYY-MM-DD)</p>\n","type":"text/plain"},"key":"start","value":""},{"description":{"content":"<p>End date for filtering payments (YYYY-MM-DD)</p>\n","type":"text/plain"},"key":"end","value":""}],"variable":[]}},"response":[{"id":"d1ae1291-3782-4b0c-a9bc-413739015c95","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/payments/file?format=payflow&start=2025-06-01&end=2025-06-31","protocol":"https","host":["api-public","payflow","es"],"path":["payments","file"],"query":[{"key":"format","value":"payflow","description":"Payroll file format"},{"key":"start","value":"2025-06-01","description":"Start date for filtering payments (YYYY-MM-DD)"},{"key":"end","value":"2025-06-31","description":"End date for filtering payments (YYYY-MM-DD)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"xml","header":[{"key":"Content-Type","value":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},{"key":"Content-Length","value":"7588"},{"key":"content-disposition","value":"attachment;filename=\"Payflow Testing-payflow-liquidacion.xlsx\""},{"key":"accept-ranges","value":"bytes"}],"cookie":[],"responseTime":null,"body":"PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u0000\u0000\u0000xl/theme/theme1.xml�YM��6\u001a�� xOl�x&3B�\"���n2�`�I��k����H��gƷ\"=.�@�\u000f�R��\u001e\u0016�\u0006h�^��&�Y�f���\u0005IQ\u0016m9�|\u0014Ţ�CbI��~�/I��G\u0017\u0005CgD**x�{W�\u0018\u0011����,��&�+{\u0018)\r<\u0005&8��(�э?\\�H� �`\\E\u0010�\\�2�tT��\u0002�UQ\u0012~Q���\u0005huUȬ�J8�<+Xg����\u0014@9F\u001c\n\u0012�Of3�\u001041\"�\r䥏\u0018)\b���I�\n<1�I�q���g1j��L�3`1>�<\u0015�\u0013r�1b����\u0018w�\u001f��@�;\u0010y\u001aӛ�\r���y����[N�̦��޸���C=��\u0016�h4\u001a�z\u001e�!�$�{�����ޠ�܄��-\u001a�ݝn��`���n��`0���F5a�w�������\n)\u000e�(;����p�\u001bR\u001c�Qv�)�k���\u0015�����u�I�x�u,A3�n�3����^�3\u001a�\u000eDu\tZE3��Ɗ,ࡐc���2Д#�(�\f\u0012\u0012�!\u0014SI�j��@�Qu/Q���B�\u0012IK\u001d�?��q\u0003����^>�\u0019�|��٣'�\u001e����ϟ=���\u00160o\u0003Ϛ�\u0017?|���>C����\u0017_}�����������\rH�D>���<~��_��ׯ��7%L��\t-�B\u001f�st,\n�m��d*ߐ2Ɂ\u0006\u0014�E�\u001f�f��\u0000��\u0002X+p@�\u0018ޗ����[󇁽'��k��ٝ�\b��B����a�c�5�?��l�~9o\u0002�\u0001�Z�\u000f�\u0007Y\u001e�˜\u0014u�\u0006q\u001a�$0��\u0001א\u0011N42��)!m.>�4��!M�Pb��\u0003�\u0006@�\u00033�Ӡ���۴\u0000\u0006�V�'9\u0004\u0011:��\u0006���~@�B(�\fX�\u0003\u0013hނ���U�\u0004\n�\f�]�y��'\u000b�4�#�%��0�F)Q���\\\u0004&�\u0001F7T�![\u0014M�w@jz�*�.\bф\u001e��a\u000eE�\n>�\n    <o���N�`���n�\u001f��g̵`\u0014���ߧ$��%��=�\u0005V-��<�˶��\"\"(�\u0005�\u0001q�\u0003Q8�\u000b�_9�\u0019�J_\u0010\u001f&�_�nJ��Q��|#��t�\u001f��\u001f\u0011���݇!nF��!���1�7v��1�\u001bú\u0003��ĸ-���\u0017�7�3�؉^0rW�=�\u0012��cʘ;eأh}�+�!sKK\u0007�\u0010�I�4$�����$��ĸ�N����3�J�b�u\u000f�A��(��5��\u001dqw��\u001a,\n��H�����[Kr���\u001d���m#��*����ʞ3os\u001cW��Y\u0013͙\u001d��ͥ�&�>#\r7;\u0010-\u0003�(G`^k�v��\u0005H%�Hj�Q�\u0011�ɲ��ů��*\u0004�O9��e.��Hi��ԛ��q�UЛ�w\u0019F��%l�%S\u001f��l�l�k!>�.wk��xЊ���\u0018��l�`�@\u0019�\u0019\u0003�QR�i���e\u0002�x�\u0013-��~}��Zz����z���zх�_J�\u000f@�.���O �V�sdk����?O�R~;[��z��-\u001d�V\u0012Nf3��\u0006\u001a�l(ݵ\u001f�b��<��s4esy\fi��vX��*\u001dc;\u00000J�����\u0019j+m�b���\u0005V\u000f��9T�ּ4�U��*���]6��@��u�m|2#���\u0014����'��\u0010N�S��\u0004\n\"\u0001�֎��:\u0017��2��X\n�ݴ�B#\u0006�,则�ꦶș���M'ō\u0000����fH�,�:��\u001c�*���׫ֱJ*�D�ZkZ����)9#lb�箙�\u0018�1v��O\r�\\+���o�if6DA_�c�^\u001c\\��6�$����7�?,�T'É�\u001b��O��rg֯�'XR����x{K.��7�q7����ک�\\_��.1X�K�92��8�2aՇ\u001a�VO�1I4b16\u0012�\u0018�\u0018_13�\u0014~}s\u001a㞻Y՚\u0011�j���C�/V����0/կ��\u000evߝu�Vƅ\u001b�7��r�\u0016*\r��M�Ŀ�D\u0010~w�U��@������\u000fJ.\"��_�qNL\u001f�D\u001f�\u0019�Y��N�\u0007d�\u001a�<����\"]��L�\u0005�*LsԲhƏ�\f���>#աq\r�\u000e�[v��LS�5w��L�­\u0018��\u0016㚿u\u0019~�q�\u0005�5߾&l��tm�9�\u001e�(�\u000e�B`~ֱc���x)O6D�o�w�(VM��\f�U\u0014��k��cׁ��>Ʌ�0�\u001f��*]��-�\u001b�\u0003PK\u0007\bv�0�\f\u0007\u0000\u0000\u0019\u001f\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0000\u0000\u0000_rels/.rels���J�0\u0010\u0006�O\u0011�Mw\u0005\u0011�t/\"�M�>��L��$\u0013��ٷ\u0017\u0004�B]z\u001f���a������-\u0007\u0005��\u0005AA��aT��?��A����@\n.����\u001c_�a�\u001c�dc\u0016ջ�\u0015L��\u0007)���cn8R��\r�<��p\u001aeD=�H�жw2�̀n�)�FA:�=��\u0012iK6\u000f������S(++�r\u0002D�i���:��i~c���\u001d�u�a�����SA�\u0005��D��8R*��/ǰ~N\u001c���5��vв��q�\u0016\n��u\u0012��#��\u001f�\u0000PK\u0007\b�I��\u0000\u0000\u0000K\u0002\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018\u0000\u0000\u0000xl/worksheets/sheet1.xml��]o�0\u0014���u�\u001b\u0003\t�\u0012�Қ���IS�i׮c�U�\u0007��G��' �#DUw�8�y_����n�F��t^�e\u0010�\" �\n�(�e��y}3\u0007�\u0003�\u001b��J\u0006o��m�\u001dн�R�@�F[Ϡ\f�ZR�E)\r�#��=\u001a]�3<�\u0011�-���|ӈ��I\u0014M���B�t����PB�P쌴�5qR���RU��f�g�\fw���F��xP/J��֘\u00021b�uk��\u0017-\u0019\u001c�\t\u0017g�\u0018�\u001b%\u001cz,�H���F�g^�\u0005�\u0002��a���Ñ�,�N�'<\n        <J�-\u0003�8\u0005�������^�'\n            <0��kw���fC���Jz!m`��@�L��͕\u0018U�\u0016��G\u0006c \u0007�\t%�$\u0002\"v>���.�'Y+��\u0004�wA�� =\t�N\u0010�>\u0014LO�Y'H>~��$�w���3���M�+\u001ex�9<\u0010� \u0001�+^��r\u000ed�\\4JR�3Q�_j��-0�g�<��>Ϩ8\u0011wC\"�\u0013�!���!1�\u0013�!1�\u0013\u000fC\"�\u0013�Cb�\u0011��Kh�?\t�p\u0013j�Ьsm2�\u001b\u0012�>�\u001a\u0012�>q?$�F�� \u0017�x��\\���\n�ދ6%��7U����VYO�,\u0002�h4\u0003��?��\u000fX5�)�\u0017\f\u0001͹*%�HWWc \u0005b8\u00174�jߟ2�*�NI\u001b��ƠB\u0017\u001cW\u0001H�N�A\u001b�^U��$YL\u0016�Y�H�\u001e�A�+\u000f���$��\bH��3v�|[v���\u0001����_PK\u0007\b�݆�Z\u0002\u0000\u0000\"\u0006\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018\u0000\u0000\u0000xl/worksheets/sheet2.xml��mo�0\u0010ǿ�u�@AI*��>m��u�k�8�j�l��}�)\u000e��D�{\u0003����w��Kr�W%�\nc%�\u0014�Q\u0000Dh�+��)�z]~�\u0006b\u001d�+V�\u0016)|\b\u000b7Y�C�n\u000b!\u001c٫R�\u0014\n�9��\u0017B1;�J�*s4�9;B���2���H�4\n�\tULjh\u001c��3\u001e�璋\u0005�\u0012�5&F��IԶ��=�)�\u0019;������QU��7YJ��M�(>\\k4�\u0014)��1�Go\u001f���\u0006-�n�QѦ���gtF\u0019�,�}X���0d%r�)�\u000b�\u001e�\\\u0017.�0\u0006�\u001bWJ-���(_p�Bp~v��?�\u0005�W\u001f\u000ba��.�8\u0006�%\u001cK�_���l�(���;�rE\nQ\u0000�o�C��9\b\u000f�F\u0010\u001d\u0004c GA|Q\u0010\u001f\u0004q+�oq!�� ��\u0004Ӌ���\u000eA��.�\b�k�'�`\u0012���\u000ff�\u001c�\u0012�;bR��؊�?�p^���\u001d��\u0018����ך�Mv)XȒm\u0016�\u0013��\u0012�\u000f��\u0000\u0012�#�>\u0012�\u0013w}\"<'�}�Ꜹ�\u0013�R\u001f�D���>\u0011N��<\r �s�y\u0000�n\u0011jp�N�꿦Q�~��i�Z_?��>\u0012uz��#����ĩ|�f�'�N��\u0001�3Ӈ\u0001$:���\u0000ҙ�S\u001f�:���Hxri\u0006B���Tl-�3��ڒR�.�`4\u0005b�e�?;��i\f�\r�Cu�\n�V���\u0015�\u001c�\u001d\u0003�%��O�6\u0015A#�v~ӧP�q�I\u0007�@#��v�\\T2�q4\u001b�&�h\u0016C�Ts�\u000f|a9��z\u0018\u0004@r�^�]M���z\u001d��Q��\u0005PK\u0007\bn��j�\u0002\u0000\u0000-\u0007\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u0000\u0000\u0000[Content_Types].xmlŔ�N�0\f��\n                <E�+Z38 �����# \u0001\u000f\u0010\u0012���đmJ���\u001dC\b�M\u0013��$�8��e{��b(Z ��*uVNU\u0001ɢ������R\u0015,&9\u00130A���j1?�=�3p�Ő�R�H�Қm\u0003�p�\u0019R\u0017�\u0012)\u001a�\u0012���ؕ�A�O�\u0017�b\u0012H2�^C�g7�4oA��N m�\u0010\u0004V��&�gU��\u001c�5�1�6�\u001f��'�$\bC\f7>�i\u0017�ң���w�翇\u0016����ѐܛ\b��]��H�W�U�[d�%.�ނC�\u0016!Iə�8n\u0000$�r��h|����\u001f�Y\u000f�ّ���\r�\u0007�8�'\u001f�@\u0004=�/� �'q�u\u0000>r�\u001b�}��\u0010�'!��\u001b����12�������m\f7d�}���\u001c�q���0��Hpx�����=Ʉ\u0019H<|m��D����\u001fc\r�\"s�F�zX��\u000fPK\u0007\b�s�Zm\u0001\u0000\u0000x\u0005\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000docProps/app.xml��Mo�0\f���\u0015��C\"7+�!�U\f�\u001e6,X���t,T\u0016\u0005������v�\f\u0018�\u001b��|�H�����Y\u0007�\u001c�B��s�A�X��+�����ȈM���\u0000��Ľ~��\t#$v@پ��\n�0ǥ�d\u001bh\r�1Bط���\u001a�9��ĺv\u0016J�/-\u0004��<���g\b\u0015T�x4\u0014����5��\u000e|���#���C��Y�\u000e���lB��{\u000b^��*�n��$ǽΕ\n                    <?��5\u001eV\t���'P�$�\u00070Û��K�U��\u000e,c����B,D��\u0010\f8��Lr&��ʦ�\u0018�H��wL��\u00000)��r\u0012�������X�n�e�`0�h%/\u0011��=��zm\u0012��xd�x'���k�?����t0���\u001b�0�s�#�_\u001bJ`�=\\�s|:��\u001f�+l�\t�V�\u0018}v�\u001e�\u0016K�p\u0018˥�6�IP�h\u000f���\u001e�\b�\u000f&�Ƅ\u001dT���İDO�G�7w��]���sД<�\t�\u001bPK\u0007\b\u0016w�\n�\u0001\u0000\u0000X\u0003\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u0000\u0000\u0000docProps/core.xml���j�0\u0010E��\n��-�!�\bہ>�(\r\u0014��Н�&��^Hj��}��8)ɪ۹w��\u0019���Z%?����ByFP\u0002�[!ͮB��Ez��\u0010�\u0011LY\u0003\u0015:@@����r���[\u0007>J\bI��\t��\n�ct\u0014����YȬ\u0003�j��^�\u00182�w�1��v�\u000bBfXCd�E�;`�F\":\"\u0005\u001f��۫\u001e 8\u0006\u0005\u001aL\f8�r|�F�:�l�\u000b�����U�A\u001c�m���i����1\nBr�Y���USi�Sq@u)8�\u001eX��~n9��U�/j��\u0014\u000bqi��J\u0010\u000f���Z*\u0005��\u000fH\u0010I\u001b$\u001d�����z��\u0014Ӕ�R2]�9��(�~v���w�>��7�\u0004�K|�\u0012�/PK\u0007\bZ\u0014'�1\u0001\u0000\u0000^\u0002\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014\u0000\u0000\u0000xl/sharedStrings.xml}��N\u001b1\u0014��}\n�{bg�\u0014��A!\u00101U\u0015����.�Mb�?S�\u001b\u001a�}���\b}�>\t\u001a��:i��w|t}\\�m�\u0017\u000f�ɥ���HK��$�⪑_��\u0007'R\u0010C��S�F>\"ɳ�CM�b\u001b|�F���S�Ȭ1\u0000�R�q\u001b�2�\u0000L��W���`i����J�\n�\u0014&m\"7����D�m��w��ɵ5��n.0�\u0019\tj�m�\u0006�\u0005-R���/�Ya��G���{��D\u0012��\u0004/��:��{g\u0013��\u000b}ʌ�\u0013�\u0017 ,ڍqY��񳴞��U�\u001bx\\��]�!��+q�yTZ��:<:�|<�Z�O�W�R���y�X�=\u0013v\u0016#��3`S\u001e��\f��\u0018��W,S�h�;_�VGFv\u0019l���,\u0005GC���;\u0003�\u001e��ޢ����C��)�)\f��T����JW�;�\u0012\u0014\u0011�OPK\u0007\b!F�Dj\u0001\u0000\u0000\u0012\u0003\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000xl/styles.xml�Uю�8\u0014}�WX~g�$�I�\u0019M&�T�[U�Y��\u000e��굍lgJ��_�$@f�m;�`\u001f��9�^�䷝\u0004�̍\u0015ZQLn\u0012���t-Ԟ⿟�h��uL�\f��\u0014��ŷŻܺ\u0013��\u0003�\u000eu\u0012����\\��c[\u001d�d�F�\\u\u0012\u001am$s�F�}l[�Ym�\"\tq�$�X2�pϰ���Hf�\u001eۨҲeN�\u0004\bw\n\\\u0018�j�a��a;�\u0014wd�*ԑ�I/\n\u0001z%\"Ee�Ս����uӈ�����W1�F��I��D�8I�ċ���YT�r\u0014�0\n\u000e�_���J��b���\"�4h�܁K���\u001b&\u0005��3\u0003�S\u000f���\u001e�Bi\u0013��=@�\u001a��9����\u0019�Cb��Z��w\u0014��\"\t:#ɝ\u0011\f^Q؋�/���-�F\u0000L��\u0003E�2�Q�\u0000@��ө�\u0014+�x/*\u0000~\u0019�7�D���\u0017X\r��u�߇��Z̖��a�Iv?��]_�`-�l�ﴩ�\u0019rL�\u0005*r����܈����n��vN˸�k��Z1�]�I�W�p\u0012)v\u0007���@�\u0012t�}\t�\u0002/�\u001f��em�W\u001c��\u001f�/͐�ߟ]��Q��}�)N0��2\u0014\u0000�aﾟ�l�l=��v�&Z�5\u0003��L\u0011�|k|\\��h��a5bm\u000b'\u0000�A;�\u0004�8ۄv���ϔ�Q)�\u0003�+�P�/ʹ�W�\u001f��������oa���(�\t5�e,�-�\u001b\u001b������\u0019Z<�$\u0018ռaGpO�G���_�\u0016G�\u000eQ�ųv���q���n��\u001a�s\u001f�\u000bot4��\u001e6�Wۇ2���f\u0019�g<�V�f\u001be���v[��4��w�z�o�x\u0013��\u001fN�wd�� *n�ɞS|\u001c1�'�޾w\u001f����*]$w\u0019I�r��h�`�h��eQ��t��o\u001e�2�x���$1!��l�� ԥW�\u000eMQ�������O%t\"\u001e���PK\u0007\b�-nk\u0013\u0003\u0000\u0000\u0012\b\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a\u0000\u0000\u0000xl/_rels/workbook.xml.rels���J�@\u0010��>��w3I�Ad'{\u0011a�\u001a\u001f`H:�a�'L����\u0010���\u0012<\u0004/\r�\rU\u001fE���w�\u0003\u0013�\u0018\u0014\u0014Y\u000e\u0002C\u0013[\u001bz\u0005o���\u0003\bb\u001dZ�b@\u0005\u0013\u0012쫫�\u000b:�6\u00062v 1z\u0017H�a\u001e\u001e��Ơה�\u0001��]\u0017��LYL�\u001cts�=�2��eZz@u�)\u000e��th\u000b\u0010�4�_�c��\u0006�b��1��\bI\n                    <9$\u0010�N=��o��ށ�\u001c_n\u0019�\u0006=��g)�Y�1�l�@F'l_9��/�X��`n�����H\u0006�O���HΗ�f��\u0019��iF���\u0005PK\u0007\b�����\u0000\u0000\u0000F\u0003\u0000\u0000PK\u0003\u0004\u0014\u0000\b\u0000\b\u0000�\\�Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0000\u0000\u0000xl/workbook.xml��_k�0\u0010\u0000��~\nq�%��6�\u001a�\u0014F7�K\tk�wE:�\"'���������1\n�O���Iw��Γ8aL��\u00029/A`0l]8(���s�\rD�:XM\u001cP�\u0005\u0013\n                        <n��g��=�Qt�BRP�ܬ�\"�\u001a�Nsn0t�*�^�4�x(R\u0013Q�T#fOŢ,�\n�]�QXů\u0018\\U��\u0013��c�#\u0012�tv\u001cR�4i�|��:\u001e�ff�7:��#�/\u0003\n��\u00108�=��N.'���\u000f�w&r�*�\r�b\f��{eYH9>y��\u001c��ׅn�g��[\b\u0004�X��*X� >�\u0013�m��������\u0006��{&vQX�tK��F?�\n��m)%��QƸ���E���\u000e�H[1���_\u0013a�h�/\u0015�Y\\�\u0017}¡;\u0013�0��?�EF\u0005'�ܞ\u0010D\\9� n�����\\|j>a�D�>A�=ZL\u0011\u001bMf\u0017E�\f\u0011��rq?�*s�\u0006PK\u0007\bD���\u0001\u0000\u0000�\u0002\u0000\u0000PK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Zv�0�\f\u0007\u0000\u0000\u0019\u001f\u0000\u0000\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��\u0000\u0000\u0000\u0000xl/theme/theme1.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z�I��\u0000\u0000\u0000K\u0002\u0000\u0000\u000b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��M\u0007\u0000\u0000_rels/.relsPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z�݆�Z\u0002\u0000\u0000\"\u0006\u0000\u0000\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��q\b\u0000\u0000xl/worksheets/sheet1.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Zn��j�\u0002\u0000\u0000-\u0007\u0000\u0000\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��\u0011\u000b\u0000\u0000xl/worksheets/sheet2.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z�s�Zm\u0001\u0000\u0000x\u0005\u0000\u0000\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000���\r\u0000\u0000[Content_Types].xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z\u0016w�\n�\u0001\u0000\u0000X\u0003\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000���\u000f\u0000\u0000docProps/app.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�ZZ\u0014'�1\u0001\u0000\u0000^\u0002\u0000\u0000\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��h\u0011\u0000\u0000docProps/core.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z!F�Dj\u0001\u0000\u0000\u0012\u0003\u0000\u0000\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000���\u0012\u0000\u0000xl/sharedStrings.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z�-nk\u0013\u0003\u0000\u0000\u0012\b\u0000\u0000\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000���\u0014\u0000\u0000xl/styles.xmlPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�Z�����\u0000\u0000\u0000F\u0003\u0000\u0000\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000���\u0017\u0000\u0000xl/_rels/workbook.xml.relsPK\u0001\u0002-\u0003\u0014\u0000\b\u0000\b\u0000�\\�ZD���\u0001\u0000\u0000�\u0002\u0000\u0000\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000��\f\u0019\u0000\u0000xl/workbook.xmlPK\u0005\u0006\u0000\u0000\u0000\u0000\u000b\u0000\u000b\u0000�\u0002\u0000\u0000�\u001a\u0000\u0000\u0000\u0000"}],"_postman_id":"340b71dd-1357-4fb8-b3e0-bc9ed54fcd94"},{"name":"Request Payment","id":"daf2d6e8-aa34-42c8-bc5a-b8f09c6be35f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"personalId\": \"\",\n    \"amount\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/payments","description":"<p><strong>Creates a salary advance payment request for a specific employee.</strong></p>\n<p>Before processing the request, the system verifies that:</p>\n<ul>\n<li><p>The employee has enough available balance, based on days worked and company-specific settings.</p>\n</li>\n<li><p>The company has sufficient balance to cover the transaction.</p>\n</li>\n</ul>\n<p>If any validation fails, the payment will not be created.</p>\n<p><strong>Important</strong>: This endpoint must be explicitly enabled by <a href=\"https://integrations@payflow.es\">Payflow’s integrations team</a>. If not activated, all requests will be rejected.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<ul>\n<li><p><strong>personalId</strong> <code>[string]</code> <strong>[required]:</strong> Employee's identification document number</p>\n</li>\n<li><p><strong>amount</strong> <code>[number]</code> <strong>[required]:</strong> Payment amount to request (minimum: 1)</p>\n</li>\n</ul>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p>Upon successful creation:</p>\n<ul>\n<li><p><strong>id</strong> <code>[number]</code> <strong>:</strong> Internal payment ID (auto-generated)</p>\n</li>\n<li><p><strong>identifier</strong> <code>[string]</code> <strong>:</strong> Payment unique identifier</p>\n</li>\n<li><p><strong>amount</strong> <code>[number]</code> <strong>:</strong> Payment amount</p>\n</li>\n<li><p><strong>fee</strong> <code>[number]</code> <strong>:</strong> Processing fee</p>\n</li>\n<li><p><strong>requestedAt</strong> <code>[string]</code> <strong>:</strong> When payment was requested (ISO string)</p>\n</li>\n<li><p><strong>status</strong> <code>[string]</code> <strong>:</strong> Payment status (e.g., \"pending\")</p>\n</li>\n<li><p><strong>companyId</strong> <code>[number]</code> <strong>:</strong> Company ID</p>\n</li>\n<li><p><strong>employeeId</strong> <code>[number]</code> <strong>:</strong> Employee ID</p>\n</li>\n<li><p><strong>provider</strong> <code>[string]</code> <strong>:</strong> Payment provider (e.g., \"unnax\")</p>\n</li>\n<li><p><strong>employee</strong> <code>[object]</code> <strong>:</strong> Employee information</p>\n<ul>\n<li><p><strong>id</strong> <code>[number]</code> <strong>:</strong> Employee's internal ID</p>\n</li>\n<li><p><strong>personalId</strong> <code>[string]</code> <strong>:</strong> Employee's identification document number</p>\n</li>\n<li><p><strong>payrollId</strong> <code>[string]</code> <strong>:</strong> Employee's payroll ID</p>\n</li>\n<li><p><strong>firstName</strong> <code>[string]</code> <strong>:</strong> Employee's first name</p>\n</li>\n<li><p><strong>lastName</strong> <code>[string]</code> <strong>:</strong> Employee's last name</p>\n</li>\n<li><p><strong>iban</strong> <code>[string]</code> <strong>:</strong> Employee's IBAN</p>\n</li>\n<li><p><strong>subsidiary</strong> <code>[object]</code> <strong>:</strong> Subsidiary information (if applicable)</p>\n<ul>\n<li><p><strong>id</strong> <code>[number]</code> <strong>:</strong> Subsidiary ID</p>\n</li>\n<li><p><strong>taxId</strong> <code>[string]</code> <strong>:</strong> Subsidiary tax ID</p>\n</li>\n<li><p><strong>subsidiaryCode</strong> <code>[string]</code> <strong>:</strong> Subsidiary code</p>\n</li>\n<li><p><strong>name</strong> <code>[string]</code> <strong>:</strong> Subsidiary name</p>\n</li>\n<li><p><strong>legalName</strong> <code>[string]</code> <strong>:</strong> Subsidiary legal name</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["payments"],"host":["https://api-public.payflow.es"],"query":[],"variable":[]}},"response":[{"id":"f48f062c-5b41-448c-8844-3d7a3262df0f","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"personalId\": \"12345678Z\",\n    \"amount\": 100\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/payments"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"id\": 932,\n        \"identifier\": \"ABy0T2D21\",\n        \"amount\": 100,\n        \"fee\": 0,\n        \"requestedAt\": \"2025-06-04T09:19:21.000Z\",\n        \"status\": \"pending\",\n        \"companyId\": 1,\n        \"employeeId\": 1,\n        \"provider\": \"unnax\",\n        \"employee\": {\n            \"id\": 1,\n            \"personalId\": \"12345678Z\",\n            \"payrollId\": \"Emp01\",\n            \"firstName\": \"John\",\n            \"lastName\": \"Doe\",\n            \"iban\": \"ES0000000000000000000000\",\n            \"subsidiary\": {\n                \"id\": 1,\n                \"taxId\": \"ESA00000000\",\n                \"subsidiaryCode\": \"1\",\n                \"name\": \"Payflow\",\n                \"legalName\": \"Payflow Digital Inc.\"\n            }\n        }\n    }\n}"},{"id":"ce08569c-99fc-4f15-a976-ca01ca869b20","name":"Insufficient Balance","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"personalId\": \"12345678Z\",\n    \"amount\": 1000\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/payments"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"An error occurred, error id: 295e0e60-2fec-11ec-984c-d542ab70c275\"\n}"}],"_postman_id":"daf2d6e8-aa34-42c8-bc5a-b8f09c6be35f"},{"name":"Callback Payments","id":"32e56e1c-791d-4cc2-8642-efbb6fcd0514","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"url\": \"https://your-system.com/payflow-webhooks/payment-success\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/payments/processed","description":"<p>Setup callback for processed payments. This endpoint allows you to configure a URL where Payflow will send notifications when payments are successfully processed.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<ul>\n<li><strong>url</strong> <code>[string]</code>: URL where payment success notifications will be sent <em>(required, must be valid URI)</em></li>\n</ul>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<p><strong>Success (HTTP 200):</strong></p>\n<ul>\n<li>Empty response body</li>\n</ul>\n<p><strong>Validation Error (HTTP 400):</strong></p>\n<ul>\n<li><strong>id</strong> <code>[string]</code>: Request ID (JSON string format)</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["payments","processed"],"host":["https://api-public.payflow.es"],"query":[],"variable":[]}},"response":[],"_postman_id":"32e56e1c-791d-4cc2-8642-efbb6fcd0514"},{"name":"Acknowledge Payments","id":"ef25a252-5856-4025-b252-9de66ce796a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"paymentsToMarkAsInformed\": []\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/payments/acknowledge","description":"<p>Use this endpoint to acknowledge that a payment has been informed to your payroll system.</p>\n<p>We recommend calling this endpoint so that Payflow is aware of which payments have been reported on your end, helping ensure easier reconciliation between systems.</p>\n<p>For more information, feel free to contact us at <a href=\"https://integrations@payflow.es\">integrations@payflow.es</a>.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<ul>\n<li><strong>paymentsToMarkAsInformed</strong> <code>[array]</code><strong>:</strong> Array of payment identifiers to mark as informed (minimum: 1 payment)</li>\n</ul>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<ul>\n<li><strong>paymentsMarked</strong> <code>[array]</code> <strong>:</strong> Array of payment identifiers that were successfully marked as informed</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["payments","acknowledge"],"host":["https://api-public.payflow.es"],"query":[],"variable":[]}},"response":[{"id":"706696ab-1759-477c-ab9f-1ba00ef3f31e","name":"Success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"paymentsToMarkAsInformed\": [\n        \"aAa0AaAaAa\",\n        \"aAa0AaAaAb\",\n        \"aAa0AaAaAc\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://api-public.payflow.es/payments/acknowledge"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"paymentsMarked\": [\n        \"aAa0AaAaAa\",\n        \"aAa0AaAaAb\",\n        \"aAa0AaAaAc\"\n    ]\n}"}],"_postman_id":"ef25a252-5856-4025-b252-9de66ce796a5"},{"name":"Available Amount","id":"c77ed6e8-e369-440d-a9b5-7e18d1576141","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/payments/available?personalId=&payrollId&id","description":"<p>Retrieves the amount currently available for an employee to withdraw through Payflow.</p>\n<p>Use this endpoint to check the up-to-date balance an employee can request based on their worked days and company settings.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<hr />\n<ul>\n<li><p><strong>available</strong> <code>[number]</code> <strong>:</strong> Available amount for withdrawal (floor value)</p>\n</li>\n<li><p><strong>amountReason</strong> <code>[string|null]</code> <strong>:</strong> Reason why amount is 0 (null if available &gt; 0)</p>\n</li>\n<li><p><strong>reducedAmountReason</strong> <code>[string|null]</code> <strong>:</strong> Reason why amount might be reduced (null if available = 0)</p>\n</li>\n<li><p><strong>maximumSavingsRate</strong> <code>[number]</code> <strong>:</strong> Maximum savings rate for the employee</p>\n</li>\n<li><p><strong>withdrawn</strong> <code>[number]</code> <strong>:</strong> Total amount already withdrawn in current cycle</p>\n</li>\n<li><p><strong>remainingSalary</strong> <code>[number]</code> <strong>:</strong> Remaining salary after withdrawals</p>\n</li>\n<li><p><strong>salaryEarnedInfo</strong> <code>[object]</code> <strong>:</strong> Detailed information about salary earned</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["payments","available"],"host":["https://api-public.payflow.es"],"query":[{"description":{"content":"<p>Employee document number</p>\n","type":"text/plain"},"key":"personalId","value":""},{"description":{"content":"<p>Employee ID in your payroll software</p>\n","type":"text/plain"},"key":"payrollId","value":null},{"description":{"content":"<p>Employee ID in Payflow</p>\n","type":"text/plain"},"key":"id","value":null}],"variable":[]}},"response":[{"id":"12b726bb-cac9-4a4b-b22f-213d4397f4dc","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/payments/available?personalId=12345678Z","protocol":"https","host":["api-public","payflow","es"],"path":["payments","available"],"query":[{"key":"personalId","value":"12345678Z","description":"Employee document number"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"available\": 514,\n    \"amountReason\": null,\n    \"reducedAmountReason\": null,\n    \"maximumSavingsRate\": 0,\n    \"withdrawn\": 0,\n    \"remainingSalary\": 1928,\n    \"salaryEarnedInfo\": {\n        \"dayNumberInCycle\": 8,\n        \"numberOfDaysInCycle\": 30,\n        \"netSalary\": 1928,\n        \"totalEarned\": 514.1333333333333\n    }\n}"}],"_postman_id":"c77ed6e8-e369-440d-a9b5-7e18d1576141"}],"id":"27fc0fa0-ba70-41cd-9b05-7d592e1df4f5","description":"<p>A <strong>payment</strong> represents a money transfer made to an employee. While Payflow strives to process payments as quickly as possible, various factors can cause delays or failures.</p>\n<p>This entity provides insight into the status of each payment, indicating whether it has been successfully completed, is still in progress, or has failed.</p>\n<h3 id=\"payment-lifecycle\"><strong>Payment Lifecycle</strong></h3>\n<p>Each payment goes through a lifecycle, represented by the <code>status</code> field:</p>\n<ul>\n<li><p><strong><code>pending</code></strong>: The payment has been requested but not yet submitted to the bank.</p>\n</li>\n<li><p><strong><code>processing</code></strong>: The payment has been submitted to the bank and is awaiting confirmation.</p>\n</li>\n<li><p><strong><code>processed</code></strong>: The bank has confirmed that the payment was successfully completed.</p>\n</li>\n<li><p><strong><code>canceled</code></strong>: The transaction was canceled by a Payflow user. This is a <strong>final</strong> state — the payment will not be made.</p>\n</li>\n<li><p><strong><code>delayed</code></strong>: The payment has been sent to the bank, but more than 5 minutes have passed without confirmation.</p>\n</li>\n<li><p><strong><code>error</code></strong>: The bank reported that the payment could not be processed. This is a <strong>final</strong> state — the payment will not be made. An additional <code>message</code> field will contain the error details from the bank.</p>\n</li>\n</ul>\n","_postman_id":"27fc0fa0-ba70-41cd-9b05-7d592e1df4f5","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}}},{"name":"Flexflow","item":[{"name":"Transaction Amounts","id":"356aea9d-b77d-410d-958c-b985bee45ae2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/flexflow/amounts","description":"<p>Retrieves the total transaction amounts per category for employees who used their Flexflow cards during the cycle specified in the query parameter.</p>\n<p><strong>Filtering behavior:</strong></p>\n<ul>\n<li><p>If no <strong><code>taxId</code></strong> is provided: Returns data for <strong>all employees in the company</strong></p>\n</li>\n<li><p>If a <strong><code>taxId</code></strong> is provided: Returns data for <strong>employees in that specific subsidiary</strong></p>\n</li>\n<li><p>If the <strong><code>taxId</code></strong> of the <strong>main subsidiary</strong> is sent, it will include employees who are not assigned to that subsidiary.</p>\n</li>\n</ul>\n<h3 id=\"response-fields\">Response Fields</h3>\n<hr />\n<ul>\n<li><p><strong>personalId</strong> <code>[string]</code> <strong>:</strong> Employee's identification document number</p>\n</li>\n<li><p><strong>amount_food</strong> <code>[number]</code> <strong>:</strong> Total amount spent on food category</p>\n</li>\n<li><p><strong>amount_transport</strong> <code>[number]</code> <strong>:</strong> Total amount spent on transport category</p>\n</li>\n<li><p><strong>amount_education</strong> <code>[number]</code> <strong>[optional]:</strong> Total amount spent on education category</p>\n</li>\n<li><p><strong>amount_nursery</strong> <code>[number]</code> <strong>[optional]:</strong> Total amount spent on nursery category</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["flexflow","amounts"],"host":["https://api-public.payflow.es"],"query":[{"disabled":true,"description":{"content":"<p>Cycle month in YYYY-MM format</p>\n","type":"text/plain"},"key":"cycle","value":""},{"disabled":true,"description":{"content":"<p>Subsidiary tax ID</p>\n","type":"text/plain"},"key":"taxId","value":""},{"disabled":true,"description":{"content":"<p>Index of the first record to return</p>\n","type":"text/plain"},"key":"offset","value":""},{"disabled":true,"description":{"content":"<p>Maximum number of records to return</p>\n","type":"text/plain"},"key":"limit","value":""}],"variable":[]}},"response":[{"id":"5d0d98f5-1d4d-437d-bfd6-71a94cef0733","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/flexflow/amounts?cycle=2025-06&taxId=A00000000","host":["https://api-public.payflow.es"],"path":["flexflow","amounts"],"query":[{"key":"cycle","value":"2025-06","description":"Cycle month in YYYY-MM format"},{"key":"taxId","value":"A00000000","description":"Subsidiary tax ID"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"personalId\": \"12345678A\",\n            \"amount_food\": 100,\n            \"amount_transport\": 50,\n            \"amount_education\": 0,\n            \"amount_nursery\": 0\n        }\n    ],\n    \"meta\": {\n        \"total\": 1,\n        \"perPage\": 50,\n        \"currentPage\": 1,\n        \"lastPage\": 1,\n        \"cycle\": \"2025-06\"\n    }\n}"}],"_postman_id":"356aea9d-b77d-410d-958c-b985bee45ae2"},{"name":"Employee Transaction Amounts","id":"c3403435-69cc-4f0b-8418-8cccc7b6bf5f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api-public.payflow.es/flexflow/amounts/employee/:personalId?cycle","description":"<p>Retrieves the total transaction amounts per category for a specific employee during a given cycle.</p>\n<h3 id=\"response-fields\">Response Fields</h3>\n<hr />\n<ul>\n<li><p><strong>personalId</strong> <code>[string]</code> <strong>:</strong> Employee's identification document number</p>\n</li>\n<li><p><strong>amount_food</strong> <code>[number]</code> <strong>:</strong> Total amount spent on food category</p>\n</li>\n<li><p><strong>amount_transport</strong> <code>[number]</code> <strong>:</strong> Total amount spent on transport category</p>\n</li>\n<li><p><strong>amount_education</strong> <code>[number]</code> <strong>[optional]:</strong> Total amount spent on education category</p>\n</li>\n<li><p><strong>amount_nursery</strong> <code>[number]</code> <strong>[optional]:</strong> Total amount spent on nursery category</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}},"urlObject":{"path":["flexflow","amounts","employee",":personalId"],"host":["https://api-public.payflow.es"],"query":[{"description":{"content":"<p>Cycle month in YYYY-MM format</p>\n","type":"text/plain"},"key":"cycle","value":null}],"variable":[{"id":"50951337-44b2-4f9f-a454-43643738817d","description":{"content":"<p>Employee's identification document number</p>\n","type":"text/plain"},"type":"any","value":"","key":"personalId"}]}},"response":[{"id":"7b4f4d32-2fa1-4847-a0bd-e557b1c1ae4e","name":"Employee Transaction Amounts","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api-public.payflow.es/flexflow/amounts/employee/:personalId?cycle","host":["https://api-public.payflow.es"],"path":["flexflow","amounts","employee",":personalId"],"query":[{"key":"cycle","value":null,"description":"Cycle month in YYYY-MM format"}],"variable":[{"key":"personalId","value":"12345678K","description":"Employee's identification document number\n"}]}},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n  \"personalId\": \"12345678K\",\n  \"amount_food\": 150.50,\n  \"amount_transport\": 80.00,\n  \"amount_education\": 200.00,\n  \"amount_nursery\": 300.00\n}"}],"_postman_id":"c3403435-69cc-4f0b-8418-8cccc7b6bf5f"}],"id":"714cd039-09de-4591-80e6-6d12e8a924ba","description":"<p><strong>Flexflow</strong> is Payflow’s <em>Retribución Flexible</em> product, which allows employees to allocate part of their salary toward eligible expenses such as food, transportation, education, nursery, and insurance — all within legal limits.</p>\n<p>This collection provides endpoints to retrieve information about employee spending through Flexflow, filtered by specific benefit cycles.</p>\n","_postman_id":"714cd039-09de-4591-80e6-6d12e8a924ba","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]},"isInherited":true,"source":{"_postman_id":"d205a55f-edf5-4d53-94f9-722bfffa8205","id":"d205a55f-edf5-4d53-94f9-722bfffa8205","name":"Payflow API (EN)","type":"collection"}}}],"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"authorization"},{"key":"value","value":"Your-API-key-here"}]}},"event":[{"listen":"prerequest","script":{"id":"5d51bece-3f4e-4ecc-a552-2d6518b9e7ac","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"68c585be-09a5-44d1-a835-85b1315094ad","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"baseURL","value":"https://api-public.payflow.es","type":"string"},{"key":"apiKey","value":"Your-API-key-here","type":"string"}]}