Request Forwarding
Finch Request Forwarding is a passthrough API feature that enables you to issue raw requests directly against an employment system’s API.
Enabling Custom Data Requests
With Request Forwarding, you have the ability to access any functionality that is natively supported by an integration, including data elements that are outside of Finch’s existing API structure and standard data model. You’ll also be able to write data elements that are outside the scope of what is supported through one of Finch’s standardized APIs.
Request Forwarding is available for customers in our Scale tier. To enable Request Forwarding for your account, reach out to your Developer Success Representative or email developers@tryfinch.com.
Using Request Forwarding
You can watch a video demonstration that exhibits how to use the /forward API for accessing deeper data sets within an employment system.
How it Works
Standard Finch API Request - Requests to one of Finch’s standard API endpoints go through a data transformation layer to ensure that you have a consistent request and response structure to work with, regardless of the system you’re extracting data from.
Finch Request Forwarding - Request Forwarding bypasses the data transformation layer, giving you access to the raw data exposed by an integration and leaving the data mapping fully in your control.
Why Request Forwarding?
For each supported integration, Finch provides a standardized set of API endpoints and data models. However, if you require additional information outside these standard models, Request Forwarding enables your application to read or write specific fields from provider-supported API endpoints. This supplements Finch’s standardized endpoints and fields without you needing to handle the complexities of building and managing a separate integration yourself for accessing non-standardized fields.
For example, consider a situation where Finch’s data model supports 95% of the fields your application needs. Instead of having to build a direct integration with the provider to get the other 5% of fields you need, you can look to Request Forwarding. After all, building and maintaining a single integration is the reason you chose Finch in the first place! With Request Forwarding, you can gain access to the other 5% of the data you need.
When using Request Forwarding, Finch leverages the existing connection that was established via Finch Connect, forwards the request to the provider, and then forwards the provider’s response back to your application. It is important to note that Request Forwarding does not alter requests or responses, it simply forwards them between you and the provider while Finch manages credentials and authentication for you.
Supported Integrations
The integrations and associated API documentation for the systems that are currently supported by Request Forwarding are referenced below.
In order to use Request Forwarding for a particular provider you must ensure that connections are established using the appropriate authentication method.
Integration | Authentication Method | API Documentation |
---|---|---|
BambooHR | oauth | https://documentation.bamboohr.com/reference |
Factorial HR | oauth | https://apidoc.factorialhr.com/reference |
Gusto | oauth | https://docs.gusto.com/app-integrations/reference |
HiBob | credential api_token | https://apidocs.hibob.com/reference |
Paycom | api_token | https://drive.google.com/file/d/1aC9C4W1mZo4oFxNIZUtS1zkfJ4tH6WjD/view?usp=sharing |
Personio | api_token | https://developer.personio.de/reference |
Rippling | oauth | https://developer.rippling.com/documentation/base-api |
TriNet | api_token | https://developers.trinet.com/explore-trinet-apis |
UKG Pro | api_token | https://developer.ukg.com/hcm/reference/welcome-to-the-ukg-pro-api |
Workday1 | api_token | https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html |
Example Usage
Let’s walk through a simple example use case for Request Forwarding.
Let’s say you want to access the termination details for an inactive individual in an HRIS system. Finch’s /employment data model includes information related to an individual’s employment, such as their name, title, department, start and end date, and employment status, but does not include information specific to their termination, such as the reason for their termination.
In this example, we illustrate how to use Request Forwarding with an active Personio connection to access the termination reason for an inactive individual by the name of Myriam Smith.
Step 1: Make a request to Finch’s /directory endpoint to gather details of this company’s employee directory.
Request:
Response:
Step 2: Given the individual’s unique ID, make a request to Finch’s /employment endpoint to gather holistic details of their employment.
Request:
Response:
Step 3: Given the source_id
field in Finch’s /employment response, use the /forward endpoint to access additional details directly from Personio’s API, including this individual’s termination_reason
.
Request:
Response:
The /forward API response includes details of the original request
, alongside the forwarded response details from Personio’s API. The response body that was retrieved from Personio is provided in raw format in the data
response field. Myriam’s termination_reason can be extracted from here.
To recap, we’ve illustrated an example of how to use Request Forwarding to complement Finch’s standardized data models, providing you with the most comprehensive view of the data you need, without having to incur the burden of managing an additional integration, all using a single Finch access token!
Was this page helpful?