Create Wallet
Creates a digital wallet for an employee. Optionally allows a Branch card to be automatically ordered for the employee.
path Parameters
orgId required | integer <int32> The Organization ID |
employeeId required | string The Employee ID |
header Parameters
apikey required | string |
testmode | boolean |
Request Body schema: application/json
first_name required | string Numbers not allowed |
middle_name | string Numbers not allowed |
last_name required | string Numbers not allowed |
required | object (Address) |
date_of_birth required | string[0-9]{4}-[0-9]{2}-[0-9]{2} |
ssn required | string[0-9]{9} |
phone_number required | string |
email_address required | string |
type | string Enum: "HOURLY" "SALARY" |
pay_rate | integer <int32> >= 0 Rate of pay, in cents, used in conjunction with type. The following should be defined as follows: If type = salary, then should be the annual salary of the employee If type = hourly, then should be the hourly rate the employee earns |
group_name | string |
create_employee | boolean Default: false If true and the employee does not already exist, will create the employee with the given information. |
order_card | boolean Default: false If true, a physical card will be shipped to the user when the account is created. |
card_program | string Specifies which card should be ordered and delivered to the user. Available options for an organization can be found by querying the card-controller -> getCardPrograms endpoint.Default is organization's default card program - generally BRANCH_W2 |
ein | string 9 digit employer identification number |
Responses
Request samples
- Payload
{- "first_name": "John",
- "middle_name": "William",
- "last_name": "Larson",
- "address": {
- "address_1": "8035 Pleasant Hill Road",
- "address_2": "Suite 103",
- "city": "Minneapolis",
- "state": "MN",
- "postal_code": "55123",
- "country_code": "US"
}, - "date_of_birth": "2000-01-01",
- "ssn": "123456789",
- "phone_number": "+11235550123",
- "email_address": "worker@branchapp.com",
- "type": "HOURLY",
- "pay_rate": 1500,
- "group_name": "GOLD",
- "create_employee": false,
- "order_card": false,
- "card_program": "BRANCH_W2",
- "ein": "XXXXXXXXX"
}
Create Disbursement
Creates a disbursement for an employee. A disbursement is an initiation of payment to a worker.
path Parameters
orgId required | integer <int32> |
employeeId required | string |
header Parameters
apikey required | string |
Request Body schema: application/json
amount required | integer <int32> Amount, in cents, to be disbursed to the employee. |
external_id required | string [ 0 .. 64 ] characters Allows the custom specification of a unique ID that correlates back to your own records. |
type required | string Enum: "TIPS" "TRIP" "MILEAGE" "PAYCHECK" "MISCELLANEOUS" "DEVICE" "DELIVERY" "DEPOSIT" "BONUS" "REWARD" "UNKNOWN" TIPS: Disbursement for tips earned by worker |
employee_group | string [ 0 .. 150 ] characters A grouping for the employee. This could be anything that is used by your organization in order to group employees: store id, employee tier, region code, etc. |
display_sub_label | string [ 0 .. 150 ] characters A description of the disbursement. This will be displayed to the worker in the application |
description required | string [ 0 .. 256 ] characters |
retry | boolean Default false. If status goes into FAILED, allows disbursement to be reattempted. |
object | |
time_scheduled | string <date-time> Date and time at which the specified amount will be disbursed to the employee. |
Responses
Request samples
- Payload
{- "amount": 500,
- "external_id": "123456",
- "type": "MILEAGE",
- "employee_group": "Store #1",
- "display_sub_label": "Tip for delivery",
- "description": "Disbursement for miles driven.",
- "retry": true,
- "metadata": {
- "property1": { },
- "property2": { }
}, - "time_scheduled": "2019-08-24T14:15:22Z"
}
Search Disbursements
Searches disbursements while returning HATEOAS links (e.g. prev_page, next_page) for retrieving additional data.
path Parameters
orgId required | integer <int32> |
query Parameters
required | object (DisbursementSearchCriteria) |
required | object (PageRequest) |
sort required | string Format: field_name,direction |
header Parameters
apikey required | string |
Responses
updateEmployee
path Parameters
orgId required | integer <int32> |
employeeId required | string |
header Parameters
apikey required | string |
Request Body schema: application/json
first_name required | string Numbers not allowed |
last_name required | string Numbers not allowed |
phone_number | string |
email_address | string |
type | string Enum: "HOURLY" "SALARY" |
pay_rate | integer <int32> >= 0 Rate of pay, in cents, used in conjunction with type. The following should be defined as follows: If type = salary, then should be the annual salary of the employee If type = hourly, then should be the hourly rate the employee earns |
business_name | string |
group_name | string |
ein | string |
password | string |
Responses
Request samples
- Payload
{- "first_name": "John",
- "last_name": "Larson",
- "phone_number": "+11235550123",
- "email_address": "worker@branchapp.com",
- "type": "HOURLY",
- "pay_rate": 0,
- "business_name": "Dunder Mifflin Paper Company",
- "group_name": "GOLD",
- "ein": "XXXXXXXXX",
- "password": "string"
}
createEmployee
path Parameters
orgId required | integer <int32> |
employeeId required | string |
header Parameters
apikey required | string |
Request Body schema: application/json
first_name required | string Numbers not allowed |
last_name required | string Numbers not allowed |
phone_number | string |
email_address | string |
type | string Enum: "HOURLY" "SALARY" |
pay_rate | integer <int32> >= 0 Rate of pay, in cents, used in conjunction with type. The following should be defined as follows: If type = salary, then should be the annual salary of the employee If type = hourly, then should be the hourly rate the employee earns |
business_name | string |
group_name | string |
ein | string |
password | string |
Responses
Request samples
- Payload
{- "first_name": "John",
- "last_name": "Larson",
- "phone_number": "+11235550123",
- "email_address": "worker@branchapp.com",
- "type": "HOURLY",
- "pay_rate": 0,
- "business_name": "Dunder Mifflin Paper Company",
- "group_name": "GOLD",
- "ein": "XXXXXXXXX",
- "password": "string"
}
Update an existing payroll period
Update an existing payroll period. A payroll period records a pay date and payroll period deadline
path Parameters
orgId required | integer <int32> |
payrollPeriodId required | integer <int32> |
header Parameters
apikey required | string |
Request Body schema: application/json
payroll_deadline | string <date> The date by which workers' pay must be determined. |
pay_date | string <date> The date individuals will receive payment. |
Responses
Request samples
- Payload
{- "payroll_deadline": "2000-01-01",
- "pay_date": "2000-01-01"
}
Create a new payroll calendar
Create a new payroll calendar. A payroll calendar is a list of payroll periods
path Parameters
orgId required | integer <int32> |
header Parameters
apikey required | string |
Request Body schema: application/json
Array of objects (PayrollPeriodCreationRequest) The list of payroll periods creation requests for the calendar. | |||||
Array
|
Responses
Request samples
- Payload
{- "payroll_periods": [
- {
- "payroll_deadline": "2000-01-01",
- "pay_date": "2000-01-01"
}
]
}
Get worker's shift.
Get a person's completed shift. Requires shift_id to identify which shift to retrieve.If an existing shift cannot be found with the provided shift_id, call will return 404 - Not Found.Successful call will return the completed shift.
path Parameters
orgId required | integer <int32> |
employeeId required | string |
shiftId required | string |
header Parameters
apikey required | string |
Responses
Updates worker's shift.
Updates a person's completed shift. Requires shift_id to identify which shift to update.If an existing shift cannot be found with the provided shift_id, call will return 404 - Not Found.Requests made with missing required fields or invalid dates/times will return 400 - Bad Request.Successful call will return newly updated shift.
path Parameters
orgId required | integer <int32> |
employeeId required | string |
shiftId required | string |
header Parameters
apikey required | string |
Request Body schema: application/json
punch_in | string <date-time> Time the shift started |
punch_out | string <date-time> Time the shift ended. This does not need to be provided if 'hours' is provided |
hours | number <double> Number of hours worked in the shift. This does not need to be provided if 'punch_out' is provided |
rate | integer <int32> Amount of money, in cents, the employee made per hour/day depending on 'shift_type' |
shift_type | string Enum: "Daily" "Hourly" Shift type, 'HOURLY' or 'DAILY' |
Responses
Request samples
- Payload
{- "punch_in": "2019-08-24T14:15:22Z",
- "punch_out": "2019-08-24T14:15:22Z",
- "hours": 0,
- "rate": 0,
- "shift_type": "Daily"
}
Delete shift.
Delete an existing shift. Requires shift_id to identify which shift to delete.If an existing shift cannot be found with the provided shift_id, call will return 404 - Not Found.Successful call will return status 204 - No Content.
path Parameters
orgId required | integer <int32> |
employeeId required | string |
shiftId required | string |
header Parameters
apikey required | string |
Responses
Submit worker's shift.
Submits a person's completed shift. Shifts are used to track hours worked by an individual employee and calculate EWA.Shifts may be created with a shift_id unique within the organization. Failure to provide a shift_id will cause a UUID to be generated instead.If a duplicate shift_id is provided, call will return 409 - Conflict.Successful call will return the created shift and status 201.
path Parameters
orgId required | integer <int32> |
employeeId required | string |
header Parameters
apikey required | string |
Request Body schema: application/json
id | string If blank, defaults to UUID |
punch_in | string <date-time> Time the shift started |
punch_out | string <date-time> Time the shift ended. This does not need to be provided if 'hours' is provided |
hours | number <double> >= 0 Number of hours worked in the shift. This value cannot be negative. This does not need to be provided if 'punch_out' is provided |
rate | integer <int32> Amount of money, in cents, the employee made per hour/day depending on 'shift_type' |
shift_type required | string Enum: "Daily" "Hourly" Shift type, 'HOURLY' or 'DAILY' |
Responses
Request samples
- Payload
{- "id": "string",
- "punch_in": "2019-08-24T14:15:22Z",
- "punch_out": "2019-08-24T14:15:22Z",
- "hours": 0,
- "rate": 0,
- "shift_type": "Daily"
}
updateEmployeePeriodEarning
path Parameters
orgId required | integer <int32> |
employeeId required | string |
header Parameters
apikey required | string |
Request Body schema: application/json
amount | integer <int32> >= 1 earnings in cents. must be greater than 0 |
date | string <date> yyyy-MM-dd |
Responses
Request samples
- Payload
{- "amount": 1,
- "date": "2021-06-24"
}
reportOrganizationRemittanceDeduction
path Parameters
orgId required | integer <int32> |
remittanceId required | integer <int32> |
header Parameters
apikey required | string |
Request Body schema: application/json
employee_id required | string |
amount | integer <int32> >= 0 Amount, in cents, that was successfully deducted for the employee |
Responses
Request samples
- Payload
{- "employee_id": "string",
- "amount": 0
}