JavaScript
import Finch from '@tryfinch/finch-api';
const client = new Finch({
accessToken: 'My Access Token',
});
const createCompanyBenefitsResponse = await client.hris.benefits.create();
console.log(createCompanyBenefitsResponse.benefit_id);from finch import Finch
client = Finch(
access_token="My Access Token",
)
create_company_benefits_response = client.hris.benefits.create()
print(create_company_benefits_response.benefit_id)package main
import (
"context"
"fmt"
"github.com/Finch-API/finch-api-go/v2"
"github.com/Finch-API/finch-api-go/v2/option"
)
func main() {
client := finchgo.NewClient(
option.WithAccessToken("My Access Token"),
)
createCompanyBenefitsResponse, err := client.HRIS.Benefits.New(context.TODO(), finchgo.HRISBenefitNewParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", createCompanyBenefitsResponse.BenefitID)
}
package com.tryfinch.api.example;
import com.tryfinch.api.client.FinchClient;
import com.tryfinch.api.client.okhttp.FinchOkHttpClient;
import com.tryfinch.api.models.CreateCompanyBenefitsResponse;
import com.tryfinch.api.models.HrisBenefitCreateParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
FinchClient client = FinchOkHttpClient.builder()
.fromEnv()
.accessToken("My Access Token")
.build();
CreateCompanyBenefitsResponse createCompanyBenefitsResponse = client.hris().benefits().create();
}
}package com.tryfinch.api.example
import com.tryfinch.api.client.FinchClient
import com.tryfinch.api.client.okhttp.FinchOkHttpClient
import com.tryfinch.api.models.CreateCompanyBenefitsResponse
import com.tryfinch.api.models.HrisBenefitCreateParams
fun main() {
val client: FinchClient = FinchOkHttpClient.builder()
.fromEnv()
.accessToken("My Access Token")
.build()
val createCompanyBenefitsResponse: CreateCompanyBenefitsResponse = client.hris().benefits().create()
}require "finch_api"
finch = FinchAPI::Client.new(access_token: "My Access Token")
create_company_benefits_response = finch.hris.benefits.create
puts(create_company_benefits_response)curl --request POST \
--url https://api.tryfinch.com/employer/benefits \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--header 'Finch-API-Version: <finch-api-version>' \
--data '
{
"description": "<string>",
"company_contribution": {
"type": "match",
"tiers": [
{
"match": 5000,
"threshold": 5000
}
]
}
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tryfinch.com/employer/benefits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'description' => '<string>',
'company_contribution' => [
'type' => 'match',
'tiers' => [
[
'match' => 5000,
'threshold' => 5000
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: <content-type>",
"Finch-API-Version: <finch-api-version>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"benefit_id": "e8b90071-0c11-471c-86e8-e303ef2f6782",
"job_id": "be1b3351-a88e-46c2-96e4-c2cf38e529a7"
}Deductions
Create Deduction
Creates a new company-wide deduction or contribution. Please use the /providers endpoint to view available types for each provider.
POST
/
employer
/
benefits
JavaScript
import Finch from '@tryfinch/finch-api';
const client = new Finch({
accessToken: 'My Access Token',
});
const createCompanyBenefitsResponse = await client.hris.benefits.create();
console.log(createCompanyBenefitsResponse.benefit_id);from finch import Finch
client = Finch(
access_token="My Access Token",
)
create_company_benefits_response = client.hris.benefits.create()
print(create_company_benefits_response.benefit_id)package main
import (
"context"
"fmt"
"github.com/Finch-API/finch-api-go/v2"
"github.com/Finch-API/finch-api-go/v2/option"
)
func main() {
client := finchgo.NewClient(
option.WithAccessToken("My Access Token"),
)
createCompanyBenefitsResponse, err := client.HRIS.Benefits.New(context.TODO(), finchgo.HRISBenefitNewParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", createCompanyBenefitsResponse.BenefitID)
}
package com.tryfinch.api.example;
import com.tryfinch.api.client.FinchClient;
import com.tryfinch.api.client.okhttp.FinchOkHttpClient;
import com.tryfinch.api.models.CreateCompanyBenefitsResponse;
import com.tryfinch.api.models.HrisBenefitCreateParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
FinchClient client = FinchOkHttpClient.builder()
.fromEnv()
.accessToken("My Access Token")
.build();
CreateCompanyBenefitsResponse createCompanyBenefitsResponse = client.hris().benefits().create();
}
}package com.tryfinch.api.example
import com.tryfinch.api.client.FinchClient
import com.tryfinch.api.client.okhttp.FinchOkHttpClient
import com.tryfinch.api.models.CreateCompanyBenefitsResponse
import com.tryfinch.api.models.HrisBenefitCreateParams
fun main() {
val client: FinchClient = FinchOkHttpClient.builder()
.fromEnv()
.accessToken("My Access Token")
.build()
val createCompanyBenefitsResponse: CreateCompanyBenefitsResponse = client.hris().benefits().create()
}require "finch_api"
finch = FinchAPI::Client.new(access_token: "My Access Token")
create_company_benefits_response = finch.hris.benefits.create
puts(create_company_benefits_response)curl --request POST \
--url https://api.tryfinch.com/employer/benefits \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--header 'Finch-API-Version: <finch-api-version>' \
--data '
{
"description": "<string>",
"company_contribution": {
"type": "match",
"tiers": [
{
"match": 5000,
"threshold": 5000
}
]
}
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tryfinch.com/employer/benefits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'description' => '<string>',
'company_contribution' => [
'type' => 'match',
'tiers' => [
[
'match' => 5000,
'threshold' => 5000
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: <content-type>",
"Finch-API-Version: <finch-api-version>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"benefit_id": "e8b90071-0c11-471c-86e8-e303ef2f6782",
"job_id": "be1b3351-a88e-46c2-96e4-c2cf38e529a7"
}Availability: Automated and Assisted providers
Employer Match capabilities are currently in Beta. Please reach out if you are interested in gaining early access.
If the same request is made more than once with the same
type, frequency and description, a new item will not be created. Finch will instead return the benefit_id of the existing item.
Latencies may vary depending on whether the provider is Automated or Assisted - new items will be created within minutes for Automated providers and within the 2 business day SLA for Assisted providers.Headers
Query Parameters
The entity IDs to specify which entities' data to access. Provide exactly one entity ID per request; a maximum of one is accepted. Required when the connection has more than one entity — omitting it returns a 400 invalid_request_error. Optional for single-entity connections.
Required array length:
1 elementExample:
["550e8400-e29b-41d4-a716-446655440000"]
Body
application/json
Was this page helpful?