Benefits

There are two primary entities when dealing with benefits: Benefit Plans and Benefit Groups.

Benefit Plans define the Type (medical, dental, etc.), Coverage options (employee, employee + spouse, etc.), and Total Monthly Costs (i.e. the premium). Each plan will also show when it went into effect and when it is set to expire. Plans must be configured before you can create Benefit Groups.

Benefit Groups allow you to create a customizable benefit package for specific employee groupings. For example, you may want to have a Benefit Group for all of your full time employees for which you include a Medical, Dental, Vision, and 401K plan. You could then have a separate Benefit Group for your part time employees which allows for Medical only. Plan eligibility rules and group-specific employee pays and company pays amounts are set in benefit groups (with the exception of plans where pays information is set at the employee level).

In addition to getting benefit information through the API, you can also get employee deductions for a given plan and define the dependents associated with your employees. You cannot currently enroll employees or change benefit status through the API.

Get benefit deduction types
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/benefits/settings/deduction_types/all
Notes:

The owner of the API key used must have access to benefit settings.

Sample Request:
GET /api/gateway.php/test/v1/benefits/settings/deduction_types/all

Sample Response:

[
    {
        "id": 1,
        "deductionTypeName": "401(k) - Pre-Tax",
        "allowableBenefitTypes": [
            "retirement"
        ]
    },
    {
        "id": 4,
        "deductionTypeName": "Post Tax Deduction",
        "allowableBenefitTypes": [
            "other",
            "life",
            "disability"
        ]
    },
    {
        "id": 5,
        "deductionTypeName": "Section 125 - Pre-Tax",
        "allowableBenefitTypes": [
            "dental",
            "vision",
            "flex",
            "supplemental"
        ]
    },
    {
        "id": 8,
        "deductionTypeName": "Section 132 - Commuter Benefit - Pre-Tax",
        "allowableBenefitTypes": [
            "other"
        ]
    },
    {
        "id": 9,
        "deductionTypeName": "Health Savings Account - Pre-Tax",
        "allowableBenefitTypes": [
            "hsa"
        ]
    },
    {
        "id": 11,
        "deductionTypeName": "Simple IRA - 408(p) - Pre-Tax",
        "allowableBenefitTypes": [
            "retirement"
        ]
    },
    {
        "id": 12,
        "deductionTypeName": "403(b) - Pre-Tax",
        "allowableBenefitTypes": [
            "retirement"
        ]
    },
    {
        "id": 13,
        "deductionTypeName": "457(b) - Pre-Tax",
        "allowableBenefitTypes": [
            "retirement"
        ]
    },
    {
        "id": 14,
        "deductionTypeName": "501(c) - Donation - Pre-Tax",
        "allowableBenefitTypes": [
            "other"
        ]
    },
    {
        "id": 17,
        "deductionTypeName": "401(k) Roth - Post-Tax",
        "allowableBenefitTypes": [
            "retirement"
        ]
    },
    {
        "id": 20,
        "deductionTypeName": "403(b) Roth - Post-Tax",
        "allowableBenefitTypes": [
            "retirement"
        ]
    },
    {
        "id": 21,
        "deductionTypeName": "NQ Deferred Compensation - Pre-Tax",
        "allowableBenefitTypes": [
            "retirement"
        ]
    },
    {
        "id": 24,
        "deductionTypeName": "Section 125 Dependent Care Benefits - Pre-Tax",
        "allowableBenefitTypes": [
            "flex"
        ]
    },
    {
        "id": 25,
        "deductionTypeName": "Section 125 Health - Pre-Tax",
        "allowableBenefitTypes": [
            "health",
            "variable"
        ]
    },
    {
        "id": 28,
        "deductionTypeName": "401(a) - Money-purchase retirement plan",
        "allowableBenefitTypes": [
            "retirement"
        ]
    }
]
Get benefit coverages
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/benefitcoverages/{benefitCoverageId}
Notes:

The owner of the API key used must have access to benefit settings.

Benefit Coverage ID is optional. Not supplying the benefit coverage ID will return the collection of all available benefit coverages.

You can send an Accept Header of application/json to retrieve a JSON Response

Sample Request:
GET /api/gateway.php/test/v1/benefitcoverages/

Sample Response:

<BenefitCoverages>
    <BenefitCoverage id="1" shortName="Employee" description="" sortOrder="10"/>
    <BenefitCoverage id="2" shortName="Employee + Spouse" description="" sortOrder="20"/>
    <BenefitCoverage id="3" shortName="Employee + Family" description="" sortOrder="30"/>
    <BenefitCoverage id="4" shortName="Employee + Child" description="" sortOrder="40"/>
    <BenefitCoverage id="5" shortName="Employee + Children" description="" sortOrder="50"/>
    <BenefitCoverage id="6" shortName="Two Party" description="" sortOrder="60"/>
    <BenefitCoverage id="7" shortName="Family Only" description="Employee not included" sortOrder="70"/>
</BenefitCoverages>
Get employee dependents
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/employeedependents/{dependentId}
Parameter:
employeeid (optional) - A particular request ID to limit the response to.
Notes:

The owner of the API key used must have access to benefit settings.

Dependent ID is optional. Not supplying the dependent ID will return the collection of all dependents.

You can send an Accept Header of application/json to retrieve a JSON Response

Sample Request:
GET /api/gateway.php/test/v1/employeedependents/?employeeid=40341

Sample Response:

<EmployeeDependents>
    <EmployeeDependent id="1" employeeId="40341" firstName="Sheryl" middleName="Lynn" lastName="Binetti" relationship="spouse" gender="female" maskedSSN="xxx-xx-1122" maskedSIN="" dateOfBirth="1966-12-09" addressLine1="4015 W Centennial St" addressLine2="" city="Cedar Hills" state="Utah" zipCode="84062" homePhone="" country="United States" isUsCitizen="yes" isStudent=""/>
</EmployeeDependents>
Change an employee dependent
HTTP Method:
PUT
Path:
/api/gateway.php/{company}/v1/employeedependents/{dependentId}
Description:
This API allows you to change the information for a given dependent Id.
Success Response:
200 - The Dependent information has been updated.
Failure Response:

400 - if the posted Json/XML is invalid

403 - if the current user doesn't have access to change the dependent in this way.

500 - Server error.

Notes:

Date of birth must be in ISO YYYY-MM-DD format.

Gender, if provided must be male or female.

Relationship, if provided must be spouse, child, domestic partner, step child, or foster child.

State, if provided must 2 character code.

Country, if provided must be 2 character ISO code.

Sample Request:
PUT /api/gateway.php/test/v1/employeedependents/5

Sample PUT Data:

<EmployeeDependent>
    <employeeId>40341</employeeId>
    <firstName>Cheryl</firstName>
    <middleName>Anne</middleName>
    <lastName>Loretti</lastName>
    <relationship>foster child</relationship>
    <gender>female</gender>
    <ssn>987654321</ssn>
    <dateOfBirth>1966-12-09</dateOfBirth>
    <addressLine1>11476 W School House St</addressLine1>
    <addressLine2></addressLine2>
    <city>Cedar Hills</city>
    <state>UT</state>
    <zipCode>84062</zipCode>
    <homePhone>6313844803</homePhone>
    <country>US</country>
    <isUsCitizen>yes</isUsCitizen>
    <isStudent>yes</isStudent>
</EmployeeDependent>
Add an employee dependent
HTTP Method:
POST
Path:
/api/gateway.php/{company}/v1/employeedependents/
Description:
This API allows you to add information for a dependent
Success Response:
200 - The Dependent has been added.
Failure Response:

400 - if the posted Json/XML is invalid

403 - if the current user doesn't have access to add the dependent.

500 - Server error.

Notes:

Date of birth must be in ISO YYYY-MM-DD format.

Gender, if provided must be male or female.

Relationship, if provided must be spouse, child, domestic partner, step child, or foster child.

State, if provided must 2 character code.

Country, if provided must be 2 character ISO code.

Sample Request:
POST /api/gateway.php/test/v1/employeedependents/

Sample POST Data:

<EmployeeDependent>
    <employeeId>40341</employeeId>
    <firstName>Julian</firstName>
    <middleName>Boyd</middleName>
    <lastName>Davidson</lastName>
    <relationship>child</relationship>
    <gender>male</gender>
    <ssn>543129876</ssn>
    <dateOfBirth>2011-02-10</dateOfBirth>
    <addressLine1>4421 English Oak Ct</addressLine1>
    <addressLine2></addressLine2>
    <city>Lindon</city>
    <state>UT</state>
    <zipCode>84042</zipCode>
    <homePhone></homePhone>
    <country>US</country>
    <isUsCitizen>yes</isUsCitizen>
    <isStudent>yes</isStudent>
</EmployeeDependent>
Get benefit plans
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/benefitplans/{benefitPlanId}
Notes:

The owner of the API key used must have access to benefit settings.

Benefit plan ID is optional. Not supplying the benefit plan ID will return the collection of all benefit plans.

You can send an Accept Header of application/json to retrieve a JSON Response

Sample Request:
GET /api/gateway.php/test/v1/benefitplans/

Sample Response:

<BenefitPlans>
    <BenefitPlan id="1" name="Medical - UnitedHealthcare HMO" type="health" deductionTypeId="25" startDate="2015-01-01" endDate="2016-12-31" url="https://www.uhc.com/HMO" meetAcaMin="yes" description="" archived="false"/>
    <BenefitPlan id="2" name="Medical - UnitedHealthcare PPO" type="health" deductionTypeId="25" startDate="2015-01-01" endDate="2016-12-31" url="https://www.uhc.com/PPO" meetAcaMin="yes" description="" archived="false"/>
    <BenefitPlan id="3" name="401(k) Retirement" type="retirement" deductionTypeId="1" startDate="2015-01-01" endDate="" url="" meetAcaMin="" description="" archived="false"/>
    <BenefitPlan id="4" name="Dental - Delta Dental Gold" type="dental" deductionTypeId="5" startDate="2015-01-01" endDate="2016-12-31" url="http://www.deltadental.com/Gold" meetAcaMin="" description="" archived="false"/>
    <BenefitPlan id="5" name="Dental - Delta Dental Value" type="dental" deductionTypeId="5" startDate="2015-01-01" endDate="2016-12-31" url="http://www.deltadental.com/Value" meetAcaMin="" description="" archived="false"/>
    <BenefitPlan id="6" name="Paid Paid Vacation" type="reimbursement" deductionTypeId="" startDate="2015-01-01" endDate="" url="" meetAcaMin="" description="" reimbursementAmount="2000.00" reimbursementFrequency="year" archived="false"/>
    <BenefitPlan id="7" name="Stinky Old Benefit" type="other" deductionTypeId="4" startDate="2016-02-09" endDate="2016-02-09" url="" meetAcaMin="" description="" archived="true"/>
    <BenefitPlan id="8" name="Variable Rate Health" type="variable" deductionTypeId="25" startDate="2015-01-01" endDate="2016-12-31" url="" meetAcaMin="yes" description="" archived="false"/>
</BenefitPlans>
Change a benefit plan
HTTP Method:
PUT
Path:
/api/gateway.php/{company}/v1/benefitplans/{benefitplanId}
Description:
This API allows you to change the information for a given benefit plan Id.
Success Response:
200 - The benefit plan information has been updated.
Failure Response:

400 - if the posted Json/XML is invalid

403 - if the current user doesn't have access to change the benefit plan in this way.

500 - Server error.

Notes:

Accepted type values are: "health", "dental", "vision", "retirement", "hsa", "flex", "life", "disability", "reimbursement", "supplemental", "other", "variable".

Accepted meetAcaMin values are: "yes", "no", "does not apply".

Accepted reimbursementFrequency values are: "pay period", "month", "quarter", "year", "one time".

Start date must be in ISO YYYY-MM-DD format and is required.

End date must be in ISO YYYY-MM-DD format.

The deductionTypeId must be valid for the benefit plan type. (Please refer to the GET Deduction Type API documentation for valid deductionTypeIds for a given benefit plan type)

Reimbursement type plans require reimbursementAmount and reimbursementFrequency properties to be passed. (Please note: Reimbursement type plans do not have a deductionTypeId)

Sample Request:
PUT /api/gateway.php/test/v1/benefitplans/5

Sample PUT Data:

<BenefitPlan>
    <name>Medical - UnitedHealthcare HMO</name>
    <type>health</type>
    <deductionTypeIds>25</deductionTypeIds>
    <startYmd>2015-01-01</startYmd>
    <endYmd>2016-12-31</endYmd>
    <url>https://www.uhc.com/HMO/</url>
    <meetAcaMin>yes</meetAcaMin>
    <description>Basic HMO Plan</description>
</BenefitPlan>
Add a benefit plan
HTTP Method:
POST
Path:
/api/gateway.php/{company}/v1/benefitplans/
Description:
This API allows you to add a benefit plan
Success Response:
200 - The benefit plan has been added.
Failure Response:

400 - if the posted Json/XML is invalid

403 - if the current user doesn't have access to add the benefit plan.

500 - Server error.

Notes:

Accepted type values are: "health", "dental", "vision", "retirement", "hsa", "flex", "life", "disability", "reimbursement", "supplemental", "other", "variable".

Accepted meetAcaMin values are: "yes", "no", "does not apply".

Accepted reimbursementFrequency values are: "pay period", "month", "quarter", "year", "one time".

Start date must be in ISO YYYY-MM-DD format and is required.

End date must be in ISO YYYY-MM-DD format.

The deductionTypeId must be valid for the benefit plan type. (Please refer to the GET Deduction Type API documentation for valid deductionTypeIds for a given benefit plan type)

Reimbursement type plans require reimbursementAmount and reimbursementFrequency properties to be passed. (Please note: Reimbursement type plans do not have a deductionTypeId)

Sample Request:
POST /api/gateway.php/test/v1/benefitplans/

Sample POST Data:

<BenefitPlan>
    <name>Technology Reimbursement</name>
    <type>reimbursement</type>
    <deductionTypeIds></deductionTypeIds>
    <startYmd>2015-01-01</startYmd>
    <endYmd></endYmd>
    <description>Get some new tech each year!</description>
    <reimbursementAmount>500.00</reimbursementAmount>
    <reimbursementFrequency>year</reimbursementFrequency>
</BenefitPlan>
Get benefit plan coverages
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/benefitplancoverages/{benefitPlanCoveragesId}
Notes:

The owner of the API key used must have access to benefit settings.

Benefit plan coverage ID is optional. Not supplying the benefit plan coverage ID will return the collection of all benefit plan coverages for all benefit plans.

You can send an Accept Header of application/json to retrieve a JSON Response

Sample Request:
GET /api/gateway.php/test/v1/benefitplancoverages/

Sample Response:

<BenefitPlanCoverages>
    <BenefitPlanCoverage id="1" benefitPlanId="1" benefitCoverageId="1" totalCost="500.00" currencyType="USD" startYmd="2015-01-01" endYmd="2016-12-31" archived="false"/>
    <BenefitPlanCoverage id="2" benefitPlanId="1" benefitCoverageId="2" totalCost="800.00" currencyType="USD" startYmd="2015-01-01" endYmd="2016-12-31" archived="false"/>
    <BenefitPlanCoverage id="3" benefitPlanId="1" benefitCoverageId="3" totalCost="1100.00" currencyType="USD" startYmd="2015-01-01" endYmd="2016-12-31" archived="false"/>
</BenefitPlanCoverages>
Change a benefit plan coverage
HTTP Method:
PUT
Path:
/api/gateway.php/{company}/v1/benefitplancoverages/{benefitPlanCoveragesId}
Description:
This API allows you to change the information for a given benefit plan coverage Id.
Success Response:
200 - The benefit plan coverage information has been updated.
Failure Response:

400 - if the posted Json/XML is invalid

403 - if the current user doesn't have access to change the benefit plan coverage in this way.

500 - Server error.

Notes:

Benefit plan ID is required and must be a valid plan ID

Benefit coverage ID is required and must be a valid coverage ID

Currency type must the the 3 character ISO currency code

Sample Request:
PUT /api/gateway.php/test/v1/benefitplancoverages/5

Sample PUT Data:

<BenefitPlanCoverage>
    <benefitPlanId>11</benefitPlanId>
    <benefitCoverageId>1</benefitCoverageId>
    <totalCost>550.00</totalCost>
    <currencyType>USD</currencyType>
    <startYmd>2015-01-01</startYmd>
    <endYmd>2016-12-31</endYmd>
</BenefitPlanCoverage>
Add a benefit plan coverage
HTTP Method:
POST
Path:
/api/gateway.php/{company}/v1/benefitplancoverages/
Description:
This API allows you to add a benefit plan coverage
Success Response:
200 - The benefit plan coverage has been added.
Failure Response:

400 - if the posted Json/XML is invalid

403 - if the current user doesn't have access to add the benefit plan coverage.

500 - Server error.

Notes:

Benefit plan ID is required and must be a valid plan ID

Benefit coverage ID is required and must be a valid coverage ID

Currency type must the the 3 character ISO currency code

Sample Request:
POST /api/gateway.php/test/v1/benefitplancoverages/

Sample POST Data:

<BenefitPlanCoverage>
    <benefitPlanId>11</benefitPlanId>
    <benefitCoverageId>1</benefitCoverageId>
    <totalCost>550.00</totalCost>
    <currencyType>USD</currencyType>
    <startYmd>2015-01-01</startYmd>
    <endYmd>2016-12-31</endYmd>
</BenefitPlanCoverage>
Get benefit group(s)
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/benefitgroups/{benefitGroupId}
Notes:

The owner of the API key used must have access to benefit settings.

Benefit group ID is optional. Not supplying the benefit group ID will return the collection of all benefit groups.

You can send an Accept Header of application/json to retrieve a JSON Response

Sample Request:
GET /api/gateway.php/test/v1/benefitgroups/

Sample Response:

<BenefitGroups>
    <BenefitGroup id="1" name="Benefit Transition Default" payPeriod="weekly" startDate="2016-02-09" endDate="2016-02-09" archived="true"/>
    <BenefitGroup id="2" name="Full Time Employees" payPeriod="weekly" startDate="2016-02-10" endDate="" archived="false"/>
</BenefitGroups>
Change a benefit group
HTTP Method:
PUT
Path:
/api/gateway.php/{company}/v1/benefitgroups/{benefitGroupId}
Description:
This API allows you to change the information for a given benefit group.
Success Response:
200 - The benefit group information has been updated.
Failure Response:

400 - if the posted Json/XML is invalid

403 - if the current user doesn't have access to change the benefit group in this way.

500 - Server error.

Notes:
'daily','weekly','bi-weekly','semi-monthly','monthly','quarterly','semi-annually','annually'

The benefit group name is required.

Accepted payPeriod values are: "daily", "weekly", "bi-weekly", "semi-monthly", "monthly", "quarterly", "semi-annually", "annually".

Start date is required and must be in ISO YYYY-MM-DD format

End date must be in ISO YYYY-MM-DD format if provided

Sample Request:
PUT /api/gateway.php/test/v1/benefitgroups/2

Sample PUT Data:

<BenefitGroup>
    <name>Weekly Employees</name>
    <payPeriod>weekly</payPeriod>
    <startDate>2016-01-01</startDate>
    <endDate></endDate>
</BenefitGroup>
Add a benefit group
HTTP Method:
POST
Path:
/api/gateway.php/{company}/v1/benefitgroups/
Description:
This API allows you to add a benefit group
Success Response:
200 - The benefit group has been added.
Failure Response:

400 - if the posted Json/XML is invalid

403 - if the current user doesn't have access to add the benefit group.

500 - Server error.

Notes:

The benefit group name is required.

Accepted payPeriod values are: "daily", "weekly", "bi-weekly", "semi-monthly", "monthly", "quarterly", "semi-annually", "annually".

Start date is required and must be in ISO YYYY-MM-DD format

End date must be in ISO YYYY-MM-DD format if provided

Sample Request:
POST /api/gateway.php/test/v1/benefitgroups/

Sample POST Data:

<BenefitGroup>
    <name>Weekly Employees</name>
    <payPeriod>weekly</payPeriod>
    <startDate>2016-01-01</startDate>
    <endDate></endDate>
</BenefitGroup>
Get benefit group employee(s)
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/benefitgroupemployees/{benefitGroupEmployeeId}
Notes:

The owner of the API key used must have access to benefit settings.

Benefit group employee ID is optional. Not supplying the benefit group employee ID will return the collection of all benefit group employees.

You can send an Accept Header of application/json to retrieve a JSON Response

Sample Request:
GET /api/gateway.php/test/v1/benefitgroupemployees/

Sample Response:

<BenefitGroupEmployees>
    <BenefitGroupEmployee id="1" benefitGroupId="2" employeeId="40348" startDate="2016-02-10" endDate="" archived="false"/>
    <BenefitGroupEmployee id="2" benefitGroupId="2" employeeId="40341" startDate="2016-02-10" endDate="" archived="false"/>
    <BenefitGroupEmployee id="3" benefitGroupId="2" employeeId="40350" startDate="2016-02-10" endDate="" archived="false"/>
</BenefitGroupEmployees>
Add a benefit group employee
HTTP Method:
POST
Path:
/api/gateway.php/{company}/v1/benefitgroupemployees/
Description:
This API allows you to add a benefit group employee
Success Response:
200 - The benefit group employee has been added.
Failure Response:

400 - if the posted Json/XML is invalid

403 - if the current user doesn't have access to add the benefit group employee.

500 - Server error.

Notes:

The benefit group Id is required and must be valid.

The employee Id is required and must be valid.

Start date is required and must be in ISO YYYY-MM-DD format

End date must be in ISO YYYY-MM-DD format if provided

An employee can be part of only one benefit group and their pay group frequency must match the benefit group's pay frequency.

Sample Request:
POST /api/gateway.php/test/v1/benefitgroups/

Sample POST Data:

<BenefitGroupEmployee>
    <benefitGroupId>3</benefitGroupId>
    <employeeId>40341</employeeId>
    <startDate>2016-02-12</startDate>
    <endDate></endDate>
</BenefitGroupEmployee>
Get benefit group plan(s)
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/benefitgroupplans/{benefitGroupPlanId}
Notes:

The owner of the API key used must have access to benefit settings.

Benefit group plan ID is optional. Not supplying the benefit group plan ID will return the collection of all benefit group plans.

You can send an Accept Header of application/json to retrieve a JSON Response

Sample Request:
GET /api/gateway.php/test/v1/benefitgroupplans/

Sample Response:

<BenefitGroupPlans>
    <BenefitGroupPlan id="1" benefitGroupId="2" benefitPlanId="1" eligibility="month_after_waiting_period" waitPeriod="1" waitPeriodType="months" startDate="2016-02-10" endDate="2016-12-31" archived="false"/>
    <BenefitGroupPlan id="2" benefitGroupId="2" benefitPlanId="2" eligibility="month_after_waiting_period" waitPeriod="1" waitPeriodType="months" startDate="2016-02-10" endDate="2016-12-31" archived="false"/>
    <BenefitGroupPlan id="3" benefitGroupId="2" benefitPlanId="4" eligibility="month_after_waiting_period" waitPeriod="1" waitPeriodType="months" startDate="2016-02-10" endDate="2016-12-31" archived="false"/>
</BenefitGroupPlans>
Add a benefit group plan
HTTP Method:
POST
Path:
/api/gateway.php/{company}/v1/benefitgroupplans/
Description:
This API allows you to add a benefit group plan
Success Response:
200 - The benefit group plan has been added.
Failure Response:

400 - if the posted Json/XML is invalid

403 - if the current user doesn't have access to add the benefit group plan.

500 - Server error.

Notes:

The benefit group Id is required and must be valid.

The benefit plan Id is required and must be valid.

Accepted eligibility values are: "manual", "hire_date", "waiting_period", "month_after_waiting_period".

Accepted waitPeriodType values are: "days", "weeks", "months", "years".

waitPeriod and waitPeriodType are required for waiting_period and month_after_waiting_period eligibility types

Start date is required and must be in ISO YYYY-MM-DD format

End date must be in ISO YYYY-MM-DD format if provided

Sample Request:
POST /api/gateway.php/test/v1/benefitgroupplans/

Sample POST Data:

<BenefitGroupPlans>
    <benefitGroupId>3</benefitGroupId>
    <benefitPlanId>11</benefitPlanId>
    <eligibility>waiting_period</eligibility>
    <waitPeriod>1</waitPeriod>
    <waitPeriodType>months</waitPeriodType>
    <startDate>2016-02-12</startDate>
    <endDate></endDate>
</BenefitGroupPlans>
Get benefit group plan cost(s)
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/benefitgroupplancosts/{benefitGroupPlanCostId}
Notes:

The owner of the API key used must have access to benefit settings.

Benefit group plan cost ID is optional. Not supplying the benefit group plan cost ID will return the collection of all benefit group plan costs.

You can send an Accept Header of application/json to retrieve a JSON Response

Sample Request:
GET /api/gateway.php/test/v1/benefitgroupplancosts/

Sample Response:

<BenefitGroupPlanCosts>
    <BenefitGroupPlanCost id="1" benefitGroupPlanId="1" benefitPlanCoverageId="1" employeeCost="23.00" companyCost="92.38" startDate="2016-02-10" endDate="2016-12-31" archived="false"/>
    <BenefitGroupPlanCost id="2" benefitGroupPlanId="1" benefitPlanCoverageId="2" employeeCost="37.00" companyCost="147.62" startDate="2016-02-10" endDate="2016-12-31" archived="false"/>
    <BenefitGroupPlanCost id="3" benefitGroupPlanId="1" benefitPlanCoverageId="3" employeeCost="50.75" companyCost="203.10" startDate="2016-02-10" endDate="2016-12-31" archived="false"/>
</BenefitGroupPlanCosts>
Add a benefit group plan cost
HTTP Method:
POST
Path:
/api/gateway.php/{company}/v1/benefitgroupplancosts/
Description:
This API allows you to add a benefit group plan cost
Success Response:
200 - The benefit group plan cost has been added.
Failure Response:

400 - if the posted Json/XML is invalid

403 - if the current user doesn't have access to add the benefit group plan cost.

500 - Server error.

Notes:

The benefit group plan Id is required and must be valid.

The benefit plan coverage Id is required and must be valid.

Start date is required and must be in ISO YYYY-MM-DD format

End date must be in ISO YYYY-MM-DD format and should be equal to the plan end date if provided.

The company pays and employee pays is based on the pay frequency of the group and the monthly cost for the benefit plan.

Sample Request:
POST /api/gateway.php/test/v1/benefitgroupplancosts/

Sample POST Data:

<BenefitGroupEmployee>
    <benefitGroupPlanId>8</benefitGroupPlanId>
    <benefitPlanCoverageId>16</benefitPlanCoverageId>
    <employeeCost>25.40</employeeCost>
    <companyCost>101.53</companyCost>
    <startDate>2016-02-12</startDate>
    <endDate>2016-12-31</endDate>
</BenefitGroupEmployee>
Get employee deductions by benefit plan
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/employee/deductions/{benefitPlanId}
Parameter:
employeeId (optional) - A particular employee ID to limit the response to.
Notes:

The owner of the API key used must have access to benefit settings.

Benefit plan ID is required.

You can send an Accept Header of application/json to retrieve a JSON Response

Sample Request:
GET /api/gateway.php/test/v1/employee/deductions/1

Sample Response:

<employeeBenefitDeductions>
    <employeeBenefitDeduction employeeId="40341" employeeNumber="11629" employeeName="Binetti, Robert" benefitPlanId="1" benefitPlanName="401(k) Retirement" deductionFrequency="weekly" employeePays="1000.00" companyPays="3.50" employeePaysType="Currency" companyPaysType="Percent" currencyCode="USD"/>
    <employeeBenefitDeduction employeeId="40342" employeeNumber="2" employeeName="Granger, Hermione" benefitPlanId="1" benefitPlanName="401(k) Retirement" deductionFrequency="weekly" employeePays="150.00" companyPays="75.00" employeePaysType="Currency" companyPaysType="Currency" currencyCode="USD"/>
</employeeBenefitDeductions>
Get plan deductions by employee
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/employee/plans/{employeeId}
Notes:

The owner of the API key used must have access to benefit settings.

Employee ID is required.

You can send an Accept Header of application/json to retrieve a JSON Response

Sample Request:
GET /api/gateway.php/test/v1/employee/plans/40341

Sample Response:

<employeeBenefitDeductions>
    <employeeBenefitDeduction employeeId="40341" employeeNumber="2" employeeName="Doe, Jane" benefitPlanId="1" benefitPlanName="401(k) Retirement" deductionFrequency="weekly" employeePays="1000.00" companyPays="3.50" employeePaysType="Currency" companyPaysType="Percent" currencyCode="USD"/>
    <employeeBenefitDeduction employeeId="40341" employeeNumber="2" employeeName="Doe, Jane" benefitPlanId="2" benefitPlanName="Health Care" deductionFrequency="semi-monthly" employeePays="200.00" companyPays="275.00" employeePaysType="Currency" companyPaysType="Currency" currencyCode="USD"/>
</employeeBenefitDeductions>
Get benefit deductions for employee
HTTP Method:
GET
Path:
/api/gateway.php/{company}/v1/payroll/deductions/{employeeId}
Notes:

The owner of the API key used must have access to benefit settings.

Employee ID is required.

You can send an Accept Header of application/json to retrieve a JSON Response

Sample Request:
GET /api/gateway.php/test/v1/payroll/deductions/1

Sample Response:

<?xml version="1.0"?>
<payrollDeductions employeeId="1" payFrequency="Monthly">
    <deduction employeePays="250.00" companyPays="1000.00" currencyCode="USD" employeePaysType="$" companyPaysType="$" coverageType="Employee + Family" effectiveDate="01/01/2017" benefitPlanName="South Park Health" benefitPlanId="1"/>
    <deduction employeePays="100.00" companyPays="100.00" currencyCode="USD" employeePaysType="$" companyPaysType="$" coverageType="" effectiveDate="01/01/2017" benefitPlanName="SP 401(k)" benefitPlanId="2"/>
</payrollDeductions>

Have more questions? We're here to help, so please contact us.