Sage API Integration

These are the list of integration use cases supported by Knit for Sage API as part of the HRIS category


Get Employee Compensation Details

  • ID: get_employee_compensation_details
  • Operation: read
  • Entities: compensation, category, employee
  • Summary: This API retrieves the compensation details of a specific employee identified by their numeric ID. The request requires an authorization token in the header and the employee's ID as a path parameter. The response includes a list of compensation records with details such as start and end dates, currency, amount, period, comments, and category. Additionally, pagination metadata is provided, indicating the current page, next and previous pages, total pages, entries per page, and total entries.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Employee Custom Fields

  • ID: get_employee_custom_fields
  • Operation: read
  • Entities: employee, custom field, option
  • Summary: This API retrieves custom fields for a specific employee identified by their numeric ID. The request requires an authorization token in the header and the employee's ID as a path parameter. The response includes a list of custom fields, each with an ID, label, type, value, and options. The value can be a string or an array, and options can be an array or null.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Employee Time Off Balances

  • ID: get_employee_time_off_balances
  • Operation: read
  • Entities: leave management, balance, employee
  • Summary: The Employee Time Off Balances API retrieves the leave balances for a specific employee identified by their numeric ID. The request requires an authorization token in the header and the employee's ID as a path parameter. The response includes a list of leave policies with details on the amount of leave used and available for each policy. The available leave can be null if not applicable.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

View all KIT days of an employee in a policy

  • ID: get_kit_days_of_employee_in_policy
  • Operation: read
  • Entities: KIT day, policy, employee
  • Summary: This API endpoint allows you to view all KIT (Keeping in Touch) days of an employee within a specific policy. It requires the 'policy_id' and 'employee_id' as query parameters to identify the time-off policy and the employee, respectively. The request must include an 'X-Auth-Token' in the headers for authorization. The response returns a list of KIT days with details such as the ID, status, start date, and end date of each KIT day.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Active Employees in Company

  • ID: get_list_active_employees_in_company
  • Operation: read
  • Entities: employee, position, team
  • Summary: This API endpoint retrieves a list of active employees in the company. It requires an authorization token in the header. Optional query parameters include 'page' for pagination, 'team_history' to include team history, 'employment_status_history' to include employment status history, and 'position_history' to include position history in the response. The response includes detailed information about each employee, such as their ID, email, name, team, position, contact information, and history details if requested. The response also includes pagination metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Document Categories

  • ID: get_list_document_categories
  • Operation: read
  • Entities: category, document
  • Summary: The List Document Categories API retrieves a list of document categories from the Sage HR system. It uses the GET method and does not require any headers, path parameters, query parameters, or request body. The response includes a JSON object with a 'data' field, which is an array of document categories. Each category has an 'id', 'name', and 'documents_count', indicating the number of documents in that category. The response content type is application/json.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Employees Out of Office Today

  • ID: get_list_employees_out_of_office_today
  • Operation: read
  • Entities: leave, policy, employee
  • Summary: The 'List Employees Out of Office Today' API retrieves a list of employees who are out of the office on a specified date. The API requires an authorization token in the header and accepts an optional query parameter 'date' to specify the date of interest, defaulting to today if not provided. The response includes details about each out-of-office record, such as the employee's name, leave policy, and the specifics of the leave (e.g., whether it is a single day or part of a day).
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Onboarding Task Categories

  • ID: get_list_onboarding_task_categories
  • Operation: read
  • Entities: category, onboarding task
  • Summary: The 'List Onboarding Task Categories' API retrieves a list of onboarding task categories from the Sage HR platform. This API uses the GET method and does not require any headers, path parameters, query parameters, or request body. The response includes a JSON object with a 'data' field, which is an array of objects. Each object represents a task category with an 'id' and a 'title'. The response content type is 'application/json'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Positions in Company

  • ID: get_list_positions_in_company
  • Operation: read
  • Entities: company, meta, position
  • Summary: The 'List Positions in Company' API retrieves a list of positions available within the company. It requires an authorization token to be passed in the headers as 'X-Auth-Token'. The API supports pagination through the 'page' query parameter, which is optional. The response includes a list of positions with details such as 'id', 'title', 'description', and 'code'. Additionally, metadata about the pagination is provided, including 'current_page', 'next_page', 'previous_page', 'total_pages', 'per_page', and 'total_entries'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Teams in Company

  • ID: get_list_teams_in_company
  • Operation: read
  • Entities: manager, employee, team
  • Summary: This API endpoint retrieves a list of teams within a company. It requires an authorization token to be passed in the headers. The endpoint supports pagination through the 'page' query parameter. The response includes a list of teams with their IDs, names, manager IDs, and employee IDs, along with pagination details such as current page, next page, previous page, total pages, entries per page, and total entries.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Time Off Policies

  • ID: get_list_time_off_policies
  • Operation: read
  • Entities: leave management, policy
  • Summary: The 'List Time Off Policies' API retrieves a list of time off policies available in the system. It requires an authorization token to be passed in the headers. The response includes details of each policy such as its ID, name, color, whether it accrues, the unit of measurement, default allowance, maximum carryover, and the type of accrual.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Time Off Requests

  • ID: get_list_time_off_requests
  • Operation: read
  • Entities: policy, employee, time off request
  • Summary: The List Time Off Requests API allows users to retrieve a list of time off requests from the leave management system. The API requires an authorization token to be passed in the headers. Users can specify query parameters such as 'page' to paginate through results, 'from' to set the start date, and 'to' to set the end date for the requests. The response includes a list of time off requests with details such as request status, employee ID, and the dates of the time off. Metadata about the pagination is also included in the response.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Offboarding Task Categories

  • ID: get_offboarding_task_categories
  • Operation: read
  • Entities: category, offboarding
  • Summary: The 'List Offboarding Task Categories' API endpoint retrieves a list of offboarding task categories. It uses the GET method and does not require any input parameters. The response includes a JSON object with a 'data' array, where each element is an object containing 'id' and 'title' fields representing the unique identifier and title of each task category, respectively.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Overview of Quarterly Goal Progress

  • ID: get_overview_of_quarterly_goal_progress
  • Operation: read
  • Entities: company, team, individual
  • Summary: The 'Overview of Quarterly Goal Progress' API provides a summary of the progress towards quarterly goals for a company, individuals, and teams. It requires an authorization token to be passed in the header as 'X-Auth-Token'. The response includes adjusted and actual progress metrics for company, individual, and team goals, returned in a JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Quarterly Company Goals

  • ID: get_quarterly_company_goals
  • Operation: read
  • Entities: progress, company, goal
  • Summary: The 'Get Quarterly Company Goals' API retrieves the quarterly progress of company goals. It requires an authorization token to be passed in the header as 'X-Auth-Token'. The response includes a list of goals with their titles and progress details, such as the actual progress made and the progress expected to date. The response is returned in JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Quarterly Individual Goals

  • ID: get_quarterly_individual_goals
  • Operation: read
  • Entities: progress, goal, individual
  • Summary: The Quarterly Individual Goals API retrieves the quarterly progress of individual goals for employees. It requires an authorization token to be passed in the header as 'X-Auth-Token'. The response includes the name of the individual, their overall progress, and a list of their goals with respective progress details. The response is returned in JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Quarterly Team Goals

  • ID: get_quarterly_team_goals
  • Operation: read
  • Entities: progress, team, goal
  • Summary: The Quarterly Team Goals API retrieves the progress of team goals for the current quarter. It requires an authorization token in the header. The response includes the team's name, their actual progress, and the progress expected to date. Additionally, it provides details of each goal, including the title and progress metrics.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Report with Individual Allowances

  • ID: get_report_with_individual_allowances
  • Operation: read
  • Entities: eligibility, employee, report
  • Summary: The 'Report with Individual Allowances' API provides a detailed report of individual employee allowances based on specified criteria. It requires an authorization token in the header and accepts optional query parameters such as page, per_page, location_ids, employee_ids, and team_ids to filter the results. The response includes a list of employees with their full names, IDs, and eligibility details for various policies, along with pagination metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Single Active Employee in Company

  • ID: get_single_active_employee_in_company
  • Operation: read
  • Entities: employee, position, team
  • Summary: This API retrieves details of a single active employee in a company using their numeric ID. The request requires an authorization token in the headers and the employee ID as a path parameter. Optional query parameters can be included to retrieve the employee's team history, employment status history, and position history. The response includes detailed information about the employee, such as their name, contact details, team, position, and optionally, their history in the company.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Single Terminated Employee Details

  • ID: get_single_terminated_employee_details
  • Operation: read
  • Entities: employee, position, termination
  • Summary: This API retrieves the details of a single terminated employee from the company database. It requires the employee's numeric ID as a path parameter and an authorization token in the header. The response includes detailed information about the employee, such as their termination date, email, name, picture URL, employment start date, date of birth, position, and termination details including the reason and comments.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Terminated Employees in Company

  • ID: get_terminated_employees_in_company
  • Operation: read
  • Entities: company, employee, termination
  • Summary: This API retrieves a list of terminated employees in a company. It requires an authorization token to be passed in the headers. The API supports pagination through the 'page' query parameter. The response includes detailed information about each terminated employee, such as their ID, termination date, employee number, email, first and last names, picture URL, employment start date, date of birth, and position. The response also includes metadata about the pagination, such as the current page, next page, previous page, total pages, entries per page, and total entries.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Termination Reasons in Company

  • ID: get_termination_reasons_in_company
  • Operation: read
  • Entities: authentication token, termination reason, page
  • Summary: This API endpoint retrieves a list of termination reasons within a company. It requires an authorization token to be passed in the headers. The endpoint supports pagination through the 'page' query parameter. The response includes a list of termination reasons, each with an ID, name, code, and type (voluntary or involuntary). Additionally, metadata about the pagination is provided, including the current page, next and previous pages, total pages, entries per page, and total entries.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Time Off Policy Details

  • ID: get_time_off_policy_details
  • Operation: read
  • Entities: response, time off policy, request header
  • Summary: This API endpoint retrieves the details of a specific time off policy using its numeric ID. The request requires an authorization token in the header and the policy ID as a path parameter. The response includes detailed information about the policy, such as its name, color, accrual settings, employee access permissions, and various other configurations related to time off management.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Approve, Decline or Cancel a KIT Day

  • ID: patch_approve_decline_or_cancel_a_kit_day
  • Operation: write
  • Entities: authorization header, status, kit day
  • Summary: This API allows the user to approve, decline, or cancel a KIT (Keeping In Touch) day by sending a PATCH request to the specified endpoint. The request requires an authorization token in the header and a KIT day identifier as a path parameter. The body of the request must include a status indicating the action to be taken, which can be 'cancel', 'approve', or 'decline'. A successful response is indicated by a 200 status code.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update KIT Days Configuration of a Time Off Policy

  • ID: patch_update_kit_days_configuration
  • Operation: write
  • Entities: policy, time off policy, kit days
  • Summary: This API updates the KIT days configuration of a specified time off policy. It requires the policy ID as a path parameter and an authorization token in the headers. The request body must include whether KIT days are enabled and the maximum number of KIT days allowed. A successful response returns a 200 status code, while a 422 status code indicates an unprocessable entity, with an error message detailing the issue.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Clock in & out employees on specific days

  • ID: post_clock_in_out_employees
  • Operation: write
  • Entities: clocked time, employee, timesheet
  • Summary: This API allows clocking in and out of employees on specific days. It requires an authorization token in the header. The request body must include an 'override' field to specify if existing clock entries should be overridden, and a 'clocked_time' object that details the clock in and out times for employees on specific dates. The response will return any errors encountered during the process.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Contract Information Transfer from Sage HR to Vikarina

  • ID: post_contract_information_transfer
  • Operation: write
  • Entities: contract, employee, employment status
  • Summary: This API endpoint allows for the transfer of contract information from Sage HR to Vikarina. It uses the POST method and requires a JSON body containing details such as employee ID, employee number, work start date, contract number, termination date, employment status, contract type, and status. The response returns the same contract information in JSON format, confirming the successful transfer of data.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create a KIT Day in Leave Management

  • ID: post_create_kit_day_in_leave_management
  • Operation: write
  • Entities: leave, employee, kit day
  • Summary: This API endpoint allows the creation of a KIT (Keeping in Touch) day in the leave management system. It requires an authorization token in the header and a request body containing the policy_id and employee_id as mandatory fields. Optionally, you can specify a single-day KIT day using the 'date' field or a multi-day KIT day using 'date_from' and 'date_to'. A successful response returns the ID of the created KIT day, while a 422 response indicates validation errors with corresponding error messages.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create New Document

  • ID: post_create_new_document
  • Operation: write
  • Entities: category, employee, document
  • Summary: This API endpoint allows the creation of a new document that will only be visible to the employee themselves. The request is made using the POST method to the specified URL. The request body must include a file to upload and the employee's identifier. Optionally, a category identifier, document description, and a notification flag can be included. A successful response returns a JSON object containing the ID of the created document.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create New Employee

  • ID: post_create_new_employee
  • Operation: write
  • Entities: employee
  • Summary: The 'Create New Employee' API allows the creation of a new employee record in the system. It requires the employee's email, first name, and last name as mandatory fields. Optionally, the work start date can be provided in the format YYYY-MM-DD, or it defaults to the current date if left empty. Additionally, a welcome email can be sent to the employee by setting the 'send_email' parameter to 'true'. Upon successful creation, the API returns a 201 status code with a JSON response containing the unique identifier of the newly created employee.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create New Offboarding Task

  • ID: post_create_new_offboarding_task
  • Operation: write
  • Entities: employee, offboarding task, boarding task template category
  • Summary: This API endpoint is used to create a new offboarding task in the system. It requires a POST request to the specified URL with a body containing the task details. The required fields in the body are 'title', 'boarding_task_template_category_id', and 'due_in'. Optional fields include 'description', 'default_assignee_type', 'assignee_id', and 'require_attachment'. The response returns a JSON object containing the ID of the newly created task.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create New Onboarding Task

  • ID: post_create_new_onboarding_task
  • Operation: write
  • Entities: manager, employee, onboarding task
  • Summary: This API creates a new onboarding task. It requires a title, boarding task template category ID, and due date in days after the employee's start date. Optional parameters include a description, default assignee type (self, leader, or employee), specific assignee ID if the type is 'employee', whether an attachment is required, and the task start date in days after the employee's start date. The response returns the ID of the created onboarding task.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create New Time Off Request

  • ID: post_create_new_time_off_request
  • Operation: write
  • Entities: leave management, employee, time off request
  • Summary: The Create New Time Off Request API allows users to submit a request for time off. The request requires specifying the type of request ('single' or 'multi'), the time off policy ID, employee ID, and part of the day for the time off. Depending on the type, additional fields such as date, date_from, date_to, hours, time_from, and time_to may be required. The API returns a 201 status code with the ID of the created request upon success, or a 422 status code with validation error messages if the request fails.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Terminate Employee

  • ID: post_terminate_employee
  • Operation: write
  • Entities: termination reason, employee, comment
  • Summary: The Terminate Employee API is used to terminate an employee by specifying their user ID in the path parameters. The request requires an authorization token in the headers and a request body with the last working day, termination reason ID, and optional comments. Upon successful termination, the API returns a 201 status code with an empty data object in the response body.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update Employee

  • ID: put_update_employee
  • Operation: write
  • Entities: team, employee, location
  • Summary: The Update Employee API allows updating the details of an existing employee in the system. The API requires the employee's numeric ID as a path parameter. The request body should include the employee's first name, last name, work start date, location ID, team ID, leader ID, position ID, employee number, approver IDs, and selected leave types. A successful update returns a 202 status code with the updated employee's ID. If the employee is not found, a 404 status code is returned with an error code 'not_found'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update Employee Custom Field

  • ID: put_update_employee_custom_field
  • Operation: write
  • Entities: employee, custom field
  • Summary: The 'Update Employee Custom Field' API allows updating a custom field for a specific employee. It requires the employee's ID and the custom field ID as path parameters. The request body must include a 'value' which can be a string or an array (for tags). A successful update returns a 200 status with no content, while a 422 status indicates validation errors, such as the custom field text being too long.
  • Input Fields: Input Fields
  • Output Fields: Output Fields