openapi: 3.0.3 info: title: 'Laravel API Documentation' description: 'This documentation aims to provide all the information you need to work with our API.' version: 1.0.0 servers: - url: 'http://localhost' tags: - name: Admins description: '' - name: Authentication description: '' - name: Endpoints description: '' - name: 'Payroll Module' description: 'Manage payroll groups and employee adjustments.' components: securitySchemes: default: type: http scheme: bearer description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.' security: - default: [] paths: /api/v1/admin/admins: get: summary: 'Index Admins' operationId: indexAdmins description: '' parameters: - in: query name: 'filter[name]' description: 'Filter admins by name' example: 'John Doe' required: false schema: type: string description: 'Filter admins by name' example: 'John Doe' - in: query name: 'filter[email]' description: 'Filter admins by email' example: johndoe@somewhere.com required: false schema: type: string description: 'Filter admins by email' example: johndoe@somewhere.com - in: query name: sort description: 'Sort admins by column' example: 'name,-email' required: false schema: type: string description: 'Sort admins by column' example: 'name,-email' - in: query name: page description: 'Page number' example: 1 required: false schema: type: number description: 'Page number' example: 1 - in: query name: per_page description: 'Number of items per page' example: 10 required: false schema: type: number description: 'Number of items per page' example: 10 responses: 200: description: ok content: application/json: schema: type: object example: message: ok data: data: - id: 01jm56rsp3z3bmq9mw7rxp26br name: 'John Doe' email: jhondoe@somewhere.com email_verified_at: '2021-10-01T00:00:00.000000Z' created_at: '2021-10-01T00:00:00.000000Z' updated_at: '2021-10-01T00:00:00.000000Z' properties: message: type: string example: ok data: type: object properties: data: type: array example: - id: 01jm56rsp3z3bmq9mw7rxp26br name: 'John Doe' email: jhondoe@somewhere.com email_verified_at: '2021-10-01T00:00:00.000000Z' created_at: '2021-10-01T00:00:00.000000Z' updated_at: '2021-10-01T00:00:00.000000Z' items: type: object properties: id: type: string example: 01jm56rsp3z3bmq9mw7rxp26br name: type: string example: 'John Doe' email: type: string example: jhondoe@somewhere.com email_verified_at: type: string example: '2021-10-01T00:00:00.000000Z' created_at: type: string example: '2021-10-01T00:00:00.000000Z' updated_at: type: string example: '2021-10-01T00:00:00.000000Z' 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Admins /api/v1/admin/authentication/login: post: summary: Login operationId: login description: '' parameters: [] responses: 200: description: ok content: application/json: schema: type: object example: message: ok data: access_token: jwt_token access_token_expires_at: timestamp_on_which_access_token_expires properties: message: type: string example: ok data: type: object properties: access_token: type: string example: jwt_token access_token_expires_at: type: string example: timestamp_on_which_access_token_expires 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Authentication requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Email of the admin' example: admin@somewhere.com password: type: string description: 'Password of the admin' example: password required: - email - password security: [] /api/v1/admin/authentication/logout: post: summary: Logout operationId: logout description: '' parameters: [] responses: 200: description: ok content: application/json: schema: type: object example: message: ok data: [] properties: message: type: string example: ok data: type: array example: [] 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Authentication /api/v1/payrolls/periods: get: summary: '' operationId: getApiV1PayrollsPeriods description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: '' content: application/json: schema: oneOf: - description: '' type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' - description: 'internal server error' type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints /api/v1/payrolls/period-dates: get: summary: '' operationId: getApiV1PayrollsPeriodDates description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: '' content: application/json: schema: oneOf: - description: '' type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' - description: 'internal server error' type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints /api/v1/payrolls/groups: get: summary: '' operationId: getApiV1PayrollsGroups description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: '' content: application/json: schema: oneOf: - description: '' type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' - description: 'internal server error' type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints /api/v1/payrolls/analytics/last-three-months: get: summary: '' operationId: getApiV1PayrollsAnalyticsLastThreeMonths description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: '' content: application/json: schema: oneOf: - description: '' type: object example: message: 'The payroll month field is required.' errors: payroll_month: - 'The payroll month field is required.' properties: message: type: string example: 'The payroll month field is required.' errors: type: object properties: payroll_month: type: array example: - 'The payroll month field is required.' items: type: string - description: 'validation failed' type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints /api/v1/payrolls/analytics/total-income-currency: get: summary: '' operationId: getApiV1PayrollsAnalyticsTotalIncomeCurrency description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: '' content: application/json: schema: oneOf: - description: '' type: object example: message: 'The payroll group id field is required.' errors: payroll_group_id: - 'The payroll group id field is required.' properties: message: type: string example: 'The payroll group id field is required.' errors: type: object properties: payroll_group_id: type: array example: - 'The payroll group id field is required.' items: type: string - description: 'validation failed' type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints /api/v1/payrolls/analytics/total-net-pay: get: summary: '' operationId: getApiV1PayrollsAnalyticsTotalNetPay description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: '' content: application/json: schema: oneOf: - description: '' type: object example: message: 'The payroll month field is required.' errors: payroll_month: - 'The payroll month field is required.' properties: message: type: string example: 'The payroll month field is required.' errors: type: object properties: payroll_month: type: array example: - 'The payroll month field is required.' items: type: string - description: 'validation failed' type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints '/api/v1/payrolls/groups/{id}/previous-months': get: summary: '' operationId: getApiV1PayrollsGroupsIdPreviousMonths description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: '' content: application/json: schema: oneOf: - description: '' type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' - description: 'internal server error' type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints parameters: - in: path name: id description: 'The ID of the group.' example: architecto required: true schema: type: string /api/v1/payrolls/settings/main: patch: summary: '' operationId: patchApiV1PayrollsSettingsMain description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints get: summary: '' operationId: getApiV1PayrollsSettingsMain description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Settings retrieved successfully' data: id: 18334a40-71d4-11ec-b95c-436603e907c2 base_currency_code: MMK income_tax_option: without_approximately financial_month: 4 ho_approver_id: 843e6280-bf71-11e9-9489-d7bf3defe876 ho_finance_approver_id: ddfdec00-8a1b-11ec-aa1c-ad215049e5d2 properties: message: type: string example: 'Settings retrieved successfully' data: type: object properties: id: type: string example: 18334a40-71d4-11ec-b95c-436603e907c2 base_currency_code: type: string example: MMK income_tax_option: type: string example: without_approximately financial_month: type: integer example: 4 ho_approver_id: type: string example: 843e6280-bf71-11e9-9489-d7bf3defe876 ho_finance_approver_id: type: string example: ddfdec00-8a1b-11ec-aa1c-ad215049e5d2 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints /api/v1/payrolls/settings: post: summary: '' operationId: postApiV1PayrollsSettings description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints '/api/v1/payrolls/settings/{id}': patch: summary: '' operationId: patchApiV1PayrollsSettingsId description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints get: summary: '' operationId: getApiV1PayrollsSettingsId description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: '' content: application/json: schema: oneOf: - description: '' type: object example: message: 'The weekly hours field is required. (and 8 more errors)' errors: weekly_hours: - 'The weekly hours field is required.' calculate_working_days_type: - 'The calculate working days type field is required.' policy_id: - 'The policy id field is required.' ot_type: - 'The ot type field is required.' ot_hourly_amount: - 'The ot hourly amount field is required.' absent_multiple: - 'The absent multiple field is required.' absent_type: - 'The absent type field is required.' absent_amount: - 'The absent amount field is required.' cut_off_for_late_join: - 'The cut off for late join field is required.' properties: message: type: string example: 'The weekly hours field is required. (and 8 more errors)' errors: type: object properties: weekly_hours: type: array example: - 'The weekly hours field is required.' items: type: string calculate_working_days_type: type: array example: - 'The calculate working days type field is required.' items: type: string policy_id: type: array example: - 'The policy id field is required.' items: type: string ot_type: type: array example: - 'The ot type field is required.' items: type: string ot_hourly_amount: type: array example: - 'The ot hourly amount field is required.' items: type: string absent_multiple: type: array example: - 'The absent multiple field is required.' items: type: string absent_type: type: array example: - 'The absent type field is required.' items: type: string absent_amount: type: array example: - 'The absent amount field is required.' items: type: string cut_off_for_late_join: type: array example: - 'The cut off for late join field is required.' items: type: string - description: 'validation failed' type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints parameters: - in: path name: id description: 'The ID of the setting.' example: architecto required: true schema: type: string /api/v1/payrolls/income-taxes/totals: get: summary: '' operationId: getApiV1PayrollsIncomeTaxesTotals description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Total income taxes retrieved successfully' data: [] properties: message: type: string example: 'Total income taxes retrieved successfully' data: type: array example: [] 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints /api/v1/users/entities: get: summary: '' operationId: getApiV1UsersEntities description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: '' content: application/json: schema: oneOf: - description: '' type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' - description: 'internal server error' type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints /api/v1/users/workspaces/current: get: summary: '' operationId: getApiV1UsersWorkspacesCurrent description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: '' content: application/json: schema: oneOf: - description: '' type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' - description: 'internal server error' type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - Endpoints '/api/v1/payrolls/groups/{payroll_group_id}/employees/{employee_id}/tax-on-bonus': patch: summary: 'Update Tax on Bonus' operationId: updateTaxOnBonus description: '' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - 'Payroll Module' requestBody: required: true content: application/json: schema: type: object properties: tax_on_bonus: type: number description: 'Tax amount applied to bonus' example: 5000.0 tax_on_bonus_operator: type: string description: 'Calculation operator (+, -, *, /)' example: + required: - tax_on_bonus - tax_on_bonus_operator parameters: - in: path name: payroll_group_id description: 'Payroll Group UUID' example: 9b40b8a3-1111-2222-3333 required: true schema: type: string - in: path name: employee_id description: 'Employee UUID' example: 8c51c9b4-4444-5555-6666 required: true schema: type: string /api/v1/payrolls/income-types: get: summary: 'Get Income Types' operationId: getIncomeTypes description: 'Retrieve a list of employee income types with optional filtering.' parameters: - in: query name: 'filter[id]' description: 'Filter by income type ID' example: architecto required: false schema: type: string description: 'Filter by income type ID' example: architecto - in: query name: 'filter[name]' description: 'Filter by income type name' example: architecto required: false schema: type: string description: 'Filter by income type name' example: architecto - in: query name: 'filter[type]' description: 'Filter by income type category (fixed or variable)' example: fixed required: false schema: type: string description: 'Filter by income type category (fixed or variable)' example: fixed - in: query name: 'filter[enable]' description: 'Show only enabled income types' example: true required: false schema: type: boolean description: 'Show only enabled income types' example: true - in: query name: sort description: 'Sort results (e.g. name or -name for descending)' example: name required: false schema: type: string description: 'Sort results (e.g. name or -name for descending)' example: name responses: 200: description: '' content: application/json: schema: type: object example: message: 'Income types retrieved successfully.' data: - id: 81fec2c0-9a56-11ed-b751-e363a94b3b3d name: '_Novated Lease' type: net_deduction enable: true hide_in_setting: false - id: 8af61750-9a56-11ed-b104-35815bc814c3 name: '_Yoma Plus' type: net_deduction enable: true hide_in_setting: false - id: 4086bc50-71d5-11ec-9f1e-b923515c1e7f name: 'A08 Meal' type: allowance enable: true hide_in_setting: false - id: 4120ba40-71d5-11ec-a016-eb55fe54078d name: 'A13 KidsSchool_Fees' type: allowance enable: true hide_in_setting: false - id: 41955560-71d5-11ec-b13c-bbd878695ced name: 'A20 PrevMonth_WDays' type: allowance enable: true hide_in_setting: false - id: 8dd94780-8a50-11ed-8b16-339709c6f69b name: aaa type: allowance enable: true hide_in_setting: false - id: be1c67d0-71d4-11ec-abbf-cff6cfec99bc name: Absent type: deduction enable: true hide_in_setting: false - id: 07688f70-9b6a-11ec-817a-f11d66105d24 name: 'Absent UAT' type: deduction enable: false hide_in_setting: false - id: 3f9a4bb0-71d5-11ec-bb23-7baf0af685dc name: 'Accommodation Allowance' type: allowance enable: true hide_in_setting: false - id: 22be3a30-4f79-11ed-845b-638d13859938 name: 'Additional Allowance' type: allowance enable: true hide_in_setting: false - id: a6954930-8b3e-11ed-9c88-b785b5124351 name: afternet12 type: net_deduction enable: true hide_in_setting: false - id: 90698f50-26dc-11ee-b661-4576b4c17124 name: Allowance type: allowance enable: true hide_in_setting: false - id: 4012fe00-71d5-11ec-a4d9-0bfb692b9288 name: AWS type: allowance enable: true hide_in_setting: false - id: 184c8360-71d4-11ec-be4f-e1fc81b350d3 name: 'Basic Salary' type: allowance enable: true hide_in_setting: true - id: 3ff5b860-71d5-11ec-b858-8196aa72def9 name: Bonus type: allowance enable: true hide_in_setting: false - id: 413de4e0-71d5-11ec-9bb6-993f8cc82cfe name: Claims type: allowance enable: true hide_in_setting: false - id: 389375e0-6268-11ee-8d09-319d8b38b4ab name: COL type: allowance enable: true hide_in_setting: false - id: 4067b0b0-71d5-11ec-849b-cfdc1bd2500d name: Commission type: allowance enable: true hide_in_setting: false - id: 415ad910-71d5-11ec-8037-f7bfd56dc9db name: 'CPF Employer (Addition)' type: allowance enable: true hide_in_setting: false - id: 42a09210-71d5-11ec-b67a-471ad4e9f06a name: CPF_Employee type: deduction enable: false hide_in_setting: false - id: 42bf0420-71d5-11ec-962d-4d43a0610405 name: 'CPF_Employer (Deduction)' type: deduction enable: true hide_in_setting: false - id: 9d6f21c0-6fc4-11ed-964b-b9352d38ae1b name: 'custom income type' type: deduction enable: true hide_in_setting: false - id: cd422e30-880f-11ed-97e8-61db4453f13b name: 'deduction Type Feature(Afternet)' type: net_deduction enable: true hide_in_setting: false - id: a826b420-880f-11ed-ba6e-43aab0540d68 name: 'Deduction type new' type: net_deduction enable: true hide_in_setting: false - id: 89230640-8b3e-11ed-8fc6-3b1377faa496 name: deduction12 type: deduction enable: true hide_in_setting: false - id: 217945a0-2f7e-11ee-879c-795ed1982030 name: 'Drink Allowance' type: allowance enable: true hide_in_setting: false - id: 1b7a3530-7ef5-11ec-bce6-31c59cd07988 name: 'Earned Salary' type: allowance enable: true hide_in_setting: true - id: b58e7560-795a-11ed-b97b-cf18096fdf9e name: education type: deduction enable: true hide_in_setting: false - id: d077b040-795a-11ed-a8a5-b7f075ad313d name: example type: allowance enable: true hide_in_setting: false - id: a4220b70-795a-11ed-a9ca-9fc00a03fbe0 name: example type: deduction enable: true hide_in_setting: false - id: 402f7520-71d5-11ec-9cee-5572aa539330 name: Hardship type: allowance enable: true hide_in_setting: false - id: daad8dc0-9161-11ed-aa81-bb698bbad732 name: 'Home Loan' type: net_deduction enable: true hide_in_setting: false - id: 420c5520-71d5-11ec-9ecd-595a6ca052e2 name: Housing type: deduction enable: true hide_in_setting: false - id: 18573310-71d4-11ec-907d-3763f550852e name: 'Income Tax' type: deduction enable: true hide_in_setting: true - id: 2afb31d0-9a56-11ed-b2e9-495f6096c06d name: 'KLH 1' type: net_deduction enable: true hide_in_setting: false - id: 31d972b0-9a56-11ed-9b61-a7516c14190d name: 'KLH 2' type: net_deduction enable: true hide_in_setting: false - id: 9dd95a90-2f73-11ee-85d2-cf68c8b4f339 name: 'Ko PaiLay Tax' type: allowance enable: true hide_in_setting: false - id: 18616ca0-71d4-11ec-9a2c-791d355c94ef name: 'Late Penalty' type: deduction enable: true hide_in_setting: false - id: d79a3f50-ec85-11ed-8430-4750d1f72d6b name: 'Leave Allowance' type: allowance enable: true hide_in_setting: false - id: d81ebb00-ec85-11ed-a13d-ff2d5e4ab4f2 name: 'Leave Deduction' type: deduction enable: true hide_in_setting: false - id: bae96380-71e3-11ec-9961-6bcaedbaeadb name: 'Leave Refund' type: allowance enable: true hide_in_setting: true - id: 40c4f580-71d5-11ec-9dba-f5eab948f4ec name: 'Leave Refund (Manual)' type: allowance enable: true hide_in_setting: false - id: 40a4caf0-71d5-11ec-b709-455b413111e8 name: Location type: allowance enable: true hide_in_setting: false - id: 1d62b4c0-9b6a-11ec-8ea5-abe9052d8851 name: LOP_UAT type: deduction enable: true hide_in_setting: false - id: 0f11b880-8b2b-11ed-83fc-8b7687328afa name: 'Medical AR' type: deduction enable: true hide_in_setting: false - id: 6e049020-9807-11ed-a26c-d3ff5c7b19e7 name: 'NDT Test' type: net_deduction enable: true hide_in_setting: false - id: 61d09d80-880f-11ed-87ed-3760b801115f name: 'New Deduction Type (AND)' type: net_deduction enable: true hide_in_setting: false - id: 41d24cb0-71d5-11ec-b20e-5dfe2721a9b7 name: 'Notice Pay' type: allowance enable: true hide_in_setting: false - id: 42f9c700-71d5-11ec-95df-c79db2590d0e name: 'Novated Lease' type: deduction enable: true hide_in_setting: false - id: ad4acaf0-d1ee-11ed-9ae9-8733dea70efe name: 'Off_Days Allowance' type: allowance enable: true hide_in_setting: false - id: 3fd72440-71d5-11ec-bccb-3d2189dced96 name: 'Other Allowance' type: allowance enable: true hide_in_setting: false - id: 0ca6a690-4f7c-11ed-ad6c-97d494175550 name: 'Other Deduction' type: deduction enable: true hide_in_setting: false - id: 41036940-71d5-11ec-93ea-a751274d9040 name: 'OtherAdd NTaxable' type: allowance enable: true hide_in_setting: false - id: 40e4e720-71d5-11ec-b291-2d7aff3cfe87 name: 'OtherAdd Taxable' type: allowance enable: true hide_in_setting: false - id: 42662820-71d5-11ec-8ccd-c96aa7b8f3cb name: 'OtherDedu Taxable' type: deduction enable: true hide_in_setting: false - id: 42839400-71d5-11ec-8206-d36a3bfe491d name: OtherDedu_NTaxable type: deduction enable: true hide_in_setting: false - id: 18522650-71d4-11ec-9dbe-03da67d6b2a5 name: Overtime type: allowance enable: true hide_in_setting: false - id: 424664e0-71d5-11ec-ad69-b713cdefc05c name: 'Owing by Staff' type: deduction enable: true hide_in_setting: false - id: 4178d7b0-71d5-11ec-a8de-e98b6f659175 name: 'Owning to Staff ' type: allowance enable: true hide_in_setting: false - id: 404b2f90-71d5-11ec-8e28-137c0766b715 name: 'Performance Pay' type: allowance enable: true hide_in_setting: false - id: 089a74b0-31a9-11ee-bcdd-4945050e1552 name: 'Phone Bill Allowonce' type: allowance enable: true hide_in_setting: false - id: 3fb958f0-71d5-11ec-9994-550f38c81d31 name: 'S6 Meal Allowance' type: allowance enable: true hide_in_setting: true - id: 48c6e930-a049-11ec-ad25-d345fe3211c8 name: 'Service Money' type: allowance enable: true hide_in_setting: false - id: 41ef0e80-71d5-11ec-9f0f-431088ce2f79 name: 'Severance Pay' type: allowance enable: true hide_in_setting: false - id: 185c41c0-71d4-11ec-9535-1d40f473e7a8 name: SSB type: deduction enable: true hide_in_setting: true - id: b370ec40-9566-11ec-8beb-fd556bd4f0f9 name: 'SSB (ER)' type: deduction enable: true hide_in_setting: false - id: b34ceb40-9566-11ec-87a2-f93d370e324c name: 'SSB (ER)' type: allowance enable: false hide_in_setting: false - id: c187d6b0-8a50-11ed-b2cd-c7ec05b46584 name: sss type: net_deduction enable: true hide_in_setting: false - id: 42dc5f70-71d5-11ec-b72d-2bce14772dee name: 'Staff Loan' type: deduction enable: true hide_in_setting: false - id: 41b339b0-71d5-11ec-b960-fbca76587362 name: 'Tax Refund' type: allowance enable: true hide_in_setting: false - id: 432554e0-c93e-11ec-a1b8-073530ae6e72 name: Test type: allowance enable: true hide_in_setting: false - id: d4438e10-8d64-11ed-ad35-65aa5e9a5d20 name: Test type: net_deduction enable: true hide_in_setting: false - id: 0a295790-c945-11ec-a103-b3c354b889ab name: Test type: deduction enable: true hide_in_setting: false - id: 7e37f9a0-4ec0-11ed-8ea2-d3e1725d07f8 name: 'Test Allowance' type: allowance enable: true hide_in_setting: false - id: f720fd50-2441-11ed-9e99-4b36f9413e2a name: 'Test allowance' type: allowance enable: true hide_in_setting: false - id: 0d6341c0-26dc-11ee-89ee-d50ecbbfc0ef name: 'Test Allowance (Wai)' type: allowance enable: true hide_in_setting: false - id: fcbbb410-26db-11ee-8929-c93b7637220e name: 'Test Allowance(Wai)' type: allowance enable: true hide_in_setting: false - id: db9f2400-2a74-11ed-bccf-f97b599e0001 name: 'Test Benefits' type: allowance enable: true hide_in_setting: false - id: c953fa20-8739-11ed-968f-b5dbfe853cae name: 'Test Deduction' type: deduction enable: true hide_in_setting: false - id: cf7c6980-2444-11ed-afb1-3b1bdde68194 name: 'Test Deduction' type: deduction enable: true hide_in_setting: false - id: c590f950-9f4a-11f0-9c14-89bfa84911a5 name: 'Test PSC Allowance' type: allowance enable: true hide_in_setting: false - id: 65d825e0-3577-11ed-aa50-5f99037b455c name: 'Test SWH' type: allowance enable: false hide_in_setting: false - id: 03b1a940-26dc-11ee-8569-33273caaeb48 name: TestAllowance(Wai) type: allowance enable: true hide_in_setting: false - id: 3d02e180-5101-11ed-8392-11129208153f name: Testing type: allowance enable: true hide_in_setting: false - id: 6f591c40-8b3e-11ed-9dbe-951836ba4c61 name: testing12 type: allowance enable: true hide_in_setting: false - id: c6099370-9162-11ed-b26e-0bd46df599e1 name: testings type: net_deduction enable: true hide_in_setting: false - id: 2b859d80-3a56-11ee-acff-9d7cf7474643 name: 'Today Allowance' type: allowance enable: true hide_in_setting: false - id: 5d020550-2dec-11ef-a438-ed4d1ccf7d2d name: Transportation type: allowance enable: true hide_in_setting: false - id: 3f7d49a0-71d5-11ec-a833-95721d4b5426 name: 'Transportation Allowance' type: allowance enable: true hide_in_setting: false - id: 4229ecb0-71d5-11ec-b832-cd9b82270331 name: 'Transportation Deduction' type: deduction enable: true hide_in_setting: false - id: 55ae9d50-9550-11ed-ae67-bf80553f2001 name: tt type: net_deduction enable: true hide_in_setting: false - id: 08152470-8b2b-11ed-b6a0-79d938966557 name: Uniform type: deduction enable: true hide_in_setting: false - id: 186695d0-71d4-11ec-983e-4df05adff75e name: Unpaid type: deduction enable: true hide_in_setting: false - id: 2c503620-26dc-11ee-a064-fb51e64acf76 name: Wai type: allowance enable: false hide_in_setting: false - id: f9009d00-276c-11ee-a95c-afc2c0559a6a name: 'wai wai Theint' type: allowance enable: true hide_in_setting: false - id: 13ab2b60-8b2b-11ed-b674-618be8a01fc6 name: 'Yoma Plus' type: deduction enable: true hide_in_setting: false - id: b9c3fb70-8a50-11ed-bc4a-6bf442f0fb10 name: zzz type: deduction enable: true hide_in_setting: false properties: message: type: string example: 'Income types retrieved successfully.' data: type: array example: - id: 81fec2c0-9a56-11ed-b751-e363a94b3b3d name: '_Novated Lease' type: net_deduction enable: true hide_in_setting: false - id: 8af61750-9a56-11ed-b104-35815bc814c3 name: '_Yoma Plus' type: net_deduction enable: true hide_in_setting: false - id: 4086bc50-71d5-11ec-9f1e-b923515c1e7f name: 'A08 Meal' type: allowance enable: true hide_in_setting: false - id: 4120ba40-71d5-11ec-a016-eb55fe54078d name: 'A13 KidsSchool_Fees' type: allowance enable: true hide_in_setting: false - id: 41955560-71d5-11ec-b13c-bbd878695ced name: 'A20 PrevMonth_WDays' type: allowance enable: true hide_in_setting: false - id: 8dd94780-8a50-11ed-8b16-339709c6f69b name: aaa type: allowance enable: true hide_in_setting: false - id: be1c67d0-71d4-11ec-abbf-cff6cfec99bc name: Absent type: deduction enable: true hide_in_setting: false - id: 07688f70-9b6a-11ec-817a-f11d66105d24 name: 'Absent UAT' type: deduction enable: false hide_in_setting: false - id: 3f9a4bb0-71d5-11ec-bb23-7baf0af685dc name: 'Accommodation Allowance' type: allowance enable: true hide_in_setting: false - id: 22be3a30-4f79-11ed-845b-638d13859938 name: 'Additional Allowance' type: allowance enable: true hide_in_setting: false - id: a6954930-8b3e-11ed-9c88-b785b5124351 name: afternet12 type: net_deduction enable: true hide_in_setting: false - id: 90698f50-26dc-11ee-b661-4576b4c17124 name: Allowance type: allowance enable: true hide_in_setting: false - id: 4012fe00-71d5-11ec-a4d9-0bfb692b9288 name: AWS type: allowance enable: true hide_in_setting: false - id: 184c8360-71d4-11ec-be4f-e1fc81b350d3 name: 'Basic Salary' type: allowance enable: true hide_in_setting: true - id: 3ff5b860-71d5-11ec-b858-8196aa72def9 name: Bonus type: allowance enable: true hide_in_setting: false - id: 413de4e0-71d5-11ec-9bb6-993f8cc82cfe name: Claims type: allowance enable: true hide_in_setting: false - id: 389375e0-6268-11ee-8d09-319d8b38b4ab name: COL type: allowance enable: true hide_in_setting: false - id: 4067b0b0-71d5-11ec-849b-cfdc1bd2500d name: Commission type: allowance enable: true hide_in_setting: false - id: 415ad910-71d5-11ec-8037-f7bfd56dc9db name: 'CPF Employer (Addition)' type: allowance enable: true hide_in_setting: false - id: 42a09210-71d5-11ec-b67a-471ad4e9f06a name: CPF_Employee type: deduction enable: false hide_in_setting: false - id: 42bf0420-71d5-11ec-962d-4d43a0610405 name: 'CPF_Employer (Deduction)' type: deduction enable: true hide_in_setting: false - id: 9d6f21c0-6fc4-11ed-964b-b9352d38ae1b name: 'custom income type' type: deduction enable: true hide_in_setting: false - id: cd422e30-880f-11ed-97e8-61db4453f13b name: 'deduction Type Feature(Afternet)' type: net_deduction enable: true hide_in_setting: false - id: a826b420-880f-11ed-ba6e-43aab0540d68 name: 'Deduction type new' type: net_deduction enable: true hide_in_setting: false - id: 89230640-8b3e-11ed-8fc6-3b1377faa496 name: deduction12 type: deduction enable: true hide_in_setting: false - id: 217945a0-2f7e-11ee-879c-795ed1982030 name: 'Drink Allowance' type: allowance enable: true hide_in_setting: false - id: 1b7a3530-7ef5-11ec-bce6-31c59cd07988 name: 'Earned Salary' type: allowance enable: true hide_in_setting: true - id: b58e7560-795a-11ed-b97b-cf18096fdf9e name: education type: deduction enable: true hide_in_setting: false - id: d077b040-795a-11ed-a8a5-b7f075ad313d name: example type: allowance enable: true hide_in_setting: false - id: a4220b70-795a-11ed-a9ca-9fc00a03fbe0 name: example type: deduction enable: true hide_in_setting: false - id: 402f7520-71d5-11ec-9cee-5572aa539330 name: Hardship type: allowance enable: true hide_in_setting: false - id: daad8dc0-9161-11ed-aa81-bb698bbad732 name: 'Home Loan' type: net_deduction enable: true hide_in_setting: false - id: 420c5520-71d5-11ec-9ecd-595a6ca052e2 name: Housing type: deduction enable: true hide_in_setting: false - id: 18573310-71d4-11ec-907d-3763f550852e name: 'Income Tax' type: deduction enable: true hide_in_setting: true - id: 2afb31d0-9a56-11ed-b2e9-495f6096c06d name: 'KLH 1' type: net_deduction enable: true hide_in_setting: false - id: 31d972b0-9a56-11ed-9b61-a7516c14190d name: 'KLH 2' type: net_deduction enable: true hide_in_setting: false - id: 9dd95a90-2f73-11ee-85d2-cf68c8b4f339 name: 'Ko PaiLay Tax' type: allowance enable: true hide_in_setting: false - id: 18616ca0-71d4-11ec-9a2c-791d355c94ef name: 'Late Penalty' type: deduction enable: true hide_in_setting: false - id: d79a3f50-ec85-11ed-8430-4750d1f72d6b name: 'Leave Allowance' type: allowance enable: true hide_in_setting: false - id: d81ebb00-ec85-11ed-a13d-ff2d5e4ab4f2 name: 'Leave Deduction' type: deduction enable: true hide_in_setting: false - id: bae96380-71e3-11ec-9961-6bcaedbaeadb name: 'Leave Refund' type: allowance enable: true hide_in_setting: true - id: 40c4f580-71d5-11ec-9dba-f5eab948f4ec name: 'Leave Refund (Manual)' type: allowance enable: true hide_in_setting: false - id: 40a4caf0-71d5-11ec-b709-455b413111e8 name: Location type: allowance enable: true hide_in_setting: false - id: 1d62b4c0-9b6a-11ec-8ea5-abe9052d8851 name: LOP_UAT type: deduction enable: true hide_in_setting: false - id: 0f11b880-8b2b-11ed-83fc-8b7687328afa name: 'Medical AR' type: deduction enable: true hide_in_setting: false - id: 6e049020-9807-11ed-a26c-d3ff5c7b19e7 name: 'NDT Test' type: net_deduction enable: true hide_in_setting: false - id: 61d09d80-880f-11ed-87ed-3760b801115f name: 'New Deduction Type (AND)' type: net_deduction enable: true hide_in_setting: false - id: 41d24cb0-71d5-11ec-b20e-5dfe2721a9b7 name: 'Notice Pay' type: allowance enable: true hide_in_setting: false - id: 42f9c700-71d5-11ec-95df-c79db2590d0e name: 'Novated Lease' type: deduction enable: true hide_in_setting: false - id: ad4acaf0-d1ee-11ed-9ae9-8733dea70efe name: 'Off_Days Allowance' type: allowance enable: true hide_in_setting: false - id: 3fd72440-71d5-11ec-bccb-3d2189dced96 name: 'Other Allowance' type: allowance enable: true hide_in_setting: false - id: 0ca6a690-4f7c-11ed-ad6c-97d494175550 name: 'Other Deduction' type: deduction enable: true hide_in_setting: false - id: 41036940-71d5-11ec-93ea-a751274d9040 name: 'OtherAdd NTaxable' type: allowance enable: true hide_in_setting: false - id: 40e4e720-71d5-11ec-b291-2d7aff3cfe87 name: 'OtherAdd Taxable' type: allowance enable: true hide_in_setting: false - id: 42662820-71d5-11ec-8ccd-c96aa7b8f3cb name: 'OtherDedu Taxable' type: deduction enable: true hide_in_setting: false - id: 42839400-71d5-11ec-8206-d36a3bfe491d name: OtherDedu_NTaxable type: deduction enable: true hide_in_setting: false - id: 18522650-71d4-11ec-9dbe-03da67d6b2a5 name: Overtime type: allowance enable: true hide_in_setting: false - id: 424664e0-71d5-11ec-ad69-b713cdefc05c name: 'Owing by Staff' type: deduction enable: true hide_in_setting: false - id: 4178d7b0-71d5-11ec-a8de-e98b6f659175 name: 'Owning to Staff ' type: allowance enable: true hide_in_setting: false - id: 404b2f90-71d5-11ec-8e28-137c0766b715 name: 'Performance Pay' type: allowance enable: true hide_in_setting: false - id: 089a74b0-31a9-11ee-bcdd-4945050e1552 name: 'Phone Bill Allowonce' type: allowance enable: true hide_in_setting: false - id: 3fb958f0-71d5-11ec-9994-550f38c81d31 name: 'S6 Meal Allowance' type: allowance enable: true hide_in_setting: true - id: 48c6e930-a049-11ec-ad25-d345fe3211c8 name: 'Service Money' type: allowance enable: true hide_in_setting: false - id: 41ef0e80-71d5-11ec-9f0f-431088ce2f79 name: 'Severance Pay' type: allowance enable: true hide_in_setting: false - id: 185c41c0-71d4-11ec-9535-1d40f473e7a8 name: SSB type: deduction enable: true hide_in_setting: true - id: b370ec40-9566-11ec-8beb-fd556bd4f0f9 name: 'SSB (ER)' type: deduction enable: true hide_in_setting: false - id: b34ceb40-9566-11ec-87a2-f93d370e324c name: 'SSB (ER)' type: allowance enable: false hide_in_setting: false - id: c187d6b0-8a50-11ed-b2cd-c7ec05b46584 name: sss type: net_deduction enable: true hide_in_setting: false - id: 42dc5f70-71d5-11ec-b72d-2bce14772dee name: 'Staff Loan' type: deduction enable: true hide_in_setting: false - id: 41b339b0-71d5-11ec-b960-fbca76587362 name: 'Tax Refund' type: allowance enable: true hide_in_setting: false - id: 432554e0-c93e-11ec-a1b8-073530ae6e72 name: Test type: allowance enable: true hide_in_setting: false - id: d4438e10-8d64-11ed-ad35-65aa5e9a5d20 name: Test type: net_deduction enable: true hide_in_setting: false - id: 0a295790-c945-11ec-a103-b3c354b889ab name: Test type: deduction enable: true hide_in_setting: false - id: 7e37f9a0-4ec0-11ed-8ea2-d3e1725d07f8 name: 'Test Allowance' type: allowance enable: true hide_in_setting: false - id: f720fd50-2441-11ed-9e99-4b36f9413e2a name: 'Test allowance' type: allowance enable: true hide_in_setting: false - id: 0d6341c0-26dc-11ee-89ee-d50ecbbfc0ef name: 'Test Allowance (Wai)' type: allowance enable: true hide_in_setting: false - id: fcbbb410-26db-11ee-8929-c93b7637220e name: 'Test Allowance(Wai)' type: allowance enable: true hide_in_setting: false - id: db9f2400-2a74-11ed-bccf-f97b599e0001 name: 'Test Benefits' type: allowance enable: true hide_in_setting: false - id: c953fa20-8739-11ed-968f-b5dbfe853cae name: 'Test Deduction' type: deduction enable: true hide_in_setting: false - id: cf7c6980-2444-11ed-afb1-3b1bdde68194 name: 'Test Deduction' type: deduction enable: true hide_in_setting: false - id: c590f950-9f4a-11f0-9c14-89bfa84911a5 name: 'Test PSC Allowance' type: allowance enable: true hide_in_setting: false - id: 65d825e0-3577-11ed-aa50-5f99037b455c name: 'Test SWH' type: allowance enable: false hide_in_setting: false - id: 03b1a940-26dc-11ee-8569-33273caaeb48 name: TestAllowance(Wai) type: allowance enable: true hide_in_setting: false - id: 3d02e180-5101-11ed-8392-11129208153f name: Testing type: allowance enable: true hide_in_setting: false - id: 6f591c40-8b3e-11ed-9dbe-951836ba4c61 name: testing12 type: allowance enable: true hide_in_setting: false - id: c6099370-9162-11ed-b26e-0bd46df599e1 name: testings type: net_deduction enable: true hide_in_setting: false - id: 2b859d80-3a56-11ee-acff-9d7cf7474643 name: 'Today Allowance' type: allowance enable: true hide_in_setting: false - id: 5d020550-2dec-11ef-a438-ed4d1ccf7d2d name: Transportation type: allowance enable: true hide_in_setting: false - id: 3f7d49a0-71d5-11ec-a833-95721d4b5426 name: 'Transportation Allowance' type: allowance enable: true hide_in_setting: false - id: 4229ecb0-71d5-11ec-b832-cd9b82270331 name: 'Transportation Deduction' type: deduction enable: true hide_in_setting: false - id: 55ae9d50-9550-11ed-ae67-bf80553f2001 name: tt type: net_deduction enable: true hide_in_setting: false - id: 08152470-8b2b-11ed-b6a0-79d938966557 name: Uniform type: deduction enable: true hide_in_setting: false - id: 186695d0-71d4-11ec-983e-4df05adff75e name: Unpaid type: deduction enable: true hide_in_setting: false - id: 2c503620-26dc-11ee-a064-fb51e64acf76 name: Wai type: allowance enable: false hide_in_setting: false - id: f9009d00-276c-11ee-a95c-afc2c0559a6a name: 'wai wai Theint' type: allowance enable: true hide_in_setting: false - id: 13ab2b60-8b2b-11ed-b674-618be8a01fc6 name: 'Yoma Plus' type: deduction enable: true hide_in_setting: false - id: b9c3fb70-8a50-11ed-bc4a-6bf442f0fb10 name: zzz type: deduction enable: true hide_in_setting: false items: type: object properties: id: type: string example: 81fec2c0-9a56-11ed-b751-e363a94b3b3d name: type: string example: '_Novated Lease' type: type: string example: net_deduction enable: type: boolean example: true hide_in_setting: type: boolean example: false 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - 'Payroll Module' '/api/v1/payrolls/groups/{payrollGroupId}/employees/{slug}/income-types': get: summary: 'Get Employee Income Types by Payroll Group' operationId: getEmployeeIncomeTypesByPayrollGroup description: 'Retrieve all income types assigned to a specific employee within a given payroll group.' parameters: [] responses: 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 404: description: '' content: application/json: schema: type: object example: message: 'No query results for model [YomaConnect\Common\Models\Employee].' properties: message: type: string example: 'No query results for model [YomaConnect\Common\Models\Employee].' 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - 'Payroll Module' parameters: - in: path name: payrollGroupId description: '' example: architecto required: true schema: type: string - in: path name: slug description: 'The slug of the employee.' example: architecto required: true schema: type: string '/api/v1/payrolls/employee-income-types/{id}': patch: summary: 'Update Employee Income Type' operationId: updateEmployeeIncomeType description: 'Update the income amount or additional data for a specific employee income type within a payroll group.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true message: 'Employee income type updated successfully.' data: id: 8c51c9b4-5678-1234-5678 amount: 150000.5 data: remark: 'Bonus adjustment' employee_id: emp-uuid-123 income_type_id: inc-uuid-456 properties: success: type: boolean example: true message: type: string example: 'Employee income type updated successfully.' data: type: object properties: id: type: string example: 8c51c9b4-5678-1234-5678 amount: type: number example: 150000.5 data: type: object properties: remark: type: string example: 'Bonus adjustment' employee_id: type: string example: emp-uuid-123 income_type_id: type: string example: inc-uuid-456 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - 'Payroll Module' requestBody: required: false content: application/json: schema: type: object properties: amount: type: number description: 'Updated income amount.' example: 150000.5 data: type: object description: 'Additional structured JSON data.' example: remark: 'Bonus adjustment' properties: { } parameters: - in: path name: id description: 'Employee income type record ID (UUID).' example: 8c51c9b4-5678-1234-5678 required: true schema: type: string - in: path name: payrollGroupId description: 'Payroll group ID (UUID).' example: 9b40b8a3-1234-4567-890a required: true schema: type: string - in: path name: slug description: 'Employee slug or unique identifier.' example: u-mya-001 required: true schema: type: string '/api/v1/payrolls/employees/{employee_id}/fix-amounts': post: summary: 'Bulk Update Fix Amounts' operationId: bulkUpdateFixAmounts description: 'Bulk update fixed income amounts for an employee by income types' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Bulk fix amounts updated successfully.' status: 200 data: employee_id: uuid updated_count: 3 items: - income_type_id: uuid amount: 150000 start_date: '2026-01-01' end_date: null effective_date: '2026-01-01' properties: message: type: string example: 'Bulk fix amounts updated successfully.' status: type: integer example: 200 data: type: object properties: employee_id: type: string example: uuid updated_count: type: integer example: 3 items: type: array example: - income_type_id: uuid amount: 150000 start_date: '2026-01-01' end_date: null effective_date: '2026-01-01' items: type: object properties: income_type_id: type: string example: uuid amount: type: integer example: 150000 start_date: type: string example: '2026-01-01' end_date: type: string example: null effective_date: type: string example: '2026-01-01' 401: description: unauthenticated content: application/json: schema: type: object example: message: unauthenticated data: [] errors: [] properties: message: type: string example: unauthenticated data: type: array example: [] errors: type: array example: [] 403: description: unauthorized content: application/json: schema: type: object example: message: unauthorized data: [] errors: [] properties: message: type: string example: unauthorized data: type: array example: [] errors: type: array example: [] 422: description: 'validation failed' content: application/json: schema: type: object example: message: 'validation failed' data: [] errors: field: - 'The field is required.' properties: message: type: string example: 'validation failed' data: type: array example: [] errors: type: object properties: field: type: array example: - 'The field is required.' items: type: string 500: description: 'internal server error' content: application/json: schema: type: object example: message: 'internal server error' data: [] errors: [] properties: message: type: string example: 'internal server error' data: type: array example: [] errors: type: array example: [] tags: - 'Payroll Module' requestBody: required: true content: application/json: schema: type: object properties: items: type: array description: 'Fix amount item list' example: - [] items: type: object properties: income_type_id: type: string description: 'Income Type UUID' example: architecto amount: type: number description: 'Fix amount value' example: 4326.41688 start_date: type: string description: 'Start date (YYYY-MM-DD)' example: architecto end_date: type: string description: 'End date (YYYY-MM-DD)' example: architecto effective_date: type: string description: 'Effective date (YYYY-MM-DD)' example: architecto required: - income_type_id - amount required: - items parameters: - in: path name: employee_id description: 'Employee UUID' example: architecto required: true schema: type: string