Developer Tools

Everything developers need to build integrations

Merge is your integration toolbox. Integrate quickly with drop-in frontend components, backend SDKs, sandbox accounts, and a whole lot more.

Trusted to power integrations for
Integration SDKs

SDKs that take the effort out of integration

Merge offers SDKs to interact with every integration through a single REST API.

No SOAP or RPC ever!

View docs
Get Employee Data
configuration = MergeHRISClient.Configuration()
configuration.api_key['tokenAuth'] = 'API_KEY'
api_client = MergeHRISClient.ApiClient(configuration)
instance = employees_api.EmployeesApi(api_client)
api_response = instance.employees_list('ACCOUNT_TOKEN')
MergeHRISClient.configure do |config|
  config.api_key['tokenAuth'] = 'API_KEY'
  config.api_key_prefix['tokenAuth'] = 'Bearer'
end
api_instance = MergeHRISClient::EmployeesApi.new
token = 'ACCOUNT_TOKEN'
result = api_instance.employees_list(token)
ApiClient.instance.authentications.tokenAuth = {
  type: 'bearer',
  accessToken: 'API_KEY',
};
new EmployeesApi().employeesList('ACCOUNT_TOKEN', {}, (data) => {
  console.log(data);
});
key := "Bearer API_KEY"
configuration := merge_hris_client.NewConfiguration()
configuration.AddDefaultHeader("Authorization", key)
client := merge_hris_client.NewAPIClient(configuration)
employee_list := client.EmployeesApi.EmployeesList()
resp := list.XAccountToken("ACCOUNT_TOKEN").Execute()
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath('https://api.merge.dev/api/ats/v1');
ApiKeyAuth tokenAuth = client.getAuthentication('tokenAuth');
tokenAuth.setApiKey('API_KEY');
CandidatesApi apiInstance = new CandidatesApi(client);
apiInstance.candidatesList('ACCOUNT_TOKEN');
Configuration config = new Configuration();
config.BasePath = "https://api.merge.dev/api/hris/v1";
config.ApiKey.Add("Authorization", "API_KEY");
config.ApiKeyPrefix.Add("Authorization", "Bearer");
var apiInstance = new AccountDetailsApi(config);
var ACCOUNT_TOKEN = ACCOUNT_TOKEN_example;
AccountDetails result = apiInstance.AccountDetailsRetrieve(ACCOUNT_TOKEN);
{
"id": "0958cbc6-6040-430a-848e-aafacbadf4ae",
"remote_id": "19202938",
"employee_number": "2",
"company": "8d9fd929-436c-4fd4-a48b-0c61f68d6178",
"first_name": "Dirna",
"last_name": "Emanuel",
"display_full_name": "Dirna Emanuel",
"username": "dirnaemanuel",
"groups": [
  "21a54124-397f-494d-985e-3c5b330b8a68"
],
"work_email": "dirna@merge.dev",
"personal_email": "dirnaemanuel@gmail.com",
"mobile_phone_number": "+1234567890",
"employments": [
  "17a54124-287f-494d-965e-3c5b330c9a68"
Sandbox Accounts

Instantly access sandbox environments

Merge provides sandbox accounts with third-party API providers so you can build and test your integrations with confidence.

Talk to our team to learn what sandboxes are available.

Get in touch
Meta Endpoint

Programmatically access required schemas

Third-party providers require specific (and often different) fields to write data to their APIs, making your code a mess.

Dynamically fetch required data schemas from Merge’s /meta endpoint to make POST or PATCH requests that just work.

View docs
API Resources

Everything you need to build an integration in an hour

How Drata helps thousands streamline their SOC 2 with Merge

Read case study

​​”Working with Merge’s Unified API and beautiful React component took less than a sprint to integrate, test, and release.”

Daniel Marashlian of profile photo
Daniel Marashlian
Co-Founder & CTO