https://github.com/merge-api/merge-hris-go
The Go API Client for the Merge HRIS API.
https://github.com/merge-api/merge-hris-go
Last synced: 4 months ago
JSON representation
The Go API Client for the Merge HRIS API.
- Host: GitHub
- URL: https://github.com/merge-api/merge-hris-go
- Owner: merge-api
- Created: 2021-02-09T19:33:11.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-06-20T20:35:03.000Z (almost 3 years ago)
- Last Synced: 2024-06-20T00:26:52.705Z (almost 2 years ago)
- Size: 593 KB
- Stars: 2
- Watchers: 11
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Go API client for merge_hris_client
The unified API for building rich integrations with multiple HR Information System platforms.
## Overview
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.
- API version: 1.0
- Package version: 1.3.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
For more information, please visit [https://www.merge.dev/](https://www.merge.dev/)
## Installation
Install the following dependencies:
```shell
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
```
Put the package under your project folder and add the following in import:
```golang
import sw "./merge_hris_client"
```
To use a proxy, set the environment variable `HTTP_PROXY`:
```golang
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
```
## Configuration of Server URL
Default configuration comes with `Servers` field that contains server objects as defined in the OpenAPI specification.
### Select Server Configuration
For using other server than the one defined on index 0 set context value `sw.ContextServerIndex` of type `int`.
```golang
ctx := context.WithValue(context.Background(), sw.ContextServerIndex, 1)
```
### Templated Server URL
Templated server URL is formatted using default variables from configuration or from context value `sw.ContextServerVariables` of type `map[string]string`.
```golang
ctx := context.WithValue(context.Background(), sw.ContextServerVariables, map[string]string{
"basePath": "v2",
})
```
Note, enum values are always validated and all unused variables are silently ignored.
### URLs Configuration per Operation
Each operation can use different server URL defined using `OperationServers` map in the `Configuration`.
An operation is uniquely identifield by `"{classname}Service.{nickname}"` string.
Similar rules for overriding default operation server index and variables applies by using `sw.ContextOperationServerIndices` and `sw.ContextOperationServerVariables` context maps.
```
ctx := context.WithValue(context.Background(), sw.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), sw.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
```
## Documentation for API Endpoints
All URIs are relative to *https://api.merge.dev/api/hris/v1*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AccountDetailsApi* | [**AccountDetailsRetrieve**](docs/AccountDetailsApi.md#accountdetailsretrieve) | **Get** /account-details |
*AccountTokenApi* | [**AccountTokenRetrieve**](docs/AccountTokenApi.md#accounttokenretrieve) | **Get** /account-token/{public_token} |
*AvailableActionsApi* | [**AvailableActionsRetrieve**](docs/AvailableActionsApi.md#availableactionsretrieve) | **Get** /available-actions |
*BankInfoApi* | [**BankInfoList**](docs/BankInfoApi.md#bankinfolist) | **Get** /bank-info |
*BankInfoApi* | [**BankInfoRetrieve**](docs/BankInfoApi.md#bankinforetrieve) | **Get** /bank-info/{id} |
*BenefitsApi* | [**BenefitsList**](docs/BenefitsApi.md#benefitslist) | **Get** /benefits |
*BenefitsApi* | [**BenefitsRetrieve**](docs/BenefitsApi.md#benefitsretrieve) | **Get** /benefits/{id} |
*CompaniesApi* | [**CompaniesList**](docs/CompaniesApi.md#companieslist) | **Get** /companies |
*CompaniesApi* | [**CompaniesRetrieve**](docs/CompaniesApi.md#companiesretrieve) | **Get** /companies/{id} |
*DeleteAccountApi* | [**DeleteAccountCreate**](docs/DeleteAccountApi.md#deleteaccountcreate) | **Post** /delete-account |
*EmployeePayrollRunsApi* | [**EmployeePayrollRunsList**](docs/EmployeePayrollRunsApi.md#employeepayrollrunslist) | **Get** /employee-payroll-runs |
*EmployeePayrollRunsApi* | [**EmployeePayrollRunsRetrieve**](docs/EmployeePayrollRunsApi.md#employeepayrollrunsretrieve) | **Get** /employee-payroll-runs/{id} |
*EmployeesApi* | [**EmployeesCreate**](docs/EmployeesApi.md#employeescreate) | **Post** /employees |
*EmployeesApi* | [**EmployeesIgnoreCreate**](docs/EmployeesApi.md#employeesignorecreate) | **Post** /employees/ignore/{model_id} |
*EmployeesApi* | [**EmployeesList**](docs/EmployeesApi.md#employeeslist) | **Get** /employees |
*EmployeesApi* | [**EmployeesMetaPostRetrieve**](docs/EmployeesApi.md#employeesmetapostretrieve) | **Get** /employees/meta/post |
*EmployeesApi* | [**EmployeesRetrieve**](docs/EmployeesApi.md#employeesretrieve) | **Get** /employees/{id} |
*EmploymentsApi* | [**EmploymentsList**](docs/EmploymentsApi.md#employmentslist) | **Get** /employments |
*EmploymentsApi* | [**EmploymentsRetrieve**](docs/EmploymentsApi.md#employmentsretrieve) | **Get** /employments/{id} |
*ForceResyncApi* | [**SyncStatusResyncCreate**](docs/ForceResyncApi.md#syncstatusresynccreate) | **Post** /sync-status/resync |
*GenerateKeyApi* | [**GenerateKeyCreate**](docs/GenerateKeyApi.md#generatekeycreate) | **Post** /generate-key |
*GroupsApi* | [**GroupsList**](docs/GroupsApi.md#groupslist) | **Get** /groups |
*GroupsApi* | [**GroupsRetrieve**](docs/GroupsApi.md#groupsretrieve) | **Get** /groups/{id} |
*IssuesApi* | [**IssuesList**](docs/IssuesApi.md#issueslist) | **Get** /issues |
*IssuesApi* | [**IssuesRetrieve**](docs/IssuesApi.md#issuesretrieve) | **Get** /issues/{id} |
*LinkTokenApi* | [**LinkTokenCreate**](docs/LinkTokenApi.md#linktokencreate) | **Post** /link-token |
*LinkedAccountsApi* | [**LinkedAccountsList**](docs/LinkedAccountsApi.md#linkedaccountslist) | **Get** /linked-accounts |
*LocationsApi* | [**LocationsList**](docs/LocationsApi.md#locationslist) | **Get** /locations |
*LocationsApi* | [**LocationsRetrieve**](docs/LocationsApi.md#locationsretrieve) | **Get** /locations/{id} |
*PassthroughApi* | [**PassthroughCreate**](docs/PassthroughApi.md#passthroughcreate) | **Post** /passthrough |
*PayGroupsApi* | [**PayGroupsList**](docs/PayGroupsApi.md#paygroupslist) | **Get** /pay-groups |
*PayGroupsApi* | [**PayGroupsRetrieve**](docs/PayGroupsApi.md#paygroupsretrieve) | **Get** /pay-groups/{id} |
*PayrollRunsApi* | [**PayrollRunsList**](docs/PayrollRunsApi.md#payrollrunslist) | **Get** /payroll-runs |
*PayrollRunsApi* | [**PayrollRunsRetrieve**](docs/PayrollRunsApi.md#payrollrunsretrieve) | **Get** /payroll-runs/{id} |
*RegenerateKeyApi* | [**RegenerateKeyCreate**](docs/RegenerateKeyApi.md#regeneratekeycreate) | **Post** /regenerate-key |
*SelectiveSyncApi* | [**SelectiveSyncConfigurationsList**](docs/SelectiveSyncApi.md#selectivesyncconfigurationslist) | **Get** /selective-sync/configurations |
*SelectiveSyncApi* | [**SelectiveSyncConfigurationsUpdate**](docs/SelectiveSyncApi.md#selectivesyncconfigurationsupdate) | **Put** /selective-sync/configurations |
*SelectiveSyncApi* | [**SelectiveSyncMetaList**](docs/SelectiveSyncApi.md#selectivesyncmetalist) | **Get** /selective-sync/meta |
*SyncStatusApi* | [**SyncStatusList**](docs/SyncStatusApi.md#syncstatuslist) | **Get** /sync-status |
*TeamsApi* | [**TeamsList**](docs/TeamsApi.md#teamslist) | **Get** /teams |
*TeamsApi* | [**TeamsRetrieve**](docs/TeamsApi.md#teamsretrieve) | **Get** /teams/{id} |
*TimeOffApi* | [**TimeOffCreate**](docs/TimeOffApi.md#timeoffcreate) | **Post** /time-off |
*TimeOffApi* | [**TimeOffList**](docs/TimeOffApi.md#timeofflist) | **Get** /time-off |
*TimeOffApi* | [**TimeOffMetaPostRetrieve**](docs/TimeOffApi.md#timeoffmetapostretrieve) | **Get** /time-off/meta/post |
*TimeOffApi* | [**TimeOffRetrieve**](docs/TimeOffApi.md#timeoffretrieve) | **Get** /time-off/{id} |
*TimeOffBalancesApi* | [**TimeOffBalancesList**](docs/TimeOffBalancesApi.md#timeoffbalanceslist) | **Get** /time-off-balances |
*TimeOffBalancesApi* | [**TimeOffBalancesRetrieve**](docs/TimeOffBalancesApi.md#timeoffbalancesretrieve) | **Get** /time-off-balances/{id} |
*WebhookReceiversApi* | [**WebhookReceiversCreate**](docs/WebhookReceiversApi.md#webhookreceiverscreate) | **Post** /webhook-receivers |
*WebhookReceiversApi* | [**WebhookReceiversList**](docs/WebhookReceiversApi.md#webhookreceiverslist) | **Get** /webhook-receivers |
## Documentation For Models
- [AccountDetails](docs/AccountDetails.md)
- [AccountDetailsAndActions](docs/AccountDetailsAndActions.md)
- [AccountDetailsAndActionsIntegration](docs/AccountDetailsAndActionsIntegration.md)
- [AccountDetailsAndActionsStatusEnum](docs/AccountDetailsAndActionsStatusEnum.md)
- [AccountIntegration](docs/AccountIntegration.md)
- [AccountToken](docs/AccountToken.md)
- [AccountTypeEnum](docs/AccountTypeEnum.md)
- [AvailableActions](docs/AvailableActions.md)
- [BankInfo](docs/BankInfo.md)
- [Benefit](docs/Benefit.md)
- [CategoriesEnum](docs/CategoriesEnum.md)
- [CategoryEnum](docs/CategoryEnum.md)
- [CommonModelScopesBodyRequest](docs/CommonModelScopesBodyRequest.md)
- [Company](docs/Company.md)
- [ConditionSchema](docs/ConditionSchema.md)
- [ConditionTypeEnum](docs/ConditionTypeEnum.md)
- [CountryEnum](docs/CountryEnum.md)
- [DataPassthroughRequest](docs/DataPassthroughRequest.md)
- [DebugModeLog](docs/DebugModeLog.md)
- [DebugModelLogSummary](docs/DebugModelLogSummary.md)
- [Deduction](docs/Deduction.md)
- [Earning](docs/Earning.md)
- [EarningTypeEnum](docs/EarningTypeEnum.md)
- [Employee](docs/Employee.md)
- [EmployeeEndpointRequest](docs/EmployeeEndpointRequest.md)
- [EmployeePayrollRun](docs/EmployeePayrollRun.md)
- [EmployeeRequest](docs/EmployeeRequest.md)
- [EmployeeResponse](docs/EmployeeResponse.md)
- [Employment](docs/Employment.md)
- [EmploymentStatusEnum](docs/EmploymentStatusEnum.md)
- [EmploymentTypeEnum](docs/EmploymentTypeEnum.md)
- [EnabledActionsEnum](docs/EnabledActionsEnum.md)
- [EncodingEnum](docs/EncodingEnum.md)
- [EndUserDetailsRequest](docs/EndUserDetailsRequest.md)
- [ErrorValidationProblem](docs/ErrorValidationProblem.md)
- [EthnicityEnum](docs/EthnicityEnum.md)
- [FlsaStatusEnum](docs/FlsaStatusEnum.md)
- [GenderEnum](docs/GenderEnum.md)
- [GenerateRemoteKeyRequest](docs/GenerateRemoteKeyRequest.md)
- [Group](docs/Group.md)
- [GroupTypeEnum](docs/GroupTypeEnum.md)
- [IgnoreCommonModelRequest](docs/IgnoreCommonModelRequest.md)
- [Issue](docs/Issue.md)
- [IssueStatusEnum](docs/IssueStatusEnum.md)
- [LinkToken](docs/LinkToken.md)
- [LinkedAccountCondition](docs/LinkedAccountCondition.md)
- [LinkedAccountConditionRequest](docs/LinkedAccountConditionRequest.md)
- [LinkedAccountSelectiveSyncConfiguration](docs/LinkedAccountSelectiveSyncConfiguration.md)
- [LinkedAccountSelectiveSyncConfigurationListRequest](docs/LinkedAccountSelectiveSyncConfigurationListRequest.md)
- [LinkedAccountSelectiveSyncConfigurationRequest](docs/LinkedAccountSelectiveSyncConfigurationRequest.md)
- [LinkedAccountStatus](docs/LinkedAccountStatus.md)
- [Location](docs/Location.md)
- [LocationTypeEnum](docs/LocationTypeEnum.md)
- [MaritalStatusEnum](docs/MaritalStatusEnum.md)
- [MetaResponse](docs/MetaResponse.md)
- [MethodEnum](docs/MethodEnum.md)
- [ModelOperation](docs/ModelOperation.md)
- [MultipartFormFieldRequest](docs/MultipartFormFieldRequest.md)
- [OperatorSchema](docs/OperatorSchema.md)
- [PaginatedAccountDetailsAndActionsList](docs/PaginatedAccountDetailsAndActionsList.md)
- [PaginatedBankInfoList](docs/PaginatedBankInfoList.md)
- [PaginatedBenefitList](docs/PaginatedBenefitList.md)
- [PaginatedCompanyList](docs/PaginatedCompanyList.md)
- [PaginatedConditionSchemaList](docs/PaginatedConditionSchemaList.md)
- [PaginatedEmployeeList](docs/PaginatedEmployeeList.md)
- [PaginatedEmployeePayrollRunList](docs/PaginatedEmployeePayrollRunList.md)
- [PaginatedEmploymentList](docs/PaginatedEmploymentList.md)
- [PaginatedGroupList](docs/PaginatedGroupList.md)
- [PaginatedIssueList](docs/PaginatedIssueList.md)
- [PaginatedLocationList](docs/PaginatedLocationList.md)
- [PaginatedPayGroupList](docs/PaginatedPayGroupList.md)
- [PaginatedPayrollRunList](docs/PaginatedPayrollRunList.md)
- [PaginatedSyncStatusList](docs/PaginatedSyncStatusList.md)
- [PaginatedTeamList](docs/PaginatedTeamList.md)
- [PaginatedTimeOffBalanceList](docs/PaginatedTimeOffBalanceList.md)
- [PaginatedTimeOffList](docs/PaginatedTimeOffList.md)
- [PayCurrencyEnum](docs/PayCurrencyEnum.md)
- [PayFrequencyEnum](docs/PayFrequencyEnum.md)
- [PayGroup](docs/PayGroup.md)
- [PayPeriodEnum](docs/PayPeriodEnum.md)
- [PayrollRun](docs/PayrollRun.md)
- [PolicyTypeEnum](docs/PolicyTypeEnum.md)
- [ReasonEnum](docs/ReasonEnum.md)
- [RemoteData](docs/RemoteData.md)
- [RemoteKey](docs/RemoteKey.md)
- [RemoteKeyForRegenerationRequest](docs/RemoteKeyForRegenerationRequest.md)
- [RemoteResponse](docs/RemoteResponse.md)
- [RequestFormatEnum](docs/RequestFormatEnum.md)
- [RequestTypeEnum](docs/RequestTypeEnum.md)
- [ResponseTypeEnum](docs/ResponseTypeEnum.md)
- [RunStateEnum](docs/RunStateEnum.md)
- [RunTypeEnum](docs/RunTypeEnum.md)
- [SelectiveSyncConfigurationsUsageEnum](docs/SelectiveSyncConfigurationsUsageEnum.md)
- [SyncStatus](docs/SyncStatus.md)
- [SyncStatusStatusEnum](docs/SyncStatusStatusEnum.md)
- [Tax](docs/Tax.md)
- [Team](docs/Team.md)
- [TimeOff](docs/TimeOff.md)
- [TimeOffBalance](docs/TimeOffBalance.md)
- [TimeOffEndpointRequest](docs/TimeOffEndpointRequest.md)
- [TimeOffRequest](docs/TimeOffRequest.md)
- [TimeOffResponse](docs/TimeOffResponse.md)
- [TimeOffStatusEnum](docs/TimeOffStatusEnum.md)
- [UnitsEnum](docs/UnitsEnum.md)
- [ValidationProblemSource](docs/ValidationProblemSource.md)
- [WarningValidationProblem](docs/WarningValidationProblem.md)
- [WebhookReceiver](docs/WebhookReceiver.md)
- [WebhookReceiverRequest](docs/WebhookReceiverRequest.md)
## Documentation For Authorization
### tokenAuth
- **Type**: API key
- **API key parameter name**: Authorization
- **Location**: HTTP header
Note, each API key must be added to a map of `map[string]APIKey` where the key is: Authorization and passed in as the auth context for each request.
## Documentation for Utility Methods
Due to the fact that model structure members are all pointers, this package contains
a number of utility functions to easily obtain pointers to values of basic types.
Each of these functions takes a value of the given basic type and returns a pointer to it:
* `PtrBool`
* `PtrInt`
* `PtrInt32`
* `PtrInt64`
* `PtrFloat`
* `PtrFloat32`
* `PtrFloat64`
* `PtrString`
* `PtrTime`
## Author
hello@merge.dev