Own the employee onboarding UI/UX and send Zeal the employee information as needed

In order for an employee to be onboarded, please provide the following:

  1. Employee Profile Information
  2. Federal Tax Information (optional)
  3. State Tax Information (optional)
  4. Bank Account Information

Create Employee Endpoint

Please provide as many fields possible for the employee up front. Although many fields are optional, we will require you to fill out the following fields before you can set an employee to be onboarded:
Create Employee

  • email
  • first_name
  • last_name
  • default_pay_schedule
  • title
  • start_date
  • working_state
  • street1
  • city
  • state
  • zip
  • ssn
  • dob
curl --location --request POST 'https://api.joinpuzzl.com/employees'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer <YOUR API KEY>'
--data-raw '{
   "companyID": "1b5n28nrideucd24",
   "new_employees": [
      {
         "email": "[email protected]",
         "first_name":"Erlich",
         "last_name":"Bachman",
         "default_pay_schedule": "daily",
         "title": "Brand Ambassador",
         "start_date": "2019-11-01",
         "working_state": "CA",
         "default_wage": 20,
         "overtime_rate": 1.6,
         "double_time_rate": 2.1,
         "ssn": "182563748",
         "phone_number": "8716738956"
      }
   ]
}'

curl --location --request POST 'https://api.joinpuzzl.com/employees/getTaxParameterDefinitions'
--header 'Authorization: Bearer <YOUR API KEY>'
--data-raw '{
   "jurisdiction": ["US", "CA"]
}'

curl --location --request POST 'https://api.joinpuzzl.com/employees/setTaxParameters'
--header 'Authorization: Bearer <YOUR API KEY>'
--data-raw '{
 "employeeID": "61606599da9640326646f668",
 "companyID": "fc235f012bae46aa8a082f357715bcfa",
 "federalParameters": [
    {
       "code": "FILINGSTATUS",
       "jurisdiction": "US",
       "value": "H"
    }
 ],
 "stateParameters": [
    {
       "code": "FILINGSTATUS",
       "jurisdiction": "CA",
       "value": "H"
    },
    {
       "code": "REGULAR_ALLOWANCES",
       "jurisdiction": "CA",
       "value": "1"
    }
 ]
}'

curl --location --request POST 'https://api.joinpuzzl.com/bankaccount'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer <YOUR API KEY>'
--data-raw '{
   "companyID": "0987654321",
   "id": "0982354562734",
   "institution_name": "Chase",
   "account_number": "1243686537",
   "routing_number": "09876283743",
   "type": "checking"
}'

Set onboarded to true to set the employee as onboarded. Setting this field yourself will only work if a bank account has been created for the employee and if the following employee profile fields have been completed: first name, last name, dob, start date, default pay schedule, email, working state, ssn, address, city, state, and zip. Otherwise, Zeal will return an error indicating that some fields are missing. Once the employee is onboarded successfully, they can get paid!

curl --location --request POST 'https://api.joinpuzzl.com/employees/setOnboardedStatusToTrue'
--header 'Authorization: Bearer <YOUR API KEY>'
--data-raw '{
   "employeeID": "61606599da9640326646f668"
   "companyID": "fc235f012bae46aa8a082f357715bcfa"
}'

Did this page help you?