- getCompaniesCompanyUuidTimeOffPolicies - Get all time off policies
- getTimeOffPoliciesTimeOffPolicyUuid - Get a time off policy
- postCompaniesCompanyUuidTimeOffPolicies - Create a time off policy
- postV1PayrollsPayrollIdCalculateAccruingTimeOffHours - Calculate accruing time off hours
- putTimeOffPoliciesTimeOffPolicyUuid - Update a time off policy
- putV1TimeOffPoliciesTimeOffPolicyUuidDeactivate - Deactivate a time off policy
- putV1TimeOffPoliciesTimeOffPolicyUuidRemoveEmployees - Remove employees from a time off policy
- putVersionTimeOffPoliciesTimeOffPolicyUuidAddEmployees - Add employees to a time off policy
- putVersionTimeOffPoliciesTimeOffPolicyUuidBalance - Update employee time off hour balances
Get all time off policies for a company
scope: time_off_policies:read
import { Gusto } from "@speakeasy-sdks/gusto";
import {
GetCompaniesCompanyUuidTimeOffPoliciesRequest,
GetCompaniesCompanyUuidTimeOffPoliciesResponse,
} from "@speakeasy-sdks/gusto/dist/sdk/models/operations";
const sdk = new Gusto({
security: {
authorization: "",
},
});
const companyUuid: string = "facere";
sdk.timeOffPolicies.getCompaniesCompanyUuidTimeOffPolicies(companyUuid).then((res: GetCompaniesCompanyUuidTimeOffPoliciesResponse) => {
if (res.statusCode == 200) {
// handle response
}
});
Parameter | Type | Required | Description |
---|---|---|---|
companyUuid |
string | ✔️ | The UUID of the company |
config |
AxiosRequestConfig | ➖ | Available config options for making requests. |
Promise<operations.GetCompaniesCompanyUuidTimeOffPoliciesResponse>
Get a time off policy
scope: time_off_policies:read
import { Gusto } from "@speakeasy-sdks/gusto";
import {
GetTimeOffPoliciesTimeOffPolicyUuidRequest,
GetTimeOffPoliciesTimeOffPolicyUuidResponse,
} from "@speakeasy-sdks/gusto/dist/sdk/models/operations";
const sdk = new Gusto({
security: {
authorization: "",
},
});
const timeOffPolicyUuid: string = "corrupti";
sdk.timeOffPolicies.getTimeOffPoliciesTimeOffPolicyUuid(timeOffPolicyUuid).then((res: GetTimeOffPoliciesTimeOffPolicyUuidResponse) => {
if (res.statusCode == 200) {
// handle response
}
});
Parameter | Type | Required | Description |
---|---|---|---|
timeOffPolicyUuid |
string | ✔️ | The UUID of the company time off policy |
config |
AxiosRequestConfig | ➖ | Available config options for making requests. |
Promise<operations.GetTimeOffPoliciesTimeOffPolicyUuidResponse>
Create a Time Off Policy
scope: time_off_policies:write
import { Gusto } from "@speakeasy-sdks/gusto";
import {
PostCompaniesCompanyUuidTimeOffPoliciesRequest,
PostCompaniesCompanyUuidTimeOffPoliciesRequestBody,
PostCompaniesCompanyUuidTimeOffPoliciesRequestBodyAccrualMethod,
PostCompaniesCompanyUuidTimeOffPoliciesResponse,
} from "@speakeasy-sdks/gusto/dist/sdk/models/operations";
const sdk = new Gusto({
security: {
authorization: "",
},
});
const companyUuid: string = "molestiae";
const requestBody: PostCompaniesCompanyUuidTimeOffPoliciesRequestBody = {
accrualMethod: PostCompaniesCompanyUuidTimeOffPoliciesRequestBodyAccrualMethod.PerHourWorked,
accrualRate: "accusamus",
accrualRateUnit: "necessitatibus",
accrualWaitingPeriodDays: 733289,
carryoverLimitHours: "sint",
maxAccrualHoursPerYear: "ea",
maxHours: "autem",
name: "Olivia Larkin",
paidOutOnTermination: false,
policyType: "voluptatibus",
};
sdk.timeOffPolicies.postCompaniesCompanyUuidTimeOffPolicies(companyUuid, requestBody).then((res: PostCompaniesCompanyUuidTimeOffPoliciesResponse) => {
if (res.statusCode == 200) {
// handle response
}
});
Parameter | Type | Required | Description |
---|---|---|---|
companyUuid |
string | ✔️ | The UUID of the company |
requestBody |
operations.PostCompaniesCompanyUuidTimeOffPoliciesRequestBody | ➖ | Requires a policy name, a policy_type, and an accrual_method |
config |
AxiosRequestConfig | ➖ | Available config options for making requests. |
Promise<operations.PostCompaniesCompanyUuidTimeOffPoliciesResponse>
Returns a list of accruing time off for each time off policy associated with the employee.
Factors affecting the accrued hours:
- the time off policy accrual method (whether they get pay per hour worked, per hour paid, with / without overtime, accumulate time off based on pay period / calendar year / anniversary)
- how many hours of work during this pay period
- how many hours of PTO / sick hours taken during this pay period (for per hour paid policies only)
- company pay schedule frequency (for per pay period)
If none of the parameters is passed in, the accrued time off hour will be 0.
import { Gusto } from "@speakeasy-sdks/gusto";
import {
PostV1PayrollsPayrollIdCalculateAccruingTimeOffHoursRequest,
PostV1PayrollsPayrollIdCalculateAccruingTimeOffHoursRequestBody,
PostV1PayrollsPayrollIdCalculateAccruingTimeOffHoursResponse,
} from "@speakeasy-sdks/gusto/dist/sdk/models/operations";
const sdk = new Gusto({
security: {
authorization: "",
},
});
const employeeId: string = "cum";
const payrollId: string = "at";
const requestBody: PostV1PayrollsPayrollIdCalculateAccruingTimeOffHoursRequestBody = {
doubleOvertimeHoursWorked: 51.52,
overtimeHoursWorked: 1566.53,
ptoHoursUsed: 6941.58,
regularHoursWorked: 6841.26,
sickHoursUsed: 9195.08,
};
sdk.timeOffPolicies.postV1PayrollsPayrollIdCalculateAccruingTimeOffHours(employeeId, payrollId, requestBody).then((res: PostV1PayrollsPayrollIdCalculateAccruingTimeOffHoursResponse) => {
if (res.statusCode == 200) {
// handle response
}
});
Parameter | Type | Required | Description |
---|---|---|---|
employeeId |
string | ✔️ | The UUID of the employee |
payrollId |
string | ✔️ | The UUID of the payroll |
requestBody |
operations.PostV1PayrollsPayrollIdCalculateAccruingTimeOffHoursRequestBody | ➖ | N/A |
config |
AxiosRequestConfig | ➖ | Available config options for making requests. |
Promise<operations.PostV1PayrollsPayrollIdCalculateAccruingTimeOffHoursResponse>
Update a Time Off Policy
scope: time_off_policies:write
import { Gusto } from "@speakeasy-sdks/gusto";
import {
PutTimeOffPoliciesTimeOffPolicyUuidRequest,
PutTimeOffPoliciesTimeOffPolicyUuidRequestBody,
PutTimeOffPoliciesTimeOffPolicyUuidRequestBodyAccrualMethod,
PutTimeOffPoliciesTimeOffPolicyUuidResponse,
} from "@speakeasy-sdks/gusto/dist/sdk/models/operations";
const sdk = new Gusto({
security: {
authorization: "",
},
});
const timeOffPolicyUuid: string = "accusantium";
const requestBody: PutTimeOffPoliciesTimeOffPolicyUuidRequestBody = {
accrualMethod: PutTimeOffPoliciesTimeOffPolicyUuidRequestBodyAccrualMethod.PerHourWorkedNoOvertime,
accrualRate: "officiis",
accrualRateUnit: "eos",
accrualWaitingPeriodDays: 844854,
carryoverLimitHours: "odio",
maxAccrualHoursPerYear: "praesentium",
maxHours: "odit",
name: "Stacy Mraz",
paidOutOnTermination: false,
};
sdk.timeOffPolicies.putTimeOffPoliciesTimeOffPolicyUuid(timeOffPolicyUuid, requestBody).then((res: PutTimeOffPoliciesTimeOffPolicyUuidResponse) => {
if (res.statusCode == 200) {
// handle response
}
});
Parameter | Type | Required | Description |
---|---|---|---|
timeOffPolicyUuid |
string | ✔️ | The UUID of the company time off policy |
requestBody |
operations.PutTimeOffPoliciesTimeOffPolicyUuidRequestBody | ➖ | Can update any attributes of the time off policy except policy_type, is_active, complete & employees |
config |
AxiosRequestConfig | ➖ | Available config options for making requests. |
Promise<operations.PutTimeOffPoliciesTimeOffPolicyUuidResponse>
Deactivate a time off policy
import { Gusto } from "@speakeasy-sdks/gusto";
import {
PutV1TimeOffPoliciesTimeOffPolicyUuidDeactivateRequest,
PutV1TimeOffPoliciesTimeOffPolicyUuidDeactivateResponse,
} from "@speakeasy-sdks/gusto/dist/sdk/models/operations";
const sdk = new Gusto({
security: {
authorization: "",
},
});
const timeOffPolicyUuid: string = "recusandae";
sdk.timeOffPolicies.putV1TimeOffPoliciesTimeOffPolicyUuidDeactivate(timeOffPolicyUuid).then((res: PutV1TimeOffPoliciesTimeOffPolicyUuidDeactivateResponse) => {
if (res.statusCode == 200) {
// handle response
}
});
Parameter | Type | Required | Description |
---|---|---|---|
timeOffPolicyUuid |
string | ✔️ | The UUID of the company time off policy |
config |
AxiosRequestConfig | ➖ | Available config options for making requests. |
Promise<operations.PutV1TimeOffPoliciesTimeOffPolicyUuidDeactivateResponse>
Remove employees from a time off policy
scope: time_off_policies:write
import { Gusto } from "@speakeasy-sdks/gusto";
import {
PutV1TimeOffPoliciesTimeOffPolicyUuidRemoveEmployeesRequest,
PutV1TimeOffPoliciesTimeOffPolicyUuidRemoveEmployeesRequestBody,
PutV1TimeOffPoliciesTimeOffPolicyUuidRemoveEmployeesRequestBodyEmployees,
PutV1TimeOffPoliciesTimeOffPolicyUuidRemoveEmployeesResponse,
} from "@speakeasy-sdks/gusto/dist/sdk/models/operations";
const sdk = new Gusto({
security: {
authorization: "",
},
});
const timeOffPolicyUuid: string = "similique";
const requestBody: PutV1TimeOffPoliciesTimeOffPolicyUuidRemoveEmployeesRequestBody = {
employees: [
{
uuid: "b5197f92-443d-4a7c-a52b-895c537c6454",
},
{
uuid: "efb0b348-96c3-4ca5-acfb-e2fd57075779",
},
],
};
sdk.timeOffPolicies.putV1TimeOffPoliciesTimeOffPolicyUuidRemoveEmployees(timeOffPolicyUuid, requestBody).then((res: PutV1TimeOffPoliciesTimeOffPolicyUuidRemoveEmployeesResponse) => {
if (res.statusCode == 200) {
// handle response
}
});
Parameter | Type | Required | Description |
---|---|---|---|
timeOffPolicyUuid |
string | ✔️ | The UUID of the company time off policy |
requestBody |
operations.PutV1TimeOffPoliciesTimeOffPolicyUuidRemoveEmployeesRequestBody | ➖ | A list of employee objects containing the employee uuid |
config |
AxiosRequestConfig | ➖ | Available config options for making requests. |
Promise<operations.PutV1TimeOffPoliciesTimeOffPolicyUuidRemoveEmployeesResponse>
Add employees to a time off policy. Employees are required to have at least one job to be added to a time off policy. Accepts starting balances for non-unlimited policies
scope: time_off_policies:write
import { Gusto } from "@speakeasy-sdks/gusto";
import {
PutVersionTimeOffPoliciesTimeOffPolicyUuidAddEmployeesRequest,
PutVersionTimeOffPoliciesTimeOffPolicyUuidAddEmployeesRequestBody,
PutVersionTimeOffPoliciesTimeOffPolicyUuidAddEmployeesRequestBodyEmployees,
PutVersionTimeOffPoliciesTimeOffPolicyUuidAddEmployeesResponse,
} from "@speakeasy-sdks/gusto/dist/sdk/models/operations";
const sdk = new Gusto({
security: {
authorization: "",
},
});
const timeOffPolicyUuid: string = "dolores";
const requestBody: PutVersionTimeOffPoliciesTimeOffPolicyUuidAddEmployeesRequestBody = {
employees: [
{
balance: "veritatis",
uuid: "77deac64-6ecb-4573-809e-3eb1e5a2b12e",
},
{
balance: "nobis",
uuid: "07f116db-9954-45fc-95fa-88970e189dbb",
},
{
balance: "velit",
uuid: "0fcb33ea-055b-4197-8d44-e2f52d82d351",
},
],
};
sdk.timeOffPolicies.putVersionTimeOffPoliciesTimeOffPolicyUuidAddEmployees(timeOffPolicyUuid, requestBody).then((res: PutVersionTimeOffPoliciesTimeOffPolicyUuidAddEmployeesResponse) => {
if (res.statusCode == 200) {
// handle response
}
});
Parameter | Type | Required | Description |
---|---|---|---|
timeOffPolicyUuid |
string | ✔️ | The UUID of the company time off policy |
requestBody |
operations.PutVersionTimeOffPoliciesTimeOffPolicyUuidAddEmployeesRequestBody | ➖ | A list of employee objects containing the employee uuid |
config |
AxiosRequestConfig | ➖ | Available config options for making requests. |
Promise<operations.PutVersionTimeOffPoliciesTimeOffPolicyUuidAddEmployeesResponse>
Updates time off hours balances for employees for a time off policy
scope: time_off_policies:write
import { Gusto } from "@speakeasy-sdks/gusto";
import {
PutVersionTimeOffPoliciesTimeOffPolicyUuidBalanceRequest,
PutVersionTimeOffPoliciesTimeOffPolicyUuidBalanceRequestBody,
PutVersionTimeOffPoliciesTimeOffPolicyUuidBalanceRequestBodyEmployees,
PutVersionTimeOffPoliciesTimeOffPolicyUuidBalanceResponse,
} from "@speakeasy-sdks/gusto/dist/sdk/models/operations";
const sdk = new Gusto({
security: {
authorization: "",
},
});
const timeOffPolicyUuid: string = "velit";
const requestBody: PutVersionTimeOffPoliciesTimeOffPolicyUuidBalanceRequestBody = {
employees: [
{
balance: "tempore",
uuid: "6f48b656-bcdb-435f-b2e4-b27537a8cd9e",
},
{
balance: "ducimus",
uuid: "319c177d-525f-477b-914e-eb52ff785fc3",
},
{
balance: "nihil",
uuid: "814d4c98-e0c2-4bb8-9eb7-5dad636c6005",
},
],
};
sdk.timeOffPolicies.putVersionTimeOffPoliciesTimeOffPolicyUuidBalance(timeOffPolicyUuid, requestBody).then((res: PutVersionTimeOffPoliciesTimeOffPolicyUuidBalanceResponse) => {
if (res.statusCode == 200) {
// handle response
}
});
Parameter | Type | Required | Description |
---|---|---|---|
timeOffPolicyUuid |
string | ✔️ | The UUID of the company time off policy |
requestBody |
operations.PutVersionTimeOffPoliciesTimeOffPolicyUuidBalanceRequestBody | ➖ | A list of employee objects containing the employee uuid and time off hours balance |
config |
AxiosRequestConfig | ➖ | Available config options for making requests. |
Promise<operations.PutVersionTimeOffPoliciesTimeOffPolicyUuidBalanceResponse>