API Directory
-
Nov 9, 2024

Deel API Directory

Deel is a cutting-edge software platform designed to streamline payroll, HR management, and Employer of Record (EOR) solutions for businesses looking to expand their global workforce. By enabling companies to hire and pay employees in over 150 countries, Deel addresses the complexities of international compliance, taxes, and local labor laws. This makes it an invaluable tool for organizations aiming to manage their global workforce efficiently and effectively.

One of the standout features of Deel is its robust API integration capabilities, which allow businesses to seamlessly connect Deel's functionalities with their existing systems. The Deel API facilitates smooth data exchange and process automation, enhancing the overall efficiency of global HR operations. As companies increasingly seek to leverage technology for workforce management, understanding the Deel API integration process becomes crucial for optimizing their international hiring strategies.

Key highlights of Deel APIs

  • 1. Easy Data Access:
  • Seamless data access for integration with internal tools.
  • 2. Automation:
  • Supports HR workflow automation to reduce manual tasks.
  • 3. Custom Integration:
  • Flexible integration into existing tech stacks.
  • 4. Real-Time Sync:
  • Ensures up-to-date information with real-time data synchronization.
  • 5. Scalable:
  • Designed to scale with business needs.
  • 6. Developer-Friendly:
  • Accessible for developers with efficient integration support.
  • 7. Global Support:
  • Ensures functionality across different regions.
  • 8. Error Handling and Logging:
  • Common in APIs for managing and troubleshooting issues.
  • 9. Rate Limiting:
  • Typically included to manage API usage.
  • 10. Version Control:
  • Often part of API management for updates and changes.
  • 11. Data Transformation:
  • Ensures compatibility, though specifics weren't provided.
  • 12. Webhook Support:
  • Commonly used for event-driven updates.
  • 13. Detailed Analytics and Reporting:
  • Often provided for monitoring usage and performance.
  • 14. Sandbox Environment:
  • Offers 60-day access to developer sandboxes for testing.

Deel API Endpoints

Adjustments

  • POST https://api.letsdeel.com/rest/v2/adjustments : This API endpoint allows the creation of a new adjustment. It requires a POST request to the URL https://api.letsdeel.com/rest/v2/adjustments with headers specifying 'accept' as 'application/json' and 'content-type' as 'multipart/form-data'. The request body must include a 'data' object containing details of the adjustment such as 'contract_id', 'amount', 'title', 'description', 'adjustment_category_id', 'file', 'vendor', and 'country'. The response will include a 'data' object with details of the created adjustment, including its 'id', 'contract_id', 'amount', 'date_of_adjustment', 'title', 'description', 'status', and other relevant information. In case of errors, the response will include details about the failed request and error messages.
  • GET https://api.letsdeel.com/rest/v2/adjustments/categories : This API endpoint retrieves all adjustment categories for your organization. It is a GET request to the URL https://api.letsdeel.com/rest/v2/adjustments/categories. The request does not require any headers, path parameters, query parameters, or body content. The successful response (HTTP 200) returns a JSON object containing an array of adjustment categories, each with properties such as 'id', 'unit_type', 'label', and 'name'. In case of errors, the API returns detailed error information with HTTP status codes 401, 403, 404, or 500, including the method, URL, status, request ID, documentation link, source, and error code, along with an array of error messages and paths.
  • DELETE https://api.letsdeel.com/rest/v2/adjustments/{adjustment_id} : The Delete Adjustment API allows users to delete an existing adjustment by specifying the adjustment_id in the path parameters. The request requires the 'accept' header to specify the media type for the response, which is optional. The API responds with a 200 status code confirming the deletion with a boolean 'deleted' field in the response body. In case of errors, it returns status codes 401, 403, 404, or 500 with detailed error information including the method, URL, status, request ID, documentation link, source, and error code, along with an array of error messages and paths.

Candidates

  • POST https://api.letsdeel.com/rest/v2/candidates : This API endpoint allows you to add a candidate to Deel. It requires a POST request to the URL https://api.letsdeel.com/rest/v2/candidates with headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include a 'data' object with required fields such as 'id', 'first_name', 'last_name', 'status', 'start_date', and 'link'. Optional fields include 'job_title', 'email', 'nationality', 'country', and 'state'. The response will return a 201 status code with a 'created' boolean indicating success, or various error codes (400, 401, 403, 404, 405, 429, 500) with detailed error messages if the operation fails.
  • PATCH https://api.letsdeel.com/rest/v2/candidates/{candidate_id} : The Update Candidate API allows you to update the details of an existing candidate using their candidate ID. The API endpoint is accessed via a PATCH request to the URL https://api.letsdeel.com/rest/v2/candidates/{candidate_id}. The request must include headers for 'accept' and 'content-type' set to 'application/json'. The path parameter 'candidate_id' is required to specify which candidate to update. The request body must include a 'data' object with the candidate's details, including a required 'status' field that can be one of 'offer-accepted', 'offer-sent', 'offer-declined', or 'offer-deleted'. Optional fields include 'first_name', 'last_name', 'start_date', 'job_title', 'link', 'email', 'nationality', 'country', and 'state'. The response will indicate success with a 200 status and a 'data' object containing 'updated': true. Errors will return a 400 status with details about the request and errors encountered.

Contract Templates

  • GET https://api.letsdeel.com/rest/v2/contract-templates : This API endpoint retrieves a list of contract templates available in your organization. It uses the GET method and does not require any input parameters, headers, or body content. The response includes a list of contract templates, each with a unique identifier and title. In case of errors, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code.

Contracts

  • GET https://api.letsdeel.com/rest/v2/contracts : This API endpoint retrieves a list of contracts from the Deel platform. It supports various query parameters to filter and sort the results, such as 'after_cursor' for pagination, 'limit' to specify the number of records per page, 'order_direction' to sort the results, and filters like 'types', 'statuses', 'team_id', 'external_id', 'countries', 'currencies', and 'search'. The response includes detailed information about each contract, such as its ID, title, type, status, client and worker details, signatures, and other metadata. The API returns a paginated list of contracts with a cursor for the next page and the total number of rows.
  • GET https://api.letsdeel.com/rest/v2/contracts/custom_fields : This API endpoint fetches all custom fields associated with contracts, providing additional data necessary for contract management. It does not require any input parameters, headers, or body content. The response includes an array of custom fields, each with properties such as id, name, type, settings, createdAt, placement, and description. The type of a custom field can be simple types like text, number, date, or percentage, or more complex types like currency or list. The settings include access details, whether the field is required, applicable countries, and worker types. The response also handles various error codes like 400, 401, 403, 404, and 500, providing detailed error information.
  • GET https://api.letsdeel.com/rest/v2/contracts/custom_fields/{field_id} : This API endpoint allows users to access details of a specific custom field associated with a contract. It is useful for managing contract-specific attributes effectively. The request requires a path parameter 'field_id', which is the UUID of the custom field. The response includes detailed information about the custom field, such as its ID, name, type, settings, creation date, placement, and description. The API returns a successful response with status code 200 and detailed custom field data. In case of errors, it returns appropriate error messages with status codes like 400, 401, 403, 404, and 500.
  • POST https://api.letsdeel.com/rest/v2/contracts/gp : This API endpoint allows the creation of a Global Payroll contract. It requires a POST request to the URL https://api.letsdeel.com/rest/v2/contracts/gp with headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include a 'data' object containing details about the employee, employment, job title, client, and compensation details. The response will include the contract ID, type, creation date, status, job title, employment details, client information, compensation details, and employee information. The API returns a 201 status code for successful operations and various error codes for failed operations.
  • PATCH https://api.letsdeel.com/rest/v2/contracts/{contract_id} : This API endpoint allows you to add an external ID to a Deel contract. The external ID is a unique identifier provided by an external system and can be used to reference the Deel contract within your platform. The endpoint requires the 'contract_id' as a path parameter, which is the ID of the Deel contract. The request body must include a 'data' object containing the 'external_id'. The API returns a 200 status code with a 'created' boolean indicating success. In case of failure, it returns various error codes (400, 401, 403, 404, 405, 429, 500) with detailed error messages.
  • GET https://api.letsdeel.com/rest/v2/contracts/{contract_id}/adjustments : This API endpoint retrieves all adjustments for a specific contract identified by the 'contract_id' path parameter. The request requires an 'accept' header with the value 'application/json'. Optional query parameters 'from' and 'to' can be used to filter adjustments by start and end dates, respectively. The response includes an array of adjustment objects, each containing details such as 'id', 'contract_id', 'amount', 'date_of_adjustment', 'title', 'description', 'status', and more. The API also handles various error responses with status codes 401, 403, 404, and 500, providing detailed error information in the response body.
  • POST https://api.letsdeel.com/rest/v2/contracts/{contract_id}/amendments : This API endpoint allows you to amend the details of a contract. If the contract is already signed or active, the update will need to be approved and re-signed to take effect. The request requires the contract ID as a path parameter and a JSON body containing the data to be amended. The body can include fields such as amount, currency code, scale, effective date, first payment date, frequency, and more. The response will indicate whether the amendment was successful or provide error details if the operation failed.
  • GET https://api.letsdeel.com/rest/v2/contracts/{contract_id}/custom_fields : This API endpoint retrieves all custom field values for a specific contract, allowing for enhanced contract management with detailed, custom-configured data. The request requires a path parameter 'contract_id' which is the unique identifier of the contract. The response includes an array of custom fields, each with an 'id', 'name', 'type', and 'data' which can be of various types such as text, number, currency, date, percentage, list, or multiselect. The API returns a 200 status code with the custom field data on success, and various error codes (400, 401, 403, 404, 500) with detailed error messages in case of failure.
  • DELETE https://api.letsdeel.com/rest/v2/contracts/{contract_id}/custom_fields/{field_id} : This API endpoint allows the deletion of a specific custom field's value from a contract. It is used to streamline contract data management by removing redundant or outdated information. The request requires two path parameters: 'contract_id' which is the ID of the contract, and 'field_id' which is the UUID of the custom field. The request does not require a body or query parameters. The response can be a successful 204 status code indicating the field was deleted, or various error responses (400, 401, 403, 404, 500) with detailed error information in the response body.
  • POST https://api.letsdeel.com/rest/v2/contracts/{contract_id}/documents : This API endpoint allows users to attach a file to a contract document in the Deel system. The request requires a path parameter 'contract_id' which is the ID of the contract to which the document will be attached. The request headers must include 'accept' set to 'application/json' and 'content-type' set to 'multipart/form-data'. The request body should contain a binary file under the 'file' field. Upon a successful request, the response will include the original filename and a key for the uploaded file. In case of errors, detailed error information will be provided in the response.
  • DELETE https://api.letsdeel.com/rest/v2/contracts/{contract_id}/invitations : The Remove Contract Invitation API allows you to delete an invitation for a worker to sign a contract. This is useful if you need to re-invite the worker. The API requires the contract_id as a path parameter, which is the unique identifier for the contract. The request must include an 'accept' header with the value 'application/json'. Upon successful deletion, the response will confirm the deletion with a boolean 'deleted' set to true. If the operation fails, various error responses may be returned, detailing the nature of the failure.
  • GET https://api.letsdeel.com/rest/v2/contracts/{contract_id}/invoice-adjustments : This API endpoint retrieves invoice line items for a specified contract ID. The request requires the 'contract_id' as a path parameter. Optional query parameters include 'contract_types', 'types', 'statuses', 'invoice_id', 'reporter_id', 'date_from', 'date_to', 'limit', and 'offset' to filter and paginate the results. The response includes an array of invoice adjustments with details such as 'id', 'type', 'status', 'description', 'date_submitted', 'currency_code', 'quantity', 'total_amount', 'created_at', and associated objects like 'attachment', 'worksheet', 'reviewed_by', 'contract', 'payment_cycle', and 'reported_by'. The response also includes pagination information in the 'page' object.
  • POST https://api.letsdeel.com/rest/v2/contracts/{contract_id}/milestones : This API endpoint allows you to add a new milestone to a specified contract in the Deel system. The request requires the contract ID as a path parameter and a JSON body containing the milestone details such as amount, title, and description. The response will indicate whether the milestone was successfully created. If the operation fails, detailed error information will be provided, including the HTTP method, URL, status code, and error messages.
  • POST https://api.letsdeel.com/rest/v2/contracts/{contract_id}/milestones/many/reviews : This API endpoint allows users to review a batch of milestones by approving or rejecting submitted work. The request requires a path parameter 'contract_id' which is the Deel contract id. The request body must include a 'data' object containing 'status' (either 'approved' or 'declined') and 'ids' (an array of milestone identifiers). The response will indicate success with a boolean 'created' field. In case of failure, detailed error information will be provided.
  • DELETE https://api.letsdeel.com/rest/v2/contracts/{contract_id}/milestones/{milestone_id} : This API endpoint allows the user to delete a specific milestone from a contract using the DELETE method. The request requires two path parameters: 'contract_id' which is the Deel contract id, and 'milestone_id' which is the ID of the milestone to be deleted. The request header can optionally include 'accept' with the value 'application/json'. Upon successful deletion, the response will return a JSON object with a 'data' field containing a 'deleted' boolean set to true. If the operation fails, the response will include details about the error, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with an array of error messages.
  • POST https://api.letsdeel.com/rest/v2/contracts/{contract_id}/milestones/{milestone_id}/reviews : This API endpoint allows users to review a milestone by approving or declining the submitted work. The request requires the contract_id and milestone_id as path parameters. The request body must include a 'data' object with a 'status' field, which can be either 'approved' or 'declined'. Optionally, a 'reason' can be provided if the status is 'declined'. The response will indicate whether the review was successfully created. In case of errors, detailed error information will be provided.
  • GET https://api.letsdeel.com/rest/v2/contracts/{contract_id}/off-cycle-payments : This API endpoint retrieves a list of off-cycle payments for a specified contract ID. The request requires the 'contract_id' as a path parameter, which is the Deel contract ID. The response includes an array of off-cycle payment entries, each containing details such as 'id', 'status', 'description', 'date_submitted', 'currency_code', 'amount', 'created_at', and 'reported_by'. The 'reported_by' field is an object containing the 'id' and 'full_name' of the creator. The API returns a 200 status code for a successful operation, and various error codes (400, 401, 403, 404, 405, 429, 500) for failed operations, each with detailed error information.
  • GET https://api.letsdeel.com/rest/v2/contracts/{contract_id}/off-cycle-payments/{offcycle_payment_id} : This API endpoint retrieves a single off-cycle payment for a specified contract. It requires two path parameters: 'contract_id', which is the Deel contract ID, and 'offcycle_payment_id', which is the ID of the off-cycle payment to be returned. The request accepts an optional 'accept' header to specify the media type for the response, typically 'application/json'. Upon a successful request, the API returns a JSON object containing details of the off-cycle payment, including its ID, status, description, date submitted, currency code, amount, creation date, and the reporter's information. In case of errors, the API provides detailed error messages and status codes.
  • DELETE https://api.letsdeel.com/rest/v2/contracts/{contract_id}/premium : This API endpoint is used to remove Deel Premium from an existing contract. It requires the 'contract_id' as a path parameter to identify the specific contract. An optional query parameter 'reason' can be provided to specify the reason for the deletion. The request must include an 'accept' header indicating the media type for the response, typically 'application/json'. Upon successful deletion, the API returns a 200 status code with a response body confirming the deletion. In case of failure, various error responses (400, 401, 403, 404, 405, 429, 500) may be returned, each containing details about the error and a link to the documentation.
  • GET https://api.letsdeel.com/rest/v2/contracts/{contract_id}/preview : This API endpoint retrieves the content of an IC and EOR contract agreement in HTML format. The endpoint requires a 'contract_id' as a path parameter, which is mandatory. Optionally, a 'templateId' can be provided as a query parameter to specify a contract template. The request must include an 'accept' header with the value 'text/html'. The response will return the contract content in HTML if successful (status code 200). In case of failure, it returns a JSON object with error details, including the HTTP method, URL, status code, request ID, documentation link, source, and error code. The endpoint does not support Global Payroll contract types.
  • POST https://api.letsdeel.com/rest/v2/contracts/{contract_id}/signatures : This API endpoint allows a client to sign a contract on the Deel platform. The request requires the contract ID as a path parameter and a JSON body containing the client's signature and an optional contract template ID. The response will indicate whether the contract was successfully signed. If the operation fails, detailed error information will be provided.
  • GET https://api.letsdeel.com/rest/v2/contracts/{contract_id}/tasks : This API endpoint retrieves a list of tasks associated with a specific contract identified by the 'contract_id' path parameter. The request requires an 'accept' header specifying 'application/json'. The response includes an array of task objects, each containing details such as 'id', 'amount', 'date_submitted', 'description', 'status', and optional 'attachment' information. The API returns a 200 status code for successful operations, and various error codes (400, 401, 403, 404, 405, 429, 500) for different failure scenarios, each with detailed error information.
  • POST https://api.letsdeel.com/rest/v2/contracts/{contract_id}/tasks/many/reviews : This API endpoint allows users to review multiple tasks associated with a specific contract by either approving or declining the submitted work. The request requires the 'contract_id' as a path parameter and a JSON body containing the 'status' (either 'approved' or 'declined') and 'ids' of the tasks to be reviewed. Optional comments can be added using the 'reason' field. The response includes details of the reviewed tasks, such as 'id', 'amount', 'date_submitted', 'description', 'status', and any associated 'attachment'. The API returns a 201 status code for successful operations and various error codes for failed operations, each with detailed error information.
  • DELETE https://api.letsdeel.com/rest/v2/contracts/{contract_id}/tasks/{task_id} : This API endpoint allows the user to delete a specific task from a contract in the Deel system. The request requires the 'contract_id' and 'task_id' as path parameters, which are mandatory. An optional query parameter 'reason' can be provided to specify the reason for deletion. The request should include an 'accept' header indicating the desired response format, typically 'application/json'. Upon successful deletion, the API returns a confirmation with a 'deleted' boolean set to true. In case of failure, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with a list of error messages and paths where validation failed.
  • POST https://api.letsdeel.com/rest/v2/contracts/{contract_id}/tasks/{task_id}/reviews : This API endpoint allows users to review a single task to either approve or decline the submitted work. The request requires the contract_id and task_id as path parameters. The request body must include the review status, which can be either 'approved' or 'declined', and optionally a reason for the review. The response will return a 201 status code with details of the reviewed task if successful. In case of failure, various error responses with status codes like 400, 401, 403, 404, 405, 429, and 500 may be returned, each providing details about the error encountered.
  • POST https://api.letsdeel.com/rest/v2/contracts/{contract_id}/terminations : This API endpoint is used to terminate an active contract on the Deel platform. The request requires the contract ID as a path parameter and a JSON body containing the termination details. The body must include a 'data' object with optional 'completion_date', a boolean 'terminate_now', and a mandatory 'message'. The response will return a 201 status code with the contract ID and completion date if successful. In case of failure, it returns various error codes (400, 401, 403, 404, 405, 429, 500) with detailed error messages and request information.
  • GET https://api.letsdeel.com/rest/v2/contracts/{contract_id}/timesheets : This API endpoint retrieves a list of timesheets associated with a specific contract. The request requires the 'contract_id' as a path parameter. Optional query parameters include 'contract_types', 'statuses', 'reporter_id', 'date_from', 'date_to', 'limit', and 'offset' to filter and paginate the results. The response includes an array of timesheet data with details such as 'id', 'status', 'description', 'date_submitted', 'currency_code', 'total_amount', 'quantity', 'created_at', and associated objects like 'attachment', 'worksheet', 'reviewed_by', 'contract', 'payment_cycle', and 'reported_by'. The response also includes pagination information with 'total_rows'.

Departments

  • GET https://api.letsdeel.com/rest/v2/departments : This API endpoint retrieves a list of departments within an organization. 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 department objects. Each department object contains an 'id' (number), 'name' (string), and an optional 'parent' (string) field. The API can return various error responses with status codes such as 400, 401, 403, 404, 405, 429, and 500, each providing details about the failed request and errors encountered.

EOR

  • POST https://api.letsdeel.com/rest/v2/eor : This API endpoint is used to create an Employee of Record (EOR) contract quote. It processes the provided information and returns a quote for the contract. The request requires headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include a 'data' object with required fields such as 'employment', 'employee', 'job_title', 'seniority', 'client', and 'compensation_details'. The response includes details of the created contract quote, such as its ID, type, status, job title, employment details, client information, compensation details, employee information, health plan, and seniority level.
  • POST https://api.letsdeel.com/rest/v2/eor/employment_cost : This API endpoint is used to determine the Employer of Record (EOR) employee costs across the globe. It requires a POST request to the URL https://api.letsdeel.com/rest/v2/eor/employment_cost with headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include a 'data' object containing the employee's gross annual salary, country, currency, and optionally, state and benefits. The response provides detailed cost breakdowns including salary, currency, country, Deel fee, severance accrual, total costs, employer costs, and additional data on costs and benefits. The API also handles various error responses with detailed error messages.
  • GET https://api.letsdeel.com/rest/v2/eor/validations/{country_code} : The 'Retrieve Hiring Guide Data for a Country' API endpoint allows users to obtain detailed hiring guide data for a specified country. This data is essential for creating Employee of Record (EOR) contract quotes. The API is accessed via a GET request to the URL 'https://api.letsdeel.com/rest/v2/eor/validations/{country_code}', where 'country_code' is a required path parameter representing the two-letter country code. The request header can optionally include 'accept: application/json'. The response includes comprehensive data on holidays, salary ranges, probation periods, work schedules, insurance fees, currency, and more. It also provides information on health insurance and pension providers, mandatory fields, and specific country notes. The API returns a 200 status code for successful operations, while errors such as 401, 403, 404, and 500 are detailed with specific error messages and paths.
  • GET https://api.letsdeel.com/rest/v2/eor/workers/{worker_id}/payslips/{payslip_id}/download : This API endpoint allows users to retrieve the download URL for an EOR (Employer of Record) payslip. The request requires two path parameters: 'worker_id', which is the unique identifier for a worker, and 'payslip_id', which is the unique identifier for a payslip. The response will include a URL to download the payslip if the request is successful. The API returns a JSON object with a 'data' field containing the 'url'. In case of errors, the API provides detailed error information including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with a list of error messages and paths where validation failed.
  • GET https://api.letsdeel.com/rest/v2/eor/{contract_id}/benefits : This API endpoint retrieves the benefits associated with a specific EOR (Employer of Record) contract. The request requires the 'contract_id' as a path parameter, which is the unique identifier for the Deel contract. The response includes a list of benefits, each with details such as the benefit ID, name, provider, offer status, plan, and enrollment details. The enrollment details include the status, plan name, standard and current monthly costs, and contributions. The API returns a 200 status code for successful operations, and various error codes (401, 403, 404, 500) for failed operations, each with detailed error information.

Global Payroll

  • GET https://api.letsdeel.com/rest/v2/gp/legal-entities/{legal_entity_id}/reports : This API endpoint retrieves a list of global payroll events associated with a specific legal entity. The request requires the 'legal_entity_id' as a path parameter, which is a UUID representing the legal entity. Optionally, a 'start_date' can be provided as a query parameter to filter the payroll reports starting from a specific date in ISO-8601 format. The response includes an array of payroll events, each containing details such as 'id', 'status', 'start_date', 'lock_date', and 'end_date'. The API returns various HTTP status codes, including 200 for successful operations and 401, 403, 404, and 500 for different types of failures, each with detailed error information.
  • GET https://api.letsdeel.com/rest/v2/gp/reports/{gp_report_id}/gross_to_net : This API endpoint retrieves a list of global payroll reports detailing gross-to-net calculations for a specified report ID. The request is made using the GET method to the URL https://api.letsdeel.com/rest/v2/gp/reports/{gp_report_id}/gross_to_net, where {gp_report_id} is a required path parameter representing the ID of the global payroll report. The response includes detailed information about each report, such as net pay, employee loans, contract ID, bonuses, allowances, deductions, and more. The API returns a 200 status code with the data on success, and various error codes (401, 403, 404, 500) with detailed error messages and request information on failure.
  • GET https://api.letsdeel.com/rest/v2/gp/reports/{gp_report_id}/gross_to_net/csv : This API endpoint allows users to download global payroll reports detailing gross-to-net calculations in CSV format. The request requires a path parameter 'gp_report_id', which is a UUID representing the ID of the global payroll report. The request header must include 'accept: text/csv' to specify the desired response format. On success, the API returns a CSV file containing the report. In case of errors, the API returns detailed error messages in JSON format, including HTTP status codes 401, 403, 404, and 500, each with a description of the error and a link to the official documentation.
  • PATCH https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/address : This API endpoint allows updating the address of a Global Payroll employee. The request requires a PATCH method to the URL https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/address, where {worker_id} is a path parameter representing the unique identifier of the worker. The request headers must include 'accept' and 'content-type' set to 'application/json'. The request body must contain the 'data' object with 'city', 'street', and 'zip' fields to specify the new address. A successful response (HTTP 200) returns the updated address details including 'country', 'state', 'city', 'street', 'zip', and 'updated_at'. Error responses (HTTP 401, 403, 404, 500) provide details about the failure, including the request method, URL, status, and error messages.
  • GET https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/banks : This API endpoint retrieves all bank accounts associated with a specific employee identified by the 'worker_id' path parameter. The request requires an 'accept' header with the value 'application/json'. The response includes detailed information about each bank account, such as the user's full name, phone number, address, bank details, and account status. The response is structured as a JSON object containing an array of bank account objects, each with properties like 'full_name', 'bank_name', 'account_number', 'iban', and more. The API also handles various error responses with status codes 401, 403, 404, and 500, providing detailed error messages and request information.
  • GET https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/banks/guide : This API endpoint retrieves the bank form guide for a specific employee identified by the worker_id. The request is made using the GET method to the URL https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/banks/guide. The only required path parameter is worker_id, which is a unique identifier for the worker. The response includes a data array containing objects with details about the bank form fields, such as key, label, required status, allowed values, validations, and type. The API can return various error responses, including 401, 403, 404, and 500, each providing details about the failed request and errors encountered.
  • PATCH https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/banks/{bank_id} : This API endpoint allows modification of a bank account for an employee. It requires the worker_id and bank_id as path parameters. The request body must include detailed information about the bank account, such as full name, phone number, address, bank details, and more. The response will confirm the successful modification with a status and timestamps or provide error details if the operation fails.
  • PATCH https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/compensation : This API endpoint allows updating the compensation of a Global Payroll employee. The request requires the worker's unique identifier as a path parameter. The request body must include the compensation details such as scale, salary, and effective date. The response returns the full compensation history, including the update. The API supports various response codes, including 200 for successful operations and 401, 403, 404, and 500 for different types of failures, each providing detailed error information.
  • PATCH https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/employee-information : This API endpoint allows updating the Global Payroll employee information for a specific worker identified by the 'worker_id' path parameter. The request requires headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include the 'data' object containing employee details such as 'first_name', 'middle_name', 'last_name', 'date_of_birth', 'gender', 'marital_status', and 'employee_number'. The response returns the updated employee information on success (HTTP 200) or error details for failure cases (HTTP 401, 403, 404, 500).
  • GET https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/payslips : This API endpoint retrieves the payslips for a specific employee identified by the worker_id. The request is made using the GET method to the URL https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/payslips. The only required path parameter is worker_id, which is a unique identifier for the worker. The response includes a list of payslips, each with an id, from date, to date, and status. The API returns a 200 status code for a successful operation, and various error codes (401, 403, 404, 500) for failed operations, each with detailed error information.
  • GET https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/payslips/{payslip_id}/download : This API endpoint allows you to get the download URL for a GP payslip. It requires two path parameters: 'worker_id', which is the unique identifier for a worker, and 'payslip_id', which is the unique identifier for a payslip. The request must include an 'accept' header with the value 'application/json'. Upon a successful request (HTTP 200), the response will contain a 'data' object with a 'url' property, which is the URL to download the payslip. In case of errors, the response will include details about the failed request, including the HTTP method, URL, status code, request ID, and error messages.
  • PATCH https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/pto-policy : This API endpoint allows updating the PTO (Paid Time Off) policy of a Global Payroll employee. The request is made using the PATCH method to the URL https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/pto-policy, where {worker_id} is a required path parameter representing the unique identifier of the worker. The request body must include a JSON object with the 'data' field, which contains 'accrual_start_date' (a date in ISO-8601 format) and 'yearly_allowance' (the number of holidays). The response will indicate success with a boolean 'updated' field. In case of failure, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with a list of errors describing the validation issues.
  • POST https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/terminations : This API endpoint is used to request a termination for a global payroll employee. The endpoint initiates the termination process but does not confirm the termination. The request requires a unique worker ID as a path parameter. The request body must include details such as the desired end date, last date of work, termination message, whether the termination is voluntary, and severance details. The severance can be specified in terms of time or cash, with appropriate currency and amount details. The API returns a 201 status code upon successful initiation of the termination process, along with the termination ID and last date of work. In case of errors, it returns appropriate error messages and status codes such as 401, 403, 404, or 500.

Invoice Adjustments

  • POST https://api.letsdeel.com/rest/v2/invoice-adjustments : This API endpoint allows you to create an invoice adjustment on Deel. You can add various types of adjustments such as bonus, commission, VAT %, deduction, etc., to an invoice. The request requires a JSON body with details of the invoice adjustment, including contract_id, date_submitted, type, description, and amount. Optionally, you can specify if the adjustment is recurring via a query parameter. The response will confirm the creation of the adjustment and provide details such as the status and creation timestamp. Note that this endpoint is only available for contractors in Deel and not for EOR contracts.
  • POST https://api.letsdeel.com/rest/v2/invoice-adjustments/many/reviews : This API endpoint allows users to review multiple invoice adjustments by approving or declining a batch. The request requires headers specifying 'accept' and 'content-type' as 'application/json'. The body must include a 'data' object with 'status', 'reason', and 'ids' fields. The 'status' can be either 'approved' or 'declined', 'reason' is a string explaining the decision, and 'ids' is an array of timesheet record IDs. A successful response returns a '201' status with a 'created' boolean indicating success. Various error responses (400, 401, 403, 404, 405, 429, 500) provide details about the failure.
  • DELETE https://api.letsdeel.com/rest/v2/invoice-adjustments/{invoice_adjustment_id} : The Delete Invoice Adjustment API allows users to delete an existing invoice adjustment by specifying the invoice_adjustment_id in the path parameters. The request requires an 'accept' header with the value 'application/json'. Optionally, a 'reason' query parameter can be provided to specify the reason for deletion. Upon successful deletion, the API returns a response with a 'data' object containing a 'deleted' boolean set to true. In case of failure, various error responses may be returned with detailed error information.
  • POST https://api.letsdeel.com/rest/v2/invoice-adjustments/{invoice_adjustment_id}/reviews : This API endpoint allows users to review an invoice adjustment by either approving or declining it. The request requires the 'invoice_adjustment_id' as a path parameter to identify the specific invoice adjustment. The request body must include a 'data' object with 'status' and 'reason' fields, where 'status' can be either 'approved' or 'declined'. The response will indicate success with a 201 status code and a 'created' boolean in the response body. In case of failure, various error responses (400, 401, 403, 404, 405, 429, 500) provide detailed information about the error, including the HTTP method, URL, status code, and error messages.

Invoices

  • GET https://api.letsdeel.com/rest/v2/invoices : This API endpoint retrieves a list of paid invoices for your workforce. It supports filtering by issue date range and legal entity type (company or individual). The response includes detailed information about each invoice, such as its unique identifier, status, currency, total amount, VAT details, and associated contract ID. Pagination is supported through 'limit' and 'offset' query parameters. The API returns a JSON object containing the invoice data and pagination details. In case of errors, it provides detailed error messages and status codes.
  • GET https://api.letsdeel.com/rest/v2/invoices/deel : This API endpoint retrieves a list of invoices related to Deel fees. It accepts query parameters such as 'limit', 'offset', and 'contract_id'. The 'limit' parameter specifies the number of records to return, with a default of 10 and a range between 1 and 99. The 'offset' parameter specifies the starting index for the results, with a default of 0 and a maximum of 999999999. The 'contract_id' is a required parameter that specifies the Deel contract ID. The response includes a list of invoices with details such as 'id', 'label', 'status', 'currency', 'total', and 'created_at'. The response also includes pagination information with 'total_rows', 'items_per_page', and 'offset'. In case of errors, the response includes details about the failed request and validation errors.

Legal Entities

  • GET https://api.letsdeel.com/rest/v2/legal-entities : This API endpoint retrieves a list of legal entities associated with your account. It supports an optional query parameter 'type' which, if provided, returns a list of global payroll legal entities. The request requires an 'accept' header with the value 'application/json'. The response includes a list of legal entities, each with properties such as 'id', 'name', 'country', 'entity_type', and 'entity_subtype'. In case of errors, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code.

Lookups

  • GET https://api.letsdeel.com/rest/v2/lookups/countries : This API endpoint retrieves a list of countries supported by Deel. It does not require any input parameters. The response includes a list of countries, each with details such as the country code, name, visa support, EoR support, state type, and states. The response also handles various error codes such as 400, 401, 403, 404, 405, 429, and 500, providing detailed error messages and request information.
  • GET https://api.letsdeel.com/rest/v2/lookups/currencies : This API endpoint retrieves the list of currencies used by Deel. It is a GET request to the URL https://api.letsdeel.com/rest/v2/lookups/currencies. The request does not require any headers, path parameters, query parameters, or body content. The successful response (HTTP 200) returns a JSON object containing an array of currency objects, each with a 'code' and 'name'. The 'code' is a 3-letter string representing the currency code, and 'name' is the name of the currency. In case of errors, various HTTP status codes like 400, 401, 403, 404, 405, 429, and 500 may be returned, each with a detailed error message and request information.
  • GET https://api.letsdeel.com/rest/v2/lookups/job-titles : This API endpoint retrieves a list of pre-defined job titles available on the Deel platform. It supports pagination through the 'limit' and 'after_cursor' query parameters. The 'limit' parameter specifies the number of records to return per page, with a default value of 99 and a range between 20 and 99. The 'after_cursor' parameter allows fetching the next page of results. The response includes an array of job titles, each with a unique identifier and name, and a pagination cursor for retrieving subsequent pages.
  • GET https://api.letsdeel.com/rest/v2/lookups/seniorities : This API endpoint retrieves a list of pre-defined seniority levels for roles in the Deel platform. It accepts a query parameter 'limit' which specifies the number of records to return, with a default value of 50. The response includes an array of seniority levels, each with an 'id', 'name', and 'level'. The API returns a JSON response with the data array containing the seniority details. In case of errors, it provides detailed error messages and status codes.
  • GET https://api.letsdeel.com/rest/v2/lookups/time-off-types : This API endpoint retrieves a list of pre-defined time off types available on the Deel platform. It uses the GET method and does not require any input parameters, headers, or body content. The successful response (HTTP 200) returns a JSON object containing an array of time off types such as 'VACATION', 'SICK_LEAVE', and 'OTHER'. In case of an error, the response includes details about the failed request, such as the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with an array of error messages and paths where validation failed.

Managers

  • GET https://api.letsdeel.com/rest/v2/managers : This API endpoint retrieves a list of all organization managers. It accepts optional query parameters 'limit' and 'offset' to control pagination. The 'limit' parameter specifies the maximum number of records to return, with a default value of 50. The 'offset' parameter specifies the index of the record for the next page, with a default value of 0. The response includes an array of manager objects, each containing 'id', 'first_name', 'last_name', and 'email'. The response also includes pagination details in the 'page' object, which contains 'total_rows', 'items_per_page', and 'offset'.

Organizations

  • GET https://api.letsdeel.com/rest/v2/organizations : This API endpoint retrieves the current organization details. The organization is automatically detected from the authentication token provided in the request. The endpoint does not require any additional parameters or request body. Upon a successful request, it returns a JSON object containing an array of organization details, each with a unique identifier and name. In case of errors, it provides detailed error messages and status codes.

Payments

  • GET https://api.letsdeel.com/rest/v2/payments : The Retrieve Payments List API endpoint allows users to retrieve a list of payments made to Deel. The API supports filtering by date range using 'date_from' and 'date_to' query parameters, currency codes using 'currencies', and legal entity type using 'entities'. The response includes detailed information about each payment, such as payment method, status, currency, and associated workers. The API returns a 200 status code for successful operations, and various error codes (400, 401, 403, 404, 500) for different failure scenarios, each with detailed error information.
  • GET https://api.letsdeel.com/rest/v2/payments/{payment_id}/breakdown : The 'Get Payment Breakdown' API endpoint allows users to retrieve a detailed breakdown of a payment made to Deel. This breakdown includes individual invoices and the Deel fee as line items. The API requires a 'payment_id' as a path parameter to identify the specific payment. The request must include an 'accept' header with the value 'application/json'. The response will return a detailed list of payment components, including the date, contractor details, invoice number, currency, and total amounts. In case of errors, the API provides detailed error messages and status codes.

People

  • POST https://api.letsdeel.com/rest/v2/people : This API endpoint allows you to create an employee hired under your own entity in Deel HR. You can manage your employee through Deel and export a payroll report to your own providers. The request requires a JSON body with detailed information about the employee, client, employment, compensation details, seniority, and job title. The response will include the created employee's ID, employment details, and compensation details. The API supports error responses for various failure scenarios, including missing required fields and existing profiles.
  • GET https://api.letsdeel.com/rest/v2/people/custom_fields : This API endpoint fetches all custom fields associated with People records, providing additional personalized information. It does not require any input parameters, headers, or body content. The response includes an array of custom fields, each with details such as id, name, type, settings, creation date, placement, and description. The type of custom fields can vary, including text, number, date, percentage, currency, list, or multiselect. Settings include access control, sensitivity, requirement status, applicable countries, and worker types. The API handles various error responses, including 400, 401, 403, 404, and 500 status codes, each providing detailed error information.
  • GET https://api.letsdeel.com/rest/v2/people/custom_fields/{field_id} : This API endpoint allows users to access details of a specific custom field by using the custom field ID. It enriches individual personnel records by providing detailed information about the custom field, including its ID, name, type, settings, creation date, placement, and description. The request requires a path parameter 'field_id' which is a UUID representing the custom field ID. The response includes a detailed object with the custom field's properties if successful (HTTP 200). In case of errors, it returns detailed error information with HTTP status codes like 400, 401, 403, 404, and 500.
  • GET https://api.letsdeel.com/rest/v2/people/{worker_id} : This API endpoint retrieves a single person in your organization using the unique worker ID. The request is made using the GET method to the URL 'https://api.letsdeel.com/rest/v2/people/{worker_id}', where 'worker_id' is a required path parameter representing the unique identifier for a worker. The request header should include 'accept: application/json'. The response includes detailed information about the employee, such as their ID, name, addresses, emails, birth date, start date, nationalities, client legal entity, state, seniority, direct manager, direct reports, employments, hiring status, job title, country, timezone, department, work location, and custom fields. The API returns a 200 status code for a successful operation, with the employee data in JSON format. In case of errors, it returns appropriate error messages with status codes like 400, 401, 403, 404, 405, 429, and 500, detailing the nature of the error.
  • PUT https://api.letsdeel.com/rest/v2/people/{worker_id}/custom_fields : This API endpoint allows you to add or update custom field values for a specific worker, ensuring their profile is up-to-date with the latest information. The request requires a 'worker_id' as a path parameter, which is a UUID representing the worker. The request body must include an 'id' and 'data', where 'id' is the UUID for the custom field value, and 'data' can be of various types such as text, number, date, percentage, currency, list, or multiselect. The response will indicate success or provide detailed error information if the operation fails.
  • DELETE https://api.letsdeel.com/rest/v2/people/{worker_id}/custom_fields/{field_id} : This API endpoint allows you to delete a specific custom field value from a worker's profile. It is useful for removing outdated or unnecessary information. The request requires two path parameters: 'worker_id' which is the unique identifier of the worker, and 'field_id' which is the unique identifier of the custom field to be deleted. The request must include an 'accept' header with the value 'application/json'. A successful operation returns a 204 status code with no content. If the operation fails, it returns a JSON object with details about the error, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with an array of error messages.
  • PUT https://api.letsdeel.com/rest/v2/people/{worker_id}/department : This API endpoint allows updating the department information of a worker identified by the 'worker_id' path parameter. The request requires a JSON body containing the 'department_id' within a 'data' object. The 'department_id' can be a string or an integer. The response will indicate success with a boolean 'updated' field. In case of failure, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with a list of validation errors.
  • PATCH https://api.letsdeel.com/rest/v2/people/{worker_id}/personal : This API endpoint allows updating a worker's personal information using a PATCH request. The endpoint requires a path parameter 'worker_id' which is a unique identifier for the worker. The request headers must include 'accept' and 'content-type' both set to 'application/json'. The request body must contain a 'data' object with optional fields such as 'legal_first_name', 'legal_last_name', 'preferred_name', 'personal_email', and 'date_of_birth'. The API returns a 204 status code for a successful operation. In case of failure, it returns error details with status codes 400, 401, 403, 404, or 500, along with a detailed error message and path where the validation failed.
  • PUT https://api.letsdeel.com/rest/v2/people/{worker_id}/working-location : This API endpoint allows updating the working location of a worker identified by the 'worker_id' path parameter. The request requires headers specifying 'accept' and 'content-type' as 'application/json'. The body of the request must include a 'data' object containing a 'working_location_id', which can be a string or an integer. A successful operation returns a 200 status code with a response body indicating the update status. Various error responses (400, 401, 403, 404, 405, 429, 500) provide detailed information about the failure, including the method, URL, status, request ID, documentation link, source, and error code, along with an array of error messages and paths.

Teams

  • GET https://api.letsdeel.com/rest/v2/teams : This API endpoint retrieves a list of teams within your organization. It is a GET request to the URL https://api.letsdeel.com/rest/v2/teams. The request does not require any headers, path parameters, query parameters, or body content. Upon a successful request, it returns a JSON object containing an array of team objects, each with a unique 'id' and a 'name'. In case of errors, it returns detailed error information including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with an array of error messages and paths where validation failed.

Timesheets

  • POST https://api.letsdeel.com/rest/v2/timesheets : This API endpoint allows users to submit work for a contractor by creating a timesheet. The request is made to the URL 'https://api.letsdeel.com/rest/v2/timesheets' using the POST method. The request headers must include 'accept' and 'content-type' both set to 'application/json'. The request body must contain a 'data' object with required fields: 'contract_id', 'quantity', 'date_submitted', and 'description'. The response will return a 201 status code with details of the created timesheet if successful. In case of failure, various error codes such as 400, 401, 403, 404, 405, 429, and 500 may be returned, each with a detailed error message.
  • POST https://api.letsdeel.com/rest/v2/timesheets/many/reviews : This API endpoint allows users to review a batch of timesheets to either approve or reject submitted work. The request requires headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include a 'data' object with 'status' (either 'approved' or 'declined') and 'ids' (an array of timesheet IDs). The response will indicate success with a boolean 'created' field or provide error details if the operation fails.
  • DELETE https://api.letsdeel.com/rest/v2/timesheets/{timesheet_id} : This API endpoint allows the user to delete a single timesheet entry by specifying the timesheet ID in the path parameters. The request can optionally include a reason for deletion as a query parameter. The response confirms the deletion with a boolean value. If the operation fails, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with a list of error messages and paths where validation failed.
  • POST https://api.letsdeel.com/rest/v2/timesheets/{timesheet_id}/reviews : This API endpoint allows users to review a timesheet by approving or declining the submitted work. The request requires the 'timesheet_id' as a path parameter and a JSON body containing the 'status' of the review, which can be either 'approved' or 'declined'. Optionally, a 'reason' can be provided if the status is 'declined'. The response will indicate whether the review was successfully created or provide error details if the operation failed.

Webhooks

  • POST https://api.letsdeel.com/rest/v2/webhooks : This API endpoint allows you to create a new webhooks subscription on the Deel platform. The request must be made using the POST method to the URL https://api.letsdeel.com/rest/v2/webhooks. The request headers must include 'accept' and 'content-type' both set to 'application/json'. The request body must contain the following required fields: 'name', 'description', 'status', 'url', 'signing_key', 'api_version', and 'events'. The 'status' field can be either 'enabled' or 'disabled', and the 'api_version' should be 'v1' or 'v2'. Upon successful creation, the API returns a 201 status code with details of the created webhook subscription, including its 'id', 'name', 'description', 'status', 'url', 'signing_key', 'api_version', 'events', 'created_at', 'updated_at', 'hidden', 'internal', and 'deleted_at'. In case of an error, the API returns appropriate error codes (400, 401, 403, 404, 405, 429, 500) with detailed error messages.
  • GET https://api.letsdeel.com/rest/v2/webhooks/events/types : This API endpoint retrieves a list of webhook event types from the Deel platform. It uses the GET method and requires no parameters in the request. The response includes a list of event types, each with details such as the unique identifier, module name, module label, event name, description, and timestamps for creation and update. The response can also include error details if the request fails, with error codes and messages to help diagnose the issue.
  • DELETE https://api.letsdeel.com/rest/v2/webhooks/{id} : This API endpoint allows the user to delete a webhook subscription by specifying the webhook's unique identifier in the path parameter. The request method is DELETE, and the endpoint URL is https://api.letsdeel.com/rest/v2/webhooks/{id}. The request requires an 'id' path parameter, which is mandatory. The response can be a successful operation with a 200 status code or various error responses with status codes such as 400, 401, 403, 404, 405, 429, and 500, each providing detailed error information in the response body.

Workers

  • GET https://api.letsdeel.com/rest/v2/workers/{worker_id}/documents : This API endpoint retrieves a list of documents associated with a specific worker identified by the 'worker_id' path parameter. The request requires an 'accept' header specifying 'application/json'. The response includes a list of documents, each with details such as document ID, type, contractor signed date, client signed date, and label. The endpoint returns a 200 status code for successful operations and various error codes (401, 403, 404, 500) for failed operations, each with detailed error information.
  • GET https://api.letsdeel.com/rest/v2/workers/{worker_id}/documents/{document_id}/download : This API endpoint retrieves the download link for a specific worker's document in the Deel system. It requires two path parameters: 'worker_id', which is a unique identifier for the worker, and 'document_id', which is a unique identifier for the compliance document. The request must include an 'accept' header specifying 'application/json'. Upon a successful request (HTTP 200), the response will include a JSON object containing the 'url' of the document and the 'expires_at' timestamp indicating when the link will expire. If the request fails, it may return various error responses (HTTP 401, 403, 404, 500) with detailed error information including the failed request details and error messages.

Get Started with Deel API Integration

For quick and seamless access to Deel API, Knit API offers a convenient solution. By integrating with Knit just once, you can integrate with Deel and multiple other HRIS, Payroll, CRM, Accounting and other tools. Knit takes care of all the authentication, authorization, and ongoing integration maintenance. Tthis approach not only saves time but also ensures a smooth and reliable connection to your Deel API.

To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Nov 9, 2024

Ashby API Directory

Ashby software is a robust recruiting platform designed to transform the way organizations manage their recruitment and talent acquisition processes. By integrating Applicant Tracking System (ATS), analytics, scheduling, Customer Relationship Management (CRM), and sourcing capabilities, Ashby offers a comprehensive solution that empowers recruiting teams to streamline their operations and make data-driven decisions. This all-in-one platform is tailored to enhance efficiency and strategic planning, making it an indispensable tool for modern recruitment teams.

One of the standout features of Ashby is its ability to seamlessly integrate with various systems through the Ashby API. This integration capability allows organizations to connect Ashby with their existing tools and platforms, ensuring a smooth flow of data and enhancing the overall recruitment process. The Ashby API is designed to be user-friendly and flexible, enabling developers to customize and extend the platform's functionalities to meet specific organizational needs. By leveraging the Ashby API, companies can optimize their recruitment strategies and achieve better outcomes.

Key highlights of Ashby APIs

  • Automation
  • The API facilitates the automation of various HR tasks, including payroll and benefits management, allowing businesses to focus on core activities.
  • Data Integration
  • It enables seamless integration of data, logic, and objects with other software applications, enhancing data flow and operational efficiency.
  • Recruitment Platform Integration
  • The API supports integration with Ashby's recruitment platform, consolidating ATS, analytics, scheduling, and CRM functionalities.
  • Cloud Data Warehouse Integration
  • Replicating Ashby data into a cloud data warehouse can unlock opportunities for advanced analytics, workflow automation, and product development.
  • Communication and HR Systems
  • Ashby API integrates with communication tools, sourcing platforms, HRIS, assessment tools, and job boards, streamlining recruitment workflows.
  • AI Interaction
  • The integration allows AI agents to interact with and automate processes within Ashby, improving candidate evaluation and talent management.
  • Unified API
  • Through partnerships like Merge's ATS Unified API, Ashby can connect with various applications, helping businesses close more deals, retain customers, and expand into new markets.
  • Ease of Use
  • The integration capabilities make processes like pushing new hire data from other platforms to Ashby simple and efficient.

Ashby API Endpoints

API Key

  • POST https://api.ashbyhq.com/apiKey.info : The apiKey.info API endpoint is used to retrieve information about the API key being used to make the request. It requires the 'apiKeysRead' permission. The request is made using the POST method to the URL 'https://api.ashbyhq.com/apiKey.info'. The request headers must include 'accept' and 'content-type' set to 'application/json'. The request body is an empty JSON object. The response can either be a success response containing the API key's title and creation date or an error response with a list of error messages.

Application

  • POST https://api.ashbyhq.com/application.addHiringTeamMember : The Add Hiring Team Member to Application API allows you to add an Ashby user to the hiring team at the application level. It requires the 'candidateWrite' permission. The request body must include 'applicationId', 'teamMemberId', and 'roleId', all of which are UUIDs. The response can either be a success response, which includes details about the user added to the hiring team, or an error response with a list of error messages.
  • POST https://api.ashbyhq.com/application.change_source : The Change Application Source API allows users to update the source of a specific application. It requires the 'candidatesWrite' permission. The request is made via a POST method to the endpoint 'https://api.ashbyhq.com/application.change_source'. The request body must include 'applicationId' and 'sourceId', both of which are UUIDs. The response can either be a success or an error. A successful response includes details about the application, candidate, current interview stage, source, job, and hiring team. An error response includes a list of error messages.
  • POST https://api.ashbyhq.com/application.change_stage : The Change Application Stage API allows users to change the stage of an application in the system. It requires the 'candidatesWrite' permission. The request must include the applicationId and interviewStageId in the body, both of which are UUIDs. Optionally, an archiveReasonId can be provided if the application is being moved to an 'Archived' stage. The response will indicate success and provide detailed information about the application, including its status, candidate details, current interview stage, source, archive reason, job details, credited user, and hiring team. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/application.create : The Create Application API allows you to consider a candidate for a job by creating an application. It requires the `candidatesWrite` permission. The request body must include the `candidateId` and `jobId` as required fields. Optional fields include `interviewPlanId`, `interviewStageId`, `sourceId`, `creditedToUserId`, `createdAt`, and `applicationHistory`. The response can either be a success response with details of the created application or an error response with a list of error messages.
  • POST https://api.ashbyhq.com/application.info : The Fetch Application Details API allows users to retrieve application details using either an application ID or a submitted form instance ID. If both IDs are provided, the application ID takes precedence. The API requires the 'candidatesRead' permission. The request body must include either 'applicationId' or 'submittedFormInstanceId', and optionally an 'expand' parameter to include additional related data. The response includes detailed information about the application, candidate, interview stages, job, and more. The API returns a success response with application details or an error response with error messages.
  • POST https://api.ashbyhq.com/application.list : The List Applications API endpoint retrieves all applications within an organization. It requires the 'candidatesRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/application.list'. The request body can include parameters such as 'createdAfter', 'cursor', 'syncToken', 'limit', 'expand', 'status', and 'jobId'. The response includes a success flag, a list of results with detailed application information, and pagination details like 'moreDataAvailable' and 'nextCursor'. The response also provides a 'syncToken' for synchronization purposes. In case of errors, an error response with a list of error messages is returned.
  • POST https://api.ashbyhq.com/application.update : The Update Application API allows users to update an existing application. It requires the `candidatesWrite` permission. The request must include the `applicationId` in the body, which is the ID of the application to be updated. Optional fields include `sourceId`, `creditedToUserId`, `createdAt`, and `sendNotifications`. The response will indicate success and provide details about the updated application, including its status, candidate information, interview stage, source, and more. In case of an error, the response will include a list of error messages.

Application Feedback

  • POST https://api.ashbyhq.com/applicationFeedback.list : The List Application Feedback API endpoint allows users to retrieve all feedback associated with a specific application. It requires the 'candidatesRead' permission. The request is made via a POST method to the specified URL with headers indicating the content type as 'application/json'. The request body can include parameters such as 'createdAfter', 'cursor', 'syncToken', 'limit', and 'applicationId'. The response includes a success flag, a list of results with detailed feedback information, and pagination details like 'moreDataAvailable' and 'nextCursor'. In case of errors, an error response with a list of error messages is returned.
  • POST https://api.ashbyhq.com/applicationFeedback.submit : The Submit Application Feedback API allows users to submit feedback for a specific application using a feedback form. The API requires the `candidatesWrite` permission. The request body must include the feedback form details, form definition ID, application ID, and optionally the user ID and interview event ID. The feedback form supports various field types such as Boolean, Date, Email, Number, RichText, Score, Phone, String, ValueSelect, and MultiValueSelect. The response indicates whether the submission was successful and includes the submitted form instance details. In case of errors, an error response with a list of error messages is returned.

Application Form

  • POST https://api.ashbyhq.com/applicationForm.submit : The Submit Application Form API allows users to submit an application for a job posting. It requires the `candidatesWrite` permission and the request must be of type `multipart/form-data`. The request body must include the `jobPostingId` and `applicationForm` with `fieldSubmissions`. The API supports various field types such as Boolean, Date, Email, Number, and more. The response can be a success or an error, with detailed information about the submitted form instance and any form messages.

Application Hiring Team Role

  • POST https://api.ashbyhq.com/applicationHiringTeamRole.list : The List Application Hiring Team Roles API retrieves all available hiring team roles for applications within the organization. It requires the 'candidatesRead' permission. The request is made via a POST method to the specified endpoint with an 'accept' header indicating the media type as 'application/json'. The response includes a list of roles with their unique IDs and titles if successful, or an error message if the request fails.

Approval Definition

  • POST https://api.ashbyhq.com/approvalDefinition.update : The Update Approval Definition API allows users to create or update an approval definition for a specific entity that requires approval. The entity must be within the scope of an approval in Ashby that is managed by the API. The request requires the 'approvalsWrite' permission. The request body must include 'entityType', 'entityId', and 'approvalStepDefinitions'. If 'approvalStepDefinitions' is empty, approval will be skipped. The response will indicate success and provide details of the approval definition or errors if the request fails.

Archive Reason

  • POST https://api.ashbyhq.com/archiveReason.list : The List Archive Reasons API endpoint allows users to retrieve a list of archive reasons. It requires the 'hiringProcessMetadataRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/archiveReason.list'. The request body can include a boolean parameter 'includeArchived' to specify whether archived interview plans should be included. The response can either be a success response containing a list of archive reasons with details such as 'id', 'text', 'reasonType', and 'isArchived', or an error response with a list of error messages.

Assessment

  • POST https://api.ashbyhq.com/assessment.addCompletedToCandidate : The 'Add Completed Assessment to Candidate' API allows you to add a completed assessment to a candidate's profile. It requires the 'candidatesWrite' permission. The request body must include the candidateId, partnerId, assessment details (including assessmentTypeId, assessmentId, assessmentName, result, and metadata), and a timestamp indicating when the assessment was completed. The response will indicate success or failure, and in the case of success, it will return the details of the assessment added. In case of an error, it will return a list of error messages.
  • POST https://api.ashbyhq.com/assessment.cancel : The Cancel Assessment API allows partners to cancel an assessment that has been started. The request requires the 'assessment_id' in the body, which is a UUID identifying the assessment to be canceled. The response can either be a success response containing details about the canceled assessment or an error response with a list of error messages. The API is implemented by the partner and called by Ashby.
  • POST https://api.ashbyhq.com/assessment.start : The Start Assessment API is used to initiate an assessment for a candidate. It requires details about the assessment type, candidate, application, and job. The request body must include the assessment_type_id, candidate details (including ashby_id, first_name, last_name, email, and ashby_profile_url), application details (including ashby_id and status), and job details (including ashby_id, name, ashby_job_url, and hiring team information). The response includes a success flag and results containing the assessment_id and various metadata about the assessment, such as update requests, assessment profile URL, assessment result, cancelled reason, and additional metadata.
  • POST https://api.ashbyhq.com/assessment.update : The 'Update Assessment Status' API allows users to update Ashby about the status of a started assessment. It requires the 'candidatesWrite' permission. The request body must include 'assessment_id' and 'timestamp'. Optional fields include 'assessment_status', 'assessment_profile_url', 'assessment_result', 'cancelled_reason', and 'metadata'. The response indicates the status of the update operation.

Candidate

  • POST https://api.ashbyhq.com/candidate.addTag : The Add Tag to Candidate API allows users to add a specific tag to a candidate's profile in the Ashby system. This API requires the `candidatesWrite` permission. The request must include the candidate's unique ID and the tag's unique ID in the request body. The response will indicate whether the operation was successful and provide detailed information about the candidate, including their contact information, social links, tags, and other relevant details. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/candidate.create : The Create Candidate API endpoint allows users to create a new candidate in the system. It requires the `candidatesWrite` permission. The request must include the candidate's name, and can optionally include other details such as email, phone number, LinkedIn URL, GitHub URL, website, alternate email addresses, source ID, credited user ID, location, and creation timestamp. The response will indicate success and provide details about the created candidate, including their ID, name, contact information, social links, tags, position, company, school, application IDs, resume file handle, custom fields, profile URL, source, credited user, timezone, and primary location. In case of an error, the response will include error messages.
  • POST https://api.ashbyhq.com/candidate.createNote : The Create Note on Candidate API allows users to add a note to a candidate's profile. It requires the 'candidatesWrite' permission. The request body must include the candidate's unique identifier (candidateId) and the note content, which can be either a plain text string or an object specifying the content type and value. The API supports HTML elements like bold, italic, underline, links, lists, and code blocks for notes of type 'text/html'. Users can optionally specify whether to send notifications to subscribed users. The response includes a success flag and, if successful, details of the created note, including its ID, creation date, content, and author information. In case of errors, an error message is returned.
  • POST https://api.ashbyhq.com/candidate.info : The Candidate Information Retrieval API allows users to fetch detailed information about a candidate using either the candidate's unique ID or an external mapping ID. This API requires the 'candidatesRead' permission. The request body must include either the 'id' or 'externalMappingId' to identify the candidate. The response includes comprehensive details about the candidate, such as personal information, contact details, social links, tags, position, company, school, application IDs, resume file handle, custom fields, profile URL, source, credited user, timezone, and primary location. The response can either be a success with detailed candidate information or an error with a list of error messages.
  • POST https://api.ashbyhq.com/candidate.list : The List Candidates API endpoint allows users to retrieve a list of all candidates in an organization. It requires the 'candidatesRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/candidate.list'. The request body can include parameters such as 'cursor' for pagination, 'syncToken' for data synchronization, and 'limit' to specify the number of items to return. The response includes a success flag, potential error messages, and detailed candidate information such as name, contact details, social links, tags, and more.
  • POST https://api.ashbyhq.com/candidate.listNotes : The List Candidate Notes API endpoint allows users to retrieve all notes associated with a specific candidate. It requires the 'candidatesRead' permission. The request must include the candidate's ID, and optionally a cursor, sync token, and limit for pagination. The response includes a success flag, and if successful, a list of notes with details such as note ID, creation date, content, and author information. If there are errors, an error message will be returned.
  • POST https://api.ashbyhq.com/candidate.search : The Candidate Search API allows users to search for candidates by email and/or name. It requires the 'candidatesRead' permission. The API is designed for use cases where a small set of candidates is needed, such as building a candidate autocomplete. The request body can include 'email' and 'name' as search parameters, which are combined with the 'AND' operator if both are provided. The response is limited to 100 results and includes detailed candidate information such as email addresses, phone numbers, social links, tags, and more. If the search criteria are invalid, an error response is returned.
  • POST https://api.ashbyhq.com/candidate.update : The Update Candidate API allows you to update an existing candidate's information in the system. It requires the `candidatesWrite` permission. The request body must include the `candidateId` as a required field, and can optionally include other fields such as `name`, `email`, `phoneNumber`, `linkedInUrl`, `githubUrl`, `websiteUrl`, `alternateEmail`, `socialLinks`, `sourceId`, `creditedToUserId`, `location`, `createdAt`, and `sendNotifications`. The response will indicate success or failure, and in the case of success, it will return the updated candidate details including `id`, `name`, `emailAddresses`, `phoneNumbers`, `socialLinks`, `tags`, `applicationIds`, `fileHandles`, `profileUrl`, and more.
  • POST https://api.ashbyhq.com/candidate.uploadFile : The Upload Candidate File API allows users to upload a file to attach to a candidate's profile in Ashby. This API requires the 'candidatesWrite' permission and the request must be made with 'multipart/form-data' content type. The request body must include the 'candidateId' and the 'file' to be uploaded. Upon successful upload, the API returns a detailed response containing the candidate's information, including their name, email addresses, phone numbers, social links, tags, position, company, school, application IDs, file handles, custom fields, profile URL, source, credited user, timezone, and primary location. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/candidate.uploadResume : The candidate.uploadResume API allows users to upload a candidate's resume, parse it, and update their information in the system. This API requires the 'candidatesWrite' permission and the request must be sent with 'multipart/form-data' as the content type. The request body must include the 'candidateId' and the 'resume' file. The response will indicate success and provide detailed information about the candidate, including their contact information, social links, tags, position, company, school, application IDs, resume file handle, custom fields, profile URL, source, credited user, timezone, and primary location. If the request fails, an error response will be returned with a list of error messages.

Candidate Tag

  • POST https://api.ashbyhq.com/candidateTag.create : The Create Candidate Tag API allows users to create a new tag for a candidate. It requires the 'hiringProcessMetadataWrite' permission. The request must include a JSON body with a 'title' field, which is the name of the tag. If a tag with the same title already exists, the existing tag will be returned. The response can either be a success response, which includes the tag details such as 'id', 'title', and 'isArchived', or an error response with a list of error messages.
  • POST https://api.ashbyhq.com/candidateTag.list : The List Candidate Tags API endpoint allows users to retrieve all candidate tags. It requires the 'hiringProcessMetadataRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/candidateTag.list'. The request body can include an optional 'includeArchived' boolean parameter to specify whether archived tags should be included. The response will be a JSON object indicating success and containing an array of candidate tags, each with an 'id', 'title', and 'isArchived' status. In case of an error, the response will include a list of error messages.

Candidate Anonymization

  • POST https://api.ashbyhq.com/canidate.anonymize : The Anonymize Candidate API is used to anonymize a candidate's data. It requires the 'candidatesWrite' permission and all of the candidate's applications must be in the archived or hired state. The API takes a POST request with a JSON body containing the 'candidateId' as a UUID. The response can either be a success response with detailed candidate information or an error response with a list of error messages.

Custom Field

  • POST https://api.ashbyhq.com/customField.create : The Create Custom Field API allows users to create a new custom field in the Ashby system. It requires the `hiringProcessMetadataWrite` permission. The request body must include the `fieldType`, `objectType`, and `title` as required fields. Optional fields include `description`, `selectableValues`, `isDateOnlyField`, and `isExposableToCandidate`. The response will indicate success and provide details of the created custom field, including its `id`, `title`, `objectType`, `isArchived`, and `fieldType`. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/customField.list : The List Custom Fields API endpoint allows users to retrieve a list of all custom fields available in the Ashby system. It requires the 'hiringProcessMetadataRead' permission. The request is made via a POST method to the specified URL with headers indicating the content type as 'application/json'. The request body can include optional parameters such as 'cursor' for pagination, 'syncToken' for synchronization, and 'limit' to specify the number of items to return. The response can either be a success or an error. A successful response includes a list of custom fields with details such as 'id', 'title', 'objectType', 'isArchived', 'fieldType', and 'selectableValues' if applicable. An error response includes a list of error messages.
  • POST https://api.ashbyhq.com/customField.setValue : The 'Set Custom Field Value' API allows users to set the value of a custom field for a specified object. It requires the 'candidatesWrite' permission. The request body must include 'objectId', 'objectType', 'fieldId', and 'fieldValue'. The 'fieldValue' can be of various types depending on the field being updated, such as Boolean, Date, String, MultiValueSelect, Number, or ValueSelect. The response will indicate success and provide details of the updated field value, or it will return an error message if the input is invalid.

Department

  • POST https://api.ashbyhq.com/department.create : The Create Department API allows users to create a new department within an organization. It requires the 'organizationWrite' permission. The request must include the department's name and optionally the parent department's ID. The response will indicate success and provide details of the created department, including its ID, name, and archival status. In case of errors, an error message will be returned.
  • POST https://api.ashbyhq.com/department.info : The Fetch Department Details API allows users to retrieve details of a department by its unique ID. It requires the 'organizationRead' permission. The request must include the department ID in the request body. The response can either be a success response containing the department details such as ID, name, and archival status, or an error response with a list of error messages.
  • POST https://api.ashbyhq.com/department.list : The List Departments API endpoint allows users to retrieve a list of all departments within an organization. It requires the 'organizationRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/department.list'. The request body can include an optional 'includeArchived' boolean parameter to specify whether archived departments should be included in the response. The response will return a success status and a list of department objects, each containing an 'id', 'name', 'isArchived' status, and optionally a 'parentId'. In case of an error, the response will include a list of error messages.

Feedback Form Definition

  • POST https://api.ashbyhq.com/feedbackFormDefinition.info : The Feedback Form Definition Information API returns a single feedback form by its unique ID. It requires the 'hiringProcessMetadataRead' permission. The request must include the 'feedbackFormDefinitionId' in the body as a UUID. The response can either be a success, containing details of the feedback form such as its ID, title, and form definition, or an error response with a list of error messages.
  • POST https://api.ashbyhq.com/feedbackFormDefinition.list : The List Feedback Form Definitions API endpoint allows users to retrieve a list of feedback forms. It requires the 'hiringProcessMetadataRead' permission. The request body can include parameters such as 'includeArchived' to include archived items, 'cursor' for pagination, 'syncToken' for synchronization, and 'limit' to specify the number of items to return. The response includes a success flag, a list of results with feedback form details, and pagination information. In case of errors, an error message is returned.

File

  • POST https://api.ashbyhq.com/file.info : The 'Retrieve File URL for Candidate' API endpoint allows users to retrieve the URL of a file associated with a candidate. This API requires the 'candidatesRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/file.info'. The request body must include a 'fileHandle', which is a string representing a file handle retrieved from the public API. The response can either be a success, returning a JSON object with a 'success' boolean and a 'results' object containing the 'url' of the file, or an error, returning a 'success' boolean set to false and an 'errors' array with error message strings.

Hiring Team

  • POST https://api.ashbyhq.com/hiringTeam.addMember : The Add Member to Hiring Team API allows you to add an Ashby user to the hiring team at either the application or job level. It requires the 'organizationWrite' permission. The request body must include either an applicationId or jobId, along with the teamMemberId and roleId. The response will indicate success and provide details of the added team member, or it will return errors if the operation fails.

Hiring Team Role

  • POST https://api.ashbyhq.com/hiringTeamRole.list : The List Hiring Team Roles API endpoint allows users to retrieve a list of possible hiring team roles within an organization. It requires the 'organizationRead' permission. The request is made via a POST method to the specified URL with headers indicating the expected response and request body media types as 'application/json'. The request body can include a 'namesOnly' boolean parameter, which defaults to true. If 'namesOnly' is true, the response will be an array of role titles. If false, the response will include an array of objects with each role's id and title. The response includes a 'success' boolean indicating if the request was successful and a 'results' array containing the role information.

Interview

  • POST https://api.ashbyhq.com/interview.info : The Fetch Interview Details by ID API allows users to retrieve detailed information about a specific interview using its unique ID. This API requires the 'interviewsRead' permission. The request must include the interview ID in the request body as a UUID. The response will include details such as the interview's title, whether it is archived, HTML and plaintext descriptions, associated job ID, and feedback form definition ID. If the request is successful, the response will include a 'success' flag and the interview details. In case of an error, the response will include a 'success' flag set to false and a list of error messages.
  • POST https://api.ashbyhq.com/interview.list : The 'List Interviews' API endpoint allows users to retrieve a list of interviews. It requires the 'interviewsRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/interview.list'. The request body can include parameters such as 'cursor', 'syncToken', 'limit', 'includeArchived', and 'includeNonSharedInterviews'. The response can either be a success or an error. A successful response includes details about the interviews such as 'id', 'title', 'isArchived', 'instructionsHtml', 'instructionsPlain', 'jobId', and 'feedbackFormDefinitionId'. An error response includes a list of error messages.

Interview Event

  • POST https://api.ashbyhq.com/interviewEvent.list : The List Interview Events API allows users to retrieve a list of interview events associated with a specific interview schedule. It requires the 'interviewsRead' permission. The request must include the 'interviewScheduleId' in the body, which is a UUID identifying the interview schedule. The response will include a success flag and a list of interview events, each with details such as event ID, interview ID, schedule ID, interviewer IDs, creation time, start and end times, feedback link, location, meeting link, and feedback submission status. In case of errors, an error response with a list of error messages will be returned.

Interview Plan

  • POST https://api.ashbyhq.com/interviewPlan.list : The List Interview Plans API endpoint allows users to retrieve a list of interview plans. It requires the 'interviewsRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/interviewPlan.list'. The request body can include an optional parameter 'includeArchived' to specify whether archived items should be included in the response. The response can either be a success response containing a list of interview plans with details such as 'id', 'title', and 'isArchived', or an error response with a list of error messages.

Interview Schedule

  • POST https://api.ashbyhq.com/interviewSchedule.cancel : The Cancel Interview Schedule API allows users to cancel an interview schedule by its ID. It requires the 'interviewsWrite' permission. The request must include the ID of the interview schedule to be canceled and optionally whether the schedule can be rescheduled. The response will indicate success or failure, and in case of success, it will provide details about the interview schedule, including its status, associated application ID, interview stage ID, and any scheduled interview events. In case of an error, a list of error messages will be returned.
  • POST https://api.ashbyhq.com/interviewSchedule.create : The 'Create Scheduled Interview' API allows users to create a scheduled interview in Ashby. It requires the 'interviewsWrite' permission. The request body must include the 'applicationId' and 'interviewEvents', which detail the events that make up the interview schedule. Each event must specify 'startTime', 'endTime', and 'interviewers'. The response can either be a success, providing details of the created interview schedule, or an error with a list of error messages.
  • POST https://api.ashbyhq.com/interviewSchedule.list : The List Interview Schedules API retrieves all interview schedules within an organization. It requires the 'interviewsRead' permission. The request is made via a POST method to the endpoint 'https://api.ashbyhq.com/interviewSchedule.list'. The request body can include parameters such as 'createdAfter', 'cursor', 'syncToken', 'limit', 'applicationId', and 'interviewStageId'. The response includes a success flag, a list of interview schedules, and pagination details like 'moreDataAvailable', 'nextCursor', and 'syncToken'. Each interview schedule contains details such as 'id', 'status', 'applicationId', 'interviewStageId', and associated 'interviewEvents'.
  • POST https://api.ashbyhq.com/interviewSchedule.update : The Update Interview Schedule API allows users to update, add, or cancel interview events associated with an interview schedule. It requires the 'interviewsWrite' permission. To update an interview event, the 'interviewEventId' must be included in the request. The request body can either update an existing event or cancel an event. The response includes the status of the interview schedule and details of all associated interview events. The API returns a success response with the updated schedule details or an error response with a list of error messages.

Interview Stage

  • POST https://api.ashbyhq.com/interviewStage.info : The Fetch Interview Stage Details API allows users to retrieve details of a specific interview stage by its unique ID. It requires the 'interviewsRead' permission. The request must include the 'interviewStageId' in the body as a UUID. The response can either be a success, containing details such as the stage ID, title, type, order in the interview plan, and interview plan ID, or an error response with a list of error messages.
  • POST https://api.ashbyhq.com/interviewStage.list : The List Interview Stages API endpoint allows users to list all interview stages for a specified interview plan in order. It requires the 'interviewsRead' permission. The request must include the 'interviewPlanId' in the body as a UUID. The response will indicate success and provide an array of interview stages, each with an id, title, type, order in the interview plan, and the interview plan id. If the request fails, an error response with a list of error messages will be returned.

Interviewer Pool

  • POST https://api.ashbyhq.com/interviewerPool.addUser : The 'Add User to Interviewer Pool' API allows you to add a user to a specified interviewer pool. It requires the 'hiringProcessMetadataWrite' permission. The request body must include the 'interviewerPoolId' and 'userId', both of which are UUIDs. Optionally, you can include 'interviewerPoolTrainingPathStageId'. The response will indicate success and provide details about the interviewer pool, including its ID, title, and training path information. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/interviewerPool.archive : The Archive Interviewer Pool API archives an interviewer pool. It requires the 'hiringProcessMetadataWrite' permission. The request is made via a POST method to the endpoint 'https://api.ashbyhq.com/interviewerPool.archive'. The request body must include the 'interviewerPoolId', which is the ID of the interviewer pool to be archived. The response can either be a success or an error. A successful response includes details about the interviewer pool, such as its ID, title, archival status, training path, qualified members, and trainees. An error response includes a list of error messages.
  • POST https://api.ashbyhq.com/interviewerPool.create : The 'Create Interviewer Pool' API endpoint allows users to create a new interviewer pool. It requires the 'hiringProcessMetadataWrite' permission. The request must include a JSON body with the 'title' of the pool, which is required, and an optional 'requiresTraining' boolean to indicate if training is needed. The response will indicate success and provide details about the created pool, including its ID, title, archival status, training path, qualified members, and trainees. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/interviewerPool.info : The Interviewer Pool Information API provides details about a specific interviewer pool. It requires the 'hiringProcessMetadataRead' permission. The request is made via a POST method to the endpoint 'https://api.ashbyhq.com/interviewerPool.info'. The request body must include the 'interviewerPoolId', which is a UUID identifying the pool. The response can be a success or an error. A successful response includes details such as the pool's ID, title, archival status, training path, qualified members, and trainees. An error response includes a list of error messages.
  • POST https://api.ashbyhq.com/interviewerPool.list : The List Interviewer Pools API endpoint allows users to retrieve a list of interviewer pools. It requires the 'hiringProcessMetadataRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/interviewerPool.list'. The request body can include parameters such as 'cursor', 'syncToken', 'limit', 'includeArchivedPools', and 'includeArchivedTrainingStages'. The response includes a success flag, a list of results with details about each pool, and pagination information. In case of an error, the response will include an error message.
  • POST https://api.ashbyhq.com/interviewerPool.removeUser : The 'Remove User from Interviewer Pool' API allows you to remove a user from a specified interviewer pool. This API requires the 'hiringProcessMetadataWrite' permission. The request must include the 'interviewerPoolId' and 'userId' in the body, both of which are UUIDs. The response will indicate success or failure. On success, it returns details about the interviewer pool, including its ID, title, archival status, training path, qualified members, and trainees. On failure, it provides a list of error messages.
  • POST https://api.ashbyhq.com/interviewerPool.restore : The 'Restore Interviewer Pool' API endpoint allows users to restore an archived interviewer pool. It requires the 'hiringProcessMetadataWrite' permission. The request is made via a POST method to the specified URL with a JSON body containing the 'interviewerPoolId' of the pool to be restored. The response can either be a success, returning details of the restored pool including its ID, title, archival status, training path, qualified members, and trainees, or an error with a list of error messages.
  • POST https://api.ashbyhq.com/interviewerPool.update : The 'Update Interviewer Pool' API allows users to update details of an existing interviewer pool. It requires the 'hiringProcessMetadataWrite' permission. The request body must include the 'interviewerPoolId' as a required field, and optionally, the 'title' and 'requiresTraining' fields. The response can either be a success or an error. A successful response includes details of the updated interviewer pool, such as its ID, title, archival status, training path, qualified members, and trainees. An error response includes a list of error messages.

Job

  • POST https://api.ashbyhq.com/job.create : The 'Create a New Job' API endpoint allows users to create a new job posting in the system. It requires the 'jobsWrite' permission. The request must include a JSON body with the job title, team ID, and location ID as required fields. Optional fields include default interview plan ID and job template ID. The response will indicate success or failure, and if successful, it will return details of the created job, including its ID, title, status, and other attributes. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/job.info : The Job Information Retrieval API allows users to fetch detailed information about a specific job using its unique ID. The request requires the 'jobsRead' permission and must include the job ID in the request body. Optionally, users can expand the response to include additional data related to the job's location and openings. The response includes detailed job information such as title, status, employment type, associated department, and custom fields. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/job.list : The List Jobs API allows users to retrieve a list of jobs, including open, closed, and archived jobs. It requires the 'jobsRead' permission. The request body can include parameters such as 'cursor', 'syncToken', 'limit', 'status', 'openedAfter', 'openedBefore', 'closedAfter', 'closedBefore', and 'expand'. The response includes a success flag, a list of job results, and pagination information. Each job result contains details such as job ID, title, status, employment type, location, department, interview plans, custom fields, and hiring team information.
  • POST https://api.ashbyhq.com/job.search : The Job Search API allows users to search for jobs by title. It requires the 'jobsRead' permission. The request is made via a POST method to the endpoint 'https://api.ashbyhq.com/job.search'. The request body must include a 'title' field specifying the job title to search for. The response includes a success flag and a list of job results, each containing details such as job ID, title, status, employment type, location, department, interview plans, custom fields, job postings, requisition ID, hiring team, and timestamps for updates, openings, and closings. In case of errors, an error response with a list of error messages is returned.
  • POST https://api.ashbyhq.com/job.setStatus : The Set Job Status API allows users to change the status of a job by its unique ID. It requires the 'jobsWrite' permission. The job status can be set to 'Draft', 'Open', 'Closed', or 'Archived', with specific transitions allowed between these states. The request must include the job ID and the desired status in the body. The response will indicate success and provide detailed job information if successful, or error messages if not.
  • POST https://api.ashbyhq.com/job.update : The Update Job Details API allows users to update an existing job's details. It requires the 'jobsWrite' permission. The request must include the jobId in the body, and optionally, other fields such as title, teamId, locationId, defaultInterviewPlanId, and customRequisitionId. The response will indicate success and provide updated job details, including id, title, status, employmentType, and more. In case of errors, an error response with a list of error messages will be returned.

Job Posting

  • POST https://api.ashbyhq.com/jobPosting.info : The Retrieve Job Posting Information API allows users to retrieve detailed information about a specific job posting. It requires the 'jobsRead' permission. The request must include the 'jobPostingId' in the body, which is a UUID identifying the job posting. Optionally, the 'expand' parameter can be used to include additional data for related objects. The response includes detailed information about the job posting, such as its title, description, department, team, location, and linked data for search engine optimization. The API returns a success response with the job posting details or an error response with a list of error messages.
  • POST https://api.ashbyhq.com/jobPosting.list : The List Job Postings API endpoint allows users to retrieve all published job postings. It requires the 'jobsRead' permission. By default, it includes both listed and unlisted job postings. To only fetch publicly displayable job postings, set the 'listedOnly' parameter to true. The request body can filter results by location and department. The response includes details such as job ID, title, department, team, location, employment type, and more. It also provides a success status and handles errors with descriptive messages.
  • POST https://api.ashbyhq.com/jobPosting.update : The jobPosting.update API allows users to update an existing job posting. It requires the 'jobsWrite' permission. The request body must include the 'jobPostingId' to identify the job posting to update. Optionally, a new 'title' and 'description' can be provided. The description must be in HTML format and only certain HTML tags are supported. The response will indicate success and return the updated job posting details, or provide error messages if the update fails.

Location

  • POST https://api.ashbyhq.com/location.create : The Create Location or Location Hierarchy API allows users to create a new location or a hierarchy of locations. It requires the 'organizationWrite' permission. The request body must include the 'name' and 'type' of the location, and can optionally include the 'address', 'parentLocationId', and 'isRemote' status. The response will indicate success and provide details of the created location, or it will return error messages if the input is invalid.
  • POST https://api.ashbyhq.com/location.info : The Location Information Retrieval API allows users to get details for a single location by its ID. It requires the 'organizationRead' permission. The request must include a JSON body with the 'locationId' parameter, which is a UUID representing the location to fetch. The response can either be a success response containing the location details such as ID, name, archival status, address, and remote status, or an error response with a list of error messages.
  • POST https://api.ashbyhq.com/location.list : The List All Locations API endpoint allows users to retrieve a list of all locations, excluding regions. The request requires the 'organizationRead' permission. The request body can include an optional parameter 'includeArchived' to specify whether archived locations should be included in the response. The response will return a success status and a list of location objects, each containing details such as id, name, archival status, address, and remote status. In case of an error, the response will include a list of error messages.

Offer

  • POST https://api.ashbyhq.com/offer.create : The Create Offer API endpoint allows users to create a new offer in the system. It requires the `offersWrite` permission. The request must include the offer process ID, offer form ID, and the offer form details, which include field submissions. The field submissions can include various types of data such as Boolean, Currency, Date, Number, String, ValueSelect, and MultiValueSelect. The response will indicate success or failure and, if successful, will include details about the created offer, such as its ID, application ID, acceptance status, offer status, latest version details, and author information. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/offer.info : The Offer Information Retrieval API allows users to fetch details about a specific offer using its unique ID. This API requires the 'offersRead' permission. The request is made via a POST method to the endpoint 'https://api.ashbyhq.com/offer.info'. The request body must include the 'offerId', which is a UUID representing the offer to be fetched. The response can either be a success or an error. A successful response includes details such as the offer's ID, application ID, acceptance status, offer status, latest version details, and author information. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/offer.list : The offer.list API endpoint is used to retrieve a list of all offers with their latest version. It requires the 'offersRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/offer.list'. The request body can include parameters such as 'cursor', 'syncToken', 'limit', and 'applicationId' to filter and paginate the results. The response includes a success flag, a list of offers with details such as acceptance status, offer status, latest version details, and author information. The response also indicates if more data is available for pagination and provides a new sync token for subsequent requests.
  • POST https://api.ashbyhq.com/offer.start : The offer.start endpoint creates and returns an offer version instance that can be filled out and submitted using the `offer.create` endpoint. It requires the `offersWrite` permission. To create a new offer version for a candidate with an in-progress offer process, call the `offer.start` endpoint and then call the `offer.create` endpoint to fill out the newly created offer version form. The request body requires the `offerProcessId`, which is the ID of the offer process to start. The response can either be a success response containing the offer version details or an error response with a list of error messages.

Opening

  • POST https://api.ashbyhq.com/opening.addJob : The Add Job to Opening API allows users to add a job to an existing opening. It requires the 'jobsWrite' permission. The request body must include 'openingId' and 'jobId', both of which are strings representing the IDs of the opening and the job to be added, respectively. The response will indicate success with a boolean and provide details about the opening, including its state, whether it is archived, and information about the latest version of the opening. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/opening.create : The Create Opening API allows users to create a new job opening. It requires the 'jobsWrite' permission. The request body must include details such as the identifier, description, teamId, locationIds, jobIds, targetHireDate, targetStartDate, isBackfill, employmentType, and openingState. The response will indicate success and provide details of the created opening, including its ID, state, and associated metadata. In case of errors, an error response with a list of error messages will be returned.
  • POST https://api.ashbyhq.com/opening.info : The Retrieve Opening Information API allows users to retrieve detailed information about a specific job opening using its UUID. This API requires the 'jobsRead' permission. The request must include the 'openingId' in the body, which is the unique identifier of the opening. The response will include detailed information about the opening, such as its state, whether it is archived, and details about the latest version of the opening, including the hiring team, employment type, and other relevant details. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/opening.list : The List Openings API endpoint allows users to retrieve a list of job openings. It requires the 'jobsRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/opening.list'. The request body can include optional parameters 'cursor' and 'syncToken' to paginate through results and synchronize data. The response includes a success flag and a list of results, each containing details about the job opening such as its ID, state, and latest version information. In case of an error, the response will include a list of error messages.
  • POST https://api.ashbyhq.com/opening.removeJob : The Remove Job from Opening API allows users to remove a specific job from an opening. It requires the 'jobsWrite' permission. The request is made via a POST method to the endpoint 'https://api.ashbyhq.com/opening.removeJob'. The request body must include 'openingId' and 'jobId', both of which are required. The response can either be a success or an error. A successful response includes details about the opening, such as its state, whether it is archived, and information about the latest version of the opening. An error response includes a list of error messages.
  • POST https://api.ashbyhq.com/opening.search : The Opening Search API allows users to search for job openings by their identifier. It requires the 'jobsRead' permission. The request is made via a POST method to the endpoint 'https://api.ashbyhq.com/opening.search'. The request body must include a JSON object with the 'identifier' of the opening to search for. The response can either be a success or an error. A successful response includes a list of results with details about each opening, such as its ID, state, and latest version information. An error response includes a list of error messages.
  • POST https://api.ashbyhq.com/opening.setArchived : The 'Set Archived State of an Opening' API allows users to update the archived state of a specific job opening. It requires the 'jobsWrite' permission. The request is made via a POST method to the endpoint 'https://api.ashbyhq.com/opening.setArchived'. The request body must include 'openingId' (the ID of the opening) and 'archive' (a boolean indicating the desired archived state). The response will indicate success and provide details about the opening, including its ID, state, and latest version information. In case of errors, an error message will be returned.
  • POST https://api.ashbyhq.com/opening.setOpeningState : The Set Opening State API allows users to update the state of a job opening. It requires the 'jobsWrite' permission. The request is made via a POST method to the endpoint 'https://api.ashbyhq.com/opening.setOpeningState'. The request body must include 'openingId' (the ID of the opening to update), 'openingState' (the new state, which can be 'Draft', 'Approved', 'Open', or 'Closed'), and optionally 'closeReasonId' if the state is being set to 'Closed'. The response will indicate success and provide details of the updated opening, including its ID, state, and other metadata. In case of errors, an error response with a list of error messages will be returned.
  • POST https://api.ashbyhq.com/opening.update : The Update Opening API allows users to update an existing job opening. It requires the 'jobsWrite' permission. The request body can include parameters such as 'openingId', 'identifier', 'description', 'teamId', 'targetHireDate', 'targetStartDate', 'isBackfill', and 'employmentType'. The response will indicate success or failure and provide details about the updated opening, including its ID, state, and latest version information.

Referral

  • POST https://api.ashbyhq.com/referral.create : The Create Referral API endpoint allows users to create a new referral in the system. It requires the `candidatesWrite` permission. The request must include the referral form ID, the user ID of the person submitting the referral, and the field submissions. Optionally, a creation timestamp can be provided. The response will indicate success and provide details about the created referral, including its ID, creation and update timestamps, status, candidate information, interview stage, source, job details, credited user, and hiring team. In case of errors, an error response will be returned with a list of error messages.

Referral Form

  • POST https://api.ashbyhq.com/referralForm.info : The Referral Form Information API fetches the default referral form or creates one if it does not exist. It requires the 'hiringProcessMetadataRead' permission. The API is accessed via a POST request to the specified endpoint with an 'accept' header set to 'application/json'. The response can either be a success or an error. A successful response includes details about the referral form, such as its ID, title, and form definition. An error response includes a list of error messages.

Source

  • POST https://api.ashbyhq.com/source.list : The 'List All Sources' API endpoint allows users to retrieve a list of all sources. It requires the 'hiringProcessMetadataRead' permission. The request is made via a POST method to the URL 'https://api.ashbyhq.com/source.list'. The request body can include an optional 'includeArchived' boolean parameter to specify whether archived items should be included. The response will include a 'success' boolean indicating if the request was successful, and if successful, a 'results' array containing source objects with 'id', 'title', 'isArchived', and 'sourceType' details. If there are errors, an 'errors' array will be returned with error messages.

Survey Form Definition

  • POST https://api.ashbyhq.com/surveyFormDefinition.info : The Survey Form Definition Information API returns details about a single survey form definition by its ID. It requires the 'hiringProcessMetadataRead' permission. The request must include the 'surveyFormDefinitionId' in the body as a UUID. The response includes details such as the form's ID, title, archival status, form definition, and survey type. The API returns a success response with the form details or an error response with a list of error messages.
  • POST https://api.ashbyhq.com/surveyFormDefinition.list : The List Survey Form Definitions API endpoint allows users to retrieve a list of all survey form definitions. It requires the 'hiringProcessMetadataRead' permission. The request is made via a POST method to the specified URL with headers indicating the expected response and request body media types as 'application/json'. The request body can include optional parameters such as 'cursor' for pagination, 'syncToken' for synchronization, and 'limit' to specify the number of items to return. The response can either be a success or an error. A successful response includes a list of survey form definitions with details such as form ID, title, archived status, and form definition details. An error response includes a success flag set to false and a list of error messages.

Survey Request

  • POST https://api.ashbyhq.com/surveyRequest.create : The Create Survey Request API endpoint generates a survey request and returns a survey URL. This URL can be shared with a candidate to allow them to complete a survey. The request requires the `candidatesWrite` permission. The request body must include `candidateId`, `applicationId`, and `surveyFormDefinitionId`, all of which are UUIDs. The response will include a success flag and, if successful, details of the survey request including the survey URL. If unsuccessful, an error response with a list of error messages will be returned.

Survey Submission

  • POST https://api.ashbyhq.com/surveySubmission.list : The surveySubmission.list API endpoint allows users to list all survey submissions of a specified survey type. It requires the 'candidatesRead' permission. The request body must include the 'surveyType' parameter, which specifies the type of survey submissions to fetch. Optional parameters include 'cursor', 'syncToken', and 'limit', which control pagination and data synchronization. The response includes a success flag, pagination information, and an array of survey submission results, each containing details such as the submission ID, candidate ID, application ID, survey type, form definition, and submitted values. In case of errors, the response will include an error message.

User

  • POST https://api.ashbyhq.com/user.info : The Get Ashby User Information API allows you to retrieve information about a specific user in the Ashby system by their user ID. This API requires the 'organizationRead' permission. The request must include a JSON body with the 'userId' parameter, which is a UUID representing the user to be looked up. The response will either be a success response containing user details such as id, firstName, lastName, email, globalRole, isEnabled, and updatedAt, or an error response with a list of error messages.
  • POST https://api.ashbyhq.com/user.list : The List Users API endpoint allows you to retrieve a list of all Ashby users. It requires the 'organizationRead' permission. The request body can include parameters such as 'cursor' for pagination, 'syncToken' for synchronization, 'limit' to specify the number of items to return, and 'includeDeactivated' to include deactivated users in the response. The response includes user details such as 'id', 'firstName', 'lastName', 'email', 'globalRole', 'isEnabled', and 'updatedAt'. The 'globalRole' property specifies the user's access level in Ashby. The response can also indicate if more data is available for pagination.
  • POST https://api.ashbyhq.com/user.search : The User Search by Email API allows you to search for an Ashby user using their email address. It requires the 'organizationRead' permission. The request must include the email in the request body. The response will indicate success and provide user details such as id, firstName, lastName, email, globalRole, isEnabled, and updatedAt if successful. In case of an error, the response will include a list of error messages.

Webhook

  • POST https://api.ashbyhq.com/webhook.create : The Create Webhook Setting API allows users to create a webhook setting by specifying the type of webhook, the URL to which the webhook will send requests, and a secret token for signing the webhook request. The request requires the 'apiKeysWrite' scope for authentication. The request body must include 'webhookType', 'requestUrl', and 'secretToken' as required fields. The response will indicate success with a boolean and provide details of the created webhook setting, including its ID, enabled status, request URL, secret token, and webhook type. In case of errors, an error response will be returned with a list of error messages.
  • POST https://api.ashbyhq.com/webhook.delete : The Delete Webhook Setting API allows users to delete a specific webhook setting by providing the webhook ID. It requires the 'apiKeysWrite' permission. The request must include the 'webhookId' in the body as a UUID string. The response will indicate success with a boolean and return the deleted 'webhookId' if successful, or an array of error messages if there was an error.

Get Started with Ashby API Integration

For quick and seamless access to Ashby API, Knit API offers a convenient solution. By integrating with Knit just once, you can integrate with multiple other ATS, HRIS, Payroll and other systems. Knit takes care of all the authentication, authorization, and ongoing integration maintenance. This approach not only saves time but also ensures a smooth and reliable connection to your Ashby API.

To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Nov 9, 2024

7Shifts API Directory

7Shifts is a robust employee scheduling software tailored specifically for the restaurant industry, offering a suite of tools that streamline workforce management. By focusing on the unique needs of restaurant operations, 7Shifts provides features such as scheduling, time tracking, tip management, payroll integration, and team communication. These functionalities are designed to enhance operational efficiency, reduce labor costs, and improve staff productivity, making it an essential tool for restaurant managers looking to optimize their workforce management processes.

One of the standout features of 7Shifts is its ability to integrate seamlessly with various platforms through the 7Shifts API. This integration capability allows restaurants to connect their existing systems with 7Shifts, ensuring a smooth flow of data and enhancing overall operational efficiency. The 7Shifts API enables businesses to customize their scheduling and workforce management processes, providing a flexible solution that adapts to the specific needs of each restaurant. As such, understanding the 7Shifts API integration process is crucial for maximizing the software's potential and achieving optimal results in restaurant management.

Key highlights of 7Shifts APIs

  • Easy Data Access:
  • Organized around predictable, resource-oriented URLs for easier data management.
  • Automation:
  • Supports automation through integration with other systems.
  • Custom Integration:
  • Integrates with key POS, time clocking, and payroll software for enhanced management processes.
  • Real-Time Sync:
  • Supports webhooks for real-time data synchronization and event-driven actions.
  • Strong Security:
  • Uses HTTP response codes for secure communication.
  • Scalable:
  • Handles multiple requests with rate limiting at 10 requests per second per access token.
  • Developer-Friendly:
  • Follows RESTful principles with predictable URLs.
  • Error Handling and Logging:
  • Utilizes HTTP response codes for effective error handling.
  • Rate Limiting:
  • Enforces rate limits to ensure fair usage.
  • Webhook Support:
  • Enables real-time data synchronization and event-driven actions.

7Shifts API Endpoints

Authentication

POST https://api.7shifts.com/oauth2/token : This API endpoint is used to acquire an OAuth token from the 7shifts API. It requires a POST request to the URL 'https://api.7shifts.com/oauth2/token' with headers specifying 'Content-Type' as 'application/x-www-form-urlencoded' and 'accept' as 'application/json'. The request body must include 'grant_type', 'client_id', 'client_secret', and 'scope'. The 'grant_type' should be 'client_credentials' for Partner OAuth tokens. The response includes a 'token_type' which is 'Bearer', 'expires_in' indicating the number of seconds until the token expires, and an 'access_token' which is the authorization token. Optionally, a 'refresh_token' may also be provided.

Company

GET https://api.7shifts.com/v2/companies/{id} : The Get Company Details API retrieves detailed information about a specific company using its ID. The request requires the company ID as a path parameter and optionally accepts headers for API version and company GUID. The response includes company details such as name, country, plan ID, status, and metadata. The response status can be active, trial, cancelled, delinquent, expired, or unknown.

POST https://api.7shifts.com/v2/partner_company_creation : The Create Trial Company API endpoint allows partners with OAuth clients to create a trial company with The Works plan, a single location, and one administrator. The administrator will receive an invitation email from 7shifts to complete the company setup. The request requires a JSON body with fields such as email, firstname, lastname, company_name, country, and utm_source. Optional fields include mobile_phone, utm_campaign, utm_content, utm_medium, and utm_term. The response includes a 201 status code with company, location, and user IDs if successful, or various error codes and messages if the request fails.

Locations

GET https://api.7shifts.com/v2/company/{company_id}/locations : The Get Company Locations API retrieves a list of locations for a specified company. The request requires the company_id as a path parameter. Optional headers include x-api-version for specifying the API version and x-company-guid for the company GUID. Query parameters such as modified_since, deleted, cursor, and limit can be used to filter and paginate the results. The response includes an array of location objects, each containing details such as id, name, country, state, city, formatted address, latitude, longitude, timezone, and operational hours. The meta object provides pagination information with cursor details.

DELETE https://api.7shifts.com/v2/company/{company_id}/locations/{location_id} : This API endpoint allows the deletion of a specific location from a company in the 7shifts system. It requires the company ID and location ID as path parameters. The request must include the 'accept' header with the value 'application/problem+json'. Optional headers include 'x-api-version' for specifying the API version and 'x-company-guid' for the company GUID. The API returns a 204 status code for successful deletion, and error responses with detailed problem descriptions for 403 (Forbidden), 404 (Not Found), and 500 (Server Error) status codes.

GET https://api.7shifts.com/api/v2/company/{company_id}/location/{location_id}/daily_stats : This API endpoint retrieves daily statistics for a specific company location. It requires the company_id and location_id as path parameters. The API supports optional headers for specifying the API version and company GUID. The query parameters include department_id (optional), date (required), and include_future (optional). The response includes detailed sales and labor statistics, both current and past, in cents, along with labor ratios and sales per man hour. The response is structured with a summary and intervals of data, providing a comprehensive view of daily statistics.

Departments

GET https://api.7shifts.com/v2/company/{company_id}/departments : The Get Company Departments API retrieves a list of departments for a specified company. The request requires the company_id as a path parameter. Optional headers include x-api-version for specifying the API version and x-company-guid for the company GUID. Optional query parameters include modified_since to filter departments modified after a certain date, cursor for pagination, limit to specify the number of results per page, and location_id to filter departments by location. The response includes a list of department objects with details such as id, company_id, location_id, name, default status, and timestamps for creation and modification. The meta object contains pagination information.

PUT https://api.7shifts.com/v2/company/{company_id}/departments/{department_id} : The Update Department Details API allows users to update the details of a specific department within a company. The API requires the company_id and department_id as path parameters. The request headers can include optional parameters such as x-api-version and x-company-guid. The request body must include the department name and a boolean indicating if the department is the default for the location. The API returns a 200 OK response with the updated department details if successful. Error responses include 403 Forbidden, 404 Not Found, and 500 Server Error, each providing details about the error.

Users

POST https://api.7shifts.com/v2/company/{company_id}/users : This API endpoint allows the creation of a new user within a specified company on the 7shifts platform. The request requires the company ID as a path parameter and includes various user details in the request body, such as first name, last name, location IDs, department IDs, and user type. Optional fields include email, phone numbers, address, and more. The response returns the created user's details, including their ID, name, contact information, and status. The API supports different user types like employee, assistant manager, and manager, and allows setting roles, wages, and permissions for the user.

DELETE https://api.7shifts.com/v2/company/{company_id}/users/{identifier} : The Delete User from Company API allows you to remove a user from a specified company in the 7shifts system. This API requires the company ID and user ID as path parameters. Optional headers include the API version and company GUID. The Authorization header with a Bearer token is required. The request body must include an inactive reason and can optionally include comments related to the user deletion. The API returns a 204 No Content response on success. Possible error responses include 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, and 500 Server Error, each providing detailed error information.

Shifts

POST https://api.7shifts.com/v2/company/{company_id}/shifts : This API endpoint allows the creation of a shift for a specified company using the 7shifts platform. The endpoint requires a POST request to the URL https://api.7shifts.com/v2/company/{company_id}/shifts, where {company_id} is a path parameter representing the unique identifier of the company. The request headers may include 'x-api-version' for specifying the API version and 'x-company-guid' for the company GUID. The request body must include 'location_id', 'start', and 'end' as required fields, along with optional fields such as 'user_id', 'department_id', 'role_id', and others to define the shift details. The response returns a JSON object containing the shift details, including 'id', 'user_id', 'start', 'end', and other attributes. The API also handles error responses for bad requests, forbidden access, and unprocessable entities.

GET https://api.7shifts.com/v2/company/{company_id}/shifts/{shift_id} : The Get Shift Details API retrieves detailed information about a specific shift for a given company. It requires the company_id and shift_id as path parameters. Optional headers include x-api-version for specifying the API version and x-company-guid for the company GUID. An optional query parameter include_deleted can be used to include deleted shifts in the response. The response includes detailed shift information such as start and end times, user and location IDs, wage, notes, and more. The response also includes information about breaks associated with the shift.

Time Off

GET https://api.7shifts.com/v2/time_off : The Get Time Off Details API endpoint allows users to retrieve time off details for a specified company. The API requires the 'company_id' as a mandatory query parameter. Optional query parameters include 'location_id', 'user_id', 'status', 'category', 'to_date_gte', 'sort_by', 'sort_dir', 'cursor', and 'limit'. The API also accepts optional headers 'x-api-version' and 'x-company-guid', and requires an 'Authorization' header with a Bearer token. The response includes an array of time off details with fields such as 'id', 'user_id', 'company_id', 'from_date', 'to_date', 'partial', 'comments', 'status', 'category', 'created', 'amount_of_hours', and 'hours'. The response also contains metadata for pagination.

PATCH https://api.7shifts.com/v2/time_off/{time_off_id} : The Update Time Off Request API allows users to modify an existing time off request by providing the time_off_id in the path. The request requires headers such as 'accept' and 'content-type' set to 'application/json', and an 'Authorization' header with a Bearer token. Optional headers include 'x-api-version' for specifying the API version and 'x-company-guid' for the company GUID. The request body must include details such as user_id, from_date, to_date, partial, comments, status, category, and hours. The response returns the updated time off details including id, user_id, company_id, from_date, to_date, partial, comments, status, category, created date, and amount of hours. In case of an error, a detailed error message is provided.

Reports

GET https://api.7shifts.com/v2/reports/daily_sales_and_labor : The Get Daily Sales and Labor Report API provides detailed daily sales and labor data for a specified date range and location. It requires the 'start_date', 'end_date', and 'location_id' as query parameters, with optional 'department_id'. The API returns a list of daily reports, each containing information such as actual and projected sales, labor costs, items sold, and labor hours. The response includes detailed metrics like sales per labor hour and labor percent, allowing businesses to analyze their performance effectively.

GET https://api.7shifts.com/v2/reports/hours_and_wages : The Get Hours and Wages Report API endpoint retrieves detailed reports on hours worked and wages earned by employees within a specified date range. The API requires a minimum plan of 'The Works' and may experience performance limitations, potentially resulting in 500 errors due to timeouts. It is recommended to include a location_id to minimize the number of locations in the report and to shorten the report period to a single week if errors persist. The API accepts headers for API version and company GUID, and query parameters including punches, company_id, from and to dates, and optional location_id, department_id, role_id, and user_id. The response includes detailed employee data, shifts, roles, and total hours and pay information, with options to show exception costs and tips.

Webhooks

GET https://api.7shifts.com/v2/company/{company_id}/webhooks : The Get Company Webhooks API retrieves a list of webhooks for a specified company. It requires the company_id as a path parameter. Optional headers include x-api-version for specifying the API version and x-company-guid for the company GUID. Optional query parameters include modified_since to filter webhooks modified after a certain date, cursor for pagination, and limit to specify the number of results per page. The response includes a list of webhooks with details such as id, company_id, url, method, event, created, and modified timestamps, along with pagination metadata.

DELETE https://api.7shifts.com/v2/company/{company_id}/webhooks/{webhook_id} : This API endpoint allows the deletion of a specific webhook for a company using the DELETE method. The request requires the company_id and webhook_id as path parameters. Optional headers include x-api-version for specifying the API version and x-company-guid for the company GUID. The response will be a 204 No Content on success, or an error object with details in case of failure, such as 401 Unauthorized, 403 Forbidden, 404 Not Found, or 500 Server Error.

Get Started with 7Shifts API Integration

For quick and seamless access to 7Shifts API, Knit API offers a convenient solution. By integrating with Knit just once, you can integrate with 7Shifts and multiple other HR & Payroll Systems. Knit takes care of all the authentication, authorization, and ongoing integration maintenance. This approach not only saves time but also ensures a smooth and reliable connection to your 7Shifts API.

To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Nov 9, 2024

Lever API Directory

Lever is a talent acquisition platform that helps companies simplify and improve their hiring process. With tools for tracking applicants and managing relationships, Lever makes it easy for teams to attract, engage, and hire the best talent. Its user-friendly design and smart features help companies of all sizes make better hiring decisions while improving the candidate experience.

Lever also offers APIs that allow businesses to integrate the platform with their existing systems. These APIs automate tasks like syncing candidate data and managing job postings, making the hiring process more efficient and customizable.

Key highlights of Lever APIs are as follows:

  1. Seamless Integration: Easily connects with existing HR systems, CRMs, and other tools to streamline recruitment workflows.
  2. Automation: Automates tasks such as syncing candidate data, managing job postings, and updating applicant status in real time.
  3. Custom Endpoints: Provides flexible endpoints for candidates, jobs, opportunities, and interviews, allowing for tailored solutions.
  4. Real-time Data: Offers real-time updates, ensuring your recruitment process stays up to date with minimal manual effort.
  5. Well-documented: Comes with comprehensive documentation to help developers quickly build and maintain custom integrations.
  6. Scalable: Supports businesses of all sizes, from startups to enterprises, helping them automate and improve their hiring processes.

This article will provide an overview of the Lever API endpoints. These endpoints enable businesses to build custom solutions, automate workflows, and streamline HR operations.

Lever API Endpoints

Here are the most commonly used API endpoints in the latest version -

Applications

  • GET /opportunities/:opportunity/applications/:application
  • GET /opportunities/:opportunity/applications

Archive Reasons

  • GET /archive_reasons/:archive_reason
  • GET /archive_reasons

Audit Events

  • GET /audit_events

Contacts

  • GET /contacts/:contact
  • PUT /contacts/:contact

EEO (Equal Employment Opportunity Questions)

  • GET /v1/eeo/responses/pii
  • GET v1/eeo/responses

Feedback

  • GET /opportunities/:opportunity/feedback/:feedback
  • GET /opportunities/:opportunity/feedback
  • POST /opportunities/:opportunity/feedback
  • PUT /opportunities/:opportunity/feedback/:feedback
  • DELETE /opportunities/:opportunity/feedback/:feedback

Feedback Template

  • GET /feedback_templates/:feedback_template
  • GET /feedback_templates
  • POST /feedback_templates
  • PUT /feedback_templates/:feedback_template
  • DELETE /feedback_templates/:feedback_template

Files

  • POST /opportunities/:opportunity/files
  • GET /opportunities/:opportunity/files/:file
  • GET /opportunities/:opportunity/files
  • GET /opportunities/:opportunity/files/:file/download
  • DELETE /opportunities/:opportunity/files/:file

Interviews

  • GET /opportunities/:opportunity/interviews/:interview
  • GET /opportunities/:opportunity/interviews
  • POST /opportunities/:opportunity/interviews
  • PUT /opportunities/:opportunity/interviews/:interview
  • DELETE /opportunities/:opportunity/interviews/:interview

Note

  • GET /opportunities/:opportunity/notes/:note
  • GET /opportunities/:opportunity/notes
  • POST /opportunities/:opportunity/notes
  • DELETE /opportunities/:opportunity/notes/:noteId
  • PUT /opportunities/:opportunity/notes/:note

Offers

  • GET /opportunities/:opportunity/offers
  • GET /opportunities/:opportunity/offers/:offer/download

Opportunity

  • GET /opportunities/:opportunity
  • GET /opportunities
  • GET /opportunities/deleted
  • POST /opportunities
  • PUT /opportunities/:opportunity/stage
  • PUT /opportunities/:opportunity/archived
  • POST /opportunities/:opportunity/addLinks
  • POST /opportunities/:opportunity/removeLinks
  • POST /opportunities/:opportunity/addTags
  • POST /opportunities/:opportunity/removeTags
  • POST /opportunities/:opportunity/addSources
  • POST /opportunities/:opportunity/removeSources

Panels

  • GET /opportunities/:opportunity/panels/:panel
  • GET /opportunities/:opportunity/panels
  • POST /opportunities/:opportunity/panels
  • PUT /opportunities/:opportunity/panels/:panel
  • DELETE /opportunities/:opportunity/panels/:panel

Posting

  • GET /postings/:posting
  • GET /postings
  • POST /postings
  • POST /postings/:posting
  • GET /postings/:posting/apply
  • POST /postings/:posting/apply

Profile Form

  • GET /opportunities/:opportunity/forms/:form
  • GET /opportunities/:opportunity/forms
  • POST /opportunities/:opportunity/forms
  • GET /form_templates/:form_template
  • GET /form_templates
  • POST /form_templates
  • PUT /form_templates/:form_template
  • DELETE /form_templates/:form_template
  • GET /opportunities/:opportunity/referrals/:referral
  • GET /opportunities/:opportunity/referrals

Requisition

  • GET /requisitions/:requisition
  • GET /requisitions
  • POST /requisitions
  • PUT /requisitions/:requisition
  • DELETE /requisitions/:requisition

Requisition Fields

  • GET /requisition_fields/:requisition_field
  • GET /requisition_fields
  • POST /requisition_fields
  • PUT /requisition_fields/:requisition_field
  • POST /requisition_fields/:requisition_field/options
  • PUT /requisition_fields/:requisition_field/options
  • DELETE /requisition_fields/:requisition_field/options
  • DELETE /requisition_fields/:requisition_field

Resume

  • GET /opportunities/:opportunity/resumes/:resume
  • GET /opportunities/:opportunity/resumes
  • GET /opportunities/:opportunity/resumes/:resume/download

Sources

  • GET /sources

Stage

  • GET /stages/:stage
  • GET /stages

Surveys

  • GET /surveys/diversity/:posting

Tags

  • GET /tags

Upload

  • POST /uploads

Users

  • GET /users/:user
  • GET /users
  • POST /users
  • PUT /users/:user
  • POST /users/:user/deactivate
  • POST /users/:user/reactivate

Here’s a detailed reference to all the Lever API Endpoints.

Lever API FAQs

Here are the frequently asked questions about Lever APIs to help you get started:

  1. What is the difference between the Lever API and Postings API? Answer
  2. Does the Lever API archive encompass all candidates either rejected or somehow stopped the interview process? Answer
  3. Does each company customize stages in Lever API? Answer
  4. How do I add global tags to a Lever account? Answer
  5. Does each company customize tags in Lever? Answer
  6. What are the rate limits for the Lever API? Answer
  7. How can I get a sandbox account to test the Lever API? Answer

Find more FAQs here.

Get started with Lever API

Lever API access is only available for integration after a careful internal review based on your interest. However, if you want to integrate with multiple HRMS or Recruitment APIs quickly, you can get started with Knit, one API for all top HR integrations.

To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Oct 29, 2024

Paycom API Directory

Paycom is a comprehensive cloud-based HR and payroll software provider that helps businesses manage their workforce with ease. Founded in 1998, it offers an all-in-one solution that integrates various HR functions, including payroll processing, time and attendance tracking, talent management, and benefits administration. 

Paycom’s platform streamlines HR tasks by providing real-time data and automating workflows, allowing companies to reduce manual errors and increase efficiency. Its user-friendly interface empowers employees to access and manage their personal information, making it a valuable tool for both HR teams and employees alike.

Paycom also offers a suite of APIs for integrating various HR and payroll functionalities into applications. Key highlights include:

  1. Employee Data Management:some text
    • Employee Information: Access and update employee details such as personal information, job history, and compensation.
    • Employee Self-Service: Enable employees to view and update their information, including personal details, pay stubs, and benefits.
  2. Payroll Processing:some text
    • Payroll Calculations: Integrate payroll calculations, including earnings, deductions, and taxes.
    • Payroll Reports: Retrieve payroll reports for auditing and compliance purposes.
  3. Time and Attendance:some text
    • Time Tracking: Access and manage employee time and attendance data, including clock-in/clock-out records and time-off requests.
    • Scheduling: Integrate with scheduling systems to manage employee shifts and work schedules.
  4. Benefits Administration:some text
    • Benefits Enrollment: Manage employee benefits enrollment, including health insurance, retirement plans, and other benefits.
    • Benefits Reporting: Retrieve data on employee benefits usage and enrollment for reporting and compliance.
  5. Compliance and Reporting:some text
    • Tax Compliance: Access and manage tax information, including filings and withholdings.
    • Regulatory Reports: Retrieve and generate reports required for regulatory compliance.
  6. Recruitment and Onboarding:some text
    • Applicant Tracking: Integrate with applicant tracking systems to manage job postings, applications, and candidate information.
    • Onboarding: Facilitate the onboarding process for new hires, including document management and training.
  7. Security and Access Control:some text
    • User Authentication: Manage user authentication and authorization to ensure secure access to API functionalities.
    • Data Encryption: Ensure that data transmitted via APIs is encrypted for security and privacy.

Paycom API Endpoints

Paycom offers several commonly used API endpoints that cover various aspects of HR, payroll, and employee management. 

Here are some of the key endpoints you might use:

  1. Employee Managementsome text
    • GET /employees: Retrieve a list of employees or specific employee details.
    • POST /employees: Create a new employee record.
    • PUT /employees/{employee_id}: Update an existing employee record.
    • DELETE /employees/{employee_id}: Delete an employee record.
  2. Payroll Processingsome text
    • GET /payrolls: Retrieve payroll information and details.
    • POST /payrolls: Submit payroll data for processing.
    • GET /payrolls/{payroll_id}: Get details of a specific payroll run.
    • GET /payrolls/{payroll_id}/reports: Retrieve payroll reports associated with a specific payroll run.
  3. Time and Attendancesome text
    • GET /time_entries: Retrieve time and attendance records.
    • POST /time_entries: Submit new time and attendance entries.
    • PUT /time_entries/{entry_id}: Update existing time and attendance records.
    • DELETE /time_entries/{entry_id}: Delete a time and attendance record.
  4. Benefits Administrationsome text
    • GET /benefits: Retrieve benefits information and details.
    • POST /benefits: Enroll employees in benefits programs.
    • GET /benefits/{benefit_id}: Get details of a specific benefit plan.
    • PUT /benefits/{benefit_id}: Update benefit plan details.
  5. Compliance and Reportingsome text
    • GET /taxes: Retrieve tax information and details.
    • POST /taxes: Submit tax-related data.
    • GET /reports: Retrieve various compliance and regulatory reports.
    • GET /reports/{report_id}: Get details of a specific report.
  6. Recruitment and Onboardingsome text
    • GET /applicants: Retrieve a list of job applicants and their details.
    • POST /applicants: Submit new applicant information.
    • GET /applicants/{applicant_id}: Get details of a specific applicant.
    • PUT /applicants/{applicant_id}: Update applicant details.
  7. Security and Access Controlsome text
    • POST /auth/token: Obtain an authentication token for API access.
    • GET /users: Retrieve user information and permissions.
    • PUT /users/{user_id}: Update user permissions and access.

Paycom API FAQs

Here are the frequently asked questions about Paycom APIs to help you get started:

1. Does Paycom provide public APIs for direct integration?

  • No, Paycom doesn’t offer public APIs. Instead, you can use services like Knit that provide pre-built integrations to access Paycom’s HR and payroll data.

2. What type of data can I retrieve through Paycom integrations?

  • You can access employee details, payroll information, time and attendance records, benefits, and compliance reports through integrations.

3. Is custom API development required to integrate Paycom with my systems?

  • No, using third-party platforms like Knit eliminates the need for custom API development by offering standardized, pre-built APIs for Paycom and other HR systems.

4. What security measures are in place for Paycom integrations?

  • Third-party platforms such as Knit handle security by using data encryption and secure API access. They also comply with data privacy regulations like GDPR and HIPAA.

5. Can I automate employee onboarding and payroll using Paycom integrations?

  • Yes, integrations with Paycom can automate employee onboarding and payroll processes, enabling seamless data transfer between Paycom and other HR or payroll systems.

Get started with Paycom API

Paycom doesn’t provide public APIs for direct integration. Instead, companies can use third-party services like Knit, which offers ready-made integrations with Paycom. Knit helps you connect to Paycom’s systems to get important data like employee records, payroll details, and time tracking. 

By using Knit’s unified APIs, you can standardize data and simplify processes across different HR systems, including Paycom. This makes it easier to automate HR tasks and connect Paycom with other tools without needing custom API development.

To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Oct 29, 2024

UKG Pro API Directory

UKG Pro is a human capital management (HCM) solution that simplifies payroll, HR, talent management, and employee engagement. With an easy-to-use interface, it helps businesses manage their workforce efficiently and boost productivity.

UKG Pro APIs allow developers to integrate its HR, payroll, and management features into custom applications. These APIs provide access to employee data, payroll, and more, enabling businesses to build tailored solutions, improve workflows, and create a connected HR system.

Key highlights of UKG Pro APIs are as follows - 

  1. Comprehensive Data Access: They provide seamless access to employee data, payroll, time management, and HR information.

  1. Custom Integrations: They enable the integration of UKG Pro features into custom applications for tailored solutions.

  1. Automation and Efficiency: They help to streamline workflows by automating HR processes like payroll and employee management.

  1. Real-Time Data: They provide real-time access to information, ensuring up-to-date data for decision-making.

  1. Secure and Scalable: They are built with robust security and scalability to support growing business needs.

  1. Developer-Friendly: They offer clear documentation and flexible endpoints to simplify development.

This article will provide an overview of the UKG Pro API endpoints. These endpoints enable businesses to build custom solutions, automate workflows, and streamline HR operations.

UKG Pro API Endpoints

Here are the most commonly used API endpoints in the latest version -

Company Details

  • GET /configuration/v1/company-details

Compensation Details

  • GET /personnel/v1/compensation-details
  • GET /personnel/v1/companies/{companyId}/compensation-details
  • GET /personnel/v1/companies/{companyId}/employees/{employeeId}/compensation-details
  • GET /personnel/v1/compensation-details/{employeeId}

Employee Deductions

  • GET /personnel/v1/emp-deductions

Employee Change

  • GET /personnel/v1/employee-changes
  • GET /personnel/v1/employee-changes/{employeeId}

Employee Contact Details

  • GET /personnel/v1/contacts
  • GET /personnel/v1/contacts/{contactId}

Employee Contract Details

  • GET /personnel/v1/employee-contract-details

Employee Demographic Details

  • GET /personnel/v1/employee-demographic-details

Employee Education Details

  • GET /personnel/v1/employee-education

Employee Employment Details

  • GET /personnel/v1/employee-employment-details

Employee Job History Details

  • GET /personnel/v1/employee-job-history-details
  • GET /personnel/v1/employee-job-history-details/{systemId}

Employee ID Lookup

  • POST /personnel/v1/employee-ids

Employee Pay Statement

  • POST /payroll/v1/companies/pay-statements-summary
  • POST /payroll/v1/companies/pay-statements
  • POST /payroll/v1/employees/pay-statements
  • POST /payroll/v1/employees/pay-statement/last
  • POST /payroll/v1/employees/pay-statement/{PayIdentifier}

Employment Details

  • GET /personnel/v1/employment-details
  • GET /personnel/v1/companies/{companyId}/employment-details
  • GET /personnel/v1/companies/{companyId}/employees/{employeeId}/employment-details

Jobs Configuration

  • /configuration/v1/jobgroup
  • /configuration/v1/jobs
  • /configuration/v1/jobs/{code}

Person Details

  • GET /personnel/v1/person-details
  • GET /personnel/v1/companies/{companyId}/person-details
  • GET /personnel/v1/companies/{companyId}/employees/{employeeId}/person-details
  • GET /personnel/v1/person-details/{employeeId}

PTO Plans

  • GET /personnel/v1/pto-plans
  • POST /personnel/v1/pto-plans
  • PATCH /personnel/v1/companies/{companyId}/employees/{employeeId}/pto-plans/{ptoPlan}
  • GET /personnel/v1/companies/{companyId}/employees/{employeeId}/pto-plans/{ptoPlan}
  • GET /personnel/v1/companies/{companyId}/employees/{employeeId}/pto-plans

Recruiting

  • GET /talent/recruiting/v2/{tenantalias}/api/applications
  • POST /talent/recruiting/v2/{tenantalias}/api/applications
  • GET /talent/recruiting/v2/{tenantalias}/api/applications/{applicationId}
  • POST /talent/recruiting/v2/{tenantalias}/api/applications/{applicationId}/documents
  • GET /talent/recruiting/v2/{tenantalias}/api/applications/{applicationId}/comments
  • POST /talent/recruiting/v2/{tenantalias}/api/applications/{applicationId}/comments
  • POST /talent/recruiting/v2/{tenantalias}/api/applications/{applicationId}/hire
  • GET /talent/recruiting/v2/{tenantalias}/api/background-check-order-requests 
  • POST /talent/recruiting/v2/{tenantalias}/api/candidates/{candidateId}/background-checks
  • GET /talent/recruiting/v2/{tenantalias}/api/candidates/{candidateId}/background-checks
  • GET /talent/recruiting/v2/{tenantalias}/api/candidates/{candidateId}/background-checks/{backgroundCheckId}
  • PUT /talent/recruiting/v2/{tenantalias}/api/candidates/{candidateId}/background-checks/{backgroundCheckId}
  • GET /talent/recruiting/v2/{tenantalias}/api/background-check-results-requests
  • GET /talent/recruiting/v2/{tenantalias}/api/candidates
  • POST /talent/recruiting/v2/{tenantalias}/api/candidates
  • GET /talent/recruiting/v2/{tenantalias}/api/candidates/{candidateId}
  • GET /talent/recruiting/v2/{tenantalias}/api/candidates/{candidateId}/user-name-email
  • POST /talent/recruiting/v2/{tenantalias}/api/candidates-lookup
  • POST /talent/recruiting/v2/{tenantalias}/api/candidates/{candidateId}/documents
  • GET /talent/recruiting/v2/{tenantalias}/api/candidates/{candidateId}/skills
  • GET /talent/recruiting/v2/{tenantalias}/api/offers
  • POST /talent/recruiting/v2/{tenantalias}/api/offers
  • GET /talent/recruiting/v2/{tenantalias}/api/offers/{offerId}/offer-actions
  • POST /talent/recruiting/v2/{tenantalias}/api/offers/{offerId}/submit-for-approval

User Details

  • GET /personnel/v1/user-details

Here’s a detailed reference to all the UKG Pro API Endpoints.

UKG Pro API FAQs

Here are the frequently asked questions about UKG Pro APIs to help you get started:

  1. How do I generate the API key for UKG? Answer
  2. How to Configure Confidential Time Offs Accessible to Only Authorized Managers in UKG Ready? Answer
  3. How to Retrieve Employee’s Pay Statement from UKG PRO? Answer
  4. Authentication and Security for UKG PRO WFM (Dimensions) API Answer
  5. How to Create an API Only User in UKG PRO WFM Answer
  6. UKG Pro WFM Open Shift APIs: Creation, Scheduling, Dynamic Updates for Employee Removal, and Efficient Deletion Answer

Find more FAQs here.

Get started with UKG Pro API

UKG Pro API access is only available by contacting their support or account management team. However, if you want to integrate with multiple HRMS or Recruitment APIs quickly, you can get started with Knit, one API for all top integrations.

To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Oct 29, 2024

Paychex API Directory

Paychex is a payroll and HR solutions provider designed to simplify workforce management for businesses of all sizes. It offers a range of tools for payroll processing, employee benefits, time tracking, and compliance, helping companies streamline their HR tasks. 

With Paychex’s API, developers can integrate payroll, benefits, and other HR data with external applications, enabling automation and creating a seamless experience for managing employee-related tasks across platforms.

Here are some key highlights of the Paychex APIs:

  1. Payroll Processing: Automate payroll calculations, deductions, and tax filings for smooth and timely payments.
  2. Employee Management: Access and manage employee data, including personal details, employment status, and role-based permissions.
  3. Time and Attendance: Track employee hours, manage time-off requests, and streamline attendance records for accurate payroll processing.
  4. Benefits Administration: Integrate employee benefits data to easily manage enrollments, coverage updates, and compliance reporting.
  5. Compliance and Tax Data: Access tax compliance data and generate reports to simplify filing and stay aligned with local, state, and federal regulations.
  6. Secure Authentication: Uses OAuth 2.0 for secure data exchange, ensuring that sensitive payroll and employee information is protected.

In this article, we will explore what are the most commonly used Paychex API endpoints and how they allow businesses to streamline their HR and payroll operations, making it easy to integrate Paychex services into existing workflows.

Paychex API Endpoints

Here are the most commonly used Paychex API endpoints - 

Authentication

Company

Payroll

Worker

Management

Webhooks

Here’s a detailed reference to all the Paychex API Endpoints.

Paychex API FAQs

Here are the frequently asked questions about Paychex APIs to help you get started:

  1. Do Paychex APIs support pagination? Answer
  2. What is the rate limit on Paychex API endpoints? Answer
  3. What happens when I POST new workers via the Paychex API, and what are the required fields? Answer
  4. How do I specify a vendor media type profile in Paychex API requests, and is it required for each call? Answer
  5. What are the predefined headers used in Paychex API requests and responses? Answer

Find more FAQs here.

Get started with Paychex API

To access Paychex APIs, create a Paychex account and log in to the Developer Portal. Apply for API access, and upon approval, you'll receive your API credentials (client ID and secret). Use these for OAuth 2.0 authentication to securely access the API endpoints. Review the documentation for integration guidelines.

If you’re looking for a quick way to connect multiple Payroll systems, consider using Knit—a single API solution that integrates with major platforms, streamlining your setup and reducing development time. To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Oct 29, 2024

Sage Intacct API Directory

Sage Intacct is a cloud-based accounting system designed to help businesses manage their finances more efficiently. It automates essential tasks, provides real-time financial insights, and scales with business growth. 

In addition to its core features, Sage Intacct offers powerful APIs that allow seamless integration with other tools and customizable workflows. These APIs enable businesses to automate invoicing, reporting, and payment processing, further enhancing operational efficiency. 

Key highlights of Sage Intacct APIs are as follows:

  1. Seamless Integration: You can easily connect Sage Intacct with other business tools like CRM, payroll, or ERP systems for smooth data exchange.
  2. Automation: These APIs help you automate financial tasks such as invoicing, payment processing, and reporting, reducing manual effort and errors.
  3. Custom Workflows: They help you create tailored workflows to fit your business needs, enhancing operational efficiency and flexibility.
  4. Real-Time Data Access: They can be used to access and update financial data in real-time, ensuring accurate and up-to-date information across systems.
  5. Scalability: These APIs support growing businesses, allowing for the expansion of financial operations without disruptions.
  6. Extensive Documentation: Sage Intacct provides detailed API documentation that makes it easier for developers to integrate and build custom solutions.

In this article, we’ll explore how Sage Intacct’s APIs can streamline your financial operations, enhance flexibility, and highlight the most commonly used endpoints.

Sage Intacct API Endpoints

Sage Intacct primarily uses a SOAP API for its integrations. The API follows the SOAP protocol and relies on XML for request and response formats, which provides structured and standardized communication. While this means it’s a bit more complex to implement compared to REST APIs, it’s highly secure and reliable, making it well-suited for handling sensitive financial data.

Here are the commonly used Sage Intacct API endpoints, categorized by function:

General Ledger

  • Accounts: GLACCOUNT
  • Journal Entries: GLBATCH
  • Statistical Journal Entries: STATGLBATCH

Accounts Receivable

  • Customers: CUSTOMER
  • Customer Invoices: ARINVOICE
  • Customer Payments: ARPYMT
  • Credit Memos: ARADJ

Accounts Payable

  • Vendors: VENDOR
  • Vendor Bills: APBILL
  • Vendor Payments: APPYMT
  • Debit Memos: APADJ

Cash Management

  • Payments: CMTRANSACTION
  • Deposits: CMDEPOSIT
  • Charge Card Transactions: CHARGECARD

Project Management

  • Projects: PROJECT
  • Tasks: TASK
  • Project Time Entries: TIMESHEET
  • Project Expenses: EXPENSES

Employee Expenses

  • Expense Reports: EXPENSEREPORT
  • Expense Types: EXPENSETYPE

Order Entry (for Sales and Inventory)

  • Sales Orders: SALESORDER
  • Inventory Items: INVENTORYITEM
  • Inventory Transactions: ICTRANSACTION

Reporting

  • Reports: getFinancialReport, getReport

Purchasing

  • Purchase Orders: PURCHASEORDER
  • Receiving Transactions: RECEIVE

Contracts and Subscriptions

  • Contracts: CONTRACT
  • Contract Line Items: CONTRACTLINE
  • Revenue Recognition Schedules: REVENUESCHEDULE

Inventory and Warehousing

  • Warehouse Locations: LOCATION
  • Inventory Control: ICITEM
  • Inventory Adjustments: ICADJUSTMENT
  • Inventory Transfers: ICTRANSFER

Purchasing and Vendor Management

  • Vendor Types: VENDTYPE
  • Purchase Requisitions: PURCHASEREQUISITION
  • Vendor Expense Requests: APADJ

Fixed Assets

  • Fixed Assets: ASSET
  • Asset Depreciation: DEPRECIATION
  • Asset Disposals: ASSETDISPOSAL
  • Asset Transfers: ASSETTRANSFER

Banking and Cash Management

  • Bank Accounts: BANKACCOUNT
  • Bank Reconciliation: RECONCILIATION
  • Bank Deposits: BANKDEPOSIT

Human Resources

  • Employees: EMPLOYEE
  • Employee Time: TIMESHEETENTRY
  • Payroll Details: (Integration with payroll systems required)

Tax Management

  • Tax Details: TAXDETAIL
  • Tax Jurisdictions: TAXJURISDICTION
  • Tax Groups: TAXGROUP

Miscellaneous and System-Level

  • Attachments: ATTACHMENTS (for managing document attachments across modules)
  • Custom Objects: getCustomObject (for custom modules or objects set up within Sage Intacct)
  • User Permissions and Roles: USERPERMISSIONS, USERROLE

These additional endpoints provide extensive support for more complex financial, HR, tax, and asset management tasks, allowing businesses to integrate Sage Intacct across diverse operations.

Here’s a detailed reference to all the Sage Intacct API Endpoints.

Sage Intacct API FAQs

Here are the frequently asked questions about Sage Intacct APIs to help you get started:

  1. How do I verify/troubleshoot my API calls? Answer
  2. Can I update a statistical journal entry via the API? Answer
  3. Are there any volume limits around the Intacct API? Answer
  4. Does Sage Intacct support Pagination? Answer
  5. What return format should I use for best results when using readByQuery and readMore? Answer

Find more FAQs here.

Get started with Sage Intacct API

Sage Intacct API access is available for integration after a thorough internal review to ensure alignment with your business needs. However, if you’re looking to quickly connect with multiple HR, Accounting, CRM, and more integrations consider using Knit—a single API solution that integrates with all major HR platforms, simplifying your setup process.

To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Oct 29, 2024

Adobe Acrobat Sign API Directory

Adobe Sign, introduced in 2006 as part of Adobe's comprehensive suite of document management solutions, has transformed the way businesses handle electronic signatures and document workflows. 

With Adobe Sign APIs, developers can access powerful tools that enable seamless integration of e-signature capabilities into their applications, providing a secure and efficient way to manage digital transactions.

Key highlights of Adobe Sign APIs are as follows:

  1. Comprehensive Document Management: It automates the entire document lifecycle, from creation and distribution to signing and archiving.

  1. Real-time Tracking and Notifications: It helps to monitor the status of documents in real time, receiving instant updates on signatory actions.

  1. Robust Security and Compliance: It ensures that all electronic signatures are legally binding and compliant with industry standards such as GDPR, eIDAS, and HIPAA.

  1. Seamless Integration: It is easy to integrate with popular platforms like Microsoft Office 365, Salesforce, and other CRM and ERP systems, enhancing productivity and collaboration.

  1. Customizable Workflows: It helps to tailor the signing process to fit specific business needs, incorporating custom branding and user experiences.

In this article, we'll provide an overview of the Adobe Sign API endpoints.

Adobe Sign API Endpoints

While there are several Adobe Sign API endpoints, here are the most commonly used ones in the latest version:

Transient Documents

These endpoints are used to upload a document, get its document ID, and get the requested views for that document.

  • POST /transientDocuments
  • POST /transientDocuments/{transientDocumentId}/views

Agreements

These are used to create, send, and manage agreements and documents for e-signature.

  • POST /agreements
  • POST /agreements/{agreementId}/members/participantSets/{participantSetId}/delegatedParticipantSets
  • POST /agreements/{agreementId}/members/share
  • POST /agreements/{agreementId}/reminders
  • GET /agreements
  • GET /agreements/{agreementId}
  • GET /agreements/{agreementId}/auditTrail
  • GET /agreements/{agreementId}/documents
  • GET /agreements/{agreementId}/reminders
  • GET /agreements/{agreementId}/members
  • GET /agreements/{agreementId}/members/participantSets/{participantSetId}
  • GET /agreements/{agreementId}/shares
  • PUT /agreements/{agreementId}/me/visibility
  • PUT /agreements/{agreementId}/members/participantSets/{participantSetId}
  • DELETE /agreements/{agreementId}/documents
  • DELETE /agreements/{agreementId}/shares

Users

These are used to manage user accounts, permissions, and roles within the Adobe Sign system.

  • POST /users
  • POST /users/{userId}/views
  • GET /users
  • GET /users/{userId}
  • GET /users/{userId}/events
  • PUT /users/{userId}
  • PUT /users/{userId}/locale
  • PUT /users/{userId}/state

Library Documents

These help to create and manage template documents that can be reused for multiple agreements.

  • POST /libraryDocumentsCreates
  • POST /libraryDocuments/{libraryDocumentId}/views
  • GET /libraryDocuments
  • GET /libraryDocuments/{libraryDocumentId}
  • GET /libraryDocuments/{libraryDocumentId}/auditTrail
  • GET /libraryDocuments/{libraryDocumentId}/events
  • GET /libraryDocuments/{libraryDocumentId}/members
  • PUT /libraryDocuments/{libraryDocumentId}

Search

This API helps to retrieve, search, filter, and sort agreements for the user.

  • POST /search

Workflows 

These APIs help to automate and manage multi-step signing processes and workflows.

  • GET /workflows
  • GET /workflows/{workflowId}

MessageTemplates

These APIs help to retrieve a list of message templates applicable to the current user.

  • GET /messageTemplates

MegaSigns

These APIs help to send a single document to multiple recipients for individual signatures.

  • POST /megaSigns
  • POST /megaSigns/{megaSignId}/members/share
  • POST /megaSigns/{megaSignId}/reminders
  • POST /megaSigns/{megaSignId}/views
  • GET /megaSigns
  • GET /megaSigns/{megaSignId}
  • GET /megaSigns/{megaSignId}/agreements
  • GET /megaSigns/{megaSignId}/documents
  • GET /megaSigns/{megaSignId}/documents/imageUrls
  • GET /megaSigns/{megaSignId}/documents/{documentId}
  • GET /megaSigns/{megaSignId}/events
  • GET /megaSigns/{megaSignId}/members
  • GET /megaSigns/{megaSignId}/reminders
  • GET /megaSigns/{megaSignId}/reminders/{reminderId}
  • PUT /megaSigns/{megaSignId}

Webhooks

These APIs help to create and manage webhooks.

  • POST /webhooks
  • GET /webhooks
  • GET /webhooks/{webhookId}
  • PUT /webhooks/{webhookId}
  • PUT /webhooks/{webhookId}/state
  • DELETE /webhooks/{webhookId}

Here’s a detailed reference to all the Adobe Sign APIs.

Adobe Sign API FAQs

Here are the frequently asked questions about Adobe Sign APIs to help you get started:

  1. How to customize Signature fields in Document using adobe sign API? Answer
  2. How to create a widget with pre-filling details? Answer
  3. Adobe Sign access token invalid_request Answer
  4. Attached pdf in the email is base64 encoded and does not show the actual PDF Answer
  5. Adobe Sign API password protection not working Answer

Get started with Adobe Sign API

Adobe Sign API access is reserved exclusively for enterprise and developer tier accounts. However, if you want to integrate with multiple HRMS or Recruitment APIs quickly, you can get started with Knit, one API for all top HR integrations.

To sign up for free, click here. To check the pricing, see our pricing page.

Find more FAQs here.

API Directory
-
Oct 28, 2024

Zoho Desk API Directory

Zoho Desk is a powerful, cloud-based customer service software designed to streamline support operations and enhance customer satisfaction. As part of the Zoho suite, Zoho Desk empowers businesses to manage customer queries across multiple channels—email, social media, chat, and more—through a unified platform. It offers features like ticket management, workflow automation, and detailed analytics, helping support teams stay organized and efficient.

With the Zoho Desk API, developers can take things a step further by connecting Zoho Desk with other tools, automating tasks, and customizing workflows. 

Key highlights of Zoho Desk API are as follows - 

  1. Multi-Channel Ticket Management: These APIs help you to access and manage tickets from multiple channels, like email, chat, and social media, through a single API.
  2. Workflow Automation: These endpoints can automate repetitive tasks, such as ticket assignments and status updates, to improve response times and team efficiency.
  3. Custom Integrations: These APIs help to connect Zoho Desk with other apps, CRMs, or systems to create a unified customer support experience.
  4. Advanced Reporting: These APIs help to retrieve data for performance tracking, including response times, ticket trends, and customer satisfaction metrics.
  5. Custom Fields and Modules: These APIs help to extend Zoho Desk functionality with custom fields and modules tailored to your business needs.
  6. Real-Time Updates: These APIs can be used to get instant notifications for ticket changes, comments, and other updates using webhooks.
  7. Secure Authentication: Zoho Desk APIs use OAuth 2.0 for secure access, ensuring data safety and privacy.

In this article, we’ll explore the key Zoho Desk API endpoints and how they can provide flexibility to build powerful, custom solutions that enhance your customer service capabilities.

Zoho Desk API Endpoints

Zoho Desk APIs make it easy to connect with other Zoho apps and external tools by using RESTful principles. With these APIs, you can automatically get and update data in various parts of Zoho Desk, like Tickets, Contacts, and Accounts. All the APIs follow standard HTTP rules and use error codes for better understanding.

Here are the most commonly used Zoho Desk API endpoints - 

Organizations

  • GET /api/v1/organizations/{organization_Id}
  • GET /api/v1/organizations
  • GET /api/v1/accessibleOrganizations
  • PATCH /api/v1/organizations/{organization_Id}
  • GET /api/v1/organizations/{organization_Id}/logo
  • GET /api/v1/organizations/{organization_Id}/favicon
  • POST /api/v1/organizations/{organization_Id}/logo
  • POST /api/v1/organizations/{organization_Id}/favicon
  • DELETE /api/v1/organizations/{organization_Id}/logo
  • DELETE /api/v1/organizations/{organization_Id}/favicon
  • POST /api/v1/organizations/markDefault

Agents

  • GET /api/v1/agents/{agent_id}
  • GET /api/v1/agents
  • GET /api/v1/agents/count
  • GET /api/v1/agentsByIds?agentIds={agent_ids}
  • GET /api/v1/myinfo
  • POST /api/v1/agents/activate
  • POST /api/v1/agents/{agent_id}/deactivate
  • POST /api/v1/agents/reinvite
  • POST /api/v1/agents
  • PATCH /api/v1/agents/{agent_id}
  • POST /api/v1/agents/deleteUnconfirmed
  • POST /api/v1/agents/{agent_id}/delete
  • POST /api/v1/deletedAgents/{agent_id}/anonymize
  • POST /api/v1/uploadMyPhoto
  • GET /api/v1/agents/{agent_id}/photo?orgId={org_id}
  • POST /api/v1/deleteMyPhoto
  • GET /api/v1/myPreferences
  • PATCH /api/v1/myPreferences
  • GET /api/v1/agents/email/{email}
  • POST /api/v1/agents/{agent_id}/reassignment

Profiles

  • GET /api/v1/profiles
  • GET /api/v1/profiles/count
  • GET /api/v1/profiles/{profile_id}
  • POST /api/v1/profiles/{profile_id}/clone
  • PATCH /api/v1/profiles/{profile_id}
  • POST /api/v1/profiles/{profile_id}/delete
  • GET /api/v1/myProfile
  • GET /api/v1/myProfilePermissions
  • GET /api/v1/profiles/{profile_id}/agents
  • GET /api/v1/lightAgentProfile

Roles

  • GET /api/v1/roles
  • GET /api/v1/roles/{role_id}/agents
  • POST /api/v1/roles
  • PATCH /api/v1/roles/{role_id}
  • POST /api/v1/roles/{role_id}/delete
  • GET /api/v1/roles/{role_id}
  • GET /api/v1/roles/count
  • GET /api/v1/personalRole
  • GET /api/v1/rolesByIds

Teams

  • POST /api/v1/teams
  • PATCH /api/v1/teams/{team_id}
  • POST /api/v1/teams/{team_id}/deleteTeam
  • GET /api/v1/teams/{team_id}
  • GET /api/v1/teams
  • GET /api/v1/teams/{team_id}/members
  • GET /api/v1/teams/{team_id}/associables
  • GET /api/v1/agents/{agent_id}/teams
  • GET /api/v1/roles/{role_id}/teams
  • GET /api/v1/departments/{department_id}/teams

Departments

  • GET /api/v1/departments/{department_id}
  • GET /api/v1/departments
  • GET /api/v1/departments/{department_id}/agents
  • GET /api/v1/departments/count
  • GET /api/v1/departmentsByIds?departmentIds={department_ids}
  • GET /api/v1/departments/checkExists
  • POST /api/v1/departments
  • PATCH /api/v1/departments/{department_id}
  • POST /api/v1/departments/{department_id}/disable
  • POST /api/v1/departments/{department_id}/enable
  • POST /api/v1/departments/{department_id}/associateAgents
  • POST /api/v1/departments/{department_id}/dissociateAgents
  • GET /api/v1/departments/{department_id}/logo
  • POST /api/v1/departments/{department_id}/logo
  • DELETE /api/v1/departments/{department_id}/logo

Channels

  • GET /api/v1/channels

Tickets

  • GET /api/v1/tickets/{ticket_id}
  • GET /api/v1/tickets
  • GET /api/v1/tickets/archivedTickets
  • GET /api/v1/associatedTickets
  • POST /api/v1/tickets
  • PATCH /api/v1/tickets/{ticket_id}
  • POST /api/v1/tickets/moveToTrash
  • POST /api/v1/tickets/deleteSpam
  • POST /api/v1/tickets/{ticket_id}/merge
  • POST /api/v1/tickets/{ticket_id}/move
  • POST /api/v1/tickets/{ticket_id}/threads/{thread_id}/split
  • POST /api/v1/tickets/updateMany
  • POST /api/v1/closeTickets
  • POST api/v1/tickets/{ticket_id}/markAsRead
  • POST api/v1/tickets/{ticket_id}/markAsUnRead
  • POST /api/v1/tickets/markSpam
  • GET api/v1/ticketQueueView/count
  • GET api/v1/agentsTicketsCount
  • GET api/v1/tickets/{ticket_id}/History
  • GET api/v1/tickets/{ticket_id}/resolution
  • GET api/v1/tickets/{ticket_id}/resolutionHistory
  • PATCH api/v1/tickets/{ticket_id}/resolution
  • DELETE api/v1/tickets/{ticket_id}/resolution
  • GET /api/v1/tickets/([0-9]+)/metrics
  • POST /api/v1/tickets/emptySpam
  • POST /api/v1/tickets/{ticket_id}/executeSkillbasedAssignment
  • POST /api/v1/tickets/{ticket_id}/recalculateSkills
  • GET /api/v1/tickets/{ticket_id}/articleSuggestion

Thread

  • GET /api/v1/tickets/{ticket_id}/threads/{thread_id}
  • GET /api/v1/tickets/{ticket_id}/threads/{thread_id}/originalContent
  • GET /api/v1/tickets/{ticket_id}/latestThread
  • POST /api/v1/tickets/{ticket_id}/threads/{thread_id}/sendForReview
  • GET /api/v1/tickets/{ticket_id}/threads
  • GET /api/v1/tickets/{ticket_id}/conversations
  • POST /api/v1/tickets/{ticket_id}/sendReply
  • POST /api/v1/tickets/{ticket_id}/draftReply
  • PATCH /api/v1/tickets/{ticket_id}/draftReply/{thread_id}
  • DELETE /api/v1/tickets/{ticket_id}/threads/{thread_id}/attachments/{attachment_id}

Contacts

  • GET /api/v1/contacts/{contact_id}
  • GET /api/v1/contacts
  • POST /api/v1/contacts
  • PATCH /api/v1/contacts/{contact_id}
  • POST /api/v1/contacts/moveToTrash
  • POST /api/v1/contacts/deleteSpam
  • GET /api/v1/contacts/{contact_id}/profiles
  • POST /api/v1/contacts/updateMany
  • GET /api/v1/contacts/contactsByIds
  • GET /api/v1/contacts/{contact_id}/tickets
  • GET /api/v1/contacts/{contact_id}/products
  • GET api/v1/contacts/count
  • GET /api/v1/contacts/{contact_id}/statistics
  • POST /api/v1/contacts/{contact_id}/merge
  • POST /api/v1/contacts/markSpam
  • POST api/v1/contacts/{contact_id}/associateProducts
  • GET api/v1/contacts/{contact_id}/history
  • POST api/v1/contacts/inviteAsEndUser
  • POST api/v1/contacts/{contact_id}/inviteAsEndUser
  • DELETE api/v1/contacts/{contact_id}/photo
  • GET api/v1/contacts/{contact_id}/helpCenters
  • GET /api/v1/contacts/{contact_id}/accounts
  • POST api/v1/contacts/{contact_id}/associateAccounts
  • POST api/v1/contacts/{contact_id}/dissociateAccounts
  • POST /api/v1/contacts/{contact_id}/approveEndUserInvite
  • POST /api/v1/contacts/{contact_id}/rejectEndUserInvite

Accounts

  • GET /api/v1/accounts/{account_id}
  • GET /api/v1/accounts
  • POST /api/v1/accounts
  • PATCH /api/v1/accounts/{account_id}
  • POST /api/v1/accounts/moveToTrash
  • GET /api/v1/accounts/{account_id}/contracts
  • GET api/v1/contracts/count
  • GET api/v1/accounts/count
  • GET api/v1/accounts/{accounts_id}/contacts?from={from}&limit={limit}&sortBy={sortingField}
  • GET /api/v1/accounts/{account_id}/tickets
  • GET /api/v1/accounts/{account_id}/products
  • POST /api/v1/accounts/{account_id}/merge
  • POST api/v1/accounts/{account_id}/associateProducts
  • POST /api/v1/accounts/updateMany
  • GET api/v1/accounts/{account_id}/history
  • GET /api/v1/accounts/([0-9]+)/statistics
  • GET /api/v1/accounts/{account_id}/sla
  • POST /api/v1/accounts/{account_id}/sla/{sla_id}

Account Contact Mapping

  • PATCH /api/v1/accountContactMapping/{mapping_id}

Tasks

  • GET /api/v1/tasks/{task_id}
  • GET /api/v1/tasks
  • POST /api/v1/tasks
  • PATCH /api/v1/tasks/{task_id}
  • POST /api/v1/tasks/moveToTrash
  • POST /api/v1/tasks/deleteSpam
  • GET /api/v1/tickets/{ticket_id}/tasks
  • GET /api/v1/tasks/count
  • POST /api/v1/tasks/updateMany
  • POST /api/v1/tasks/emptySpam

Products

  • GET /api/v1/products/{product_id}
  • GET /api/v1/products
  • POST /api/v1/products
  • GET /api/v1/products/{product_id}/tickets
  • PATCH /api/v1/products/{product_id}
  • POST /api/v1/products/moveToTrash
  • GET /api/v1/products/searchDuplicates
  • POST api/v1/products/{product_id}/associateContacts
  • POST api/v1/products/{product_id}/associateAccounts
  • GET api/v1/products/{products_id}/accounts
  • GET api/v1/products/{products_id}/contacts

Users

  • GET /api/v1/users
  • GET /api/v1/users/{user_id}
  • PATCH /api/v1/users/{user_id}
  • POST api/v1/users/{user_id}/anonymize
  • GET /api/v1/users/{user_id}/groups
  • POST /api/v1/users/{user_id}/groups/associate
  • POST /api/v1/users/{user_id}/groups/dissociate
  • GET /api/v1/users/{user_id}/labels
  • POST /api/v1/users/{user_id}/labels/assign
  • POST /api/v1/users/{user_id}/labels/remove
  • GET /api/v1/users/([0-9]+)/badges
  • POST /api/v1/users/{user_id}/badges/associate
  • POST /api/v1/users/{user_id}/badges/dissociate

Contracts

  • GET api/v1/contracts/{{contract_id}}
  • GET api/v1/contracts
  • POST /api/v1/contracts
  • PATCH /api/v1/contracts/{contract_id}
  • POST api/v1/contracts/moveToTrash
  • POST /api/v1/contracts/updateMany

Upload

  • POST /api/v1/uploads

Activities

  • GET /api/v1/tickets/{ticket_id}/activities
  • POST /api/v1/activities/emptySpam

Calls

  • GET api/v1/calls/{call_id}
  • GET api/v1/calls
  • POST api/v1/calls
  • PATCH api/v1/calls/{call_id}
  • GET /api/v1/tickets/{ticket_id}/calls
  • POST /api/v1/calls/moveToTrash
  • POST /api/v1/calls/deleteSpam
  • POST /api/v1/calls/{call_id}/clearLiveCall
  • POST /api/v1/calls/updateMany
  • POST /api/v1/calls/emptySpam

Events

  • GET api/v1/events/{event_id}
  • GET api/v1/events
  • POST api/v1/events
  • PATCH api/v1/events/{event_id}
  • GET /api/v1/tickets/{ticket_id}/events
  • POST /api/v1/events/moveToTrash
  • POST /api/v1/events/deleteSpam
  • POST /api/v1/events/updateMany
  • POST /api/v1/events/emptySpam

Skills

  • POST /api/v1/skills
  • GET /api/v1/skills/{skillId}
  • PATCH /api/v1/skills/{skillId}
  • DELETE /api/v1/skills/{skillId}
  • GET /api/v1/skills
  • GET /api/v1/skills/{skillId}/relatedRules
  • POST /api/v1/skills/order
  • GET /api/v1/agents/{agentId}/skills
  • POST /api/v1/agents/{agentId}/mapSkills
  • GET /api/v1/skills/criteriaFields

Subscriptions

  • GET /subscriptions
  • POST /subscriptions
  • GET /subscriptions/{subscriptionId}
  • PUT /subscriptions/{subscriptionId}
  • DELETE /subscriptions/{subscriptionId}

Time Entries

  • GET /timeentries
  • POST /timeentries
  • GET /timeentries/{entryId}
  • PUT /timeentries/{entryId}
  • DELETE /timeentries/{entryId}

Here’s a detailed reference to all the Zoho Desk API Endpoints.

Zoho Desk API FAQs

Here are the frequently asked questions about Zoho Desk APIs to help you get started:

  1. What is the usage limit of Zoho API? Answer
  2. How does the get Ticket History API work? Answer
  3. What are the events supported in the Get Ticket History API? Answer
  4. How to authenticate calls from a Zoho Desk Extension using a custom API key? Answer
  5. How to get Access Token for Client Based Application for Zoho API? Answer

Find more FAQs here.

Get started with Zoho Desk API

To access the Zoho Desk API, you'll need a Zoho account and an API key, which you can obtain from the Zoho Developer Console. After logging into your Zoho account, navigate to the API Console to create a new client and get your client ID and client secret. Zoho Desk uses OAuth 2.0 for secure authentication, so you’ll authorize the app to generate access tokens. Once authenticated, you’ll have access to Zoho Desk’s API endpoints to start building and integrating with your applications.

If you’re looking for a quick way to connect multiple customer service or CRM systems, consider using Knit—a single API solution that integrates with major platforms, streamlining your setup and reducing development time. To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Oct 28, 2024

Quickbooks Online API Directory

QuickBooks is an easy-to-use accounting software that helps small and medium-sized businesses manage their finances. It offers tools for invoicing, tracking expenses, handling payroll, and preparing taxes, all in one place. 

With QuickBooks Online APIs, whether you’re launching a new business or have been running one for years, managing your finances becomes easier and more efficient. 

Key highlights of QuickBooks Online APIs:

  1. Easy Data Access: Helps to connect and access your financial data like transactions, invoices, and reports easily with other apps.

  1. Automation: Let’s you automate tasks like invoicing and expense tracking to save time and reduce errors.

  1. Custom Integration: You can easily integrate QuickBooks with other tools and create custom solutions to fit your business needs.

  1. Real-Time Sync: It helps you keep your data up-to-date across platforms with real-time synchronization.

  1. Strong Security: It helps you protect your financial data with secure authentication and authorization.

  1. Scalable: As your business grows, QuickBooks APIs can handle more transactions and complexity.

  1. Developer-Friendly: Clear documentation and support make it easier for developers to work with the APIs.

  1. Global Support: Works with different currencies, tax systems, and languages, making it great for businesses around the world.

While we have covered the Quickbooks Online API in depth earlier, in this article, we'll provide an overview of the QuickBooks Online API endpoints.

QuickBooks Online API Endpoints

While there are several QuickBooks Online API endpoints, here are the most commonly used ones:

  1. Customer Endpoint (/customer)some text
    • /customer/{customer_id}/balance: Retrieve the current balance of a specific customer.
    • /customer/{customer_id}/creditmemo: Manage credit memos associated with a customer.
    • /customer/{customer_id}/estimate: Handle estimates or quotes for a customer.
  2. Invoice Endpoint (/invoice)some text
    • /invoice/{invoice_id}/send: Send an invoice to a customer via email.
    • /invoice/{invoice_id}/payment: Retrieve payment details associated with a specific invoice.
    • /invoice/{invoice_id}/refundreceipt: Create or manage refund receipts for a specific invoice.
  3. Payment Endpoint (/payment)some text
    • /payment/{payment_id}/apply: Apply a payment to specific invoices or other transactions.
    • /payment/{payment_id}/unapplied: Retrieve payments that have not yet been applied to invoices.
  4. Sales Receipt Endpoint (/salesreceipt)some text
    • /salesreceipt/{salesreceipt_id}/email: Send a sales receipt to a customer via email.
    • /salesreceipt/{salesreceipt_id}/payment: Retrieve payment details related to a sales receipt.
  5. Bill Endpoint (/bill)some text
    • /bill/{bill_id}/payment: Manage payments made against a specific bill.
    • /bill/{bill_id}/attachment: Attach documents, such as receipts, to a bill.
  6. Vendor Endpoint (/vendor)some text
    • /vendor/{vendor_id}/purchaseorder: Manage purchase orders associated with a vendor.
    • /vendor/{vendor_id}/bill: Retrieve bills linked to a specific vendor.
  7. Expense Endpoint (/purchase)some text
    • /purchase/{purchase_id}/receipt: Attach and manage receipts related to a specific purchase.
    • /purchase/{purchase_id}/payment: Manage payments made for specific purchases.
  8. Account Endpoint (/account)some text
    • /account/{account_id}/balance: Retrieve the current balance for a specific account.
    • /account/{account_id}/transaction: List transactions associated with a specific account.
  9. Item Endpoint (/item)some text
    • /item/{item_id}/inventory: Manage inventory levels for a specific item.
    • /item/{item_id}/sales: Track sales associated with a particular item.
  10. Journal Entry Endpoint (/journalentry)some text
    • /journalentry/{journalentry_id}/line: Manage individual line items within a journal entry.
    • /journalentry/{journalentry_id}/reversal: Reverse a journal entry if needed.
  11. Employee Endpoint (/employee)some text
    • /employee/{employee_id}/payroll: Manage payroll details and history for a specific employee.
    • /employee/{employee_id}/timeactivity: Retrieve time activities logged by a particular employee.
  12. Time Activity Endpoint (/timeactivity)some text
    • /timeactivity/{timeactivity_id}/approve: Approve time entries submitted by employees or contractors.
    • /timeactivity/{timeactivity_id}/project: Associate time activities with specific projects or jobs.
  13. Company Info Endpoint (/companyinfo)some text
    • /companyinfo/preferences: Retrieve or update company-level preferences, such as tax settings or currency.
    • /companyinfo/financialyear: Get details about the company's financial year, including start and end dates.

These endpoints offer more granular control and functionality, allowing developers to build more customized and detailed integrations with QuickBooks.

Here’s a detailed reference to all the QuickBooks Online APIs.

QuickBooks Online APIs FAQs

Here are the frequently asked questions about QuickBooks Online APIs to help you get started:

  1. How to integrate QuickBooks into a PHP codebase? Answer
  2. Tracking Shopify Refunds as Payments in QuickBooks Online Answer
  3. How to add custom tax to invoice? Answer
  4. Is it possible to use intuit quickbooks online API without creating an app Answer
  5. How do I link payments to invoices using the API Explorer? Answer

Get started with QuickBooks Online API

QuickBooks Online API access is available only for enterprise and developer tier accounts. If you're looking to integrate with various HRMS or recruitment APIs easily, consider using Knit. Knit offers a single API for connecting with all major HR integrations.

To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Oct 28, 2024

Dropbox Sign API Directory

Dropbox Sign, formerly HelloSign, is an electronic signature platform allowing users to securely sign, send, and manage legally binding documents online. It can be integrated seamlessly with Dropbox and other cloud services, and simplifies workflows by enabling remote collaboration and reducing the need for physical paperwork. Ideal for businesses of all sizes, Dropbox Sign ensures compliance with global e-signature laws, offering a fast and reliable contract management and document processing solution.

Dropbox Sign APIs enable developers to integrate electronic signature functionality directly into their applications. With easy-to-use endpoints, the API allows businesses to automate document workflows, request signatures, and track the status of agreements in real-time. It supports advanced features like template creation, embedded signing, and customizable branding, making it flexible for many use cases. The API also ensures security and compliance, providing audit trails and adhering to global e-signature standards like ESIGN and eIDAS.

Key highlights of Dropbox Sign APIs include:

  • Easy Integration: They simplify embedding e-signatures into websites or apps with minimal code.
  • Embedded Signing: They allow users to sign documents directly within your app or site.
  • Templates: They support reusable templates for recurring documents, improving workflow efficiency.
  • Custom Branding: They also offer white-label options for branded signing experiences.
  • Real-time Status Tracking: They provide real-time updates on document signing progress.
  • Security & Compliance: They ensure documents meet global e-signature standards (ESIGN, eIDAS) with audit trails and secure encryption.
  • Team Management: They support multi-user workflows and team-based access to documents.

In this article, we’ll provide an overview of the Dropbox Sign API endpoints.

Dropbox API Endpoints

Here are the most commonly used Dropbox API endpoints:

Account

  • GET /v3/account
  • PUT /v3/account
  • POST /v3/account/create
  • POST /v3/account/verify

Signature Request

  • GET /v3/signature_request/{signature_request_id}
  • GET /v3/signature_request/list
  • GET /v3/signature_request/files/{signature_request_id}
  • GET /v3/signature_request/files_as_data_uri/{signature_request_id}
  • GET /v3/signature_request/files_as_file_url/{signature_request_id}
  • POST /v3/signature_request/send
  • POST /v3/signature_request/send_with_template
  • POST /v3/signature_request/bulk_send_with_template
  • POST /v3/signature_request/remind/{signature_request_id}
  • POST /v3/signature_request/release_hold/{signature_request_id}
  • POST /v3/signature_request/update/{signature_request_id}
  • POST /v3/signature_request/cancel/{signature_request_id}
  • POST /v3/signature_request/remove/{signature_request_id}
  • POST /v3/signature_request/create_embedded
  • POST /v3/signature_request/create_embedded_with_template
  • POST /v3/signature_request/bulk_create_embedded_with_template

Templates

  • GET /v3/template/{template_id}
  • GET /v3/template/list
  • POST /v3/template/create
  • POST /v3/template/create_embedded_draft
  • POST /v3/template/delete/{template_id}
  • GET /v3/template/files/{template_id}
  • GET /v3/template/files_as_data_uri/{template_id}
  • GET /v3/template/files_as_file_url/{template_id}
  • POST /v3/template/update_files/{template_id}
  • POST /v3/template/add_user/{template_id}
  • POST /v3/template/remove_user/{template_id}

Bulk Send Job

  • GET /v3/bulk_send_job/{bulk_send_job_id}
  • GET /v3/bulk_send_job/list

Report

  • POST /v3/report/create

Team

  • GET /v3/team
  • GET /v3/team/info
  • GET /v3/team/members/{team_id}
  • GET /v3/team/sub_teams/{team_id}
  • POST /v3/team/create
  • PUT /v3/team
  • DELETE /v3/team/destroy
  • PUT /v3/team/add_member
  • POST /v3/team/remove_member

Unclaimed Draft

  • POST /v3/unclaimed_draft/create
  • POST /v3/unclaimed_draft/create_embedded
  • POST /v3/unclaimed_draft/create_embedded_with_template
  • POST  /v3/unclaimed_draft/edit_and_resend/{signature_request_id}

Embedded

  • GET /v3/embedded/sign_url/{signature_id}
  • POST /v3/embedded/edit_url/{template_id}

Here’s a detailed reference to all the Dropbox API endpoints.

Dropbox Sign API FAQs

Here are the frequently asked questions about Dropbox Sign APIs to help you get started:

  1. What is the rate limit for Dropbox sign API? Answer
  2. Get Embedded Sign URL is asking for client ID Answer
  3. Dropbox sign refresh token getting expired after 1 hour Answer
  4. Create Template API Error Answer
  5. What is a best way to identify each document with its template after download Answer

Find more FAQs here.

Get started with Dropbox Sign API

Dropbox Sign API access is offered through various pricing plans: Essentials, Standard, and Premium. It also includes a test mode for trying out features before deploying them in production. For quick integration with multiple eSignature APIs, you can use Knit, a single API that connects to top SaaS platforms.

To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Oct 28, 2024

Pandadoc API Directory

PandaDoc is a simple platform for creating, sending, and signing documents like contracts and quotes. It helps businesses reduce paperwork, save time, and work more smoothly with templates and eSignatures.

PandaDoc also provides APIs that let companies integrate its features into their own apps, automating document creation, managing templates, and handling eSignatures easily. This is especially useful for businesses that need to scale or customize their document processes. In this article, we will provide an overview of the Pandadoc API endpoints.

Key features of PandaDoc APIs include:

  1. Document Automation: They help to easily create and send documents programmatically, reducing manual tasks.
  2. Template Management: They help to access and manage templates directly from your app or system.
  3. eSignature Integration: They can be used to seamlessly add legally binding eSignatures to documents.
  4. Real-time Tracking: They can be used to monitor document status with real-time notifications and updates.
  5. Customizable Workflows: They help to tailor document workflows to fit your business needs.
  6. CRM Integration: They can help you connect with popular tools like Salesforce, HubSpot, and others for smooth data flow.
  7. Webhooks: They can also be used to get event notifications for document updates, status changes, and more.

These features allow businesses to automate and streamline their document processes effectively.

Pandadoc API Endpoints

Here are the most commonly used Pandadoc API endpoints -

Documents

  • GET https://api.pandadoc.com/public/v1/documents
  • POST https://api.pandadoc.com/public/v1/documents
  • GET https://api.pandadoc.com/public/v1/documents/{id}
  • DELETE https://api.pandadoc.com/public/v1/documents/{id}
  • POST https://api.pandadoc.com/public/v1/documents/{id}/send
  • POST https://api.pandadoc.com/public/v1/documents/{id}/transfer-ownership
  • POST https://api.pandadoc.com/public/v1/documents/{id}/attachments

Templates

  • GET https://api.pandadoc.com/public/v1/templates
  • GET https://api.pandadoc.com/public/v1/templates/{id}
  • POST https://api.pandadoc.com/public/v1/templates
  • DELETE https://api.pandadoc.com/public/v1/templates/{id}

Folders

  • GET https://api.pandadoc.com/public/v1/folders
  • POST https://api.pandadoc.com/public/v1/folders
  • GET https://api.pandadoc.com/public/v1/folders/{id}
  • PATCH https://api.pandadoc.com/public/v1/folders/{id}

Webhooks

  • POST https://api.pandadoc.com/public/v1/webhooks
  • DELETE https://api.pandadoc.com/public/v1/webhooks/{id}

Contacts

  • GET https://api.pandadoc.com/public/v1/contacts
  • POST https://api.pandadoc.com/public/v1/contacts
  • GET https://api.pandadoc.com/public/v1/contacts/{id}
  • PATCH https://api.pandadoc.com/public/v1/contacts/{id}
  • DELETE https://api.pandadoc.com/public/v1/contacts/{id}

Users

  • GET https://api.pandadoc.com/public/v1/users
  • GET https://api.pandadoc.com/public/v1/users/{id}

Here’s a detailed reference to all the Pandadoc APIs.

Pandadoc API FAQs

Here are the frequently asked questions about Pandadoc APIs to help you get started:

  1. What is the limit of PandaDoc? Answer
  2. How to getthe API key in PandaDoc? Answer
  3. How many documents can I send with PandaDoc? Answer
  4. Is PandaDoc legally binding? Answer
  5. Can you send multiple documents in PandaDoc? Answer

Find more FAQs here.

Get started with Pandadoc API

Pandadoc API is available for free testing in a sandbox environment and later has to be upgraded to an enterprise account for use in production. However, if you want to integrate with multiple e-signature APIs quickly, you can get started with Knit, one API for all top integrations.

To sign up for free, click here. To check the pricing, see our pricing page.

API Directory
-
Jul 9, 2024

Workday API Directory

Founded in 2005, Workday is a leading provider of financial, HR and planning software. It facilitates financial management, human capital management and analytics management for companies, students/ educational institutions and government agencies. They provide solutions across analytics and reporting, payroll, workforce management, spend management, talent management, professional services automation. 

For a detailed guied on Workday API integrations, read our in-depth guide to the Workday API. Below you will find a comprehensive directory of Workday API endpoints.

Workday API endpoints

While there are several Workday API endpoints, some of the top ones include:

Absence management

  • GET /balances/{ID}
  • GET /workers/{ID}/eligibleAbsenceTypes
  • GET /workers/{ID}/leavesOfAbsence/{subresourceID}
  • POST /workers/{ID}/requestTimeOff
  • GET /workers/{ID}/validTimeOffDates
  • GET /values/leave/status/
  • GET /values/timeOff/status/

Compensation

  • GET /scorecardResults
  • GET /scorecards/{ID}
  • POST /workers/{ID}/requestOneTimePayment

Payroll

  • GET /jobs/{ID}/payGroup
  • GET /payGroupDetails/{ID}
  • POST /taxRates
  • GET /values/payrollInputsGroup/payComponents/

Performance management

  • GET /feedbackBadges/{ID}

Recruitment

  • GET /interviews
  • GET /interviews/{ID}/feedback
  • GET /jobPostings/{ID}
  • GET /prospects/{ID}/educations
  • POST /prospects/{ID}/experiences
  • GET /prospects/{ID}/resumeAttachments
  • GET /prospects/{ID}/skills
  • GET /values/common/countries/

Time tracking

  • POST /timeClockEvents
  • GET /timeValidations
  • GET /workerTimeBlocks/{ID}
  • POST /workers/{ID}/timeReviewEvents

Talent management

  • POST /createMentorshipForMe
  • POST /createMentorshipForWorker
  • POST /mentorships/{ID}/close
  • POST /mentorships/{ID}/edit

Here’s a detailed guide on all Workday API endpoints as a ready reference.

Workday API use cases

  • Financial management with accounting and finance, revenue management, grants management, analytics and reporting, audit and internal controls
  • Human capital management via payroll and workforce management, talent, help, knowledge, and case management, workforce planning
  • Adaptive ERP to automate and streamline plans, budgets, and forecasts and align headcount, sales, and operational plans
  • Employee voice to collect and analyze feedback, with insights on employee experience to drives organizational success with AI
  • Spend management with sourcing project intake, pipeline management, contract management, supplier onboarding and performance management

Workday API FAQs

Check out the top FAQs for Workday API to help you get started

  1. Is a Workday WID a UUID? Answer
  2. How to authenticate Workday SOAP API? Answer
  3. How to receive real time notifications for my Workday? Answer
  4. How to get a Workday worker / employee web profile URL? Answer
  5. How to authenticate Spring SOAP to Workday? Answer
  6. How to edit worker additional data using Workday API? Answer
  7. How to create XSLT process Workday report - XML to JSON output - method="json" <xsl:output method="json" />? Answer
  8. How to create a calculated Field in Workday with multiple conditions? Answer

Get started with Workday API

Workday doesn’t offer its pricing publicly and you can get in touch with their team for the same. However, if you are looking to integrate with multiple HRMS or Recruitment APIs in the shortest time, you can get started with Knit, one API for all top HR integrations.

To sign up for free, click here. To check the pricing, see our pricing page

API Directory
-
Jul 9, 2024

ADP API Endpoints and Directory

ADP API

ADP is an industry leader offering a comprehensive human capital management suite (HCM solutions), bringing together payroll, attendance, HR, time, insights, and other services under one roof. Overall, ADP offers a suite of APIs that developers can get access to via the ADP marketplace. The ADP marketplace contains two types of applications that developers can leverage based on their use case, i.e., Data Connector and End User Application. ADP APIs are designed using an event-based pattern for resource management. ADP provides RESTful APIs.

ADP API follows OpenID Connect and Open Authorization (OAuth) 2.0 flows for comprehensive security. For each of them, ADP provides access tokens, which are used for secure calls to protect ADP Web APIs. Essentially, an access token is a time-bound token, or credential, which can be used to access protected ADP Web APIs restricted to an access scope. Access tokens are provided to the application during the integration process as part of the OpenID Connect and OAuth 2.0 authentication and authorization flow.

Related: ADP API Integration (In-Depth) Guide

ADP API Authentication

To access and interact with ADP's APIs and authenticate users via single sign-on (SSO), you'll need a Certificate Signing Request (CSR). Accessing ADP's web services requires both a private key and a corresponding Web Services (WS) Certificate. This certificate shares client information with ADP, while the private key verifies the client's authenticity.The WS Certificate can either be generated through an automated process (ideal for those building a marketplace application) or through a manual process (ideal for those building their own business application). To know more about each of these processes, click here.  

ADP API Events and Endpoints

ADP API (ADP Workforce Now) uses the following endpoints to facilitate the flow of information and data across channels.

Workers

Worker: A person who works/ performs duties for an organization

Worker Images

  • GET/hr/v2/workers/{aoid}/worker-images/photo

Worker Profile Photo Management

  • GET/events/hr/v1/worker.photo.remove/meta
  • POST/events/hr/v1/worker.photo.remove
  • POST/events/hr/v1/worker.photo.upload
  • GET/events/hr/v1/worker.photo.upload/meta

Workers Data Retrieval

  • GET/hr/v2/workers/meta
  • GET/hr/v2/workers/{aoid}
  • GET/hr/v2/workers

Workers - Lifecycle Management

Worker.hire: Primary work assignment created between a worker/ person and the employer for the first time.

Rehire Worker

  • POST/events/hr/v1/worker.rehire
  • GET/events/hr/v1/worker.rehire/meta

Workers - Data Integration Management

Read Worker

  • GET/events/hr/v1/worker.read/meta
  • POST/events/hr/v1/worker.read

Worker Demographics

Worker Demographics: Demographics and information for all workers as well as each worker specifically. 

Worker Demographics

  • GET/hr/v2/worker-demographics/meta
  • GET/hr/v2/worker-demographics
  • GET/hr/v2/worker-demographics/{aoid}

Worker Associate Profile - Personal & Work Info

Worker associate profile: Extensions to the worker profile containing hobbies/interests, bio, Standout roles, etc.

Associate Preferred Gender Pronoun

  • POST/events/hr/v1/worker.associate-profile.preferred-gender-pronoun.change
  • GET/events/hr/v1/worker.associate-profile.preferred-gender-pronoun.change/meta

Workers - Compensation Management

Add Additional Remuneration

  • POST/events/hr/v1/worker.work-assignment.additional-remuneration.add

Change Additional Remuneration

  • POST/events/hr/v1/worker.work-assignment.additional-remuneration.change

Change Base Remuneration

  • POST/events/hr/v1/worker.work-assignment.base-remuneration.change

Remove Additional Remuneration

  • POST/events/hr/v1/worker.work-assignment.additional-remuneration.remove

Workers - Work Assignment Management

Work assignment: Details such as a worker's Job Title and Job Function.

Modify Assigned Organizational Units

  • POST/events/hr/v1/worker.work-assignment.assigned-organizational-units.modify

Modify Work Assignment

  • GET/events/hr/v1/worker.work-assignment.modify/meta
  • POST/events/hr/v1/worker.work-assignment.modify

Modify Worker Reports 

  • POST/events/hr/v1/worker.reports-to.modify

Terminate Work Assignment

  • POST/events/hr/v1/worker.work-assignment.terminate

Personal Contacts

Personal connects: To retrieve, add, update, and delete an associate's emergency contacts.

Add Personal Contact

  • GET/events/hr/v1/worker.personal-contact.add/meta
  • POST/events/hr/v1/worker.personal-contact.add

Change Personal Contact

  • POST/events/hr/v1/worker.personal-contact.change
  • GET/events/hr/v1/worker.personal-contact.change/meta

Personal Contacts

  • GET/hr/v2/associates/{aoid}/personal-contacts/meta
  • GET/hr/v2/associates/{aoid}/personal-contacts
  • GET/hr/v2/associates/{aoid}/personal-contacts/{personal-contact-id}

Remove Personal Contact

  • GET/events/hr/v1/worker.personal-contact.remove/meta
  • POST/events/hr/v1/worker.personal-contact.remove

Worker Profile Experience (WFN)

Worker profile experience: Manage the HR Worker Profile implementation, add a new position for an employee and update the primary position of an employee, change the base remuneration details of an employee. 

Compensation Management

  • PUT/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/base-remuneration
  • GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/base-remuneration/meta
  • POST/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/additional-remunerations
  • GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/additional-remunerations
  • PUT/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/additional-remunerations
  • GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/reportable-benefits/meta
  • GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/additional-remunerations/meta
  • POST/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/reportable-benefits
  • GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/reportable-benefits
  • PUT/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/reportable-benefits

Corporate Groups Management

  • POST/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/corporate-groups
  • GET/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/corporate-groups/meta

Position Data Management

  • PUT/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/worker-dates
  • PUT/hr/worker-profile/v1/workers/{aoid}/work-assignments/{assignment-id}/primary-assignment

Workers - Business Communication Management

Add Worker Business Email

  • POST/events/hr/v1/worker.business-communication.email.add

Add Worker Business Fax

  • POST/events/hr/v1/worker.business-communication.fax.add

Add Worker Business Landline

  • POST/events/hr/v1/worker.business-communication.landline.add

Add Worker Business Mobile

  • POST/events/hr/v1/worker.business-communication.mobile.add

Add Worker Business Pager

  • POST/events/hr/v1/worker.business-communication.pager.add

Change Worker Business Email

  • POST/events/hr/v1/worker.business-communication.email.change

Change Worker Business Fax

  • POST/events/hr/v1/worker.business-communication.fax.change

Change Worker Business Landline

  • POST/events/hr/v1/worker.business-communication.landline.change

Change Worker Business Mobile

  • POST/events/hr/v1/worker.business-communication.mobile.change

Change Worker Business Pager

  • POST/events/hr/v1/worker.business-communication.pager.change

Remove Worker Business Email

  • POST/events/hr/v1/worker.business-communication.email.remove

Remove Worker Business Fax

  • POST/events/hr/v1/worker.business-communication.fax.remove

Remove Worker Business Landline

  • POST/events/hr/v1/worker.business-communication.landline.remove

Remove Worker Business Mobile

  • POST/events/hr/v1/worker.business-communication.mobile.remove

Remove Worker Business Pager

  • POST/events/hr/v1/worker.business-communication.pager.remove

Corporate Directory

Corporate directory: List of corporate contacts or detailed information about a specific contact

Corporate Directory

  • GET/{sor-id}/hr/v1/corporate-contact-photos/{image-id}.{image-extension}

Work Assignment Management

Add Work Assignment

  • POST/hr/v3/workers/{aoid}/work-assignments
  • GET/hr/v3/workers/{aoid}/work-assignments/meta

Workers - Biological Data Management

Change Birth Date

  • POST/events/hr/v1/worker.birth-date.change

Change Gender

  • POST/events/hr/v1/worker.gender.change

Change Race

  • POST/events/hr/v1/worker.race.change

Change Worker Gender Identity

  • POST/events/hr/v1/worker.gender-identity.change
  • GET/events/hr/v1/worker.gender-identity.change/meta

Workers - Demographic Data Management

Change Birth Name

  • POST/events/hr/v1/worker.birth-name.change

Change Legal Name

  • POST/events/hr/v1/worker.legal-name.change

Change Preferred Name

  • GET/events/hr/v1/worker.preferred-name.change/meta
  • POST/events/hr/v1/worker.preferred-name.change

Change Worker Marital Status

  • POST/events/hr/v1/worker.marital-status.change

Change Worker Military Classification

  • POST/events/hr/v1/worker.military-classification.change

Change Worker Military Status

  • POST/events/hr/v1/worker.military-status.change

Workers - Personal Communication Management

Add Worker Legal Address

  • POST/events/hr/v1/worker.legal-address.add

Add Worker Personal Address

  • POST/events/hr/v1/worker.personal-address.add

Add Worker Personal Email

  • POST/events/hr/v1/worker.personal-communication.email.add

Add Worker Personal Fax

  • POST/events/hr/v1/worker.personal-communication.fax.add

Add Worker Personal Landline

  • POST/events/hr/v1/worker.personal-communication.landline.add

Add Worker Personal Mobile

  • POST/events/hr/v1/worker.personal-communication.mobile.add

Add Worker Personal Pager

  • POST/events/hr/v1/worker.personal-communication.pager.add

Change Worker Legal Address

  • POST/events/hr/v1/worker.legal-address.change

Change Worker Personal Address

  • POST/events/hr/v1/worker.personal-address.change

Change Worker Personal Email

  • POST/events/hr/v1/worker.personal-communication.email.change

Change Worker Personal Fax

  • POST/events/hr/v1/worker.personal-communication.fax.change

Change Worker Personal Landline

  • POST/events/hr/v1/worker.personal-communication.landline.change

Change Worker Personal Mobile

  • POST/events/hr/v1/worker.personal-communication.mobile.change

Change Worker Personal Pager

  • POST/events/hr/v1/worker.personal-communication.pager.change

Remove Worker Legal Address

  • POST/events/hr/v1/worker.legal-address.remove

Remove Worker Personal Address

  • POST/events/hr/v1/worker.personal-address.remove

Remove Worker Personal Email

  • POST/events/hr/v1/worker.personal-communication.email.remove

Remove Worker Personal Fax

  • POST/events/hr/v1/worker.personal-communication.fax.remove

Remove Worker Personal Landline

  • POST/events/hr/v1/worker.personal-communication.landline.remove

Remove Worker Personal Mobile

  • POST/events/hr/v1/worker.personal-communication.mobile.remove

Remove Worker Personal Pager

  • POST/events/hr/v1/worker.personal-communication.pager.remove
  • GET/events/hr/v1/worker.personal-communication.pager.remove/meta

Workers - Work Deployment Management

Change Standard Hours

  • POST/events/hr/v1/worker.work-assignment.standard-hours.change

Change Worker Type

  • POST/events/hr/v1/worker.work-assignment.worker-type.change

Workers - Custom Data Management

Change Worker Custom Percentage

  • GET/events/hr/v1/worker.custom-field.percentage.change/meta
  • POST/events/hr/v1/worker.custom-field.percentage.change

Change Worker Custom Telephone

  • POST/events/hr/v1/worker.custom-field.telephone.change
  • GET/events/hr/v1/worker.custom-field.telephone.change/meta

Manage Worker Custom Amount

  • GET/events/hr/v1/worker.custom-field.amount.change/meta
  • POST/events/hr/v1/worker.custom-field.amount.change

Manage Worker Custom Code

  • POST/events/hr/v1/worker.custom-field.code.change
  • GET/events/hr/v1/worker.custom-field.code.change/meta

Manage Worker Custom Date

  • GET/events/hr/v1/worker.custom-field.date.change/meta
  • POST/events/hr/v1/worker.custom-field.date.change

Manage Worker Custom Indicator

  • POST/events/hr/v1/worker.custom-field.indicator.change
  • GET/events/hr/v1/worker.custom-field.indicator.change/meta

Manage Worker Custom Number

  • POST/events/hr/v1/worker.custom-field.number.change
  • GET/events/hr/v1/worker.custom-field.number.change/meta

Manage Worker Custom String

  • POST/events/hr/v1/worker.custom-field.string.change
  • GET/events/hr/v1/worker.custom-field.string.change/meta

Workers - Identification Management

Add Worker Government ID

  • POST/events/hr/v1/worker.government-id.add

Change Worker Government ID

  • POST/events/hr/v1/worker.government-id.change

Workers - Person Custom Data Management

Change Person Custom Amount

  • POST/events/hr/v1/worker.person.custom-field.amount.change
  • GET/events/hr/v1/worker.person.custom-field.amount.change/meta

Change Person Custom Code

  • POST/events/hr/v1/worker.person.custom-field.code.change
  • GET/events/hr/v1/worker.person.custom-field.code.change/meta

Change Person Custom Date

  • GET/events/hr/v1/worker.person.custom-field.date.change/meta
  • POST/events/hr/v1/worker.person.custom-field.date.change

Change Person Custom Indicator

  • POST/events/hr/v1/worker.person.custom-field.indicator.change
  • GET/events/hr/v1/worker.person.custom-field.indicator.change/meta

Change Person Custom Number

  • POST/events/hr/v1/worker.person.custom-field.number.change
  • GET/events/hr/v1/worker.person.custom-field.number.change/meta

Change Person Custom Percentage

  • POST/events/hr/v1/worker.person.custom-field.percentage.change
  • GET/events/hr/v1/worker.person.custom-field.percentage.change/meta

Change Person Custom String

  • POST/events/hr/v1/worker.person.custom-field.string.change
  • GET/events/hr/v1/worker.person.custom-field.string.change/meta

Change Person Custom Telephone

  • GET/events/hr/v1/worker.person.custom-field.telephone.change/meta
  • POST/events/hr/v1/worker.person.custom-field.telephone.change

Worker Leaves

Worker leaves: Processing an employee's leave requests, changes, and return and leave cancellations.

Cancel Worker Leave

  • GET/events/hr/v1/worker.leave.cancel/meta
  • POST/events/hr/v1/worker.leave.cancel

Change Worker Leave

  • POST/events/hr/v1/worker.leave.change
  • GET/events/hr/v1/worker.leave.change/meta

Request Leave Of Absence

  • GET/events/hr/v1/worker.leave.absence.request/meta
  • POST/events/hr/v1/worker.leave.absence.request

Request Return From Leave Of Absence

  • POST/events/hr/v1/worker.leave.return.request
  • GET/events/hr/v1/worker.leave.return.request/meta

Worker Leaves

  • GET/hr/v2/workers/{aoid}/leaves

Workers - KSAOC Management

Change Worker Highest Education Level

  • POST/events/hr/v1/worker.highest-level-education.change
  • GET/events/hr/v1/worker.highest-level-education.change/meta

ADP API Use Cases

  • Easy to use, intuitive interface and highly customizable with efficient customer support
  • Access best-practice guides, HR forms, policies, and an employee handbook template
  • Automation of processes like onboarding, status change, offboarding
  • Providing employees access to to their pay, benefits and time information, offering true self service
  • Real time mobile phone access to important information like time off, benefits data, etc. with a mobile application
  • Tracking and monitoring of key metrics like labor costs, overtime, actual vs. scheduled hours, turnover rate for better HR services

Top Customers

  • Jelly Belly, gourmet jelly belly candies and confections manufacturer
  • Amazon, a vast Internet-based enterprise
  • The Boston Globe, an American daily newspaper
  • Dell Technologies, a provider of desktop personal computers, software, and peripherals
  • Sunstone Partners, a growth-oriented private equity firm

ADP API FAQs

Here is a comprehensive list of questions that can help you navigate ADP API for success:

  1. How to obtain ADP API Client Secret for OAuth? Answer
  2. How to get ADP API past SSL error? Answer
  3. How to update ADP API Worker Information? Answer
  4. How to get Powershell ADP API Token? Answer
  5. How to Solve ADP API Connection Problem(Error : Status-58)? Answer
  6. How to change a person's custom string using ADP's API? Answer
  7. How to get access_token from ADP Api using rest? Answer
  8. What is the latest API updated or released for ADP Workforce Now? Answer
  9. What is the release plan for ADP Workforce Now APIs? Answer
  10. What are latest API updated or released for RUN Powered by ADP? Answer
  11. What APIs will be released or enhanced for RUN Powered by ADP soon? Answer
  12. How to integrate ADP employee data in Wordpress? Answer
  13. How to read properties from an ADP project by C#? Answer

Common Integrations with ADP API

While there can be multiple integrations and use cases for ADP API, here is a list of the top SaaS companies or products that can integrate with ADP API to facilitate customer success:

  • Learning Management Solutions
  • Rewards, Recognitions, and Performance
  • Communication and Collaborations
  • Employee Travel and Booking Tools
  • Workforce Planning and Org Chart Solutions

How to integrate with ADP API

Here is a comprehensive resource for anyone who wishes to integrate with ADP API and streamline and optimize their HR and allied operations. 

Get started with ADP API 

The pricing for ADP API is not publicly available. However, the platform does offer a demo for interested customers. At the same time, ADP provides tailor-made pricing based on specific company requirements. Thus companies can share the required information to get access to competitive pricing, across different tiers based on the features they need. You can request pricing here.

To make the integration process smooth with ADP, you can get started with Knit, one API for all your integrations. Sign up with Knit or book a demo here with one of our experts - Book Demo

API Directory
-
Jun 20, 2024

greytHR API Guide

greytHR API Directory

greytHR is a leading HR and Payroll software provider for small and medium sized companies. It enables HR teams and professionals to automate all people operations including employee information management, leave and attendance management, training, appraisals, compensation, etc. greytHR API enables developers to access HR related information like Employee/Leave/Attendance/Salary for seamless exchange between different applications. 

greytHR API Authentication

greytHR is based on oAuth2 based authentication for access to APIs, which is an industry-standard protocol for authorization. Since the greytHR API captures a lot of sensitive and confidential information, only authorized entities get access to it. Each API request is authenticated with an auth-token using the client id and client credentials obtained during the registration process. A verified username and password is used for basic authentication. 

greytHR API API Objects, Data Models & Endpoints

If you are working with greytHR API for integration with other applications, it is important to understand the data models, objects and endpoints to facilitate data normalization and accurate API requests. Some of these are captured below to help you get started. 

Employee

  • GET Get all Employees: https://api.greythr.com/employee/v2/employees?page=1&size=35 
  • GET Get Employee: https://api.greythr.com/employee/v2/employees/{employee-id}
  • GET Employee Lookup: https://api.greythr.com/employee/v2/employees/lookup?q={EmployeeNo./Email/Guid/Access card/ Personal email}
  • POST Add Employee: https://api.greythr.com/employee/v2/employees
  • PUT Update Employee: https://api.greythr.com/employee/v2/employees/{employee-id}
  • GET Get All Employee Profile Details: https://api.greythr.com/employee/v2/employees/profile
  • GET GET All employees Photo: https://api.greythr.com/hr/v2/employees/photo?photoSize=large&page=1&size=0
  • GET Get Employee Photo: https://api.greythr.com/hr/v2/employee/{employeeId}/photo
  • GET Get Employee Profile Details: https://api.greythr.com/employee/v2/employees/{employee-id}/profile
  • PUT Update Employee Profile Details: https://api.greythr.com/employee/v2/employees/{employee-id}/profile
  • GET Get All Employee Personal Details: https://api.greythr.com/employee/v2/employees/personal
  • GET Get Employee Personal Details: https://api.greythr.com/employee/v2/employees/{employee-id}/personal
  • PUT Update Employee Personal Details: https://api.greythr.com/employee/v2/employees/{employee-id}/personal
  • GET Get All Employee Work Details: https://api.greythr.com/employee/v2/employees/work
  • GET Get Employee Work Details Copy: https://api.greythr.com/employee/v2/employees/{employee-id}/work
  • PUT Update Employee Work Details: https://api.greythr.com/employee/v2/employees/{employee-id}/work
  • GET Get All Employee Separation Details: https://api.greythr.com/employee/v2/employees/separation
  • GET Get Employee Separation Details Copy: https://api.greythr.com/employee/v2/employees/{employee-id}/separation
  • PUT Update Employee Separation Details: https://api.greythr.com/employee/v2/employees/{employee-id}/separation
  • GET Get All Employee Address Details: https://api.greythr.com/employee/v2/employees/addresses/{address-type}
  • GET Get Employee Address Details: https://api.greythr.com/employee/v2/employees/{employee-id}/addresses/{address-type}
  • PUT Update Employee Address Details: https://api.greythr.com/employee/v2/employees/{employee-id}/addresses/{address-type}
  • DELETE Delete Employee Address Details: https://api.greythr.com/employee/v2/employees/{employee-id}/addresses/{address-type}
  • GET Get All Employee Statutory Details: https://api.greythr.com/employee/v2/employees/statutory/india
  • GET Get Employee Statutory Details: https://api.greythr.com/employee/v2/employees/{employee-id}/statutory/india
  • PUT Update Employee Statutory Details: https://api.greythr.com/employee/v2/employees/{employee-id}/statutory/india
  • GET Get Orgtree - Reporting Structure: https://api.greythr.com/employee/v2/employees/org-tree
  • GET Get Employee Manager details: https://api.greythr.com/employee/v2/employees/{employee-id}/org-tree
  • POST Add Employee Manager: https://api.greythr.com/employee/v2/employees/{employee-id}/org-tree
  • PUT Update Employee Manager: https://api.greythr.com/employee/v2/employees/{employee-id}/org-tree
  • GET Get All Employee Positions details: https://api.greythr.com/employee/v2/employees/categories
  • GET Get Employee Positions Details: https://api.greythr.com/employee/v2/employees/{employee-id}/categories
  • POST Add Employee Positions: https://api.greythr.com/employee/v2/employees/{employee-id}/categories
  • GET Get All Employee Bank Details: https://api.greythr.com/employee/v2/employees/bank
  • GET Get Employee Bank Details: https://api.greythr.com/employee/v2/employees/{employee-id}/bank
  • POST Add Employee Bank Details: https://api.greythr.com/employee/v2/employees/{employee-id}/bank
  • PUT Update Employee Bank Details: https://api.greythr.com/employee/v2/employees/{employee-id}/bank
  • GET Get All Employee PF & ESI details: https://api.greythr.com/employee/v2/employees/pf
  • GET Get Employee PF & ESI details: https://api.greythr.com/employee/v2/employees/{employee-id}/pf
  • POST Add Employee PF & ESI details: https://api.greythr.com/employee/v2/employees/{employee-id}/pf
  • PUT Update Employee PF & ESI details: https://api.greythr.com/employee/v2/employees/{employee-id}/pf
  • GET Get Employee's All Identity Details: https://api.greythr.com/employee/v2/employees/{employee-id}/identities
  • GET Get Employee Identity Details: https://api.greythr.com/employee/v2/employees/{employee-id}/identities/{identity-code}
  • POST Add Employee Identity: https://api.greythr.com/employee/v2/employees/{employee-id}/identities/{identity-code}
  • PUT Update Employee Identity: https://api.greythr.com/employee/v2/employees/{employee-id}/identities/{identity-code}
  • DELETE Delete Employee Identity: https://api.greythr.com/employee/v2/employees/{employee-id}/identities/{identity-code}
  • GET Get Employees Family Details: https://api.greythr.com/employee/v2/employees/families/{relationtype-id}
  • GET Get Employee Family Details: https://api.greythr.com/employee/v2/employees/{employee-id}/families
  • POST Add family member to Employee: https://api.greythr.com/employee/v2/employees/{employee-id}/families
  • PUT Update Family member details: https://api.greythr.com/employee/v2/employees/{employee-id}/families/{relation-id}
  • DELETE Delete Family member details: https://api.greythr.com/employee/v2/employees/{employee-id}/families/{relation-id}
  • GET Get All Employee Asset details: https://api.greythr.com/employee/v2/employees/assets
  • GET Get Employee Asset details: https://api.greythr.com/employee/v2/employees/{employee-id}/assets
  • POST Add Asset to Employee: https://api.greythr.com/employee/v2/employees/{employee-id}/assets
  • POST Add Asset to Employee: https://api.greythr.com/employee/v2/employees/{employee-id}/assets
  • DELETE Delete Update Family member details: https://api.greythr.com/employee/v2/employees/{employee-id}/assets/{asset-id}
  • GET Get All Employee Qualifications details: https://api.greythr.com/employee/v2/employees/qualifications
  • GET Get Employee Qualifications details: https://api.greythr.com/employee/v2/employees/{employee-id}/qualifications
  • POST Add Employee Qualifications: https://api.greythr.com/employee/v2/employees/{employee-id}/qualifications
  • PUT Update Employee Qualifications details: https://api.greythr.com/employee/v2/employees/{employee-id}/qualifications/{qualification-id}
  • DELETE Delete Employee Qualifications details: https://api.greythr.com/employee/v2/employees/{employee-id}/qualifications/{qualification-id}
  • GET Get Employee All Card Details: https://apigee-test.greythr.com/employee/v2/employees/{employeeId}/card-details
  • GET Get Employee Card Details: https://apigee-test.greythr.com/employee/v2/employees/employeeId/card-details/cardId
  • POST Add Employee Card Details: https://apigee-test.greythr.com/employee/v2/employees/{employeeId}/card-details
  • DELETE Delete Employee Card Details: https://apigee-test.greythr.com/employee/v2/employees/{employeeId}/card-details/{cardId}

Leave

  • GET Get Leave Balance details for All Employees: https://api.greythr.com/leave/v2/employee/years/{{Year}}/balance
  • GET Get Employee Leave Balance for a year: https://api.greythr.com/leave/v2/employee/{employee-id}/years/{{Year}}/balance
  • GET Get Leave Transactions details for All Employees: https://api.greythr.com/leave/v2/employee/transactions?start={{StartDate}}&end={{EndDate}}
  • GET Get Employee Leave Transactions: https://api.greythr.com/leave/v2/employee/{employee-id}/transactions?start={{StartDate}}&end={{EndDate}}
  • POST Leave Transaction: https://api.greythr.com/leave/v2/employee/transactions

Attendance

  • GET Get Attendance Summary for All Employees: https://api.greythr.com/attendance/v2/employee/insights?end={{EndDate}}&start={{StartDate}}
  • GET Get Employee Attendance Summary: https://api.greythr.com/attendance/v2/employee/{employee-id}/insights?end={{EndDate}}&start={{StartDate}}
  • GET Get Employee Attendance Summary: https://api.greythr.com/attendance/v2/employee/{employee-id}/insights?end={{EndDate}}&start={{StartDate}}
  • GET Get Employee Attendance Muster: https://api.greythr.com/attendance/v2/employee/{employee-id}/muster?end={{EndDate}}&start={{StartDate}}

Payroll

  • GET Get All Employee Handenrty salary Items: https://api.greythr.com/payroll/v2/employees/handentry
  • GET Get Employee Handenrty salary Items: https://api.greythr.com/payroll/v2/employees/{employee-id}
  • GET Get Salary Repository Items: https://api.greythr.com/payroll/v2/salary/repository
  • POST Add Employee Handenrty salary Items: https://api.greythr.com/payroll/v2/employees/{employee-id}
  • PUT Update Employee Handenrty salary Items: https://api.greythr.com/payroll/v2/employees/{employee-id}
  • DELETE Delete Employee Handenrty salary Items: https://api.greythr.com/payroll/v2/employees/{employee-id}
  • GET Get Salary Statement for a Month: https://api.greythr.com/payroll/v2/employees/salary/statement/{{yyyy-mm-01}}
  • GET Get Salary Statement for an Employee for a Month: https://api.greythr.com/payroll/v2/employees/salary/statement/{{yyyy-mm-01}}/{employee-id}
  • GET Get Employees Resettlement for a Month: https://api.greythr.com/payroll/v2/employees/resettlement/{payrollMonth}
  • POST Add Salary Revision: https://api.greythr.com/payroll/v2/salary/revision/employees/{employee-id}
  • GET Get Salary Revision History: https://api.greythr.com/payroll/v2/salary/revision/employees/{employee-id}/{status}
  • GET Get Salary Revision Difference: https://api.greythr.com/payroll/v2/salary/revision/difference/employees/{employee-id}
  • GET Get Attendance Snapshot details: https://apigee-test.greythr.com/payroll/v2/attendance/snapshot/employees/{employee-id}
  • POST Save Attendance Snapshot: https://apigee-test.greythr.com/payroll/v2/attendance/snapshot/employees/{employee-id}
  • DELETE Delete Attendance Snapshot: https://apigee-test.greythr.com/payroll/v2/attendance/snapshot/employees/{employee-id}

List of Values

  • POST Get greytHR LOV: https://api.greythr.com/hr/v2/lov
  • POST Get greytHR Position/Category: https://api.greythr.com/hr/v2/lov
  • GET Get Bank Branch Details: https://api.greythr.com/hr/v2/lov/banks/{bankId}/branches
  • POST Add greytHR Org Entities: https://api.greythr.com/hr/v2/lov/org/entities

Documents

  • GET Get Employee Documents: https://api.greythr.com/employee/v2/emp-docs/{employeeId}/{categoryId}
  • GET Download Employee Documents: https://api.greythr.com/employee/v2/emp-docs/{employeeId}/{documentId}/{fieId}
  • POST Add Employee Document Category: https://api.greythr.com/employee/v2/emp-docs/category
  • POST Add Employee Document: https://api.greythr.com/employee/v2/employee-docs/{employeeId}/{category}

Users

  • POST Add New Users: https://api.greythr.com/user/v2/users
  • GET Get Users List: https://api.greythr.com/user/v2/users
  • GET Get Employee User ID: https://api.greythr.com/user/v2/users?userType=employee&userName=Employee Number
  • POST User SSO: https://api.greythr.com/user/v2/users/{userid}/auth

greytHR API Use Cases 

  • Centralized employee information management and simplification of HR processes by eliminating inconsistencies, duplication and clutter in employee information
  • Easy payroll management with accurate and timely payouts
  • Seamless leave management with accurate leave accounting and integration with payroll
  • Real time attendance management, easy shift and overtime management
  • Goal alignment and performance management, progress tracking, rewards achievements

Top customers

greytHR provides HRMS services to 20,000+ companies across 250+ cities, including:

  • Dunzo, a 24x7 delivery app
  • HealthifyMe, an Indian digital health and wellness company
  • Rapido, an Indian ride-hailing service
  • Hutchinson, a French manufacturer of non-tire rubber
  • Lentra, a new-age domain-native platform 
  • ClickDesk, a live support chat software 
  • CORE Energy Systems, an emerging engineering services and project management company

greytHR API FAQs

  • How can admin enable the role for API users? Answer
  • How to generate API credentials for the greytHR admins? Answer
  • Is it possible to configure API credentials in Tally without enabling the integration of greytHR? Answer

How to integrate with greytHR API 

To integrate with the greytHR API, you need to create an account. You can create an account here. You can then go through this documentation to understand the REST API for external applications to integrate and interoperate with greytHR. 

Get started with greytHR API 

greytHR offers a freemium model for its users. While some features for a certain number of employees can be availed free of cost, the paid version starts at ₹3495/month adding more features which users can leverage. There are more premium tiers to choose from. Each pricing plan comes with a free trial. 

However, integrating with greytHR API with in-house resources can be quite expensive and time consuming, for both building and managing the integration. You can significantly bring this cost down by partnering with a platform like Knit. With a nominal integration cost, Knit helps you integrate with a unified HRIS API, with which you can connect with its bouquet of HRIS applications, including greytHR, at no additional cost. As a unified API, Knit helps you connect with your preferred HRIS applications in a fraction of the cost and time. Book a demo today to learn more! 

API Directory
-
Jun 20, 2024

Zoho People API Guide

Zoho People API Directory

Zoho People is a leading HR solution provider which enables companies to automate and simplify their HR operations. Right from streamlining core HR processes, to supporting time and attendance management, to facilitating better performance management and fostering greater learning and development, Zoho People has been transforming HR operations for 4500+ companies for over a decade. 

With Zoho People API, companies can seamlessly extract and access employee data, update it and integrate this application with other third party applications like ATS, LMS, employee onboarding tools, etc. to facilitate easy exchange of information. 

Zoho People API Authentication

Like most industry leading HRIS applications, Zoho People API uses OAuth2.0 protocol for authentication. The application leverages Authorization Code Grant Type to obtain the grant token(code), allowing users to share specific data with applications, without sharing user credentials. Zoho People API uses access tokens for secure and temporary access which is used by the applications to make requests to the connected app. 

Using OAuth2.0, Zoho People API users can revoke a customer's access to the application at any time, prevent disclosure of any credentials, ensure information safeguarding if the client is hacked as access tokens are issued to individual applications, facilitate application of specific scopes to either restrict or provide access to certain data for the client.

Zoho People API Objects, Data Models & Endpoints

Integrating with any HRIS application requires the knowledge and understanding of the objects, data models and endpoints it uses. Here is a list of the key concepts about Zoho People API which SaaS developers must familiarize themselves with before commencing the integration process. 

Forms API

  • POSTInsert Record API

https://people.zoho.com/people/api/forms/<inputType>/<formLinkName>/insertRecord?inputData=<inputData>

  • POSTInsert Record API for Adding Employees

https://people.zoho.com/people/api/forms/json/employee/insertRecord?inputData=<inputData>

  • POSTUpdate Record API

https://people.zoho.com/people/api/forms/<inputType>/<formLinkName>/updateRecord?inputData=<inputData>&recordId=<recordId>

  • GETGet Bulk Records API

https://people.zoho.com/people/api/forms/<formLinkName>/getRecords?sIndex=<record starting index>&limit=<maximum record to fetch>​

  • POSTAdd Department API

https://people.zoho.com/people/api/department/records?xmlData=<xmlData>

  • GETFetch Forms API

https://people.zoho.com/people/api/forms?

  • GETFetch Single Record API

https://people.zoho.com/people/api/forms/<formLinkName>/getDataByID?recordId=261091000000049003

  • GETFetch Single Record API (Section Wise)

https://people.zoho.com/people/api/forms/<formLinkName>/getRecordByID?recordId=<recordId>

  • GETGet Related Records API

https://people.zoho.com/people/api/forms/<formLinkName>/getRelatedRecords?sIndex=<sIndex>&limit=<limit>& parentModule=<parentModule>&id=<id>&lookupfieldName=<lookupfieldName>

  • GETSearch Records Based on Record Values

https://people.zoho.com/people/api/forms/<formLinkName>/getRecords?searchParams={searchField: '<fieldLabelName>', searchOperator: '<operator>', searchText : '<textValue>'}

  • GETGet Fields of Form API

https://people.zoho.com/people/api/forms/<formLinkName>/components?

Cases API

  • POSTAdd Case API

https://people.zoho.com/api/hrcases/addcase?categoryId=<Category ID>&subject=<subject>&description=<description>

  • GETView Case API

https://people.zoho.com/api/hrcases/viewcase?recordId=<Reord ID of the case>

  • GETView Case Listing API

https://people.zoho.com/api/hrcases/getRequestedCases?index=<index>&status=<status>

  • GETView List of Categories API

https://people.zoho.com/api/hrcases/listCategory?

Timesheet API

  • POSTCreate Timesheets API

https://people.zoho.com/people/api/timetracker/createtimesheet?user=<user>&timesheetName=<timesheetName>&description=<description>&dateFormat=<dateFormat>&fromDate=<fromDate>&toDate=<toDate>&billableStatus=<billableStatus>&jobId=<jobId>&projectId=<projectId>&clientId=<clientId>&sendforApproval=<sendforApproval>

  • POSTModify Timesheets API

https://people.zoho.com/people/api/timetracker/modifytimesheet?timesheetId=<timesheetId>&timesheetName=<timesheetName>&description=<description>&sendforApproval=<sendforApproval>&removeAttachment=<removeAttachment>

  • GETGet Timesheets API

https://people.zoho.com/people/api/timetracker/gettimesheet?user=<user>&approvalStatus=<approvalStatus>&employeeStatus=<employeeStatus>&dateFormat=<dateFormat>&fromDate=<fromDate>&toDate=<toDate>&sIndex=<sIndex>&limit=<limit>

  • GETGet Timesheets Details API

https://people.zoho.com/people/api/timetracker/gettimesheetdetails?timesheetId=<timesheetId>&dateFormat=<dateFormat>​

  • POSTApprove Timesheets API

https://people.zoho.com/people/api/timetracker/approvetimesheet?authtoken=<authtoken>&timesheetId=<timesheetId>&approvalStatus=<approvalStatus>&timeLogs=<timeLogs>&comments=<comments>&isAllLevelApprove=<isAllLevelApprove>​

  • POSTDelete Timesheets API

https://people.zoho.com/people/api/timetracker/deletetimesheet?timesheetId=<timesheetId>​

Onboarding API

  • POSTTrigger Onboarding API

https://people.zoho.com/api/<Employee|Candidate>/triggerOnboarding​

  • POSTAdd Candidate API

https://people.zoho.in/people/api/forms/json/Candidate/insertRecord?inputData=<inputData>​

  • POSTUpdate Candidate API

https://people.zoho.com/people/api/forms/<inputType>/Candidate/updateRecord?inputData=<inputData>&recordId=<recordId>

Leave API

  • POSTAdd Leave API

https://people.zoho.com/people/api/forms/<inputType>/<formLinkName>/insertRecord?inputData=<inputData>

  • POSTGet Record API

https://people.zoho.com/people/api/forms/leave/getDataByID?recordId=413124000068132003

  • PATCHCancel Leave API

https://people.zoho.com/api/v2/leavetracker/leaves/records/cancel/<record-id>

  • GETUser Report API

https://people.zoho.com/people/api/v2/leavetracker/reports/user

  • GETLeave Booked and Balance Report API

https://people.zoho.com/people/api/v2/leavetracker/reports/bookedAndBalance

  • GETLeave Bradford API

https://people.zoho.com/people/api/v2/leavetracker/reports/bradford

  • GETEncashment Report API

https://people.zoho.com/people/api/v2/leavetracker/reports/encashment

  • GETLOP Report API

https://people.zoho.com/people/api/v2/leavetracker/reports/lop

 

  • POSTAdd Leave Balance API

https://people.zoho.com/api/leave/addBalance?balanceData=<balanceData>&dateFormat=<dateFormat>

Attendance API

  • POSTBulk Import API

https://people.zoho.com/people/api/attendance/bulkImport?data=<JSONArray>

  • GETFetch Last Attendance Entries API

https://people.zoho.com/api/attendance/fetchLatestAttEntries?duration=5&dateTimeFormat=dd-MM-yyyy HH:mm:ss

  • POSTAttendance Check In Check Out API

https://people.zoho.com/people/api/attendance?dateFormat=<dateFormat>&checkIn=<checkin time>&checkOut=<checkout time>&empId=<employeeId>&emailId=<emailId>&mapId=<mapId>

  • POSTAttendance Entries API

https://people.zoho.com/people/api/attendance/getAttendanceEntries?date=<date>&dateFormat=<dateformat>&erecno=<erecno>&mapId=<mapId>&emailId=<emailId>&empId=<empId>

  • POSTAttendance User Report API

https://people.zoho.com/people/api/attendance/getUserReport?sdate=<sdate>&edate=<edate>&empId=<employeeId>&emailId=<emailId>&mapId=<mapId>&dateFormat=<dateFormat>

  • POSTEmployee Shift Mapping API

https://people.zoho.com/people/api/attendance/updateUserShift?dateFormat=<dateformat>&empId=<employee Id>&shiftName=<shift name>&fdate=<FromDate>&tdate=<toDate>

  • GETGetting Shift Details Of Employee API

https://people.zoho.com/people/api/attendance/getShiftConfiguration?empId=<employee Id>&emailId<email Id>=&mapId<Mapper ID>=&sdate<startDate>=&edate=<endDate>

  • GETGet Regularization Records API

https://people.zoho.com/people/api/attendance/getRegularizationRecords

For more information and details on other endpoints, check out this detailed resource

Zoho People API Use Cases

  • Quick candidate onboarding with offer letter management, new hire portal, customizable workflows and status-view reports
  • Cloud-based attendance management system to generate insightful reports, regularize attendance, option to check in from anywhere 
  • Simple time off management tool with leave policy compliance, instant access to employee leave history, mobile leave applications and approvals and multi-location time off and holiday management
  • Productivity timesheets to view the details of the time spent on every project, task, and client, get a centralized overview of your tasks and time resources, calculate payouts faster with accurate employee time logs and automate invoicing
  • Shift scheduling to map employees to standard shifts, enable automatic shift rotation with a custom scheduler, mark, track, and analyze breaks and allowances
  • Performance management with 360-degree, continuous feedback system, to evaluate employees with customized performance appraisal methods
  • Case management to sort and organize employee questions, track their status, and reply promptly from a central location with an easily accessible knowledge base

Top customers

  • Zomato, an Indian multinational restaurant aggregator and food delivery company
  • The Logical Indian, an independent and public-spirited digital media platform for Indian millennials
  • IIFL Finance, a leading finance & investment services company
  • Meesho, an online shopping platform
  • Waterfield Advisors, a leading independent Multi-Family Office and Wealth Advisory Firm
  • DLT Labs, a global leader in the development and delivery of enterprise blockchain technologies and solutions

Zoho People API FAQs

  • What to do when you cannot use searchParams on Zoho People API (HTTP Status 400)? Answer
  • How to achieve webhook integration between Podio and Zoho People? Answer
  • How to get the attendance API from Zoho People in postman? Answer
  • What to do if permission is denied when trying to fetch records from Zoho People? Answer
  • How to parse through the following ZOHO People JSON string using VB.NET? Answer
  • How to write a custom function in Zoho People Deluge to fetch all the dates between from and to given? Answer
  • How to sync Zoho People with Google Calendar API for event time update without changing date? Answer

How to integrate with Zoho People API

To integrate your preferred applications with Zoho People API, you need valid Zoho People user credentials. In addition you also must have a valid authentication token or OAuth to access Zoho People API. 

Get started with Zoho People API

Integrating with Zoho People API requires engineering bandwidth, resources and knowledge. Invariably, building and maintaining this integration can be extremely expensive for SaaS companies. Fortunately, with Knit, a unified HRIS API, you can easily integrate with Zoho People API and other multiple HRIS applications at once. Knit enables users to normalize data from across HRIS applications, including Zoho People, 10x faster, ensure higher security with double encryption and facilitates bi-directional data sync with webhook architecture to ensure guaranteed scalability, irrespective of data load. Book a demo to learn how you can get started with Zoho People API with ease. 

API Directory
-
Jun 20, 2024

Ceridian Dayforce API Directory

Ceridian Dayforce API Directory

Ceridian Dayforce is an all-inclusive human capital management system that helps employers take care of all stages of an employee’s lifecycle, across HR, payroll, employee engagement, workforce management, services, etc. It is a cloud based system. Ceridian Dayforce enables businesses to unlock workforce intelligence, empower people, and manage compliance.

With the Ceridian Dayforce Connector, developers can get access to the REST API of Ceridian Dayforce HCM, to facilitate integrations across their preferred applications. With this REST API, organizations can store all information regarding their employees and retrieve it as and when the need arises. 

Ceridian Dayforce API Authentication

Ceridian Dayforce API supports authentication in 2 ways. First, developers can limit and authorize access via token based authentication. In this mechanism, Ceridian Dayforce verifies the user’s identity to provide a unique access token for API access. Second, developers can leverage the basic auth connection for Ceridian Dayforce API authentication. Here, a username along with a password and API key is what users can use to facilitate API access and ensure reliable authentication. In addition, Ceridian Dayforce API comes with AES 256 encryption, to ensure that the  connection’s password/ credentials are safe. 

Ceridian Dayforce API Objects, Data Models & Endpoints

When working with Ceridian Dayforce API, you need to understand the data models, objects and endpoints. Here is a quick overview to get started:

Dependents

This object represents a dependent of an employee, including child, spouse, partner, etc. It contains data fields like first/last name, relationship, date of birth, gender, if the dependent is a student

Employee

This object covers all details relating to an individual or candidate who has been employed by the organization. It contains information or data fields like employee number, first/last name, preferred name, work email, personal email, groups, phone number, home/ work location, employments, manager, team, gender, marital status, employment status, start date, termination date, etc. 

Employment

This object represents a job position at any company. It contains data fields like employee, job title, pay rate, pay period, pay currency, effective date, employment type, pay frequency, etc. 

Group

A group is a subset in which an employee can be placed. Groups can be of multiple types, including teams, pay groups. At the same time, each employee can be a part of multiple groups. It contains data fields or information along the lines of name, type, etc. 

Location

This object represents the geographical area which can be associated with an employee. The location object contains data fields including name, street number, city, zip code, country, location type, state, etc. 

Team

Team as an object is a subgroup of a company like a department. Each employee is allocated to a particular team as a part of their employment. 

Time Off

This object comprehensively represents time off entries for all employees to get a complete picture of attendance in the organization. It contains details like employee, status, employee note, units, amount, request type, start time, end time, etc. 

Time Off Balance

This object represents the current status or balance remaining as a part of an employee’s allocated time off. This includes data fields like employee, balance, policy type, among others. 

Common Ceridian Dayforce API endpoints

  • GET/v1/Employees/{employee_id}/DependentsBeneficiaries

With this endpoint, you can get access to information about the dependents, including their name, date of birth, relationship, etc. 

  • GET/v1/Employees

This endpoint can be used to get any information needed about the employee, including employment, time off, time off balance, etc. 

  • GET/v1/employees/{employee_id}/TimeAwayFromWork

This endpoint helps get access to information about time off including start time, end time, request type, etc. 

  • GET/v1/Employees/{employee_id}/WorkAssignments

With this end point, users can get access to information about an employee’s work assignment focusing on location, zip code, country, among others. 

  • GET/V1/Employees/{employee_id}/CompensationSummary

This endpoint helps get access to information about the employment and payroll in general, including pay period, pay frequency, rate, etc. 

Merge interacts with this API endpoint to...

  • GET/V1/Employees/{employee_id}

With this endpoint, one can get information about a particular employee, including personal email, home location, ethnicity, employment status, etc. 

  • GET/v1/OrgUnits

This endpoint is used to gain access to information about an employee’s team and groups the employee is a part of. 

  • GET/v1/EmployeeBalancePeriods

With this endpoint, users get access to information about the time off balance and policy type for each employee. 

Ceridian Dayforce API Use Cases

  • Provides a unified view for all employees, giving all information regarding performance, payroll, time off and other details on one platform, preventing any toggling for users
  • Facilitates in-depth and real time analytics for all HR data to help employers understand the health of their organization and make well-informed decisions in a timely manner. It provides a vast catalog of standard reports along with the option to customize reporting based on organizational needs 
  • Curates insights for business intelligence and helps organizations with flight risk assessment to prevent attrition, gauge personality types, easily access performance data and understand status for each employee
  • Ensures self service for employees to empower them to get quick access to their pay details, benefits and all the other information they might need. It also allows employees to update personal information and other details on their own, following chat commands for smooth onboarding and updates
  • Promotes role based access and security to uphold high levels of data privacy. This ensures that confidential data has very limited access and employees are only able to view data which is required and relevant to their role
  • Helps with workforce management to make data-driven staffing decisions, utilizing flexible scheduling for better business outcomes, streamline absence management and overall optimize HR operations for greater efficiency and productivity
  • Makes hire to retire employee lifecycle seamless with AI based screening and automated onboarding, personalized learning recommendations and succession planning, employee engagement interventions and much more

Top customers

With ~6000+ customers, Ceridian Dayforce is a popular HRIS/ HCM provider for organizations, especially in the United States. Here is a list of the top customers that Ceridian Dayforce is servicing:

  • CBS News, the news division of the American television and radio service CBS
  • Gannett Co., Inc., an American mass media holding company 
  • Amphenol Corporation, a United States based Manufacturing organization
  • Travis Perkins, a United Kingdom based Distribution organization 
  • The Hanover Insurance Group, Inc., a United States based Insurance organization
  • Harley-Davidson, Inc., a United States based Manufacturing organization
  • Marrakech Inc., a diverse nonprofit organization

Ceridian Dayforce API FAQs

  • How to facilitate Ceridian Dayforce Integration with Active Directory? Answer
  • What is the Ceridian Dayforce HRIS API location? Answer
  • How to extract the URL to call the Authenticate API method with Dayforce API? Answer
  • How to navigate Dayforce Reporting Custom Field SQL? Answer
  • How to set up a token-based auth connection to Ceridian Dayforce? Answer
  • How to set up a basic auth connection to Ceridian Dayforce? Answer
  • How to set up the Ceridian Dayforce Environment? Answer
  • What is a Ceridian Dayforce Connector Example? Answer
  • How to configure Ceridian Dayforce REST Operations? Answer
  • How to enable testing of the Ceridian Dayforce APIs against your own environment? Answer
  • How to contribute to the Ceridian Dayforce Connector? Answer

How to integrate with Ceridian Dayforce API

To start your integration journey with Ceridian Dayforce API, you need to create an account on the Ceridian Dayforce Developer Network and the same can be accessed here. In addition, you can also check out this Ceridian Dayforce Connector Overview for a detailed snapshot.  

Get started with Ceridian Dayforce API 

Ceridian Dayforce HCM doesn’t provide its pricing publicly on its website. However, interested customers can fill in their details or get in touch with the sales team with this link to get an understanding of how much it would cost to get access to Ceridian Dayforce API. To make the integration process smooth with Ceridian Dayforce API or any other HRIS API, you can get started with Knit, one API for all your integrations. Sign up with Knit, and you can integrate with top HRIS API in a short span of time at a fraction of the cost. 

API Directory
-
Jun 20, 2024

Oracle HCM API Directory

Oracle Fusion Cloud HCM API Directory

Oracle Fusion Cloud HCM is a cloud-based human resource solution provider which seeks to connect every aspect of the human resources process. It seeks to help enterprises with critical HR functions including, recruiting, training, payroll, compensation, and performance management to drive engagement, productivity, and business value. As a market leader, it allows developers to use Oracle REST APIs to access, view and manage data stored in Oracle Fusion Cloud HCM

Oracle Fusion Cloud HCM API Authorization

Oracle Fusion Cloud HCM API uses authorization to define which users can access the API and relevant information. To get this access, users need to have predefined roles and the necessary security privileges. Oracle’s REST APIs are secured by function and aggregate security privileges, delivered through job roles which are predefined. However, users can also create custom roles to provide access. Authorization and access to Oracle Fusion Cloud HCM API depends on the role of a person and the level of access offered. 

Oracle Fusion Cloud HCM API Objects, Data Models & Endpoints

To get started with Oracle Fusion Cloud HCM API, it is important to understand the end points, data models and objects and make them a part of your vocabulary for seamless access and data management.

Absences

  • Create an absence record

POST/hcmRestApi/resources/11.13.18.05/absences

  • Delete an absence record

DELETE/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}

  • Display absence type projected balance

POST/hcmRestApi/resources/11.13.18.05/absences/action/loadProjectedBalance

  • Display daily and shift details of the absence request

POST/hcmRestApi/resources/11.13.18.05/absences/action/absenceDailyDetailsBreakdown

  • Get all absence records

GET/hcmRestApi/resources/11.13.18.05/absences

  • Get an absence record

GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}

  • Get an absence type balance

POST/hcmRestApi/resources/11.13.18.05/absences/action/getAbsenceTypeBalance

  • Search existing absences

POST/hcmRestApi/resources/11.13.18.05/absences/action/findByAdvancedSearchQuery

  • Update an absence record

PATCH/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}

  • Create an attachment for an absence bid

POST/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceAttachments

  • Delete an attachment for an absence bid

DELETE/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceAttachments/{absenceAttachmentsUniqID}

  • Get all attachments for an absence bid

GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceAttachments

  • Get attachment for an absence bid

GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceAttachments/{absenceAttachmentsUniqID}

  • Update an attachment of an absence bid

PATCH/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceAttachments/{absenceAttachmentsUniqID}

  • Get all entitlement summary records

GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntitlements

  • Get an entitlement summary record

GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntitlements/{absenceEntitlementsUniqID}

  • Create an absence entry detail

POST/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntryDetails

  • Delete an absence entry detail

DELETE/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntryDetails/{PersonAbsenceEntryDetailId}

  • Get all absence entry details

GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntryDetails

  • Get an absence entry detail

GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntryDetails/{PersonAbsenceEntryDetailId}

  • Update an absence entry detail

PATCH/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntryDetails/{PersonAbsenceEntryDetailId}

Accomplishments

  • Get all profile tag details

GET/hcmRestApi/resources/11.13.18.05/talentFeedbackSuggestions

  • Get all profile tag details

POST/hcmRestApi/resources/11.13.18.05/talentFeedbackSuggestions

  • Get all profile tag details

DELETE/hcmRestApi/resources/11.13.18.05/talentFeedbackSuggestions/{talentFeedbackSuggestionsUniqID}

  • Get all profile tag details

GET/hcmRestApi/resources/11.13.18.05/talentFeedbackSuggestions/{talentFeedbackSuggestionsUniqID}

  • Get all profile tag details

PATCH/hcmRestApi/resources/11.13.18.05/talentFeedbackSuggestions/{talentFeedbackSuggestionsUniqID}

Actions in Opportunity Marketplace

  • Create an action in opportunity marketplace

POST/hcmRestApi/resources/11.13.18.05/recruitingOppMktActions

  • Get all actions in opportunity marketplace

GET/hcmRestApi/resources/11.13.18.05/recruitingOppMktActions

  • Get an action in opportunity marketplace

GET/hcmRestApi/resources/11.13.18.05/recruitingOppMktActions/{ActionType}

Allocated Checklist

  • Allocate a checklist

POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/action/allocateChecklist

  • Allocate a new task

POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/action/allocateNewTask

  • Allocate a task from the task library

POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/action/allocateTaskFromTaskLibrary

  • Delete an allocated checklist

DELETE/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}

  • Force close an incomplete checklist

POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/action/forceCloseChecklist

  • Get all allocated checklists

GET/hcmRestApi/resources/11.13.18.05/allocatedChecklists

  • Get an allocated checklist

GET/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}

  • Update an allocated checklist

PATCH/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}

  • Delete an allocated task

DELETE/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks/{AllocatedTaskId}

  • Get all allocated tasks

GET/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks

  • Get an allocated task

GET/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks/{AllocatedTaskId}

  • Reopen a task

POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks/{AllocatedTaskId}/action/reopenTask

  • Update an allocated task

PATCH/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks/{AllocatedTaskId}

  • Update the task status

POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks/{AllocatedTaskId}/action/updateTaskStatus

Availability Patterns

  • Create an availability pattern

POST/hcmRestApi/resources/11.13.18.05/availabilityPatterns

  • Delete an availability pattern

DELETE/hcmRestApi/resources/11.13.18.05/availabilityPatterns/{availabilityPatternsUniqID}

  • Get all availability patterns

GET/hcmRestApi/resources/11.13.18.05/availabilityPatterns

  • Get an availability pattern

GET/hcmRestApi/resources/11.13.18.05/availabilityPatterns/{availabilityPatternsUniqID}

  • Update an availability pattern

PATCH/hcmRestApi/resources/11.13.18.05/availabilityPatterns/{availabilityPatternsUniqID}

Benefit Enrollment Opportunities

  • Get all enrollment opportunities

GET/hcmRestApi/resources/11.13.18.05/benefitEnrollmentOpportunities

  • Get an enrollment opportunity

GET/hcmRestApi/resources/11.13.18.05/benefitEnrollmentOpportunities/{PersonNumber}

Check out this detailed guide for all endpoints and data models

Oracle Fusion Cloud HCM API Use Cases

  • Seamless end-to-end HR process management including, hiring, onboarding, managing, and engaging workforce aligned with global compliances
  • Flexible programs to meet specific benefit requirements and the option to calculate and manage benefit plans for each employee group
  • Predictive analytics for workflow planning based on risk of leaving, managing team performance and retaining your best performers.
  • Advanced reporting helping teams create, manage, and visualize data from Microsoft Excel within Oracle HCM
  • Secure, self-service, mobile-responsive options for employees to manage personal data, PTO, payslips, and more

Top customers

12,000+ companies use Oracle Fusion Cloud HCM as their preferred HR tool, including:

  • ArcelorMittal S.A., a Luxembourg-based multinational steel manufacturing corporation
  • The Deutsche Bahn AG, the national railway company of Germany
  • Fujifilm Holdings Corporation, a Japanese company operating in photography, optics, office and medical electronics, biotechnology, and chemicals
  • Hormel Foods Corporation, an American food processing company
  • Sofigate, a leading business technology transformation company in the Nordics

Oracle Fusion Cloud HCM API FAQs

To better prepare for your integration journey with Oracle Fusion Cloud HCM API, here is a list of FAQs you should go through:

  • How to properly paginate in the API for Oracle Fusion Cloud HCM? Answer
  • What to do when Oracle Fusion HCM cannot get data from Rest api /workers? Answer
  • How to GET Employee Absences data from HCM Fusion by sending two dates in REST API query parameter? Answer
  • How to include multiple query parameters in HCM cloud rest Get call? Answer
  • How to get Workers by HireDate in Oracle HCM Cloud API? Answer
  • How to pull the latest record when there are multiple records with different dates in Oracle HCM? Answer
  • How to use SQL Developer with BIPublisher Oracle Cloud HCM? Answer
  • How do I get previous data with respect to effective date in Oracle HCM cloud reporting in a separate column? Answer
  • What applications that Integrate with Oracle's PeopleSoft Enterprise Human Capital Management? Answer
  • Where are Oracle Fusion Assets REST APIs? Answer

How to integrate with Oracle Fusion Cloud HCM API

To integrate with Oracle Fusion Cloud HCM API, ensure that you review the basics and have an understanding of REST APIs. Then get your Fusion Applications Account Info, including username and password. Configure your client, authorize and authenticate and then send an HTTP request and you’re all set to go. For a more detailed understanding of the best practices and a step-by-step guide to integrate with Oracle Fusion Cloud HCM API, check out this comprehensive guide

Get started with Oracle Fusion Cloud HCM API

While integrating with Oracle Fusion Cloud HCM API can help businesses seamlessly view, access and manage all HR data, the process of integration can be tricky. Right from building the integration in-house which requires API knowledge, developer bandwidth and much more to managing the integrations, there are several steps in the way. Naturally, the entire integration lifecycle can turn out to be quite expensive as well. Fortunately, companies today can leverage and integrate with a unified HRIS API like Knit, which allows them to connect with multiple HRIS applications, without the need to integrate with each one individually. Connect for a discovery call today to understand how you can connect with Oracle Fusion Cloud HCM API and several other HRIS applications faster and in a cost-effective manner. 

To get started with Knit for Oracle HCM or any other integrations setup a demo here

API Directory
-
Jun 20, 2024

A Guide toIntegrating with Freshteams API

Freshteam API Directory

A cloud based HR software, Freshteam enables organizations with managing employee details, recruitment, on-boarding, time-off, off-boarding, and organization details, among other aspects of their HR processes and practices. With Freshteam API integration, organizations can seamlessly synchronize data between their application and Freshteam to ensure real time updation of employee information across both platforms. It helps capture any changes in employee status, designation, HR policies, etc. across different applications a business uses. 

Freshteam API Authentication, Filtering, Rate Limits

To ensure utmost security and prevent unauthorized access, Freshteam API uses Oauth2.0 for authentication and authorization. Developers can use the Freshteam UI to make calls to the Freshteam authentication server to obtain an access token. This access token can be used to make valid API calls thereon. The access token identifies the requester and the requester’s permission. In the Freshteam domain, the access token is present under Your API Key, which can be copied and used to make API calls. 

Rate limits i.e. the number of API calls that can be made in a minute for Fresteam API are determined by the plan selected by the organization. The rate limit variation for each plan is dependent on the number of subscribed employees for the organization. The trial account has a limit of 10 API calls per minute, which goes on to as high as (100, 2 * number of subscribed employees) API calls per minute for the enterprise plan. Developers or admins can also keep a track of the API calls to understand their usage patterns via:

  • X-ratelimit-total: Permissible number of API calls in a minute.
  • X-ratelimit-remaining: Number of API calls remaining.
  • X-ratelimit-used-currentrequest: Number of API calls consumed by the API request that obtained the response.

There are several endpoints in Freshteam API which retrieve bulk data, especially the ones which are required to List a certain object. In such a case, developers can use pagination parameters to filter data and limit the responses for a streamlined understanding. Developers can select the page value (from which page number they want responses), as well as the number of responses required for each page (default is set at 50). They can also sort the values as ascending or descending or select some other attribute for sorting as well. 

Freshteam API Objects, Data Models & Endpoints

Employees

  • List all employees: GET /employees
  • Create an employee: POST /employees
  • Retrieve employee information: GET /employees/{id}
  • Update employee information: PUT /employees/{id}
  • List all employee fields: GET /employee_fields
  • Create a custom employee field: POST /employee_fields

Common attributes: id, created at, updated at, workstation number, date of birth, gender, address, communication address, designation, phone number, joining date, termination date, first name, last name, status, official email, personal email, employee type, team id, department id, reporting to id, time off, hire reason, marital status, etc. 

Branches

(Used to configure different geographical locations for an organization and associate employees to a branch)

  • List all branches: GET /branches

Common attributes: id, created at, updated at, name, street, state, country code, zip, time zone, currency, language, main office, date format

Departments & Sub-Departments

  • List all departments: GET /departments
  • List all sub-departments: GET /sub_departments

Business Units

  • List all business units: GET /business_units

Common attributes: id, created at, updated at, name, description

Teams

  • List all teams: GET /teams

Levels

  • List all levels: GET /levels

Timeoffs

  • List all timeoffs: GET /time_offs
  • Create a timeoff request: POST /time_offs
  • List all timeoff types: GET /time_off_types
  • Retrieve timeoff information: GET /time_off_types/{id}
  • Cancel A Timeoff Request: PUT /time_off_types/{id}/ cancel
  • Approve A Timeoff Request: PUT /time_off_types/{id}/ approve

Common attributes: id, created at, updated at, start date, end date, status, leave units, leave type id, status comments, comments, attachment, applied by, approved by, rejected by, canceled by, notify to, description, add to calendar, canceled at, optional leave days, applicable for, auto approve, status

Roles

  • List all roles: GET /roles

Job Postings

  • List all job postings: GET /job_postings
  • Retrieve job posting information: GET /job_postings/{id}
  • List all job posting fields: GET /job_posting_fields
  • List all applicant fields: GET /job_postings/{id}/applicant_fields
  • Create an applicant: POST  /job_postings/{id}/applicants

Common attributes: id, created at, updated at, deleted, title, description, status, show_pursue_as_career, closing date, experience, remote, type, salary, branch, department, title, location, skills, requisitions, label, field type, position, candidate, candidate id, first name, last name, date of birth, mobile, phone number, source id, resume, cover letter, portfolio, skype id, content file name, url, gender, profile link, rejected at, archived at, on hold at, on hold till

Candidate Sources

  • List all candidate sources: GET /candidate_sources
  • Create a candidate source: POST /candidate_sources
  • List all candidate source categories: GET ​/candidate_source_categories

Common attributes: id, created at, updated at, deleted, label, default, leads count

User Functions

  • List all user functions: GET /user_functions

New Hires

  • Create a new hire: POST /new_hires
  • Retrieve new hire information: GET /new_hires/{id}
  • Update new hire information: PUT /new_hires/{id}

Common attributes: id, created at, updated at, deleted, first name, middle name, last name, official email, employee id, status, workstation number, designation, joining date, probation start date, probation end date, branch id, team id, department id, sub department id, termination date, termination reason, notice period, notice start date, notice end date, employee type, hired on, no show, no show reason, date of birth, marital status, gender, blood group, emergency contacts, social profiles, address, communication address, phone numbers, job codes, job exempt, scheduled weekly hours, retirement eligibility date, rehire eligibility, rehire status, confirmed, language, branch, team

Freshteam API Use Cases

  • Centralize HR operations with AI-powered virtual agents, self-service solutions and  seamless integration with MS Teams, Slack, and other applications
  • Automate internal processes with easy-to-configure workflows, leading to streamlined work and increased efficiency
  • Leverage 50+ job descriptions out of the box for use to accelerate hiring processes
  • Capture qualitative feedback about candidates along with better candidate relationships through built-in email and a manageable candidate database

Top customers

50,000+ companies from across 120+ countries use Freshteam to power their HR operations and streamline processes to make them efficient, robust and optimized. Here are some of the top customers that are leveraging Freshteam:

  • Gartner, Inc., an American technological research and consulting firm
  • OpeninApp, a smart link generator tool that ensures all social media links open in the apps they should
  • Dymocks Booksellers, an Australian-founded privately owned bookstore chain
  • Valley Medical Center, a 321-bed, acute care community hospital and clinic network
  • Kirat Plastics, a full-service custom plastic injection molding, metal pressing, fabrication, and assembly facility
  • Lot Squared Development, a Washington DC based design-build residential real estate developer 

Freshteam API FAQs

Here is a list of Freshteam API FAQs that developers must understand to make their integration journey more effective and robust:

  • How to use Freshteam Developer API? Answer
  • Where to find Freshteam API key, how to reset it and Scope of an API Key? Answer
  • What are the status and error messages that indicate the success or failure of an API request in Freshteam API? Answer
  • What are the common request header parameters used in requests to Freshteam APIs? Answer
  • What are the API methods that developers interact with for Freshteam API? Answer
  • What are models in Freshteam API? Answer

Common Integrations with Freshteam API 

Businesses, especially those engaged in the employee side of work, are increasingly seeking integration with Freshteam API to streamline data exchange between this HRIS platform and their application. Some of the top use cases and common integrations with Freshteam API include:

  • Recruitment companies which can use the write APIs to update candidate information into Freshteam once a client is hired to ensure the customer’s HRIS is up to date for all onboarding and future requirements
  • Payroll providers can leverage both read APIs to fetch employee information for payroll creation and disbursement, as well as write APIs, to push back data into customer’s Freshteam account to notify that salaries have been paid
  • Rewards and recognition companies which can use integration with Freshteam API to fetch information on employees to seamlessly manage their operations and help end customers build a culture of recognition.  

How to integrate with Freshteam API 

To kickstart the integration journey with Freshteam API, developers can go through this quick start guide. The first step is to create a developer account and join the Freshteam developer community. Next developers need to follow the installation instructions to install the API SDK. Following this it is important to get acquainted with the authorization and authentication protocols to access data and make API calls.  Learn about the terms of use for accessing or using the Freshteam developer portal and understand the different terminology used. For more support and information, businesses can scroll through the Freshteam support page and get answers to their queries. 

Get started with Freshteam API 

Companies that integrate with Freshteam API benefit from the seamless exchange of information between this HRIS platform and their application and have been able to explore multiple use cases for their end customers. However, manually building and maintaining integration with Freshteam API can be a daunting task for developers. Building the integration alone can take 4 weeks on an average and cost USD 10K (considering the cost of software developers, QA engineers, etc.). Further, the cost associated with maintaining the Freshteam API adds another burden on the bottom line, while diverting resources away from core product functionalities and enhancements. And, this is for a single HRIS integration in question here (Freshteam API). Businesses generally need to integrate with multiple HRIS APIs, meeting the demands of their end customers. Here, a unified HRIS API like Knit can enable businesses to easily integrate with multiple HRIS applications with a single connector. By incorporating an additional layer of abstraction, a unified API allows businesses to ship and scale integrations faster and in an efficient manner. Book a discovery call today to learn how developers can integrate with Freshteam API and other HRIS applications within hours and not weeks. 

API Directory
-
Jun 20, 2024

A Guide to Integrating with Zenefits APIs

Zenefits API Directory

TriNet Zenefits is a leading provider of full service HR solutions. It enables small and medium sized companies to administer and manage benefits, HR offerings, including time tracking, onboarding, employee engagement, employee record keeping; payroll; performance and well-being. As a highly sought after HRIS platform, companies have been increasingly integrating with TriNet Zenefits to facilitate seamless exchange of HRIS data, captured by Zenefits, with their own apps to drive diverse use cases. 

Zenefits API Authentication, Filtering, Rate Limits

Owing to the sensitive nature of information held by the HRIS application, including personal identifiable information (PII), Zenefits API ensures that all data scopes are accessed at a granular level. The Zenefits API uses OAuth2 to authenticate and authorize access to information stored in the application. OAuth2 authorizes third party applications to request private details from Zenefits accounts, without passwords. It is limited only to admins and developers receive unique Client ID and Client Secret to access data with integration. 

Zenefits API pagination helps developers define the records needed per page. The developers can use the limit parameter to specify the number of records in a response. The maximum limit can be 100, however, in case the limit is not defined, the default limit is 20. In case the total number of records do not fit into a single page, the next_url field will have a link to the next page with the remaining records. In case the next_url field displays null, then no records exist for subsequent pages. Developers can also use the starting_after or ending_before query parameter to specify pagination based on object ids. The ending_before query parameter is useful for backwards pagination. 

Zenefits API Objects, Data Models & Endpoints

It is extremely important for developers to understand the objects, data models and endpoints when it comes to integrating with Zenefits API. While the overall scope might be large, here are a few which can be considered as a starting point for Zenefits API integration. 

  • Applications: Used to return information about the application

GET https://api.zenefits.com/platform/applications

  • Companies: Used to get information about the company

GET https://api.zenefits.com/core/companies

Fields include: ‘legal_name', 'ein','departments', 'locations'

  • People: Used to return information about a company’s employees

GET https://api.zenefits.com/core/companies/{:company_id}/people

GET http://api.zenefits.com/core/people/{:id} (For information about a single employee)

GET http://api.zenefits.com/core/people (For information for all employees across the company)

Fields include: 'work_email', 'date_of_birth', 'manager', 'department', 'location', 'work_phone', 'status', 'subordinates', 'banks','company', 'employments', 'department', 'location', 'manager', 'banks'

  • Employments: Used to return information about an employee’s employment history

GET https://api.zenefits.com/core/people/{:person_id}/employments

GET https://api.zenefits.com/core/employments/{:employment_id} (For information on a specific employment

GET https://api.zenefits.com/core/employments (For information on all employments across all people)

Fields include: 'termination_type', 'employment_type', 'comp_type', 'annual_salary', 'pay_rate', 'working_hours_per_week','person'

  • Employee Bank Accounts: Used to return information about employee’s bank account

GET https://api.zenefits.com/core/people/{:person_id}/banks

GET http://api.zenefits.com/core/banks/{:bank_id} (For information for a specific bank)

GET http://api.zenefits.com/core/banks (For information for all banks across all people)

  • Departments: Used to return the list of a company’s department

GET https://api.zenefits.com/core/companies/{:id}/departments

GET http://api.zenefits.com/core/departments/{:department_id} (For information regarding a single department:

GET http://api.zenefits.com/core/departments (For information relating to all departments across all companies)

  • Locations: Used to return the list of a company’s location

GET https://api.zenefits.com/core/companies/{:company_id}/locations

GET http://api.zenefits.com/core/locations/{:location_id} (For information relating to a single location)

GET http://api.zenefits.com/core/locations (For information relating to all locations across all companies)

  • Vacation Requests: Used to return information about employees' PTO vacation requests

GET https://api.zenefits.com/time_off/vacation_requests

GET http://api.zenefits.com/time_off/vacation_requests/{:id} (For information relating to a single vacation request)

GET http://api.zenefits.com/time_off/vacation_types/{:vacation_type_id}/vacation_requests/ (For all vacation requests for a single vacation type)

Fields include: 

  • status: Requested, approved, denied, cancelled, deleted
  • vacation_type: Vacation Type for this request, e.g. Jury Duty, Work From Home, Doctor's Appointment
  • start_date: Start date of vacation request (inclusive)
  • end_date: End date of vacation request (inclusive) 
  • creator i.e. Person who filed this vacation request
  • person i.e. Person who this vacation request applies to (often the same as creator)
  • created_date: Date this vacation request was created
  • hours: Number of hours requested, generally calculated at 8 hours a day for multi-day requests and specified manually for single day requests
  • approved_date: Date this request was moved from requested status, either to approved or denied.
  • reason: Note from the person requesting this vacation
  • deny_reason: Note from the approver for why this vacation request was denied. (Only applies if status is denied)

  • Vacation Types: Used to return information about a company's PTO vacation types

GET https://api.zenefits.com/time_off/vacation_types 

GET http://api.zenefits.com/time_off/vacation_types/{:id} (For information relating to a single vacation type)

Fields include:

  • status: Active, deleted
  • vacation_types
  • name: Name of the type
  • company: Company for this vacation type
  • vacation_requests: Vacation Requests for this type
  • counts_as: What account this type counts towards (vacation, sick, personal)

  • Time Durations: Used to return information about a person's T&A hours

GET https://api.zenefits.com/time_attendance/time_durations

GET http://api.zenefits.com/time_attendance/time_durations/{:id} (For information relating to a single time duration object)

Fields include: 

  • person: Person that this time duration is logged for people
  • activity: Activity type (work, meal_break)
  • state: Effective, overridden, deleted, correction
  • valid_status: valid, exceeds, overlapping same day, overlapping previous day, overlapping next day, missing clock out, missing clock in
  • hours: Number of hours logged
  • start: When this time duration started
  • end: When this time duration ended
  • is_overnight: Whether this time duration has been marked as part of an overnight shift
  • is_approved: When this time duration was approved. 
  • approver: Person who approved this time duration

Zenefits API Use Cases

  • Automate onboarding, saving 100s of hours as information gets auto synced to Benefits and Payroll
  • Simplify employee management with organizational charts, company directories allowing employees to update their own records
  • Improve HR processes and decision making with business intelligence reports and insights on turnover, workforce diversity, with understanding of how to pay new hires
  • Simplify the process of providing great benefits to employees, from comprehensive healthcare plans to extra perks like commuter benefits
  • Facilitate time and attendance management with employee scheduling tools, with time off and clocked-in hours automatically syncing Payroll

Zenefits API FAQs

Here is a list of FAQs about TriNet Zenefits API which can help commence and accelerate your integration:

  • What is the software stack of Zenefits? Answer
  • How to address the CORS issue in Angular 8 without changing the backend in Zenefits API? Answer 
  • How to handle New Company Installations in TriNet Zenefits API? Answer
  • How to handle New People's Subscriptions in TriNet Zenefits API? Answer
  • What does Webhooks shared secret vs OAuth client secret mean? Answer
  • How to read and write custom data with Zenefits API? Answer
  • How to issue Access Tokens for Zenefits API authentication and authorization? Answer
  • Where can I find a guidebook for Zenefits integration? Answer
  • Does Zenefits have a public API? Answer
  • What is Zenefits’ App Acceptance Criteria for API integration? Answer
  • Where is the developer portal for Zenefits API? Answer

Common Integrations with Zenefits API 

Several businesses are increasingly building integrations with Zenefits API to power operations for the end customers, facilitated by seamless data exchange, including:

  • Payroll providers to get access to employee information, employment records and agreement terms, compensation details and other relevant information like leaves, time off, etc. 
  • Candidate recruitment companies to push data about selected candidates and relevant information for smooth onboarding
  • Employee engagement companies to fetch employee data, including demographic information, personal and professional details, attendance, etc. 
  • Early wage access providers to get access to employee information, payroll details and even write back data regarding early payments/ deductions for accurate payroll processing

How to integrate with Zenefits API 

To get started with the Zenefit API integration journey, a developer account needs to be created. To create the same, developers can reach out to Zenefits team by dropping an email on this email address. Reaching out on this email ID will take the developers to the next step to get access to a sandboxed Zenefits test company and credentials to start using the API. Once the Zenefits developer account is active, developers can leverage this getting started guide for a detailed overview on REST API, Modules, Webhooks, Authentication and much more.  It is important to read through and understand the App Acceptance Criteria well. The same can be accessed here. At the same time, knowledge of the Zenefits Developer Policy is critical to understand the technical, brand and general requirements and restrictions. 

Get started with Zenefits API 

Integrating with Zenefits API is beneficial for businesses looking to seamlessly exchange data with this leading HRIS provider with bi-directional sync. However, building a custom 1:1 integration can be a complex, time and resource intensive process. The above mentioned steps, restrictions and requirements can all choke up developer bandwidth. Invariably, SaaS businesses today are moving away from building integrations to partnering with unified APIs like Knit. A unified API, in this case for HRIS integrations, enables companies to integrate once and seamlessly connect with multiple HRIS applications, including Zenefits API, without any additional requirements. With a unified HRIS API, maintenance and management of integration with Zenefits and other applications also becomes quite easy. Book a discovery call today to learn how a unified API can help you ship and scale integrations fast. 

API Directory
-
Mar 19, 2024

Gusto API Directory

Gusto is an online payroll and HR solutions company. Backed by global expertise Gusto provides companies with one easy, integrated platform, to automate and simplify payroll, benefits, and HR processes. From time tracking, to performance management, analytics and even benefits administration, Gusto application enables businesses to make HR management seamless and streamlined, while saving hours and reducing human errors considerably. 

Gusto API Authentication, Pagination, Rate Limits

As a security first application, Gusto leverages OAuth2 for authentication. Gusto API integration uses two types of tokens for security and authentication. On the one side are organization level API tokens which can be accessed through the Developer Portal. Additionally, there are company level tokens (generally access tokens or refresh tokens), which are provided via the OAuth2 process. It is very important for developers building integrations with Gusto API to manage, store and maintain all tokens securely to prevent unauthorized authentication and access. 

Essentially, API tokens are used specifically for organization level endpoints, like creating a company, and cannot be used for company or employee level endpoints. For the latter, developers must focus on access tokens via OAuth2. To facilitate higher levels of security, Gusto API ensures that all endpoints which are authenticated via access tokens require a strict access token, which is reserved for access only to a single company. 

Gusto API endpoints support pagination. To use pagination, developers can add a page and a per parameter to their URL’s query string. The page can define the page number from where records are sought, and the per parameter dictates the number of records per page. In case the per parameter is left blank, by default 25 records will be returned. Each endpoint’s documentation reflects on whether or not it supports pagination. 

To ensure high performance throughput, Gusto API maintains an API rate limit of 200 requests per minute. This suggests that 200 API calls can be made within the 60 second time window, beyond which a violation will be evaluated. A 429 error, highlighting too many requests will be displayed if the rate limit is hit for an active integration and the request will be subsequently rejected. 

Gusto API Objects, Data Models & Endpoints

An understanding of the Gusto API objects, data models and endpoints is extremely important for developers seeking to build integrations with Gusto API. Some of the key endpoints include:

Companies

  • Create a company

POST https://api.gusto-demo.com/v1/provision

  • Get a company

GET https://api.gusto-demo.com/v1/companies/{company_id}

  • Get the custom fields of a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/custom_fields

Locations

  • Create a company location

POST https://api.gusto-demo.com/v1/companies/{company_id}/locations

  • Get company locations

GET https://api.gusto-demo.com/v1/companies/{company_id}/locations

  • Get a location

GET https://api.gusto-demo.com/v1/locations/{location_id}

  • Update a location

PUT https://api.gusto-demo.com/v1/locations/{location_id}

  • Get minimum wages for a location

GET https://api.gusto-demo.com/v1/locations/{location_uuid}/minimum_wages

Pay Schedules

  • Get the pay schedules for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_schedules

  • Get a pay schedule

GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_schedules/{pay_schedule_id}

  • Get pay periods for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_periods

  • Get pay schedule assignments for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_schedules/assignments

Departments

  • Create a department

POST https://api.gusto-demo.com/v1/companies/{company_uuid}/departments

  • Get all departments of a company

GET https://api.gusto-demo.com/v1/companies/{company_uuid}/departments

  • Get a department

GET https://api.gusto-demo.com/v1/departments/{department_uuid}

  • Update a department

PUT https://api.gusto-demo.com/v1/departments/{department_uuid}

  • Delete a department

DELETE https://api.gusto-demo.com/v1/departments/{department_uuid}

  • Add people to a department

PUT https://api.gusto-demo.com/v1/departments/{department_uuid}/add

  • Remove people from a department

PUT https://api.gusto-demo.com/v1/departments/{department_uuid}/remove

Earning Types

  • Create a custom earning type

POST https://api.gusto-demo.com/v1/companies/{company_id}/earning_types

  • Get all earning types for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/earning_types

  • Update an earning type

PUT https://api.gusto-demo.com/v1/companies/{company_id}/earning_types/{earning_type_uuid}

  • Deactivate an earning type

DELETE https://api.gusto-demo.com/v1/companies/{company_id}/earning_types/{earning_type_uuid}

Payrolls

  • Get all payrolls for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/payrolls

  • Get a single payroll

GET https://api.gusto-demo.com/v1/companies/{company_id}/payrolls/{payroll_id}

  • Update a payroll by ID

PUT https://api.gusto-demo.com/v1/companies/{company_id}/payrolls/{payroll_id}

  • Prepare a payroll for update

PUT https://api.gusto-demo.com/v1/companies/{company_id}/payrolls/{payroll_id}/prepare

Contractor Payments

  • Get contractor payments for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/contractor_payments

  • Get a single contractor payment

GET https://api.gusto-demo.com/v1/companies/{company_id}/contractor_payments/{contractor_payment_id}

Company Benefits

  • Create a company benefit

POST https://api.gusto-demo.com/v1/companies/{company_id}/company_benefits

  • Get benefits for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/company_benefits

  • Get a company benefit

GET https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}

  • Update a company benefit

PUT https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}

  • Delete a company benefit

DELETE https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}

  • Get all benefits supported by Gusto

GET https://api.gusto-demo.com/v1/benefits

  • Get a supported benefit by ID

GET https://api.gusto-demo.com/v1/benefits/{benefit_id}

  • Get company benefit summary by company benefit id.

GET https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}/summary

  • Get benefit fields requirements by ID

GET https://api.gusto-demo.com/v1/benefits/{benefit_id}/requirements

Employees

  • Create an employee

POST https://api.gusto-demo.com/v1/companies/{company_id}/employees

  • Get employees of a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/employees

  • Get an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}

  • Update an employee

PUT https://api.gusto-demo.com/v1/employees/{employee_id}

  • Delete an onboarding employee

DELETE https://api.gusto-demo.com/v1/employees/{employee_id}

  • Get an employee's custom fields

GET https://api.gusto-demo.com/v1/employees/{employee_id}/custom_fields

  • Get employee time off activities

GET https://api.gusto-demo.com/v1/employees/{employee_uuid}/time_off_activities

Employee Employments

  • Get terminations for an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}/terminations

  • Get an employee rehire

GET https://api.gusto-demo.com/v1/employees/{employee_id}/rehire

  • Get employment history for an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}/employment_history

Employee Addresses

  • Get an employee's home addresses

GET https://api.gusto-demo.com/v1/employees/{employee_id}/home_addresses

  • Create an employee's home address

POST https://api.gusto-demo.com/v1/employees/{employee_id}/home_addresses

  • Get an employee's home address

GET https://api.gusto-demo.com/v1/home_addresses/{home_address_uuid}

  • Update an employee's home address

PUT https://api.gusto-demo.com/v1/home_addresses/{home_address_uuid}

  • Delete an employee's home address

DELETE https://api.gusto-demo.com/v1/home_addresses/{home_address_uuid}

  • Get an employee's work addresses

GET https://api.gusto-demo.com/v1/employees/{employee_id}/work_addresses

  • Create an employee work address

POST https://api.gusto-demo.com/v1/employees/{employee_id}/work_addresses

  • Get an employee work address

GET https://api.gusto-demo.com/v1/work_addresses/{work_address_uuid}

  • Update an employee work address

PUT https://api.gusto-demo.com/v1/work_addresses/{work_address_uuid}

  • Delete an employee's work address

DELETE https://api.gusto-demo.com/v1/work_addresses/{work_address_uuid}

Jobs and Compensations

  • Create a job

POST https://api.gusto-demo.com/v1/employees/{employee_id}/jobs

  • Get jobs for an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}/jobs

  • Get a job

GET https://api.gusto-demo.com/v1/jobs/{job_id}

  • Update a job

PUT https://api.gusto-demo.com/v1/jobs/{job_id}

  • Delete an individual job

DELETE https://api.gusto-demo.com/v1/jobs/{job_id}

  • Get compensations for a job

GET https://api.gusto-demo.com/v1/jobs/{job_id}/compensations

  • Create a compensation

POST https://api.gusto-demo.com/v1/jobs/{job_id}/compensations

  • Get a compensation

GET https://api.gusto-demo.com/v1/compensations/{compensation_id}

  • Update a compensation

PUT https://api.gusto-demo.com/v1/compensations/{compensation_id}

  • Delete a compensation

DELETE https://api.gusto-demo.com/v1/compensations/{compensation_id}

Employee Benefits

  • Create an employee benefit

POST https://api.gusto-demo.com/v1/employees/{employee_id}/employee_benefits

  • Get all benefits for an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}/employee_benefits

  • Get an employee benefit

GET https://api.gusto-demo.com/v1/employee_benefits/{employee_benefit_id}

  • Update an employee benefit

PUT https://api.gusto-demo.com/v1/employee_benefits/{employee_benefit_id}

  • Delete an employee benefit

DELETE https://api.gusto-demo.com/v1/employee_benefits/{employee_benefit_id}

  • Create year-to-date benefit amounts from a different company

POST https://api.gusto-demo.com/v1/employees/{employee_id}/ytd_benefit_amounts_from_different_company

Garnishments

  • Create a garnishment

POST https://api.gusto-demo.com/v1/employees/{employee_id}/garnishments

  • Get garnishments for an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}/garnishments

  • Get a garnishment

GET https://api.gusto-demo.com/v1/garnishments/{garnishment_id}

  • Update a garnishment

PUT https://api.gusto-demo.com/v1/garnishments/{garnishment_id}

Gusto API Use Cases

  • Automate employee time tracking (with flexible scheduling and remote work options), approval and accurate payroll creation
  • Rely on robust and customizable checklists for employee onboarding and ensure software provisioning with a few clicks
  • Automate workflow for performance management including self evaluation, manager review and career development sources with custom performance software
  • Leverage customizable reports, anonymous team surveys, automatic compliance alerts for holistic team insights
  • Create a payroll which runs on autopilot with automated calculations, compliances and much more

Top customers

Serving 300,000+ businesses, Gusto API is the preferred HR and payroll solutions provider for many global names, including:

  • Little Fish Accounting, a boutique CPA firm providing small businesses, entrepreneurs, and freelancers with accounting + tax support
  • ApproveMe.com, a document signing experience™ that helps businesses build better relationships with their signers
  • Snapbar, a company that develops intuitive, web-based products leveraging the power of photo and video
  • Heckler Design, a firm that creates beautifully simple, commercial-grade hardware and furniture for design-conscious consumers and businesses
  • Floyd Lee Locums, a company that provides an elite concierge experience to physicians, CRNAs, nurse practitioners, physician assistants, and other healthcare providers

Gusto API FAQs

Following is a list of FAQs that can help guide your Gusto API integration journey:

  • How do I get access to a sandbox environment to build Gusto API integration? Answer
  • How do I get API keys for Gusto API? Answer
  • Can I change the redirect URI for the API Keys? Answer
  • How long does it usually take to build an integration with Gusto API? Answer
  • Once an employee is created in Gusto via the API, what happens next? Answer
  • What’s required to obtain API Keys for Production? Answer
  • What debits can I expect to see via the Gusto API? Answer
  • Can I make test calls in production after my Gusto API integration has passed QA and launched? Answer
  • What are the error codes associated with Gusto API? Answer
  • How can I create a job ID and compensation for an employee in Gusto API? Answer
  • Does Gusto API have any sample codes I can use to get started on? Answer
  • What kind of support will I get when building my integration? Answer

Common Integrations with Gusto API 

Undoubtedly, there are several categories of applications which can benefit from integrating with Gusto API. Listing a few for developers to get an idea:

  • ATS applications to push newly hired candidate data
  • Performance management systems to get access to employee rosters and information
  • HR analytics platforms to get access to employee data, including payroll, compensation, etc. 
  • Benefits applications to facilitate accurate deductions and benefits administration

How to integrate with Gusto API 

To commence your integration journey with Gusto API, it is important to create a developer account. You can sign up for an account here. Once you sign up for a developer account, the next steps are quite streamlined. It involves accepting the terms of service, setting up the account, creating the application to get access to your unique Gusto API keys. As a best practice, it is ideal to go through the detailed documentation and guides offered by Gusto API to understand the diverse aspects of integration. You can check out the documentation resource to answer all questions you may have, here. Gusto API also offers a sandbox functionality to test and demo your work, before making a firm commitment.  

Get started with Gusto API 

Developers can build Gusto API integration for their applications following the steps mentioned in the section above and by leveraging the documentation shared. However, building one integration can take up to 4-6 weeks on an average, utilizing a lot of developer bandwidth, becoming a cost intensive project. In case you need to build more than one HRMS integration, leveraging a unified API like Knit is ideal. A unified API adds an additional layer of abstraction on top of the API, ensuring that developers only have to integrate with one unified API to connect with several HRMS applications supported by the unified API. To understand how a unified API like Knit can help your integration journey, book a demo today. 

API Directory
-
Mar 19, 2024

Paylocity API Directory

Paylocity is a market leader in providing cloud-based payroll and human capital management software. It provides intuitive and easy to use products that enable businesses to automate and streamline their HR and payroll processes, facilitate better hiring practices and build a culture of retention and engagement. To facilitate connections with different applications, Paylocity offers  open, developer-friendly APIs. With automation at the core, Paylocity API ensures that updates, i.e. when payroll is processed or when there is any change in the employee base (hire, transfer, termination) webhooks are pushed to reflect the changes.

This article will help you understand how Paylocity API functions, how developers can authenticate and access the same. Furthermore, it will highlight the different endpoints, use cases and FAQs that are integral to a smooth integration journey. Finally, it will discuss the common integration use cases for Paylocity API, focusing on the category of applications that can seamlessly integrate with Paylocity for business impact. 

Paylocity API Authentication, Filtering, Rate Limits

To ensure safe and limited access, Paylocity API leverages OAuth2 for authentication using Client Credentials. In this form of authentication, each API call to Paylocity API is accompanied by a HTTP Header named Authorization, along with a bearer token (with limited time validity), from the Paylocity Identity Provider. The token for authentication only has a life of 60 minutes and expires post that. Using an expired token will lead to a failed response. To receive the token, you must have client_id and secret. 

API filtering is quite an important attribute when it comes to ensuring that only relevant data is exchanged and also increases the speed of exchange. Paylocity API filtering works on the principle of request-response communication. Whenever an API request is made to the server, the filter criteria must be specified. Subsequently, once the server processes this request, the filter is applied and only relevant data, which meets the criteria is sent back.  

To prevent overuse or overconsumption of resources, Paylocity API has set rate limits, permitting up to 40,000 calls per hour. If more requests are made than the set limit, a 403 forbidden error message appears, indicating overuse. To prevent overuse of API calls and to stay within the rate limit, developers can optimize their code to minimize the API calls made per minute, by caching data, removing redundant requests and making API calls only when necessary. Implementing rate limiting logic, and retry mechanism can also help in error handling. 

Paylocity API Objects, Data Models & Endpoints

To integrate with Paylocity API, it is important to have an understanding of the objects, data models and endpoints you will be working with. Here’s a quick starting point:

  • Add / Update Deduction (sends new or updated employee deduction information directly to Paylocity Payroll/HR solution)

POST https://apisandbox.paylocity.com/api/v1/deduction

  • Delete deduction for deduction code / start date

DELETE https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/deductions/{deductionCode}/{startDate}

  • Get All Deductions (returns all deductions for the selected employee)

GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/deductions

  • Get Deduction for Deduction Code (returns records for a specific deduction for the selected employee)

GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/deductions/{deductionCode}

  • Add Employee to Onboarding (sends employee data into Paylocity Onboarding to help ensure an easy and accurate hiring process)

POST https://apisandbox.paylocity.com/api/v1/companies/{companyId}/onboarding/employees

  • Get Local Tax for Tax Code (returns local tax information for the specific tax code for the selected employee)

GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}

  • Update Local Tax (sends updated local tax code information for the selected employee)

PUT https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}

  • Delete Local Tax for Tax Code (deletes the local tax code from Paylocity Payroll/HR solution)

DELETE https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}

  • Get All Local Taxes (returns all local tax information for the selected employee)

GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes

  • Add Local Tax (sends new local tax information directly to Paylocity Payroll/HR solution)

POST https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes

  • Add/update additional rates (sends new or updated employee additional rates information directly to Paylocity Payroll/HR solution)

PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/additionalRates

  • Get All Company Codes

GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/codes/{codeResource}

  • Get All Custom Fields

GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/customfields/{category}

  • Get All Direct Deposit (returns main direct deposit and all additional direct deposits for the selected employee)

GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/directDeposit

  • Get All Earnings (returns all earnings for the selected employee)

GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings

  • Add/Update Earning (sends new or updated employee earnings information directly to Paylocity Payroll/HR solution)

PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings

  • Get Earning by Earning Code and Start Date (returns the single earning with the provided earning code and start date for the selected employee)

GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}/{startDate}

  • Delete Earning by Earning Code and Start Date

DELETE https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}/{startDate}

  • Get Earnings by Earning Code (returns all earnings with the provided earning code for the selected employee)

GET

https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}

  • Add/update emergency contacts (sends new or updated employee emergency contacts directly to Paylocity Payroll/HR solution)

PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/emergencyContacts

  • Add/update employee's benefit setup (sends new or updated employee benefit setup information directly to Paylocity Payroll/HR solution)

PUT  https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/benefitSetup

  • Get all employees (returns employee data currently available in Paylocity Payroll/HR solution)

GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees

  • Add new employee (sends new employee data directly to Paylocity Payroll/HR solution)

POST https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees

  • Get employee (returns employee data currently available in Paylocity Payroll/HR solution)

GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}

  • Update employee (updates existing employee data in WebPay)

PATCH https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}

  • Get sensitive data

GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/sensitivedata

  • Add/update sensitive data (sends new or updated employee sensitive data information directly to Paylocity Payroll/HR solution)

PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/sensitivedata

  • Gets Retirement Contributions (provides deferrals, loan payments, employer match)

GET https://dc1demogwext.paylocity.com/apiHub/benefits/v1/companies/{companyId}/retirementPlans/{planId}/checks/{checkDate}

Paylocity API Use Cases

  • Access real-time, visual representation of information through reports, analytics, and dashboards for tracking essential metrics, spotting trends, and making informed decisions based on data.
  • Simplify the gathering of information, documents, and task management across various users and environments.
  • Easily create tailored employee appreciation initiatives, oversee rewards and budgets, and monitor program performance instantly.
  • Measure employee engagement levels to gain insight into potential time and cost efficiencies.
  • Gather input from colleagues, supervisors, and team members for comprehensive 360-degree feedback. Utilize talent assessment frameworks like the 9-box grid.
  • Delegate training tasks using an extensive course library, upload custom materials, or empower employee experts to develop and distribute training through our online collaboration platform, Community.
  • Reduce manual input by automatically incorporating reimbursements into employee paychecks.
  • Access consolidated global payroll data in real-time for over 100 countries through our integrated payroll system.

Top customers

36,000+ customers use Paylocity for the HR and payroll needs, including:

  • Meyer Distributing, a leader in automotive specialty products marketing and distribution
  • Noble House, a curated collection of award-winning boutique hotels, luxury resorts
  • Crafton Tull, an engineering, design, and surveying firm 
  • HP Piping Solutions, manufacturers and suppliers of high-pressure mud piping, mud gas separators and other drilling-related products
  • BASIS.ed, a for-profit education management organization based in Scottsdale, Arizona
  • Momentus Technologies, a global provider of industry leading venue and event management solutions

Paylocity API FAQs

A quick glance on the common FAQs that developers have about Paylocity API can help you accelerate your integration journey:

  • How to get the REST API cURL Token for Paylocity? Answer
  • How to retrieve an employee's PTO from Paylocity API? Answer
  • How to get the Paylocity API Access Token? Answer
  • How to get the access token for Paylocity Web API in Node.js without getting an error "invalid_client"? Answer
  • How to use Paylocity API to get employee department? Answer
  • How to address the issue of pulling data from Paylocity API? Answer
  • How to get employee custom fields from Paylocity API? Answer
  • How to extract data from Paylocity API using cloud data fusion? Answer
  • How to get Paylocity API Access using Python? Answer
  • What are the requirements to get production credentials and launch Paylocity API integration? Answer
  • What authentication method do you use to access Paylocity APIs? Answer
  • How do I find Paylocity APIs that fit my use case? Answer
  • Is there a cost for using Paylocity’s APIs? Answer

Common Integrations with Paylocity API 

Here’s a non-exhaustive list of applications (categories), which can easily integrate with Paylocity API to facilitate easy exchange of employee relevant information and further their impact, without the need to duplicate information upload:

  • Benefits administration systems to ensure correct allocation and deduction in employee payrolls
  • Application tracking systems for seamless onboarding, payroll setup, etc. 
  • Payroll and accounting systems to facilitate compensation management 
  • Active employee directories, ensuring all employee data is updated for consumption 
  • Workforce planning tools to set hiring and retention strategy 

How to integrate with Paylocity API 

Paylocity offers several APIs for different use cases. Therefore, as the first step, you need to understand your integration needs and then identify the right API and endpoints to connect with. The next step is to get the access token to access the sandbox or the demo environment (oAuth credentials). Once you get the access, leverage guides like this one to build, test and go-live with your Paylocity API integration. 

Get started with Paylocity API 

As visible from the section above, integration with Paylocity API involves several steps and knowledge transfer across several documentation guides. Fortunately, unified API providers like Knit, make it very easy for developers to integrate with Paylocity and multiple other HRIS applications in a very short time. Adding an additional abstraction layer to the API infrastructure, Knit’s unified HRIS API ensures that customers only have to integrate once and they can then connect with all other HRIS applications from there. To understand more about how a unified HRIS API can help you significantly optimize your integration building and management process, book a discovery call today

API Directory
-
Mar 19, 2024

Comprehensive Guide to Keka API Directory

Keka is a leading human resources management system that enables organizations to seamlessly manage diverse aspects of their human resource processes, including recruitment and onboarding, attendance and time management, payroll, expense and performance management. With OAuth authentication, rate limiting, pagination, and adherence to industry standards, Keka provides developers with everything they need to build robust integrations with their software/ platform and facilitate data exchange between their application and this leading HRMS portal. 

Keka API Authentication, Pagination, Rate Limit

To ensure safe and secure access, Keka API uses OAuth for authentication. This suggests that for successful integration, developers need an access token which can be generated with specific details. This includes client id (identifier for the client), client secret (for secure authentication), api key (unique API key for accessing the system), scope (requires passing kekaapi for this key). To facilitate integration testing for applications, developers can also leverage the Sandbox Environment which is offered by Keka. This allows developers to ensure robust functionality, before integration production begins. Keka APIs already come with pagination implemented to ensure response time optimization. The standard or the default page size in Keka is 100 with 1 being the default page number. 

API limit is a critical element of any API and so is the case with Keka, which helps define the number of requests that can be made to Keka within a limited time period. Keka has a rate limit of 50 API requests/ minute. This suggests that once 50 requests are made in a minute, the user needs to wait for the quote to be refilled before any other request is made. The rate limits are enforced and automatically reset after 60 seconds. In case a request is made before the quota is refilled, a 429 error with the reason rateLimitExceeded will be sent. 

Keka API Objects, Data Models & Endpoints

As a developer or the representative of an organization seeking to integrate with Keka API, it is important to understand the endpoints that you will be using eventually for data exchange, both when it comes to read APIs (getting data from Keka) as well as write APIs (providing data to Keka). 

CORE HR

Employees

  • Get all Employees

GET https://{company}.{environment}.com/api/v1/hris/employees

  • Create an Employee

POST https://{company}.{environment}.com/api/v1/hris/employees

  • Get an Employee

GET https://{company}.{environment}.com/api/v1/hris/employees/{id}

  • Get all update fields

GET https://{company}.{environment}.com/api/v1/hris/employees/updatefields

  • Update Employee personal details

PUT https://{company}.{environment}.com/api/v1/hris/employees/{id}/personaldetails

  • Update employee job details

PUT https://{company}.{environment}.com/api/v1/hris/employees/{id}/jobdetails

Groups

  • Get all Groups

GET https://{company}.{environment}.com/api/v1/hris/groups

  • Get all Group Types

GET https://{company}.{environment}.com/api/v1/hris/grouptypes

Departments

  • Get all departments

GET https://{company}.{environment}.com/api/v1/hris/departments

Locations

  • Get all Locations

GET https://{company}.{environment}.com/api/v1/hris/locations

Job Title

  • Get all job titles

GET https://{company}.{environment}.com/api/v1/hris/jobtitles

Currency

  • Get all currencies

GET https://{company}.{environment}.com/api/v1/hris/currencies

Notice Period

  • Get all notice periods

GET https://{company}.{environment}.com/api/v1/hris/noticeperiods

LEAVE

Leave Types

  • Get all Leave Types

GET https://{company}.{environment}.com/api/v1/time/leavetypes

Leave Balance

  • Get all Leave balances

GET https://{company}.{environment}.com/api/v1/time/leavebalance

Leave Requests

  • Get all Leave Requests

GET https://{company}.{environment}.com/api/v1/time/leaverequests

  • Create an Leave Request

POST https://{company}.{environment}.com/api/v1/time/leaverequests

ATTENDANCE

Attendance

  • Get all Attendance Records

GET https://{company}.{environment}.com/api/v1/time/attendance

Attendance Capture Scheme

  • Get all captureschemes

GET https://{company}.{environment}.com/api/v1/time/capturescheme

Holiday Calendar

  • Get all holidays Calendar

GET https://{company}.{environment}.com/api/v1/time/holidayscalendar

PAYROLL

Salary Components

  • Get all Salary Components

GET https://{company}.{environment}.com/api/v1/payroll/salarycomponents

Pay Groups

  • Get all Pay Groups

GET https://{company}.{environment}.com/api/v1/payroll/paygroups

Pay Cycles

  • Get all Pay Cycles

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles

  • Get Pay Register

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/payregister

  • Get all Pay Batches

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches

  • Get all Batch Payments

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments

  • Update the Payments status

PUT https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments

Pay Grades

  • Get all Pay Grades

GET https://{company}.{environment}.com/api/v1/payroll/paygrades

Pay Bands

  • Get all Pay Bands

GET https://{company}.{environment}.com/api/v1/payroll/paybands

PSA

Clients

  • Get all clients

GET https://{company}.{environment}.com/api/v1/psa/clients

  • Create a Client

POST https://{company}.{environment}.com/api/v1/psa/clients

  • Get a client

GET https://{company}.{environment}.com/api/v1/psa/clients/{id}

  • Update a Client

PUT https://{company}.{environment}.com/api/v1/psa/clients/{id}

Project Phases

  • Get project phases.

GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/phases

  • Create a Project Phase

POST https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/phases

Projects

  • Get all projects.

GET https://{company}.{environment}.com/api/v1/psa/projects

  • Create a Project

POST https://{company}.{environment}.com/api/v1/psa/projects

  • Get a project

GET https://{company}.{environment}.com/api/v1/psa/projects/{id}

  • Update a Project

PUT https://{company}.{environment}.com/api/v1/psa/projects/{id}

  • Get a project allocations

GET https://{company}.{environment}.com/api/v1/psa/projects/{id}/allocations

  • Get project timesheet entries.

GET https://{company}.{environment}.com/api/v1/psa/projects/{id}/timeentries

Tasks

  • Get project tasks.

GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks

  • Create a task

POST https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks

  • Update a task

PUT https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks/{taskId}

  • Get project task time entries.

GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks/{taskId}/timeentries

PMS

Time Frames

  • Get time frame list.

GET https://{company}.{environment}.com/api/v1/pms/timeframes

Goal

  • Get goal list.

GET https://{company}.{environment}.com/api/v1/pms/goals

  • Update goal progress

PUT https://{company}.{environment}.com/api/v1/pms/goals/{goalId}/progress

Badge

  • Get badge list.

GET https://{company}.{environment}.com/api/v1/pms/badges

Praise

  • Add Praise

POST https://{company}.{environment}.com/api/v1/pms/praise

EXPENSE

Expense Category

  • Get all Expense Categories

GET https://{company}.{environment}.com/api/v1/expense/categories

Expense

  • Get all Expense Claims

GET https://{company}.{environment}.com/api/v1/expense/claims

Expense Policy

  • Get all expense policies

GET https://{company}.{environment}.com/api/v1/expensepolicies

ASSETS

Asset

  • Get all Assets

GET https://{company}.{environment}.com/api/v1/assets

Asset Type

  • Get all Asset Types

GET https://{company}.{environment}.com/api/v1/assets/types

Asset Category

  • Get all Asset Categories

GET https://{company}.{environment}.com/api/v1/assets/categories

Asset Condition

  • Get all Asset Conditions

GET https://{company}.{environment}.com/api/v1/assets/conditions

Keka API Use Cases

  • Easy payroll processing and integration with attendance and leave to ensure proper calculation of payroll and taxes
  • Covers every HR workflow to manage people processes, including hiring, onboarding, probation confirmation, internal movements, etc.
  • Streamline all HR operations with automated workflows, comprehensive analytics, and hassle-free employee management
  • Conduct a multi-dimensional assessment of employees' abilities, behavioral competencies, and performance for constructive team evaluation
  • Get an accurate view of revenue against each project, resources allocation, and amount of time spent
  • Robust attendance management system that integrates every aspect of time tracking, including scheduling shifts, and tracking over-time, fully integrated with payroll

Top Customers

Keka, as an HRMS tool, is widely used with 5000+ customers, including:

  • Noise, India's trusted wearable watch brand
  • GrabOn, one of India’s top players in the coupons and deals industry
  • ICM, a UK-based global multi-regulated financial service provider
  • Easypolicy, a leading insurance aggregator
  • Traveazy, a Dubai-based travel-tech company focused on simplifying pilgrimage travel
  • Unbox Robotics, a leading supply chain robotics technology company specializing 
  • HackerEarth, a comprehensive developer assessment software that helps companies accurately measure developers' skills while recruiting
  • Metrochem API, a manufacturer of Active Pharmaceutical Ingredients (APIs), Pellets, and Intermediates in Multi Therapeutic segments

Keka API FAQs

Here’s a list of quick FAQs which will help answer any thoughts that you might have during your journey of integrating your application with Keka API

  • How can an admin create an API access key on Keka? Answer
  • How to integrate the Mettl assessment app with Keka Hire? Answer
  • How to integrate Naukri with Keka Hire? Answer
  • How to integrate Keka Hire with HackerEarth for Sending Assessments? Answer
  • How to integrate Keka Hire with LinkedIn? Answer 
  • How to integrate MS Teams account with Keka Hire? Answer
  • How to integrate SpringVerify with Keka? Answer

How to integrate with Keka API 

If you are just getting started, it might be a good idea to go through this documentation to understand how you can initiate the integration process. The detailed documentation contains everything you need to know about the overview, endpoints and much more. Leverage this to learn about the different data models scope and other details which will come in handy to get started. At the same time, this link will help you generate the access token for seamless authentication. 

Get started with Keka API 

While the guide shared above will serve as a comprehensive starting point for you to integrate your application with Keka API, it is important to understand that the entire process can be engineering heavy, time consuming and resource intensive. Put simply, it’s not just about building an integration, but also about managing and maintaining it over time. At the same time, if you want to connect with other HRMS APIs, the process becomes multifold. In such a situation, leveraging a unified HRMS API like Knit can come in handy. Knit enables SaaS businesses to easily connect with multiple HRMS applications by integrating once with its unified API, eliminating the need to connect with each application separately.

Book a demo call today to learn how you can accelerate your integration journey with Keka and other HRMS applications using Knit. 

API Directory
-
Oct 30, 2023

Getting Started with Greenhouse API Integration: Developer's Guide to Integration

In this article, we will discuss a quick overview of popular Greenhouse APIs, key API endpoints, common FAQs and a step-by-step guide on how to generate your Greenhouse API keys as well as steps to authenticate it. Plus, we will also share links to important documentation you will need to effectively integrate with Greenhouse.

Overview of Greenhouse API

Imagine having the ability to revolutionize your hiring processes, making them more efficient, data-driven, and tailored to your organization's unique needs. That's where the Greenhouse API can help you.

Greenhouse, an applicant tracking software (ATS) and hiring platform. It is a powerful tool that empowers organizations to foster fair and equitable hiring practices. 

With a proven track record of assisting over 7500 companies, Greenhouse offers a comprehensive recruitment tool suite, valuable resources, expert guidance, and robust support to help businesses scale and optimize their hiring processes.

Whether you're a developer looking to integrate Greenhouse into your company's tech stack or an HR professional seeking to streamline your hiring workflows, the Greenhouse API offers a world of possibilities.

Let's explore common Greenhouse APIs, popular endpoints, and how to generate your Greenhouse API keys. 

Common Greenhouse APIs

The Greenhouse API offers a wide range of endpoints to interact with various aspects of the Greenhouse platform. Here are 5 most commonly used Greenhouse APIs:

1. Harvest API

The Harvest API serves as a key gateway to your Greenhouse data, offering extensive accessibility. Initially designed for data export, this versatile API goes beyond its core function.
It empowers users to carry out a range of actions, including - 

  • updating candidate information
  • adding attachments to candidate profiles
  • merging candidate profiles
  • managing the application process (advancing, hiring, or rejecting them).

Some endpoints include:

  • GET: List applications to access candidate applications from Greenhouse Recruiting
  • DELETE: Delete application to delete candidate applications from the platform

Authentication: Basic Auth over HTTPS

Job Board API

Through the Greenhouse Job Board API, you gain effortless access to a user-friendly JSON representation of data about your company's offices, departments, and published job listings.
With direct access to this raw data, you can design career pages according to your specific needs, generate department-specific content, and unlock a multitude of other possibilities tailored to your preferences.
Additionally, they offer support for JSONP callbacks and provide a POST method, enabling you to construct customized online job application forms tailored to your specific needs.

Some endpoints include:

  • GET: List jobs to access job post information and display job posts on API-driven career site
  • POST: Submit application to enable potential candidates to submit their application for open positions

Authentication: Basic Auth

Click here for more information.

Assessment API

Primarily used for Greenhouse API to create and conduct customized tests across coding, interviews, personality tests, etc. to check the suitability of the candidate for a particular role. You can leverage tests from third party candidate testing platforms as well and update status for the same after the completion by candidate. 

Some endpoints include:

  • GET https://www.testing-partner.com/api/list_tests to see a list of available tests for the candidate
  • GET https://www.testing-partner.com/api/test_status?partner_interview_id=12345 to check the current status of a take home test

Authentication: HTTP Basic Authentication over HTTPS

Ingestion API

The Ingestion API offers the capability to acquire candidate leads from third-party platforms and also provides visibility into the current stages of applications within the system.
Through this API, you gain the ability to:

  • send candidates from their applications to Greenhouse.
  • fetch the current stage and status of candidates.
  • retrieve information about jobs on which the Greenhouse users have operational permissions.

Some endpoints include:

  • GET https://api.greenhouse.io/v1/partner/candidates to retrieve the data for a particular candidate
  • POST https://api.greenhouse.io/v1/partner/candidates to create one or more candidate
  • GET https://api.greenhouse.io/v1/partner/jobs to retrieve jobs visible to current use 

Authentication:  OAuth 2.0 and Basic Auth

Onboarding API

Greenhouse Onboarding API allows you to seamlessly retrieve and update employee data, as well as essential company information, for a smooth onboarding process.

This API only supports GraphQL and not the traditional REST API approach. The key endpoints are in GET, PUT, POST, PATCH, and DELETE.

Authentication: HTTP Basic Authentication over HTTPS

Integrate with Greenhouse API 10X faster. Learn more

How to get a Greenhouse API token?

To make requests to Greenhouse's API, you would need an API Key. Here are the steps for generating an API key in Greenhouse:

Step 1: Go to the Greenhouse website and log in to your Greenhouse account using your credentials.

Step 2: Click on the "Configure" tab at the top of the Greenhouse interface.


Step 3: From the sidebar menu under "Configure," select "Dev Center."

Step 4: In the Dev Center, find the "API Credential Management" section.

Step 5: Click on "Create New API Key."

Step 6: Configure your API Key

  1. Select the API type you want to use.
  2. Give your API key a description that helps you identify its purpose or the application it will be used for.
  3. Specify the permissions you want to grant to this API key by clicking on “Manage Permissions”. Greenhouse provides granular control over the data and functionality that can be accessed with this key. You can restrict access to specific parts of the Greenhouse API to enhance security.

Step 7: After configuring the API key, click "Create" or a similar button to generate the API token. The greenhouse will display the API token on the screen. This is a long string of characters and numbers.

Step 8: Copy the API token and store it securely. Treat it as sensitive information, and do not expose it in publicly accessible code or repositories.

Important: Be aware that you won't have the ability to copy this API Key again, so ensure you store it securely.

Once you have obtained the API token, you can use it in the headers of your HTTP requests to authenticate and interact with the Greenhouse API. Make sure to follow Greenhouse's API documentation and guidelines for using the API token, and use it according to your specific integration needs.

Always prioritize the security of your API token to protect your Greenhouse account and data. If the API token is compromised, revoke it and generate a new one through the same process. 

Now, let’s jump in on how to authenticate for using the Greenhouse API.

How to authenticate Greenhouse API?

To authenticate with the Greenhouse API, follow these steps:

Step 1: In your HTTP requests to the Greenhouse API, you need to include the API token in the headers. Use the "Authorization" header to pass your API token as follows - 

```

Authorization: Basic YOUR_API_TOKEN

```

Step 2: With the API token included in the headers, you can now make authenticated requests to the Greenhouse API. The token serves as your authentication credential, granting you access to the API endpoints and data according to the permissions associated with the token.

Remember to follow Greenhouse's API documentation and guidelines for best practices, and ensure that you protect your API token from unauthorized access to maintain the security of your Greenhouse account and data.

Common FAQs on Greenhouse API

Check out some of the top FAQs for Greenhouse API to scale your integration process:

1. Is there pagination support for large datasets?

Yes, many API endpoints that provide a collection of results support pagination.
When results are paginated, the response will include a Link response header (as per RFC-5988) containing the following details:

  • "next": This corresponds to the URL leading to the next page.
  • "prev": This corresponds to the URL leading to the previous page.
  • "last": This corresponds to the URL leading to the last page.

When this header is not present, it means there is only a single page of results, which is the first page.

2. Are there rate limits for API requests?

Yes, Greenhouse imposes rate limits on API requests to ensure fair usage, as indicated in the `X-RateLimit-Limit` header (per 10 seconds).
If this limit is exceeded, the API will respond with an HTTP 429 error. To monitor your remaining allowed requests before throttling occurs, examine the `X-RateLimit-Limit` and `X-RateLimit-Remaining` headers. 

3. Does Greenhouse have a sandbox?

Yes, Greenhouse provides a sandbox that enables you to conduct testing and simulations effectively.

The sandbox is created as a blank canvas where you can manually input fictitious data, such as mock job listings, candidate profiles, or organizational information.

Refer here for more info.

4. What are the challenges of building Greenhouse API integration?

Building Greenhouse API integration on your own can be challenging, especially for a team with limited engineering resources. For example,

  • It can take around 4 weeks to up to 3 months to fully plan, build and deploy Greenhouse integration. And ongoing maintenance and monitoring of the API can take ~10 hours each week — all the time that could be invested into improving your core product features. To calculate the cost yourself, click here
  • The data models of Greenhouse API may not match the data models from other ATS applications (if you are building multiple ATS integrations). In that case, you need to spend additional bandwidth decoding and understanding nuances of Greenhouse API which again is not very productive use of in-house engineering resources.
  • You need to design and implement workflows to serve specific use cases of your customers using Greenhouse APIs.
  • The API is updated frequently, so you need to always keep an eye out for the changes to make sure your user experience is not diminished.
  • Handle integration issues manually as and when they arise.

5. When should I consider integrating with Greenhouse API?

Here are some of the common Greenhouse API use cases that would help you evaluate your integration need:

  • Access job listings from 1000+ job boards with recommendations based on historical trends
  • Create scorecard of key attributes for fair and consistent evaluation
  • Automate surveys for candidate experience and enable candidate to self schedule interviews
  • Access 40+ reports and dashboard snapshots
  • Automated tasks and reminders for smooth onboarding
  • Structured process for paperwork
  • Easy reports to understand onboarding trends

Ready to build?

If you want to quickly implement your Greenhouse API integration but don’t want to deal with authentication, authorization, rate limiting or integration maintenance, consider choosing a unified API like Knit.

Knit helps you integrate with 30+ ATS and HR applications, including Greenhouse, with just a single unified API. It brings down your integration building time from 3 months to a few hours.

Plus, Knit takes care of all the authentication, monitoring, and error handling that comes with building Greenhouse integration, thus saving you an additional 10 hours each week.

Ready to scale? Book a quick call with one of our experts or get your Knit API keys today. (Getting started is completely free)
API Directory
-
Sep 21, 2023

Get Started with Darwinbox API: Complete Integration Guide

DarwinBox is a cloud based HRMS portal built to support the entire employee lifecycle from hire to retire. Serving 750+ organizations with a total of 2Mn+ employees, DarwinBox is powered by artificial intelligence and machine learning to automate HR processes for smooth execution. DarwinBox API allows users to seamlessly access data stored on the platform or import data into it. With a focus on privileged access, DarwinBox provided access only on a request-basis. 

DarwinBox API endpoints

DarwinBox API endpoints are secured by a deal factor auth mechanism, supported by end point authorization. The platform has different modules to support different HR functions and each one has several subsections and associated endpoints. Some of the top DarwinBox API endpoints include: 

Employee Core Module Inbound APIs

  • POST Validate Employee Username / Password
  • POST Validate Custom SSO Token
  • POST Add Standard Documents
  • POST Add/Update Email ID
  • POST Add/Update Education Details
  • POST Add/Update Past Work Details

Employee Core Module Outbound APIs

  • POST Fetch Employee Data (Full Load)
  • POST Fetch Deleted Employees
  • POST Fetch Custom Workflow Details
  • POST Fetch Organization Masters - Employee Type
  • POST Fetch Position History
  • POST Fetch Completed Training Review Flows

Recruitment Module APIs

  • POST Fetch Job List V3
  • POST Fetch Candidate Data - Bulk V3
  • POST Reject Candidate V3
  • POST Add Tags to Candidate Profile V3

Onboarding Module APIs

  • POST Background Verification - Fetch Candidate List V2
  • POST Background Verification - Download Form
  • POST Background Verification - Submit Verification Report V2

Attendance and Timesheets Module APIs

  • POST Fetch Attendance Status (Monthly) V1
  • POST Fetch Attendance Status (Date Range) V1
  • POST Fetch Weekly Off & Shift Assignment
  • POST Fetch Attendance Requests Approved Between Given Dates
  • POST Fetch OT Approved Between Given Dates
  • POST Add Attendance Punches
  • POST Employee Timesheet Datewise

Leave Module APIs

  • POST Update Leave Status API
  • POST Fetch Leave Transactions API
  • POST Fetch Holidays list
  • POST Fetch Leave Balance
  • POST Import Leaves API
  • POST Fetch Leave Encashment details

Performance Module APIs

  • POST Fetch Talent profile
  • POST Update Achievement
  • POST Get Employee Promotion History
  • POST Get Job Level History

Compensation Module APIs

  • POST Import Component Payslip
  • POST Fetch Employee CTC Data
  • POST Fetch Employee Global CTC Data
  • POST Fetch Global Extra Payments
  • POST Fetch Monthly PF details
  • POST Fetch Salary Register Details
  • POST Fetch CTC Breakup Computation
  • POST Fetch Payroll Custom Report Data

Expenses Module APIs

  • POST Fetch Expense Details

Recognition Module APIs

  • POST Fetch Redemption Points
  • POST Update Redemption Transaction
  • POST Fetch Budget History
  • POST Fetch Reward Activity
  • POST Fetch Redemption History
  • POST Fetch Nomination Activity

Travel Module APIs

  • POST Fetch Approved Travel Requests
  • POST Fetch Cancelled Travel Requests
  • POST Fetch Advance Travel
  • POST Fetch Travel Booking Report

Vibe and Pulse APIs

  • POST Fetch Pulse Updates

HR Documents APIs

  • POST Push HR documents

DarwinBox API use cases

  • Core HR with employee master, custom workflows, HR documents & more
  • Employee helpdesk with auto ticket assignment, closure & feedback, SLA configuration, 1-on-1 chat
  • Rewards & recognition via 100% configurable programs, budget control, redemption platform integration
  • Time & attendance with touchless attendance, granular policy configuration, one-view dashboards
  • Digital employee onboarding with AI based doc validation
  • Performance management through OKRs, continuous feedback, role-based dashboards, talent development & more
  • Recruitment support with candidate sourcing, advanced job, candidate & offer management, reports
  • Travel & expense management with smart OCR capture, automated spend approval & budget controls, analytics
  • Employee engagement with an organizational social network, pulse, polls, surveys, e-noticeboards, custom groups

Top customers

  • Zee Media, news broadcasting company of the Essel Group
  • Rupeek, a pioneer among gold finance companies in India
  • MobiKwik, an Indian payment service provider
  • Duroflex, India's most trusted sleep solutions expert
  • Tata CLiQ, an Indian e-commerce company

How to integrate with DarwinBox API

Check out this detailed documentation to get started with DarwinBox API integration. 

Get started with DarwinBox API

The pricing for DarwinBox API is not available publicly. You can request a quote here and choose the module that works best for you. However, you can get started with Knit, one API for all your integrations. Sign up with Knit, starting at $1500 for up to 5 connected customers. Claim your free access here

API Directory
-
Sep 21, 2023

Get Started with Lever API

Lever is a leading recruitment software that combines the power of ATS and CRM to help hire top talent for companies. It provides a complete talent management solution to facilitate sourcing, nurturing and interviews. It helps companies ensure inclusivity in recruitment while eliminating bias in hiring with its tools including Lever Hire, Lever Nurture, Lever Analytics. 

All data in Lever API is sent and received as JSON over HTTPS and unencrypted HTTP is not supported. Lever API uses basic auth for authentication using API key as the username or OAuth. 

Lever API endpoints

Top Lever API endpoints to access particular information are as follows:

  • GET https://api.lever.co/v1/candidates to use an access token
  • GET /opportunities/:opportunity/applications/:application to retrieve full record of a single application
  • GET /opportunities/:opportunity/applications to list all applications for a candidate
  • GET /archive_reasons/:archive_reason to retrieve a single archive reason
  • GET /archive_reasons to list all archive reasons in Lever account
  • GET /audit_events to list all audit events
  • GET /contacts/:contact to retrieve a single account
  • GET /opportunities/:opportunity/feedback/:feedback to retrieve a feedback form
  • GET /opportunities/:opportunity/feedback to list all feedback for a candidate for this opportunity
  • GET /feedback_templates/:feedback_template to retrieve a feedback template
  • GET /feedback_templates to list all feedback templates
  • GET /opportunities/:opportunity/files/:file/download to download a file
  • POST /opportunities/:opportunity/interviews to create a new interview
  • POST /opportunities/:opportunity/notes to create a note and add it to a candidate profile
  • POST /opportunities/:opportunity/addLinks to update contact links by opportunity
  • POST /opportunities/:opportunity/removeTags to remove tags from an opportunity
  • GET /postings/:posting to retrieve a single posting
  • GET /postings to list all postings
  • POST /postings to create a posting

Check out this detailed documentation for more endpoints.

Lever API use cases

  • Candidate relationship building with easy-to-use nurturing capabilities
  • Collaborative interviews with visibility into the entire candidate pipeline and a single location for every candidate interaction
  • Hiring and recruiting insights with out-of-the-box, actionable analytics 
  • Inclusive hiring to set and assess DEI strategies and overcome unconscious
  • Candidate record maintenance to keep every candidate’s information and all correspondence

Lever API FAQs

Check out the top FAQs for Lever API to help you get started

  1. What is the difference between the Lever API and Postings API? Answer
  2. Does the Lever API archive encompass all candidates that have been either rejected or somehow stopped the interview process? Answer
  3. Are stages in Lever API customized by each company? Answer
  4. How do I add global tags to a Lever account? Answer
  5. Are tags customized by each company in Lever? Answer

How to integrate with Lever API

To learn how you can get started with Lever API integration, check out this detailed guide.

Get started with Lever API

To get access to Lever pricing for integration, you can get a free quote here. However, you can get started with Knit, one API for all your integrations. Sign up with Knit, starting at $1500 for up to 5 connected customers. Claim your free access here

API Directory
-
Sep 20, 2023

Get Started with SuccessFactors API

SuccessFactors by SAP is a leading cloud human capital and experience management platform. It provides cutting edge solutions for core HR (payroll), talent management (performance, compensation, recruitment, onboarding) along with reporting and analytics. SAP SUccessFactors can be deployed in hybrid or full cloud variants. Founded in 2001, SuccessFactors was acquired by SAP in 2012. 

SuccessFactors API endpoints

Some endpoints for SAP SuccessFactors API include:

  • GET /odata/v2/Attachment(1L) 
  • GET /odata/v2/Attachment?$filter=module eq ‘'EMPLOYEE_PROFILE'
  • GET, URL: odata/v2/Country
  • GET, URL: odata/v2/PickListV2
  • POST, URL: odata/v2/TimeZone
  • DELETE, URL: odata/v2/Currency
  • POST /odata/v2/upsert
  • POST /odata/v2/UserBadges
  • MERGE, URL: odata/v2/Country
  • MERGE, URL: odata/v2/CurrencyConversion
  • DELETE /odata/v2/Background_InsideWorkExperience
  • POST /odata/v2/Attachment

Here’s a guide for more information.

SuccessFactors API use cases

  • Facilitates embedded engagement and automation to help companies source, engage and hire best talent
  • Ensures engagement among internal and external new hires for productivity from day one
  • Provides multiple human capital management tool to leverage and manage employee master data
  • Ensures bias free performance evaluations
  • Aligns employee goals to business targets
  • Helps in identifying and nurturing top talent
  • Facilitates HR analytics and workforce planning to align HR with corporate strategy and identify attrition risks
  • Centralizes document management with process harmonization
  • Optimizes performance, recognition, learning and development

Top customers

  • Microsoft, a multinational technology corporation
  • Purolator Inc., a Canadian courier 
  • Swiss Re, a reinsurance company based in Zürich
  • Milliken & Company, an American industrial manufacturer 

SuccessFactors API FAQs

Here are some of the top SuccessFactors FAQs that can help you understand this integration better:

  1. What are the available APIs for SuccessFactors? Answer
  2. How to use SuccessFactors APIs for custom integrations? Answer
  3. How to address SSIS Odata Source feed error while executing a task using SuccessFactors as source? Answer
  4. How to integrate SuccessFactors and S4HANA using S4 SDK? Answer
  5. How to pull all data via API from successfactors? Answer
  6. What is the Successfactors API limit number of records return per request? Answer
  7. How to get CandidateID from SuccessFactors Career (recruitment) site? Answer
  8. How to filter out all Upsertable entities in successfactors using postman? Answer
  9. How to retrieve snapshot data using SuccessFactors Compound Employee API? Answer
  10. How to set up OAuth Authentication in SAP SuccessFactors? Answer
  11. How to get the top 1 element when calling the API of SAP Successfactor using RestAssured? Answer

How to integrate with SuccessFactors API

To get started with SAP SuccessFactors  API, click here for more information.

Get started with SuccessFactors API

SAP SuccessFactors Employee Central pricing starts from 6.3 USD per CLD_S0071 / Month and you can request a custom quote based on your requirements. However, you can get started with Knit, one API for all your integrations. Sign up with Knit, starting at $1500 for up to 5 connected customers. Claim your free access here

API Directory
-
Jul 31, 2023

Guide to Integrating with Rippling API

Rippling is a workforce management platform which enables companies to manage their IT, HR and Finance functions with one solution. It offers payroll, benefits, expenses, corporate cards, computers, apps, services among others. It seeks to automate manual work across workforce management like onboarding, by enabling companies to set up payroll, health insurance, corporate card, work computer, and third-party apps, etc. for new employees with a single click. 

With Rippling API, customers and partners can access company and employee data to power their workforce management. Rippling API follows OAuth 2.0 for authorization and authentication. 

Rippling API endpoints

Let’s quickly look at the endpoints for Rippling API across fields like companies, employees, groups, etc. 

Companies

  • GET https://api.rippling.com/platform/api/companies/current
  • GET https://api.rippling.com/platform/api/departments
  • GET https://api.rippling.com/platform/api/work_locations
  • GET https://api.rippling.com/platform/api/custom_fields
  • GET https://api.rippling.com/platform/api/teams
  • GET https://api.rippling.com/platform/api/levels
  • GET https://api.rippling.com/platform/api/company_leave_types
  • GET https://api.rippling.com/platform/api/company_activity

Employees

  • GET https://api.rippling.com/platform/api/employees
  • GET https://api.rippling.com/platform/api/employees/{employeeId}
  • GET https://api.rippling.com/platform/api/employees/include_terminated

Groups

  • GET https://api.rippling.com/platform/api/groups
  • POST https://api.rippling.com/platform/api/groups
  • PUT https://api.rippling.com/platform/api/groups/{groupId}
  • PATCH https://api.rippling.com/platform/api/groups/{groupId}
  • DELETE https://api.rippling.com/platform/api/groups/{groupId}

SAML

  • GET https://api.rippling.com/platform/api/saml/idp_metadata

Current User

  • GET https://api.rippling.com/platform/api/me

ATS

  • POST https://api.rippling.com/platform/api/ats_candidates/push_candidate

Application Management

  • POST https://api.rippling.com/platform/api/mark_app_installed

Leaves

  • GET https://api.rippling.com/platform/api/leave_requests
  • POST https://api.rippling.com/platform/api/leave_requests
  • GET https://api.rippling.com/platform/api/leave_balances
  • GET https://api.rippling.com/platform/api/leave_balances/{role}
  • POST https://api.rippling.com/platform/api/leave_requests/{id}/process
  • PATCH https://api.rippling.com/platform/api/leave_requests/{id}
  • DELETE https://api.rippling.com/platform/api/leave_requests/{id}

To know more about Rippling API endpoints, click here.

Rippling API use cases

  • Global workforce management with seamless onboarding, global payments in local currencies, and automation of compliance work
  • Policy management to manage all your HR, IT, and Finance policies in one place with automated policy enforcement with reminders, updates
  • Custom workflows to automate your manual HR, IT, and Finance processes with custom triggers and automated actions for emails, messages, etc. 
  • Access and approval management to seamless keep a check on what your employees can see and do in every business system by controlling access, data and approvals
  • Workforce analytics to unify and analyze all your workforce data across every business system with powerful reporting

Top customers

  • Literati, a children's book club and subscription service
  • Morning Consult, a business intelligence company
  • Stacklet, a cloud governance company
  • M9 Solutions, an IT services and solutions company
  • Open Door Legal,  an award-winning nonprofit in legal services

Rippling API FAQs

Check out some of the top Rippling API FAQs to address some of your initial queries:

  1. What apps does Rippling integrate with? Answer
  2. How long does IT take to implement Rippling? Answer
  3. What type of system is Rippling? Answer
  4. Does Rippling require pagination? Answer
  5. How do I build a user management integration with Rippling's API? Answer
  6. Why is there a beta tag attached to my application in the Rippling app shop? Answer
  7. Are there any costs or fees associated with building an API integration with Rippling? Answer
  8. Does Rippling support IDP-initiated OIDC SSO flows? Answer

How to integrate with Rippling API

Here is a quick guide to help you get started with integration for Rippling API. 

Get started with Rippling API

The pricing for Rippling API starts at $8 a month, per user. For more custom pricing based on your requirements, you can request a custom quote. However, you can get started with Knit, one API for all your integrations. Sign up with Knit, starting at $1500 for up to 5 connected customers. Claim your free access here

API Directory
-
Jul 31, 2023

Guide to Integrating With Namely API

Namely is a leading HRMS platform, enabling companies to manage all HR, payroll and benefits related activities together. It ensures that all HR related data is available for companies at one place and offers a personalized experience. Namely API allows users to connect all their employee data for a smooth HR function. 

This guide includes popular Namely API endpoints, use cases, FAQs and links to everything else you will need to start using Namely API today.

The Namely API is a REST-based API with JSON-encoded responses, leveraging standard HTTP response codes, authentication, and verbs. Upon integration with Namely API, users get access to data from the HRMS platform for better workflow management and insights. To maintain high levels of security, Namely API supports two forms of authentication, i.e. the standard 3-legged OAuth 2.0 authorization code grant and Bearer token authentication.

Namely API endpoints

There are several endpoints within Namely API, based on how different fields are grouped for data filtering. 

Groups and Teams endpoints

Defining how profiles of employees are organized within Namely API. The Groups and Teams Endpoints can be found here

Home Feed Endpoints

Categorization of posts on Namely Home Feed across events, announcements, birthdays, anniversaries, new arrival, etc. All Home Feed endpoints are mentioned here

Jobs Information Endpoints

View, create and update all job related information with these API endpoints, including, job, job tiers, job title, etc. To see all Job Information endpoints, click here

Namely Systems Information Endpoints

Defining the valid values and formats for countries and subdivisions for use and reference. All Namely Systems Information Endpoints can be found here

Profile Fields Endpoints

Defining the structure of the profile at any company. These endpoints focus on where fields are on the profile, in what sections they belong, what those different sections are, etc. With this API, you can view, create and update profile fields and profile fields sections. To see all Profile Fields Endpoints, click here

Profiles Endpoints

Focusing on the content of the user’s profile within Namely, as opposed to Profile Fields endpoints, which focus on structure of profile at the company. This API is useful to view, create or update profiles (when onboarding or otherwise). For a detailed view on Profiles Endpoints, check this out. 

Namely API use cases

  • HR software for onboarding & e-verify integration, employee directory & company resources, time off tracking, custom workflows & approvals, etc. 
  • Benefits administration with unified HR & payroll data, open enrollment dashboard, ACA Reporting, etc. 
  • Compliance for unlimited access to expert HR advisors, comprehensive compliance library, anonymous employee reporting solution, law & compliance alerts, 300+ delivered training & compliance courses
  • Talent management with job posting + syndication, applicant tracking, background checks, company social newsfeed, performance review, continuous feedback & appreciations
  • Payroll and time management integrated with HR, benefits & time, employee self service & expense tracking, unlimited on and off cycle payrolls, tax calculation & filing, web punch, online timesheets

Namely API FAQs

Here are a few FAQs which can help you in your Namely API journey.

  1. How to Automate a Report from Namely using API? Answer
  2. What are the endpoints of Namely API? Answer
  3. How to Query/Update a Namely Profile using their API with Python? Answer

How to integrate with Namely API

For a quick guide on integrating with Namely API, click here.

Get started with Namely API

Namely’s pricing is not readily available and users have to get in touch with their team to understand the same.

However, if you are looking to integrate with multiple HRMS APIs in the shortest time, you can get started with Knit, one API for all top HR integrations.

To sign up for free, click here. To check the pricing, see our pricing page